DE60005860T2 - Ablaufsteuerung zum ausgeben und wiederausgeben von ketten abhängiger befehle - Google Patents
Ablaufsteuerung zum ausgeben und wiederausgeben von ketten abhängiger befehle Download PDFInfo
- Publication number
- DE60005860T2 DE60005860T2 DE60005860T DE60005860T DE60005860T2 DE 60005860 T2 DE60005860 T2 DE 60005860T2 DE 60005860 T DE60005860 T DE 60005860T DE 60005860 T DE60005860 T DE 60005860T DE 60005860 T2 DE60005860 T2 DE 60005860T2
- Authority
- DE
- Germany
- Prior art keywords
- store
- command
- instruction
- buffer
- memory
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3861—Recovery, e.g. branch miss-prediction, exception handling
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)
Applications Claiming Priority (9)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US476322 | 1990-02-07 | ||
| US47657000A | 2000-01-03 | 2000-01-03 | |
| US09/476,578 US6542984B1 (en) | 2000-01-03 | 2000-01-03 | Scheduler capable of issuing and reissuing dependency chains |
| US476570 | 2000-01-03 | ||
| US09/476,204 US6622235B1 (en) | 2000-01-03 | 2000-01-03 | Scheduler which retries load/store hit situations |
| US476578 | 2000-01-03 | ||
| US09/476,322 US6564315B1 (en) | 2000-01-03 | 2000-01-03 | Scheduler which discovers non-speculative nature of an instruction after issuing and reissues the instruction |
| US476204 | 2000-01-03 | ||
| PCT/US2000/022458 WO2001050253A1 (en) | 2000-01-03 | 2000-08-16 | Scheduler capable of issuing and reissuing dependency chains |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE60005860D1 DE60005860D1 (de) | 2003-11-13 |
| DE60005860T2 true DE60005860T2 (de) | 2004-08-05 |
Family
ID=27504212
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE60005860T Expired - Lifetime DE60005860T2 (de) | 2000-01-03 | 2000-08-16 | Ablaufsteuerung zum ausgeben und wiederausgeben von ketten abhängiger befehle |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1244962B1 (https=) |
| JP (1) | JP2003519833A (https=) |
| KR (1) | KR100747128B1 (https=) |
| CN (1) | CN1210649C (https=) |
| DE (1) | DE60005860T2 (https=) |
| WO (1) | WO2001050253A1 (https=) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020138714A1 (en) * | 2001-03-22 | 2002-09-26 | Sun Microsystems, Inc. | Scoreboard for scheduling of instructions in a microprocessor that provides out of order execution |
| US7165167B2 (en) | 2003-06-10 | 2007-01-16 | Advanced Micro Devices, Inc. | Load store unit with replay mechanism |
| US7243200B2 (en) * | 2004-07-15 | 2007-07-10 | International Business Machines Corporation | Establishing command order in an out of order DMA command queue |
| US8327115B2 (en) | 2006-04-12 | 2012-12-04 | Soft Machines, Inc. | Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode |
| WO2008061154A2 (en) | 2006-11-14 | 2008-05-22 | Soft Machines, Inc. | Apparatus and method for processing instructions in a multi-threaded architecture using context switching |
| CN103250131B (zh) | 2010-09-17 | 2015-12-16 | 索夫特机械公司 | 包括用于早期远分支预测的影子缓存的单周期多分支预测 |
| CN103562866B (zh) | 2011-03-25 | 2018-03-30 | 英特尔公司 | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 |
| KR101966712B1 (ko) | 2011-03-25 | 2019-04-09 | 인텔 코포레이션 | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
| WO2012135031A2 (en) | 2011-03-25 | 2012-10-04 | Soft Machines, Inc. | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
| EP2710481B1 (en) | 2011-05-20 | 2021-02-17 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
| WO2012162189A1 (en) | 2011-05-20 | 2012-11-29 | Soft Machines, Inc. | An interconnect structure to support the execution of instruction sequences by a plurality of engines |
| WO2013077876A1 (en) | 2011-11-22 | 2013-05-30 | Soft Machines, Inc. | A microprocessor accelerated code optimizer |
| IN2014CN03678A (https=) | 2011-11-22 | 2015-09-25 | Soft Machines Inc | |
| US9400653B2 (en) * | 2013-03-14 | 2016-07-26 | Samsung Electronics Co., Ltd. | System and method to clear and rebuild dependencies |
| EP2972836B1 (en) | 2013-03-15 | 2022-11-09 | Intel Corporation | A method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
| US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
| US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
| US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
| WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
| US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
| CN105190541A (zh) * | 2013-03-15 | 2015-12-23 | 索夫特机械公司 | 利用具有寄存器视图、源视图、指令视图以及多个注册模板的微处理器体系架构执行指令块的方法 |
| US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
| WO2014151018A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for executing multithreaded instructions grouped onto blocks |
| WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
| WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
| US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
| US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
| JP7428689B2 (ja) | 2021-12-17 | 2024-02-06 | 華邦電子股▲ふん▼有限公司 | メモリシステム |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5546554A (en) * | 1994-02-02 | 1996-08-13 | Sun Microsystems, Inc. | Apparatus for dynamic register management in a floating point unit |
| US5655115A (en) | 1995-02-14 | 1997-08-05 | Hal Computer Systems, Inc. | Processor structure and method for watchpoint of plural simultaneous unresolved branch evaluation |
| US5710902A (en) * | 1995-09-06 | 1998-01-20 | Intel Corporation | Instruction dependency chain indentifier |
| DE69814415T2 (de) * | 1997-01-29 | 2004-03-11 | Advanced Micro Devices, Inc., Sunnyvale | Zeilenorientierter wiedereinordnungsspeicher für superskalaren mikroprozessor |
| US5987594A (en) * | 1997-06-25 | 1999-11-16 | Sun Microsystems, Inc. | Apparatus for executing coded dependent instructions having variable latencies |
| US6098166A (en) * | 1998-04-10 | 2000-08-01 | Compaq Computer Corporation | Speculative issue of instructions under a load miss shadow |
| JP3866921B2 (ja) * | 1998-08-24 | 2007-01-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ストアアドレス生成およびユニバーサルな依存性ベクトルに基づくロードブロックのためのメカニズム |
-
2000
- 2000-08-16 JP JP2001550546A patent/JP2003519833A/ja active Pending
- 2000-08-16 KR KR1020027008673A patent/KR100747128B1/ko not_active Expired - Fee Related
- 2000-08-16 EP EP00964913A patent/EP1244962B1/en not_active Expired - Lifetime
- 2000-08-16 WO PCT/US2000/022458 patent/WO2001050253A1/en not_active Ceased
- 2000-08-16 CN CNB00818156XA patent/CN1210649C/zh not_active Expired - Lifetime
- 2000-08-16 DE DE60005860T patent/DE60005860T2/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003519833A (ja) | 2003-06-24 |
| EP1244962B1 (en) | 2003-10-08 |
| CN1451115A (zh) | 2003-10-22 |
| KR20020097149A (ko) | 2002-12-31 |
| DE60005860D1 (de) | 2003-11-13 |
| WO2001050253A1 (en) | 2001-07-12 |
| KR100747128B1 (ko) | 2007-08-09 |
| EP1244962A1 (en) | 2002-10-02 |
| CN1210649C (zh) | 2005-07-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE60005860T2 (de) | Ablaufsteuerung zum ausgeben und wiederausgeben von ketten abhängiger befehle | |
| DE69908193T2 (de) | Ausführung von speicher- und ladeoperationen mittels einer linkdatei | |
| DE112007000812B4 (de) | Vorrichtung mit einer speichereinheit und drei logiken, verfahren zum durchführen der verfahrensschritte der vorrichtung undsystem mit einem speicher und einem prozessor zur bereitstellung eines effizienten mechanismus‘ für transaktionalspeicherausführungen in out-of-order-prozessoren | |
| DE112010003492B4 (de) | Transaktionsspeichersystem mit wirksamerZwischenspeicherunterstützung | |
| DE112004002848B4 (de) | Mikroprozessor und Verfahren zum Verifizieren einer Speicherdatei in einem derartigen Mikroprozessor | |
| DE60036016T2 (de) | Schnell multithreading für eng gekoppelte multiprozessoren | |
| DE112005003874B3 (de) | Transaktionsgestützter Verarbeitungsbetrieb mit gemeinsam genutzten Daten in einer Multiprozessorumgebung | |
| DE68928677T2 (de) | Verfahren und digitaler Computer zur Vorverarbeitung mehrerer Befehle | |
| DE69434728T2 (de) | Synchronisationssystem und verfahren in einem datencachesystem mit aufgeteiltem pegel | |
| DE69904189T2 (de) | Konfigurierter prozessor zur abbildung von logischen registernummern auf physikalische registernummern unter verwendung von virtuellen registernummern | |
| DE69612991T2 (de) | System zur bearbeitung von selbstmodifizierendem kode | |
| DE60025028T2 (de) | Speicherpuffer, der daten, basierend auf index und freiwilliger weisebemusterung überträgt | |
| DE69901910T2 (de) | Verfahren und gerät zur rechnung von indirekten verzweigungszieladressen | |
| DE112006002237B4 (de) | Verfahren zur selbstinitiierenden Synchronisierung in einem Computersystem | |
| DE69932066T2 (de) | Mechanismus zur "store-to-load forwarding" | |
| DE69607760T2 (de) | Ungeordnete lade-/speicher-ausführungssteuerung | |
| DE69031991T2 (de) | Verfahren und Gerät zur Beschleunigung von Verzweigungsbefehlen | |
| DE69534148T2 (de) | Rechnersystem zur Ausführung von Verzweigungsbefehlen | |
| DE69327637T2 (de) | Superskalar-Computersystem | |
| DE60003235T2 (de) | Cachespeicher zum bereitstellen von partiellen etiketten aus nicht-vorhergesagten wegen um die suche bei wegvorhersagefehlgriffen zu leiten | |
| DE69033331T2 (de) | Sprungvorhersage | |
| DE69506623T2 (de) | Datenprozessor mit einer Ausführungseinheit zur Durchführung von Ladebefehlen und Verfahren zu seinem Betrieb | |
| DE69629495T2 (de) | Vereinheitlichter multifunktions-operationsverteiler für die ungeordnete befehlsexekution in einem superskalaren prozessor | |
| DE69429612T2 (de) | Schreibpuffer für einen superskalaren Mikroprozessor mit Pipeline | |
| DE69130858T2 (de) | Überlappende Serienverarbeitung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8327 | Change in the person/name/address of the patent owner |
Owner name: GLOBALFOUNDRIES INC. MAPLES CORPORATE SERVICES, KY |