JP6286065B2 - アウトオブオーダープロセッサの書き込み結合メモリ領域アクセスに依存するロードリプレイを除外する装置及び方法 - Google Patents
アウトオブオーダープロセッサの書き込み結合メモリ領域アクセスに依存するロードリプレイを除外する装置及び方法 Download PDFInfo
- Publication number
- JP6286065B2 JP6286065B2 JP2016564427A JP2016564427A JP6286065B2 JP 6286065 B2 JP6286065 B2 JP 6286065B2 JP 2016564427 A JP2016564427 A JP 2016564427A JP 2016564427 A JP2016564427 A JP 2016564427A JP 6286065 B2 JP6286065 B2 JP 6286065B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- microinstruction
- core
- load microinstruction
- bus
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 26
- 230000015654 memory Effects 0.000 title description 37
- 230000001419 dependent effect Effects 0.000 claims description 21
- 230000009471 action Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 8
- 101100016034 Nicotiana tabacum APIC gene Proteins 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000007717 exclusion Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
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/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/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/507—Low-level
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)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Microcomputers (AREA)
Description
集積回路(IC):典型的にはシリコンである半導体材料の小片の上に組み立てられた、一群の電子回路。よってICは、チップ、マイクロチップ、又はダイとも呼ばれる。
Claims (21)
- アウトオブオーダープロセッサでのリプレイを低減する装置であって、
第1のロードマイクロ命令をディスパッチするように構成された第1のリザベーションステーションであり、前記第1のロードマイクロ命令が複数の非コアリソースの1つに向けられた複数の指定されたロード命令の1つであるかを検出して保持バス上で示すように構成された、第1のリザベーションステーションと、
前記保持バスに接続され、前記第1のロードマイクロ命令に依存する1つ又は複数の新しいマイクロ命令を、前記第1のロードマイクロ命令がディスパッチされてから第1のクロックサイクル数の後に、実行のためにディスパッチするように構成された第2のリザベーションステーションであり、前記保持バス上で前記第1のロードマイクロ命令が複数の指定されたロード命令の前記1つであることが示されている場合に、前記1つ又は複数の新しいマイクロ命令のディスパッチを、前記第1のロードマイクロ命令がオペランドを取得するまでストールさせるように構成された、第2のリザベーションステーションと、を備え、
前記複数の非コアリソースは、
前記アウトオブオーダープロセッサに対する前記複数の指定されたロード命令が、ジョイントテストアクショングループインターフェイスを通じてプログラムされたランダムアクセスメモリ、を含み、
初期化時に、前記アウトオブオーダープロセッサは、前記複数の指定されたロード命令を読み込むために前記ランダムアクセスメモリにアクセスする、
装置。 - 前記アウトオブオーダープロセッサがマルチコアプロセッサを含み、前記マルチコアプロセッサ内の各コアが、前記第1のリザベーションステーションと前記第2のリザベーションステーションとを含む、
請求項1に記載の装置。 - 前記複数の非コアリソースの1つが、前記ランダムアクセスメモリを含み、
前記ランダムアクセスメモリが、前記各コアと同じダイに配置され、かつ、前記各コアの外部に配置された、
請求項2に記載の装置。 - 前記複数の非コアリソースの1つが、前記マルチコアプロセッサと同じダイに配置されておらず、
前記複数の非コアリソースの1つが、各コアと同じダイに配置され、かつ、前記各コアの外部に配置されたバスユニットを通じてアクセスされる、
請求項2に記載の装置。 - 前記第1のリザベーションステーションに接続され、前記第1のロードマイクロ命令を受け取って実行するように構成されたロード実行ロジックであり、実行するマイクロ命令を受け取らない場合に節電状態に入るように構成された、ロード実行ロジックを、
さらに含む、請求項1に記載の装置。 - 前記第1のロードマイクロ命令が前記指定されたロードマイクロ命令でない場合、前記ロード実行ロジックが、ミスバス上で、前記第1のロードマイクロ命令が前記第1のクロックサイクル数で正常な実行に失敗するか否かを示し、
前記1つ又は複数の新しいマイクロ命令のリプレイを開始する、
請求項5に記載の装置。 - 前記第1のロードマイクロ命令が前記指定されたロードマイクロ命令である場合、前記ロード実行ロジックが、前記第1のロードマイクロ命令が正常な実行のために前記第1のクロックサイクル数よりも多くを必要とする場合に正常な実行に失敗することを示さず、
前記1つ又は複数の新しいマイクロ命令のリプレイを除外する、
請求項6に記載の装置。 - リプレイを低減する装置であって、
前記装置は、複数のコアを含むマルチコアプロセッサを含み、
前記複数のコアそれぞれが、
第1のロードマイクロ命令をディスパッチするように構成された第1のリザベーションステーションであり、前記第1のロードマイクロ命令が複数の非コアリソースの1つに向けられた複数の指定されたロード命令の1つであるかを検出して保持バス上で示すように構成された、第1のリザベーションステーションと、
前記保持バスに接続され、前記第1のロードマイクロ命令に依存する1つ又は複数の新しいマイクロ命令を、前記第1のロードマイクロ命令がディスパッチされてから第1のクロックサイクル数の後に、実行のためにディスパッチするように構成された第2のリザベーションステーションであり、前記保持バス上で前記第1のロードマイクロ命令が複数の指定されたロード命令の前記1つであることが示されている場合に、前記1つ又は複数の新しいマイクロ命令のディスパッチを、前記第1のロードマイクロ命令がオペランドを取得するまでストールさせるように構成された、第2のリザベーションステーションと、を備え、
前記複数の非コアリソースは、
前記マルチコアプロセッサに対する前記複数の指定されたロード命令が、ジョイントテストアクショングループインターフェイスを通じてプログラムされたランダムアクセスメモリ、を含み、
初期化時に、前記マルチコアプロセッサは、前記複数の指定されたロード命令を読み込むために前記ランダムアクセスメモリにアクセスする、
装置。 - 前記マルチコアプロセッサが、x86互換のマルチコアプロセッサを含む、
請求項8に記載の装置。 - 前記複数の非コアリソースの1つが、前記ランダムアクセスメモリを含み、
前記ランダムアクセスメモリが、前記マルチコアプロセッサと同じダイに配置され、かつ、前記複数のコアそれぞれの外部に配置された、
請求項8に記載の装置。 - 前記複数の非コアリソースの1つが、前記マルチコアプロセッサと同じダイに配置されておらず、
前記複数の非コアリソースの1つが、前記複数のコアのそれぞれと同じダイに配置され、かつ、前記複数のコアそれぞれの外部に配置されたバスユニットを通じてアクセスされる、
請求項8に記載の装置。 - 前記複数のコアそれぞれが、
前記第1のリザベーションステーションに接続され、前記第1のロードマイクロ命令を受け取って実行するように構成されたロード実行ロジックであり、実行するマイクロ命令を受け取らない場合に節電状態に入るように構成された、ロード実行ロジックを、
さらに含む請求項8に記載の装置。 - 前記第1のロードマイクロ命令が前記指定されたロードマイクロ命令でない場合、前記ロード実行ロジックが、ミスバス上で、前記第1のロードマイクロ命令が正常な実行のために前記第1のクロックサイクル数よりも多くを必要とするときに正常な実行に失敗することを示し、
前記1つ又は複数の新しいマイクロ命令のリプレイを開始する、
請求項12に記載の装置。 - 前記第1のロードマイクロ命令が前記指定されたロードマイクロ命令である場合、前記ロード実行ロジックが、前記第1のロードマイクロ命令が正常な実行のために前記第1のクロックサイクル数よりも多くを必要とするときに正常な実行に失敗することを示さず、
前記1つ又は複数の新しいマイクロ命令のリプレイを除外する、
請求項13に記載の装置。 - アウトオブオーダープロセッサでのリプレイを低減する方法であって、
前記アウトオブオーダープロセッサに対する複数の指定されたロード命令が、ジョイントテストアクショングループインターフェイスを通じてプログラムされたランダムアクセスメモリを含む複数の非コアリソースを配置するステップと、
初期化時に、前記複数の指定されたロード命令を読み込むために前記ランダムアクセスメモリにアクセスするステップと、
第1のリザベーションステーションを通じて、第1のロードマイクロ命令をディスパッチし、前記第1のロードマイクロ命令が前記複数の非コアリソースの1つに向けられた前記複数の指定されたロード命令の1つであるか否かを検出して保持バス上で示すステップと、
前記保持バスに接続された第2のリザベーションステーションを通じて、前記第1のロードマイクロ命令に依存する1つ又は複数の新しいマイクロ命令を、前記第1のロードマイクロ命令がディスパッチされてから第1のクロックサイクル数の後に、実行のためにディスパッチし、前記保持バス上で前記第1のロードマイクロ命令が前記複数の指定されたロード命令の1つであることが示されている場合は、前記1つ又は複数の新しいマイクロ命令のディスパッチを、前記第1のロードマイクロ命令がオペランドを取得するまでストールさせるステップと、
を含む方法。 - 前記アウトオブオーダープロセッサがマルチコアプロセッサを含み、
前記マルチコアプロセッサ内の各コアが、前記第1のリザベーションステーションと前記第2のリザベーションステーションとを含む、
請求項15に記載の方法。 - 前記複数の非コアリソースの1つが、前記ランダムアクセスメモリを含み、
前記ランダムアクセスメモリが、前記各コアと同じダイに配置され、かつ、前記各コアの外部に配置された、
請求項16に記載の方法。 - 前記複数の非コアリソースの1つが、前記マルチコアプロセッサと同じダイに配置されておらず、
複数の非コアリソースの前記1つが、各コアと同じダイに配置され、かつ、前記各コアの外部に配置されたバスユニットを通じてアクセスされる、
請求項16に記載の方法。 - 前記第1のリザベーションステーションに接続されたロード実行ロジックを通じて、前記第1のロードマイクロ命令を受け取って実行し、実行するマイクロ命令を受け取らない場合は節電状態に入るステップ、をさらに含む、
請求項15に記載の方法。 - 前記第1のロードマイクロ命令が前記指定されたロードマイクロ命令でない場合、ミスバス上で、前記第1のロードマイクロ命令が正常な実行のために前記第1のクロックサイクル数よりも多くを必要とするときに正常な実行に失敗することを示し、
前記1つ又は複数の新しいマイクロ命令のリプレイを開始する、
請求項19に記載の方法。 - 前記第1のロードマイクロ命令が前記指定されたロードマイクロ命令である場合、前記第1のロードマイクロ命令が正常な実行のために前記第1のクロックサイクル数よりも多くを必要とするときに正常な実行に失敗することを示さず、
前記1つ又は複数の新しいマイクロ命令のリプレイを除外する、
請求項20に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2014/003170 WO2016097791A1 (en) | 2014-12-14 | 2014-12-14 | Apparatus and method for programmable load replay preclusion |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017503294A JP2017503294A (ja) | 2017-01-26 |
JP6286065B2 true JP6286065B2 (ja) | 2018-02-28 |
Family
ID=55606083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016564427A Active JP6286065B2 (ja) | 2014-12-14 | 2014-12-14 | アウトオブオーダープロセッサの書き込み結合メモリ領域アクセスに依存するロードリプレイを除外する装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10209996B2 (ja) |
JP (1) | JP6286065B2 (ja) |
CN (2) | CN105528193B (ja) |
TW (1) | TWI559223B (ja) |
WO (1) | WO2016097791A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678542B2 (en) * | 2015-07-24 | 2020-06-09 | Apple Inc. | Non-shifting reservation station |
US10452434B1 (en) | 2017-09-11 | 2019-10-22 | Apple Inc. | Hierarchical reservation station |
CN108415730B (zh) * | 2018-01-30 | 2021-06-01 | 上海兆芯集成电路有限公司 | 微指令调度方法及使用此方法的装置 |
CN108279928B (zh) * | 2018-01-30 | 2021-03-19 | 上海兆芯集成电路有限公司 | 微指令调度方法及使用此方法的装置 |
CN111497858B (zh) * | 2020-05-14 | 2021-04-23 | 浙江吉利新能源商用车集团有限公司 | 一种车辆重量估算方法及系统 |
Family Cites Families (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US5636374A (en) | 1994-01-04 | 1997-06-03 | Intel Corporation | Method and apparatus for performing operations based upon the addresses of microinstructions |
US5649138A (en) | 1996-01-04 | 1997-07-15 | Advanced Micro Devices | Time dependent rerouting of instructions in plurality of reservation stations of a superscalar microprocessor |
US5809275A (en) | 1996-03-01 | 1998-09-15 | Hewlett-Packard Company | Store-to-load hazard resolution system and method for a processor that executes instructions out of order |
US6163838A (en) | 1996-11-13 | 2000-12-19 | Intel Corporation | Computer processor with a replay system |
US7200737B1 (en) | 1996-11-13 | 2007-04-03 | Intel Corporation | Processor with a replay system that includes a replay queue for improved throughput |
US5958041A (en) | 1997-06-26 | 1999-09-28 | Sun Microsystems, Inc. | Latency prediction in a pipelined microarchitecture |
US5889679A (en) | 1997-07-15 | 1999-03-30 | Integrated Device Technology, Inc. | Fuse array control for smart function enable |
US6598156B1 (en) * | 1999-12-23 | 2003-07-22 | Intel Corporation | Mechanism for handling failing load check instructions |
US6678810B1 (en) | 1999-12-30 | 2004-01-13 | Intel Corporation | MFENCE and LFENCE micro-architectural implementation method and system |
US6549985B1 (en) | 2000-03-30 | 2003-04-15 | I P - First, Llc | Method and apparatus for resolving additional load misses and page table walks under orthogonal stalls in a single pipeline processor |
US7065632B1 (en) | 2000-04-07 | 2006-06-20 | Ip First Llc | Method and apparatus for speculatively forwarding storehit data in a hierarchical manner |
US6981129B1 (en) | 2000-11-02 | 2005-12-27 | Intel Corporation | Breaking replay dependency loops in a processor using a rescheduled replay queue |
US6959378B2 (en) | 2000-11-06 | 2005-10-25 | Broadcom Corporation | Reconfigurable processing system and method |
US7203817B2 (en) | 2001-09-24 | 2007-04-10 | Broadcom Corporation | Power consumption reduction in a pipeline by stalling instruction issue on a load miss |
US6810466B2 (en) | 2001-10-23 | 2004-10-26 | Ip-First, Llc | Microprocessor and method for performing selective prefetch based on bus activity level |
US6952764B2 (en) | 2001-12-31 | 2005-10-04 | Intel Corporation | Stopping replay tornadoes |
US20060248319A1 (en) | 2002-02-05 | 2006-11-02 | Sun Microsystems, Inc. | Validating branch resolution to avoid mis-steering instruction fetch |
JP3577052B2 (ja) * | 2002-03-19 | 2004-10-13 | 株式会社東芝 | 命令発行装置及び命令発行方法 |
US6934830B2 (en) | 2002-09-26 | 2005-08-23 | Sun Microsystems, Inc. | Method and apparatus for reducing register file access times in pipelined processors |
US7165167B2 (en) * | 2003-06-10 | 2007-01-16 | Advanced Micro Devices, Inc. | Load store unit with replay mechanism |
US7111153B2 (en) | 2003-09-30 | 2006-09-19 | Intel Corporation | Early data return indication mechanism |
US7284117B1 (en) | 2003-11-04 | 2007-10-16 | Advanced Micro Devices, Inc. | Processor that predicts floating point instruction latency based on predicted precision |
TWI232457B (en) | 2003-12-15 | 2005-05-11 | Ip First Llc | Early access to microcode ROM |
WO2006114874A1 (ja) | 2005-04-21 | 2006-11-02 | Fujitsu Limited | プロセッサ装置 |
JP4837305B2 (ja) * | 2005-05-10 | 2011-12-14 | ルネサスエレクトロニクス株式会社 | マイクロプロセッサ及びマイクロプロセッサの制御方法 |
US20070198812A1 (en) * | 2005-09-27 | 2007-08-23 | Ibm Corporation | Method and apparatus for issuing instructions from an issue queue including a main issue queue array and an auxiliary issue queue array in an information handling system |
JP2006146953A (ja) * | 2006-01-04 | 2006-06-08 | Nec Electronics Corp | プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体 |
US8812822B2 (en) | 2006-02-09 | 2014-08-19 | International Business Machines Corporation | Scheduling instructions in a cascaded delayed execution pipeline to minimize pipeline stalls caused by a cache miss |
US7577825B2 (en) | 2006-02-28 | 2009-08-18 | Intel Corporation | Method for data validity tracking to determine fast or slow mode processing at a reservation station |
US7721071B2 (en) | 2006-02-28 | 2010-05-18 | Mips Technologies, Inc. | System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor |
US20080005504A1 (en) | 2006-06-30 | 2008-01-03 | Jesse Barnes | Global overflow method for virtualized transactional memory |
US7502914B2 (en) | 2006-07-31 | 2009-03-10 | Advanced Micro Devices, Inc. | Transitive suppression of instruction replay |
WO2008029450A1 (fr) | 2006-09-05 | 2008-03-13 | Fujitsu Limited | Dispositif de traitement d'informations comprenant un mécanisme de correction d'erreur de prédiction d'embranchement |
US7647518B2 (en) | 2006-10-10 | 2010-01-12 | Apple Inc. | Replay reduction for power saving |
US8838663B2 (en) | 2007-03-30 | 2014-09-16 | Intel Corporation | Method and apparatus for performing multiplicative functions |
US7827390B2 (en) | 2007-04-10 | 2010-11-02 | Via Technologies, Inc. | Microprocessor with private microcode RAM |
KR101100145B1 (ko) | 2007-06-20 | 2011-12-29 | 후지쯔 가부시끼가이샤 | 명령실행 제어장치 및 명령실행 제어방법 |
US7861066B2 (en) | 2007-07-20 | 2010-12-28 | Advanced Micro Devices, Inc. | Mechanism for predicting and suppressing instruction replay in a processor |
US8190864B1 (en) | 2007-10-25 | 2012-05-29 | Oracle America, Inc. | APIC implementation for a highly-threaded x86 processor |
US9311085B2 (en) | 2007-12-30 | 2016-04-12 | Intel Corporation | Compiler assisted low power and high performance load handling based on load types |
GB2457303A (en) | 2008-02-11 | 2009-08-12 | Linear Algebra Technologies | Randomly accessing elements of compressed matrix data by calculating offsets from non-zero values of a bitmap |
US7937561B2 (en) | 2008-04-03 | 2011-05-03 | Via Technologies, Inc. | Merge microinstruction for minimizing source dependencies in out-of-order execution microprocessor with variable data size macroarchitecture |
US7937563B2 (en) | 2008-05-27 | 2011-05-03 | Advanced Micro Devices, Inc. | Voltage droop mitigation through instruction issue throttling |
US20090327657A1 (en) | 2008-06-25 | 2009-12-31 | Zeev Sperber | GENERATING AND PERFORMING DEPENDENCY CONTROLLED FLOW COMPRISING MULTIPLE MICRO-OPERATIONS (uops) |
US8566565B2 (en) * | 2008-07-10 | 2013-10-22 | Via Technologies, Inc. | Microprocessor with multiple operating modes dynamically configurable by a device driver based on currently running applications |
EP3087988A3 (en) | 2008-10-06 | 2017-03-01 | Idera Pharmaceuticals, Inc. | Use of inhibitors of toll-like receptors in the prevention and treatment of hypercholesterolemia and hyperlipidemia and diseases related thereto |
CN101526895B (zh) * | 2009-01-22 | 2011-01-05 | 杭州中天微系统有限公司 | 基于指令双发射的高性能低功耗嵌入式处理器 |
CN101477454A (zh) | 2009-01-22 | 2009-07-08 | 浙江大学 | 嵌入式处理器的乱序执行控制装置 |
JP5326708B2 (ja) * | 2009-03-18 | 2013-10-30 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
KR20100121215A (ko) * | 2009-05-08 | 2010-11-17 | 삼성전자주식회사 | 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법 |
CN101847094A (zh) | 2009-05-29 | 2010-09-29 | 威盛电子股份有限公司 | 非循序执行的微处理器及其操作方法 |
US8464029B2 (en) | 2009-05-29 | 2013-06-11 | Via Technologies, Inc. | Out-of-order execution microprocessor with reduced store collision load replay reduction |
CN101853150B (zh) | 2009-05-29 | 2013-05-22 | 威盛电子股份有限公司 | 非循序执行的微处理器及其操作方法 |
US8443175B2 (en) | 2009-07-10 | 2013-05-14 | Via Technologies, Inc. | Microprocessor with first processor for debugging second processor |
US8386755B2 (en) | 2009-07-28 | 2013-02-26 | Via Technologies, Inc. | Non-atomic scheduling of micro-operations to perform round instruction |
CN101894009B (zh) | 2009-08-07 | 2013-05-22 | 威盛电子股份有限公司 | 乱序执行的微处理器以及相关执行指令的方法 |
US8533438B2 (en) | 2009-08-12 | 2013-09-10 | Via Technologies, Inc. | Store-to-load forwarding based on load/store address computation source information comparisons |
US20110078350A1 (en) | 2009-09-30 | 2011-03-31 | Via Technologies, Inc. | Method for generating multiple serial bus chip selects using single chip select signal and modulation of clock signal frequency |
CN101710272B (zh) | 2009-10-28 | 2012-09-05 | 龙芯中科技术有限公司 | 指令调度装置和方法 |
US9104399B2 (en) | 2009-12-23 | 2015-08-11 | International Business Machines Corporation | Dual issuing of complex instruction set instructions |
US8341472B2 (en) * | 2010-06-25 | 2012-12-25 | Via Technologies, Inc. | Apparatus and method for tamper protection of a microprocessor fuse array |
US8918625B1 (en) | 2010-11-24 | 2014-12-23 | Marvell International Ltd. | Speculative scheduling of memory instructions in out-of-order processor based on addressing mode comparison |
JP5625903B2 (ja) | 2010-12-29 | 2014-11-19 | 富士通株式会社 | 演算処理装置および演算処理方法 |
US8639884B2 (en) | 2011-02-28 | 2014-01-28 | Freescale Semiconductor, Inc. | Systems and methods for configuring load/store execution units |
JP2012198803A (ja) * | 2011-03-22 | 2012-10-18 | Fujitsu Ltd | 演算処理装置及び演算処理方法 |
EP2695055B1 (en) | 2011-04-07 | 2018-06-06 | VIA Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
US8862861B2 (en) | 2011-05-13 | 2014-10-14 | Oracle International Corporation | Suppressing branch prediction information update by branch instructions in incorrect speculative execution path |
CN103765409A (zh) | 2011-09-06 | 2014-04-30 | 英特尔公司 | 有功率效率的处理器体系结构 |
US9367107B2 (en) * | 2011-10-19 | 2016-06-14 | Psion Inc. | Method and system for controlling reset state change in a system-on-a-chip device |
US9009449B2 (en) | 2011-11-10 | 2015-04-14 | Oracle International Corporation | Reducing power consumption and resource utilization during miss lookahead |
US20140208074A1 (en) | 2012-03-30 | 2014-07-24 | Boris A. Babayan | Instruction scheduling for a multi-strand out-of-order processor |
US9128725B2 (en) * | 2012-05-04 | 2015-09-08 | Apple Inc. | Load-store dependency predictor content management |
US9645819B2 (en) | 2012-06-15 | 2017-05-09 | Intel Corporation | Method and apparatus for reducing area and complexity of instruction wakeup logic in a multi-strand out-of-order processor |
GB2503438A (en) * | 2012-06-26 | 2014-01-01 | Ibm | Method and system for pipelining out of order instructions by combining short latency instructions to match long latency instructions |
US10241797B2 (en) | 2012-07-17 | 2019-03-26 | Advanced Micro Devices, Inc. | Replay reduction by wakeup suppression using early miss indication |
US9582276B2 (en) | 2012-09-27 | 2017-02-28 | Apple Inc. | Processor and method for implementing barrier operation using speculative and architectural color values |
US9582287B2 (en) | 2012-09-27 | 2017-02-28 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
US10235180B2 (en) | 2012-12-21 | 2019-03-19 | Intel Corporation | Scheduler implementing dependency matrix having restricted entries |
US20140189328A1 (en) | 2012-12-27 | 2014-07-03 | Tomer WEINER | Power reduction by using on-demand reservation station size |
GB2509974B (en) | 2013-01-21 | 2015-04-01 | Imagination Tech Ltd | Allocating resources to threads based on speculation metric |
US9256428B2 (en) | 2013-02-06 | 2016-02-09 | International Business Machines Corporation | Load latency speculation in an out-of-order computer processor |
US9116817B2 (en) | 2013-05-09 | 2015-08-25 | Apple Inc. | Pointer chasing prediction |
KR20140139923A (ko) | 2013-05-28 | 2014-12-08 | 한국전자통신연구원 | 멀티코어 프로세서 및 멀티코어 프로세서 시스템 |
US9606806B2 (en) | 2013-06-25 | 2017-03-28 | Advanced Micro Devices, Inc. | Dependence-based replay suppression |
US9715389B2 (en) | 2013-06-25 | 2017-07-25 | Advanced Micro Devices, Inc. | Dependent instruction suppression |
US9489206B2 (en) | 2013-07-16 | 2016-11-08 | Advanced Micro Devices, Inc. | Dependent instruction suppression |
GB2510655B (en) * | 2013-07-31 | 2015-02-25 | Imagination Tech Ltd | Prioritizing instructions based on type |
TWI571797B (zh) | 2013-08-21 | 2017-02-21 | 上海兆芯集成電路有限公司 | 組態資料的處理裝置及方法 |
US8879345B1 (en) | 2013-08-21 | 2014-11-04 | Via Technologies, Inc. | Microprocessor mechanism for decompression of fuse correction data |
US9495159B2 (en) | 2013-09-27 | 2016-11-15 | Intel Corporation | Two level re-order buffer |
US9389863B2 (en) | 2014-02-10 | 2016-07-12 | Via Alliance Semiconductor Co., Ltd. | Processor that performs approximate computing instructions |
US9710268B2 (en) | 2014-04-29 | 2017-07-18 | Apple Inc. | Reducing latency for pointer chasing loads |
-
2014
- 2014-12-14 JP JP2016564427A patent/JP6286065B2/ja active Active
- 2014-12-14 US US14/889,358 patent/US10209996B2/en active Active
- 2014-12-14 WO PCT/IB2014/003170 patent/WO2016097791A1/en active Application Filing
-
2015
- 2015-11-20 TW TW104138417A patent/TWI559223B/zh active
- 2015-12-01 CN CN201510867341.3A patent/CN105528193B/zh active Active
- 2015-12-14 CN CN201510929810.XA patent/CN105468336B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105528193B (zh) | 2019-04-09 |
CN105528193A (zh) | 2016-04-27 |
WO2016097791A1 (en) | 2016-06-23 |
CN105468336B (zh) | 2019-02-12 |
TW201621635A (zh) | 2016-06-16 |
CN105468336A (zh) | 2016-04-06 |
JP2017503294A (ja) | 2017-01-26 |
US10209996B2 (en) | 2019-02-19 |
TWI559223B (zh) | 2016-11-21 |
US20160350123A1 (en) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6286065B2 (ja) | アウトオブオーダープロセッサの書き込み結合メモリ領域アクセスに依存するロードリプレイを除外する装置及び方法 | |
US10114794B2 (en) | Programmable load replay precluding mechanism | |
JP6286067B2 (ja) | アウトオブオーダープロセッサでの長いロードサイクルに依存するロードリプレイを除外するメカニズム | |
EP3032400B1 (en) | Load replay precluding mechanism | |
JP6286066B2 (ja) | アウトオブオーダープロセッサでのロードリプレイを低減する節電メカニズム | |
EP3032405B1 (en) | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor | |
JP6286068B2 (ja) | アウトオブオーダープロセッサでのキャッシュ不可に依存するロードリプレイを除外するメカニズム | |
US20160342420A1 (en) | Mechanism to preclude shared ram-dependent load replays in an out-of-order processor | |
EP3032402B1 (en) | Programmable load replay precluding mechanism | |
EP3032401B1 (en) | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor | |
EP3055769B1 (en) | Mechanism to preclude load replays dependent on page walks in out-of-order processor | |
US10108427B2 (en) | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor | |
EP3032399A2 (en) | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor | |
US20160350121A1 (en) | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor | |
US10175984B2 (en) | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor | |
US10083038B2 (en) | Mechanism to preclude load replays dependent on page walks in an out-of-order processor | |
EP3032406B1 (en) | Apparatus and method to preclude x86 special bus cycle load replays in an out-of-order processor | |
EP3032403B1 (en) | Mechanism to preclude shared ram-dependent load replays in an out-of-order processor | |
EP3049956B1 (en) | Mechanism to preclude i/o-dependent load replays in out-of-order processor | |
US9740271B2 (en) | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor | |
EP3032407A2 (en) | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170307 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170802 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6286065 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |