GB2448276A - Distributive scoreboard scheduling in an out-of-order processor - Google Patents
Distributive scoreboard scheduling in an out-of-order processorInfo
- Publication number
- GB2448276A GB2448276A GB0814234A GB0814234A GB2448276A GB 2448276 A GB2448276 A GB 2448276A GB 0814234 A GB0814234 A GB 0814234A GB 0814234 A GB0814234 A GB 0814234A GB 2448276 A GB2448276 A GB 2448276A
- Authority
- GB
- United Kingdom
- Prior art keywords
- instruction
- distributive
- scoreboard
- operand availability
- availability bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000000644 propagated effect Effects 0.000 abstract 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
A processor core and a method for distributive Scoreboard scheduling in an out-of-order processor pipeline. In an embodiment, control logic appends operand availability bits to each instruction. The appended operand availability bits form a distributive Scoreboard for each instruction. The appended operand availability bits are propagated together with the instruction through multiple stages of the processor pipeline. An instruction dispatch buffer stores the instruction and the operand availability bits. A dispatch controller determines when an instruction is to be issued. The determination is based, at least in part, on the operand availability bits stored in the instruction dispatch buffer.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/362,764 US7721071B2 (en) | 2006-02-28 | 2006-02-28 | System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor |
PCT/US2007/003752 WO2007100487A2 (en) | 2006-02-28 | 2007-02-12 | Distributive scoreboard scheduling in an out-of-order processor |
Publications (3)
Publication Number | Publication Date |
---|---|
GB0814234D0 GB0814234D0 (en) | 2008-09-10 |
GB2448276A true GB2448276A (en) | 2008-10-08 |
GB2448276B GB2448276B (en) | 2011-06-15 |
Family
ID=38265592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0814234A Expired - Fee Related GB2448276B (en) | 2006-02-28 | 2007-02-12 | Distributive scoreboard scheduling in an out-of-order processor |
Country Status (4)
Country | Link |
---|---|
US (1) | US7721071B2 (en) |
CN (1) | CN101395573B (en) |
GB (1) | GB2448276B (en) |
WO (1) | WO2007100487A2 (en) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990543B2 (en) | 2008-03-11 | 2015-03-24 | Qualcomm Incorporated | System and method for generating and using predicates within a single instruction packet |
US7502918B1 (en) | 2008-03-28 | 2009-03-10 | International Business Machines Corporation | Method and system for data dependent performance increment and power reduction |
FR2941117B1 (en) * | 2009-01-15 | 2011-02-11 | Peugeot Citroen Automobiles Sa | METHOD AND DEVICE FOR MONITORING ALARM, OF ORGANS BELONGING TO AT LEAST ONE MULTIPLEX NETWORK, BY COUNTING INTEMPESTIVE REVERSES |
CN103097175A (en) * | 2010-04-26 | 2013-05-08 | 东能源公司 | Dispatch controller for a distributed electrical power system |
CN102215162B (en) * | 2011-03-24 | 2014-07-30 | 无锡众志和达数据计算股份有限公司 | Method for processing optical fiber I/O (input/ output) out-of-order frames based on field programmable gate array |
US9529596B2 (en) | 2011-07-01 | 2016-12-27 | Intel Corporation | Method and apparatus for scheduling instructions in a multi-strand out of order processor with instruction synchronization bits and scoreboard bits |
CN104583975B (en) | 2012-06-15 | 2017-07-14 | 英特尔公司 | Without the out of order load store queue of disambiguation |
CN104823168B (en) * | 2012-06-15 | 2018-11-09 | 英特尔公司 | The method and system restored in prediction/mistake is omitted in predictive forwarding caused by for realizing from being resequenced by load store and optimizing |
CN104823154B (en) | 2012-06-15 | 2017-12-29 | 英特尔公司 | Processor and system including virtual load storage queue |
EP2862068B1 (en) | 2012-06-15 | 2022-07-06 | Intel Corporation | Reordered speculative instruction sequences with a disambiguation-free out of order load store queue |
WO2013188696A2 (en) | 2012-06-15 | 2013-12-19 | Soft Machines, Inc. | An instruction definition to implement load store reordering and optimization |
KR20170102576A (en) | 2012-06-15 | 2017-09-11 | 인텔 코포레이션 | A virtual load store queue having a dynamic dispatch window with a distributed structure |
US20140129805A1 (en) * | 2012-11-08 | 2014-05-08 | Nvidia Corporation | Execution pipeline power reduction |
US9424041B2 (en) * | 2013-03-15 | 2016-08-23 | Samsung Electronics Co., Ltd. | Efficient way to cancel speculative ‘source ready’ in scheduler for direct and nested dependent instructions |
US10108421B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared ram-dependent load replays in an out-of-order processor |
WO2016097815A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude x86 special bus cycle load replays in out-of-order processor |
US10083038B2 (en) | 2014-12-14 | 2018-09-25 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
US9804845B2 (en) | 2014-12-14 | 2017-10-31 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
US10108429B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared RAM-dependent load replays in an out-of-order processor |
US10108420B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor |
WO2016097800A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Power saving mechanism to reduce load replays in out-of-order processor |
US10108430B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
US10228944B2 (en) | 2014-12-14 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
KR101837816B1 (en) | 2014-12-14 | 2018-03-12 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | Mechanism to preclude i/odependent load replays in an outoforder processor |
US10209996B2 (en) | 2014-12-14 | 2019-02-19 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US10133580B2 (en) | 2014-12-14 | 2018-11-20 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
WO2016097803A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
US10089112B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
US10120689B2 (en) | 2014-12-14 | 2018-11-06 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
US10088881B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
US10146540B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
WO2016097790A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude non-core cache-dependent load replays in out-of-order processor |
WO2016097786A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on page walks in out-of-order processor |
WO2016097811A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on fuse array access in out-of-order processor |
US10175984B2 (en) | 2014-12-14 | 2019-01-08 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor |
US10114646B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
WO2016097804A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Programmable load replay precluding mechanism |
JP6286067B2 (en) | 2014-12-14 | 2018-02-28 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | Mechanism to exclude load replays that depend on long load cycles in out-of-order processors |
US10127046B2 (en) | 2014-12-14 | 2018-11-13 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
KR101822726B1 (en) | 2014-12-14 | 2018-01-26 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | Load replay precluding mechanism |
US10146539B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
US11544214B2 (en) | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
US10108417B2 (en) * | 2015-08-14 | 2018-10-23 | Qualcomm Incorporated | Storing narrow produced values for instruction operands directly in a register map in an out-of-order processor |
CN105653790B (en) * | 2015-12-29 | 2019-03-29 | 东南大学—无锡集成电路技术研究所 | A kind of out-of order processor Cache memory access performance estimating method based on artificial neural network |
US20170315812A1 (en) | 2016-04-28 | 2017-11-02 | Microsoft Technology Licensing, Llc | Parallel instruction scheduler for block isa processor |
US10445100B2 (en) * | 2016-06-09 | 2019-10-15 | International Business Machines Corporation | Broadcasting messages between execution slices for issued instructions indicating when execution results are ready |
GB2563582B (en) | 2017-06-16 | 2020-01-01 | Imagination Tech Ltd | Methods and systems for inter-pipeline data hazard avoidance |
CN108415730B (en) * | 2018-01-30 | 2021-06-01 | 上海兆芯集成电路有限公司 | Microinstruction scheduling method and device using the same |
CN108279928B (en) * | 2018-01-30 | 2021-03-19 | 上海兆芯集成电路有限公司 | Microinstruction scheduling method and device using the same |
US11429555B2 (en) | 2019-02-26 | 2022-08-30 | Apple Inc. | Coprocessors with bypass optimization, variable grid architecture, and fused vector operations |
US10956168B2 (en) * | 2019-03-08 | 2021-03-23 | International Business Machines Corporation | Post completion execution in an out-of-order processor design |
US11086626B2 (en) * | 2019-10-24 | 2021-08-10 | Arm Limited | Circuitry and methods |
CN111258657B (en) * | 2020-01-23 | 2020-11-20 | 上海燧原智能科技有限公司 | Pipeline control method and related equipment |
CN111506347B (en) * | 2020-03-27 | 2023-05-26 | 上海赛昉科技有限公司 | Renaming method based on instruction read-after-write related hypothesis |
CN111538534B (en) * | 2020-04-07 | 2023-08-08 | 江南大学 | A multi-instruction out-of-order emission method and processor based on instruction withering |
CN113867793A (en) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | Computing device, integrated circuit chip, board card, electronic equipment and computing method |
US11687347B2 (en) * | 2021-05-25 | 2023-06-27 | Andes Technology Corporation | Microprocessor and method for speculatively issuing load/store instruction with non-deterministic access time using scoreboard |
US20230195464A1 (en) * | 2021-12-16 | 2023-06-22 | Intel Corporation | Throttling Code Fetch For Speculative Code Paths |
CN114610394B (en) * | 2022-03-14 | 2023-12-22 | 海飞科(南京)信息技术有限公司 | Instruction scheduling method, processing circuit and electronic equipment |
US20230315446A1 (en) * | 2022-03-30 | 2023-10-05 | Fujitsu Limited | Arithmetic processing apparatus and method for arithmetic processing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546545A (en) * | 1994-12-09 | 1996-08-13 | International Business Machines Corporation | Rotating priority selection logic circuit |
GB2322718A (en) * | 1996-12-09 | 1998-09-02 | Ibm | Dynamic classification and dispatch of instructions out of order |
US6393550B1 (en) * | 1993-12-30 | 2002-05-21 | Intel Corporation | Method and apparatus for pipeline streamlining where resources are immediate or certainly retired |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109520A (en) * | 1985-02-19 | 1992-04-28 | Tektronix, Inc. | Image frame buffer access speedup by providing multiple buffer controllers each containing command FIFO buffers |
US5021945A (en) * | 1985-10-31 | 1991-06-04 | Mcc Development, Ltd. | Parallel processor system for processing natural concurrencies and method therefor |
US5781753A (en) * | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
US5091851A (en) * | 1989-07-19 | 1992-02-25 | Hewlett-Packard Company | Fast multiple-word accesses from a multi-way set-associative cache memory |
US5440749A (en) * | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
ATE158882T1 (en) * | 1990-06-15 | 1997-10-15 | Compaq Computer Corp | DEVICE FOR TRUE LRU REPLACEMENT |
DE69227604T2 (en) * | 1991-03-11 | 1999-06-24 | Silicon Graphics Inc., Mountain View, Calif. 94039 | Backwards compatible computer architecture with extended word widths and address space |
US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
US5493667A (en) * | 1993-02-09 | 1996-02-20 | Intel Corporation | Apparatus and method for an instruction cache locking scheme |
US6079014A (en) * | 1993-12-02 | 2000-06-20 | Intel Corporation | Processor that redirects an instruction fetch pipeline immediately upon detection of a mispredicted branch while committing prior instructions to an architectural state |
US5572704A (en) * | 1993-12-15 | 1996-11-05 | Silicon Graphics, Inc. | System and method for controlling split-level caches in a multi-processor system including data loss and deadlock prevention schemes |
US5604909A (en) * | 1993-12-15 | 1997-02-18 | Silicon Graphics Computer Systems, Inc. | Apparatus for processing instructions in a computing system |
US5493523A (en) * | 1993-12-15 | 1996-02-20 | Silicon Graphics, Inc. | Mechanism and method for integer divide involving pre-alignment of the divisor relative to the dividend |
US5537538A (en) * | 1993-12-15 | 1996-07-16 | Silicon Graphics, Inc. | Debug mode for a superscalar RISC processor |
US5740402A (en) * | 1993-12-15 | 1998-04-14 | Silicon Graphics, Inc. | Conflict resolution in interleaved memory systems with multiple parallel accesses |
US5526504A (en) * | 1993-12-15 | 1996-06-11 | Silicon Graphics, Inc. | Variable page size translation lookaside buffer |
US5510934A (en) * | 1993-12-15 | 1996-04-23 | Silicon Graphics, Inc. | Memory system including local and global caches for storing floating point and integer data |
US5606683A (en) * | 1994-01-28 | 1997-02-25 | Quantum Effect Design, Inc. | Structure and method for virtual-to-physical address translation in a translation lookaside buffer |
US5586278A (en) * | 1994-03-01 | 1996-12-17 | Intel Corporation | Method and apparatus for state recovery following branch misprediction in an out-of-order microprocessor |
US5555432A (en) * | 1994-08-19 | 1996-09-10 | Intel Corporation | Circuit and method for scheduling instructions by predicting future availability of resources required for execution |
JPH10509819A (en) * | 1994-10-14 | 1998-09-22 | シリコン グラフィックス インク. | Indecking and multiplexing of interleaved cache memory arrays |
WO1996012231A1 (en) * | 1994-10-14 | 1996-04-25 | Silicon Graphics, Inc. | A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein |
WO1996012228A1 (en) * | 1994-10-14 | 1996-04-25 | Silicon Graphics, Inc. | Redundant mapping tables |
US6216200B1 (en) * | 1994-10-14 | 2001-04-10 | Mips Technologies, Inc. | Address queue |
US5625789A (en) * | 1994-10-24 | 1997-04-29 | International Business Machines Corporation | Apparatus for source operand dependendency analyses register renaming and rapid pipeline recovery in a microprocessor that issues and executes multiple instructions out-of-order in a single cycle |
US5675758A (en) * | 1994-11-15 | 1997-10-07 | Advanced Micro Devices, Inc. | Processor having primary integer execution unit and supplemental integer execution unit for performing out-of-order add and move operations |
US5732242A (en) * | 1995-03-24 | 1998-03-24 | Silicon Graphics, Inc. | Consistently specifying way destinations through prefetching hints |
US5799165A (en) * | 1996-01-26 | 1998-08-25 | Advanced Micro Devices, Inc. | Out-of-order processing that removes an issued operation from an execution pipeline upon determining that the operation would cause a lengthy pipeline delay |
US5764999A (en) * | 1995-10-10 | 1998-06-09 | Cyrix Corporation | Enhanced system management mode with nesting |
US5670898A (en) * | 1995-11-22 | 1997-09-23 | Silicon Graphics, Inc. | Low-power, compact digital logic topology that facilitates large fan-in and high-speed circuit performance |
US5734881A (en) * | 1995-12-15 | 1998-03-31 | Cyrix Corporation | Detecting short branches in a prefetch buffer using target location information in a branch target cache |
US6108769A (en) * | 1996-05-17 | 2000-08-22 | Advanced Micro Devices, Inc. | Dependency table for reducing dependency checking hardware |
GB2317469B (en) * | 1996-09-23 | 2001-02-21 | Advanced Risc Mach Ltd | Data processing system register control |
US5966734A (en) * | 1996-10-18 | 1999-10-12 | Samsung Electronics Co., Ltd. | Resizable and relocatable memory scratch pad as a cache slice |
US5802386A (en) * | 1996-11-19 | 1998-09-01 | International Business Machines Corporation | Latency-based scheduling of instructions in a superscalar processor |
US5909572A (en) * | 1996-12-02 | 1999-06-01 | Compaq Computer Corp. | System and method for conditionally moving an operand from a source register to a destination register |
US6044478A (en) * | 1997-05-30 | 2000-03-28 | National Semiconductor Corporation | Cache with finely granular locked-down regions |
US6286130B1 (en) * | 1997-08-05 | 2001-09-04 | Intel Corporation | Software implemented method for automatically validating the correctness of parallel computer programs |
US6085315A (en) * | 1997-09-12 | 2000-07-04 | Siemens Aktiengesellschaft | Data processing device with loop pipeline |
US6076159A (en) * | 1997-09-12 | 2000-06-13 | Siemens Aktiengesellschaft | Execution of a loop instructing in a loop pipeline after detection of a first occurrence of the loop instruction in an integer pipeline |
US6223278B1 (en) * | 1998-11-05 | 2001-04-24 | Intel Corporation | Method and apparatus for floating point (FP) status word handling in an out-of-order (000) Processor Pipeline |
US6308252B1 (en) * | 1999-02-04 | 2001-10-23 | Kabushiki Kaisha Toshiba | Processor method and apparatus for performing single operand operation and multiple parallel operand operation |
EP1209559A1 (en) * | 1999-04-22 | 2002-05-29 | Hajime Seki | Computer system |
US6473837B1 (en) * | 1999-05-18 | 2002-10-29 | Advanced Micro Devices, Inc. | Snoop resynchronization mechanism to preserve read ordering |
US6546477B1 (en) * | 1999-09-20 | 2003-04-08 | Texas Instruments Incorporated | Memory management in embedded systems with dynamic object instantiation |
US6446197B1 (en) * | 1999-10-01 | 2002-09-03 | Hitachi, Ltd. | Two modes for executing branch instructions of different lengths and use of branch control instruction and register set loaded with target instructions |
JP2001209535A (en) * | 2000-01-27 | 2001-08-03 | Toshiba Corp | Command scheduling device for processors |
US6430655B1 (en) * | 2000-01-31 | 2002-08-06 | Mips Technologies, Inc. | Scratchpad RAM memory accessible in parallel to a primary cache |
US20010052053A1 (en) | 2000-02-08 | 2001-12-13 | Mario Nemirovsky | Stream processing unit for a multi-streaming processor |
US7032226B1 (en) * | 2000-06-30 | 2006-04-18 | Mips Technologies, Inc. | Methods and apparatus for managing a buffer of events in the background |
US6557127B1 (en) * | 2000-02-28 | 2003-04-29 | Cadence Design Systems, Inc. | Method and apparatus for testing multi-port memories |
US6915395B1 (en) * | 2000-05-03 | 2005-07-05 | Sun Microsystems, Inc. | Active address content addressable memory |
US6757817B1 (en) * | 2000-05-19 | 2004-06-29 | Intel Corporation | Apparatus having a cache and a loop buffer |
US6505285B1 (en) * | 2000-06-26 | 2003-01-07 | Ncr Corporation | Scratch segment subsystem for a parallel processing database system |
US6760835B1 (en) * | 2000-11-22 | 2004-07-06 | Lsi Logic Corporation | Instruction branch mispredict streaming |
BR0308268A (en) * | 2002-03-05 | 2005-01-04 | Ibm | Data prefetch method / instructions related to externally triggered events |
US7398375B2 (en) * | 2002-04-04 | 2008-07-08 | The Regents Of The University Of Michigan | Technique for reduced-tag dynamic scheduling and reduced-tag prediction |
US6836833B1 (en) * | 2002-10-22 | 2004-12-28 | Mips Technologies, Inc. | Apparatus and method for discovering a scratch pad memory configuration |
US7159103B2 (en) * | 2003-03-24 | 2007-01-02 | Infineon Technologies Ag | Zero-overhead loop operation in microprocessor having instruction buffer |
US7418575B2 (en) * | 2003-07-29 | 2008-08-26 | Stretch, Inc. | Long instruction word processing with instruction extensions |
US7263599B2 (en) * | 2004-02-06 | 2007-08-28 | Infineon Technologies | Thread ID in a multithreaded processor |
US7219185B2 (en) * | 2004-04-22 | 2007-05-15 | International Business Machines Corporation | Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache |
US20060095732A1 (en) * | 2004-08-30 | 2006-05-04 | Tran Thang M | Processes, circuits, devices, and systems for scoreboard and other processor improvements |
-
2006
- 2006-02-28 US US11/362,764 patent/US7721071B2/en active Active
-
2007
- 2007-02-12 GB GB0814234A patent/GB2448276B/en not_active Expired - Fee Related
- 2007-02-12 WO PCT/US2007/003752 patent/WO2007100487A2/en active Application Filing
- 2007-02-12 CN CN200780007020.XA patent/CN101395573B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393550B1 (en) * | 1993-12-30 | 2002-05-21 | Intel Corporation | Method and apparatus for pipeline streamlining where resources are immediate or certainly retired |
US5546545A (en) * | 1994-12-09 | 1996-08-13 | International Business Machines Corporation | Rotating priority selection logic circuit |
GB2322718A (en) * | 1996-12-09 | 1998-09-02 | Ibm | Dynamic classification and dispatch of instructions out of order |
Also Published As
Publication number | Publication date |
---|---|
CN101395573A (en) | 2009-03-25 |
WO2007100487A3 (en) | 2007-11-22 |
GB0814234D0 (en) | 2008-09-10 |
WO2007100487A2 (en) | 2007-09-07 |
US7721071B2 (en) | 2010-05-18 |
CN101395573B (en) | 2012-06-06 |
GB2448276B (en) | 2011-06-15 |
US20070204135A1 (en) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2448276A (en) | Distributive scoreboard scheduling in an out-of-order processor | |
GB201206367D0 (en) | Predicting and avoiding operand-store-compare hazards in out- of-order microprocessors | |
GB2436501A (en) | Multithreading microprocessor with the optimized thread scheduler for increasing pepeline utilization efficiency | |
EP2674856A3 (en) | Zero cycle load instruction | |
GB2494542B (en) | Reducing store-hit-loads in an out-of-order processor | |
GB2486132A (en) | Instructions for managing a parallel cache hierarchy | |
WO2013006566A3 (en) | Method and apparatus for scheduling of instructions in a multistrand out-of-order processor | |
TW201714103A (en) | Application scheduling in heterogeneous multiprocessor computing platforms for maximal predicted performance gains | |
WO2009087162A3 (en) | Rotate then operate on selected bits facility and instructions therefore | |
WO2010056511A3 (en) | Technique for promoting efficient instruction fusion | |
ATE540353T1 (en) | DIVISION OF THREADS IN A PROCESSOR | |
WO2006028652A3 (en) | Coordinating idle state transitions in multi-core processors | |
TW200951723A (en) | Systems and methods for scheduling a memory command for execution based on a history of previously executed memory commands | |
WO2008002384A3 (en) | Fast reconfiguration of graphics pipeline state | |
WO2009120981A3 (en) | Vector instructions to enable efficient synchronization and parallel reduction operations | |
GB2483012A (en) | Instruction for enabling a processor wait state | |
GB2447812A (en) | Aggregated management system | |
GB2506303A (en) | Increasing power efficiency of turbo mode operation in a processor | |
WO2008061105A3 (en) | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging | |
WO2006094196A3 (en) | Method and apparatus for power reduction in an heterogeneously- multi-pipelined processor | |
JP2017509059A (en) | Synchronize interrupt handling to reduce power consumption | |
WO2010051298A3 (en) | Instruction and logic for performing range detection | |
WO2012061090A3 (en) | Conditional execution of regular expressions | |
HK1120121A1 (en) | Method, apparatus and computer program product for handling switching among threads within a multithread processor | |
WO2008021607A3 (en) | Selective branch target buffer (btb) allocation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) |
Free format text: REGISTERED BETWEEN 20140612 AND 20140618 |
|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20230212 |