JP6628801B2 - プロセッサ・コアのための実行ユニット回路、プロセッサ・コア、およびプロセッサ・コア内のプログラム命令を実行する方法 - Google Patents
プロセッサ・コアのための実行ユニット回路、プロセッサ・コア、およびプロセッサ・コア内のプログラム命令を実行する方法 Download PDFInfo
- Publication number
- JP6628801B2 JP6628801B2 JP2017530696A JP2017530696A JP6628801B2 JP 6628801 B2 JP6628801 B2 JP 6628801B2 JP 2017530696 A JP2017530696 A JP 2017530696A JP 2017530696 A JP2017530696 A JP 2017530696A JP 6628801 B2 JP6628801 B2 JP 6628801B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- store
- queue
- store operation
- cache
- 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 13
- 239000000872 buffer Substances 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000003134 recirculating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000011144 upstream manufacturing 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/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
Claims (18)
- プロセッサ・コアのための実行ユニット回路であって、
関数オペレーションおよびロード/ストア・オペレーションを含む命令のストリームを受け取るための発行キューと、
ロード・オペレーションおよびストア・オペレーションの有効アドレスを計算し、前記ロード・オペレーションおよび前記ストア・オペレーションをキャッシュ・ユニットに発行するためのロード/ストア・パイプラインを含む、複数の内部実行パイプラインと、
前記ロード・オペレーションおよび前記ストア・オペレーションに対応するエントリを格納するための再循環キューと、
前記発行キュー、前記ロード/ストア・パイプライン、および前記再循環キューを制御する制御ロジックであって、前記ロード/ストア・パイプラインが前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスを計算した後に、前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスが前記再循環キューに書き込まれ、前記ロード・オペレーションまたは前記ストア・オペレーションが前記発行キューから削除され、続いて、拒否されたロード・オペレーションまたはストア・オペレーションが前記再循環キューから前記キャッシュ・ユニットに再発行されるようにする、前記制御ロジックと
を備え、
前記制御ロジックは、前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスが前記再循環キューに書き込まれるのと同じプロセッサ・サイクルで、前記ロード・オペレーションまたは前記ストア・オペレーションを前記キャッシュ・ユニットに発行する、
実行ユニット回路。 - 前記再循環キューが、前記ロード・オペレーションおよび前記ストア・オペレーションの前記有効アドレスと、ストア・オペレーションについては、前記ストア・オペレーションによって格納されるべき値と、のみを格納する、請求項1の実行ユニット回路。
- 前記制御ロジックは、前記有効アドレスが前記再循環キューに書き込まれると、前記発行キューからロード・オペレーションを削除し、前記有効アドレスおよび前記ストア・オペレーションにより格納されるべき前記値が前記再循環キューに書き込まれると、前記発行キューからストア・オペレーションを削除する、請求項2の実行ユニット回路。
- 前記制御ロジックは、前記有効アドレスが前記再循環キューに書き込まれると、前記発行キューからロード・オペレーションを削除し、前記制御ロジックは、前記発行キューから前記ストア・オペレーションを削除する前に、前記ストア・オペレーションおよび前記ストア・オペレーションにより格納されるべき値を前記キャッシュ・ユニットに発行する、請求項1の実行ユニット回路。
- 前記キャッシュ・ユニットは、前記ロード・オペレーションおよび前記ストア・オペレーションがバスを介して経路指定される複数のキャッシュ・スライスとして実装され、前記拒否されたロード・オペレーションまたはストア・オペレーションの前記再発行は、前記拒否されたロード・オペレーションまたはストア・オペレーションを以前拒否した別のキャッシュ・スライスとは異なるキャッシュ・スライスに対して向けられる、請求項1の実行ユニット回路。
- 前記制御ロジックは、前記再循環キューが満たされたとき、前記発行キューからのロード命令およびストア命令の発行を中止する、請求項1の実行ユニット回路。
- プロセッサ・コアであって、
対応する複数の命令ストリームの命令を受け取るための複数のディスパッチ・キューと、
前記ディスパッチ・キューの出力を命令実行スライスに経路指定するためのディスパッチ経路指定ネットワークと、
前記ディスパッチ経路指定ネットワークを介して前記複数の命令ストリームの前記命令を複数の並列する命令実行スライスの発行キューに対してディスパッチするディスパッチ制御ロジックと、
前記複数の命令ストリームを並列に実行するための複数の並列する命令実行スライスであって、関数オペレーションおよびロード/ストア・オペレーションを含む命令のストリームを受け取るための発行キューと、ロード・オペレーションおよびストア・オペレーションの有効アドレスを計算し前記ロード・オペレーションおよび前記ストア・オペレーションをキャッシュ・ユニットに発行するためのロード/ストア・パイプラインを含む複数の内部実行パイプラインと、前記ロード・オペレーションおよび前記ストア・オペレーションに対応するエントリを格納するための再循環キューと、前記発行キュー、前記ロード/ストア・パイプライン、および前記再循環キューを制御するキュー制御ロジックと、を含む前記命令実行スライスと、を備え、前記ロード/ストア・パイプラインが前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスを計算した後に、前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスが前記再循環キューに書き込まれ、前記ロード・オペレーションまたは前記ストア・オペレーションが前記発行キューから削除されるようにし、前記ロード・オペレーションまたは前記ストア・オペレーションのうちの1つが前記キャッシュ・ユニットによって拒否される場合には、続いて、拒否されたロード・オペレーションまたはストア・オペレーションが前記再循環キューから前記キャッシュ・ユニットに再発行されるようにする、プロセッサ・コア。 - 前記再循環キューが、前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスと、ストア・オペレーションについては、前記ストア・オペレーションによって格納されるべき値と、のみを格納する、請求項7のプロセッサ・コア。
- 前記キュー制御ロジックは、前記有効アドレスが前記再循環キューに書き込まれると、前記発行キューからロード・オペレーションを削除し、前記有効アドレスおよび前記ストア・オペレーションにより格納されるべき前記値が前記再循環キューに書き込まれると、前記発行キューからストア・オペレーションを削除する、請求項8のプロセッサ・コア。
- 前記キュー制御ロジックは、前記有効アドレスが前記再循環キューに書き込まれると、前記発行キューからロード・オペレーションを削除し、前記キュー制御ロジックは、前記発行キューから前記ストア・オペレーションを削除する前に、前記ストア・オペレーションおよび前記ストア・オペレーションにより格納されるべき値を前記キャッシュ・ユニットに発行する、請求項7のプロセッサ・コア。
- 前記キュー制御ロジックは、前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスが前記再循環キューに書き込まれるのと同じプロセッサ・サイクルで、前記ロード・オペレーションまたは前記ストア・オペレーションを前記キャッシュ・ユニットに発行する、請求項7のプロセッサ・コア。
- 前記ロード・オペレーションおよび前記ストア・オペレーションがバスを介して経路指定される複数のキャッシュ・スライスであって、前記キャッシュ・ユニットを実装する前記複数のキャッシュ・スライスをさらに備え、前記拒否されたロード・オペレーションまたはストア・オペレーションの前記再発行は、前記拒否されたロード・オペレーションまたはストア・オペレーションを以前拒否した別のキャッシュ・スライスとは異なるキャッシュ・スライスに対して向けられる、請求項7のプロセッサ・コア。
- 前記キュー制御ロジックは、前記再循環キューが満たされたとき、前記発行キューからのロード命令およびストア命令の発行を中止する、請求項7のプロセッサ・コア。
- プロセッサ・コア内のプログラム命令を実行する方法であって、
発行キューにおいて、関数オペレーションおよびロード/ストア・オペレーションを含む命令のストリームを受け取るステップと、
ロード・オペレーションおよびストア・オペレーションの有効アドレスを計算するステップと、
前記ロード・オペレーションおよび前記ストア・オペレーションをキャッシュ・ユニットに発行するステップと、
再循環キューにおいて、前記ロード・オペレーションおよび前記ストア・オペレーションに対応するエントリを格納するステップと、
前記ロード・オペレーションおよび前記ストア・オペレーションを前記発行キューから削除するステップと、
続いて、前記ロード・オペレーションまたは前記ストア・オペレーションのうちの1つが前記キャッシュ・ユニットによって拒否される場合には、前記ロード・オペレーションまたは前記ストア・オペレーションのうちの前記1つを前記再循環キューから前記キャッシュ・ユニットに再発行するステップと
を含み、
前記発行するステップは、エントリを格納する前記ステップが前記再循環キューに前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスを格納するのと同じプロセッサ・サイクルで、前記ロード・オペレーションまたは前記ストア・オペレーションを前記キャッシュ・ユニットに発行する、
方法。 - エントリを格納する前記ステップが、前記ロード・オペレーションまたは前記ストア・オペレーションの前記有効アドレスと、ストア・オペレーションについては、前記ストア・オペレーションによって格納されるべき値と、のみを格納する、請求項14の方法。
- 前記有効アドレスが前記再循環キューに書き込まれると、前記発行キューからロード・オペレーションを削除するステップと、
前記有効アドレスおよび前記ストア・オペレーションにより格納されるべき前記値が前記再循環キューに書き込まれると、前記発行キューからストア・オペレーションを削除するステップと
をさらに含む、請求項15の方法。 - 前記有効アドレスが前記再循環キューに書き込まれると、前記発行キューからロード・オペレーションを削除するステップと、
前記発行キューから前記ストア・オペレーションを削除する前に、前記ストア・オペレーションおよび前記ストア・オペレーションにより格納されるべき値を前記キャッシュ・ユニットに発行するステップと
をさらに含む、請求項14の方法。 - 前記キャッシュ・ユニットは、前記ロード・オペレーションおよび前記ストア・オペレーションがバスを介して経路指定され得る複数のキャッシュ・スライスとして実装され、前記ロード・オペレーションまたは前記ストア・オペレーションを再発行する前記ステップは、前記ロード・オペレーションまたは前記ストア・オペレーションを以前拒否した別のキャッシュ・スライスとは異なるキャッシュ・スライスに対して向けられる、請求項14の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/595,635 US10133576B2 (en) | 2015-01-13 | 2015-01-13 | Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries |
US14/595,635 | 2015-01-13 | ||
US14/724,268 US20160202988A1 (en) | 2015-01-13 | 2015-05-28 | Parallel slice processing method using a recirculating load-store queue for fast deallocation of issue queue entries |
US14/724,268 | 2015-05-28 | ||
PCT/EP2015/081330 WO2016113105A1 (en) | 2015-01-13 | 2015-12-29 | Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018501564A JP2018501564A (ja) | 2018-01-18 |
JP6628801B2 true JP6628801B2 (ja) | 2020-01-15 |
Family
ID=56367638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017530696A Active JP6628801B2 (ja) | 2015-01-13 | 2015-12-29 | プロセッサ・コアのための実行ユニット回路、プロセッサ・コア、およびプロセッサ・コア内のプログラム命令を実行する方法 |
Country Status (5)
Country | Link |
---|---|
US (5) | US10133576B2 (ja) |
JP (1) | JP6628801B2 (ja) |
DE (1) | DE112015004983T5 (ja) |
GB (1) | GB2549907B (ja) |
WO (1) | WO2016113105A1 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672043B2 (en) | 2014-05-12 | 2017-06-06 | International Business Machines Corporation | Processing of multiple instruction streams in a parallel slice processor |
US9720696B2 (en) | 2014-09-30 | 2017-08-01 | International Business Machines Corporation | Independent mapping of threads |
US9977678B2 (en) | 2015-01-12 | 2018-05-22 | International Business Machines Corporation | Reconfigurable parallel execution and load-store slice processor |
US10133576B2 (en) | 2015-01-13 | 2018-11-20 | International Business Machines Corporation | Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries |
US10133581B2 (en) | 2015-01-13 | 2018-11-20 | International Business Machines Corporation | Linkable issue queue parallel execution slice for a processor |
US10241800B2 (en) | 2015-06-16 | 2019-03-26 | International Business Machines Corporation | Split-level history buffer in a computer processing unit |
US9983875B2 (en) | 2016-03-04 | 2018-05-29 | International Business Machines Corporation | Operation of a multi-slice processor preventing early dependent instruction wakeup |
US10037211B2 (en) | 2016-03-22 | 2018-07-31 | International Business Machines Corporation | Operation of a multi-slice processor with an expanded merge fetching queue |
US10346174B2 (en) | 2016-03-24 | 2019-07-09 | International Business Machines Corporation | Operation of a multi-slice processor with dynamic canceling of partial loads |
US9977677B2 (en) * | 2016-04-07 | 2018-05-22 | International Business Machines Corporation | Execution slice with supplemental instruction port for an instruction using a source operand from another instruction port |
US10761854B2 (en) | 2016-04-19 | 2020-09-01 | International Business Machines Corporation | Preventing hazard flushes in an instruction sequencing unit of a multi-slice processor |
US10037229B2 (en) | 2016-05-11 | 2018-07-31 | International Business Machines Corporation | Operation of a multi-slice processor implementing a load/store unit maintaining rejected instructions |
US9934033B2 (en) | 2016-06-13 | 2018-04-03 | International Business Machines Corporation | Operation of a multi-slice processor implementing simultaneous two-target loads and stores |
US20170364356A1 (en) * | 2016-06-16 | 2017-12-21 | International Business Machines Corporation | Techniques for implementing store instructions in a multi-slice processor architecture |
US10042647B2 (en) | 2016-06-27 | 2018-08-07 | International Business Machines Corporation | Managing a divided load reorder queue |
US10318419B2 (en) | 2016-08-08 | 2019-06-11 | International Business Machines Corporation | Flush avoidance in a load store unit |
US11086628B2 (en) | 2016-08-15 | 2021-08-10 | Advanced Micro Devices, Inc. | System and method for load and store queue allocations at address generation time |
US10481915B2 (en) | 2017-09-20 | 2019-11-19 | International Business Machines Corporation | Split store data queue design for an out-of-order processor |
US10572256B2 (en) | 2017-10-06 | 2020-02-25 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
US11175924B2 (en) | 2017-10-06 | 2021-11-16 | International Business Machines Corporation | Load-store unit with partitioned reorder queues with single cam port |
US10606590B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Effective address based load store unit in out of order processors |
US10606591B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
US10417002B2 (en) | 2017-10-06 | 2019-09-17 | International Business Machines Corporation | Hazard detection of out-of-order execution of load and store instructions in processors without using real addresses |
US10579387B2 (en) | 2017-10-06 | 2020-03-03 | International Business Machines Corporation | Efficient store-forwarding with partitioned FIFO store-reorder queue in out-of-order processor |
US10394558B2 (en) | 2017-10-06 | 2019-08-27 | International Business Machines Corporation | Executing load-store operations without address translation hardware per load-store unit port |
US10922087B2 (en) | 2017-11-30 | 2021-02-16 | International Business Machines Corporation | Block based allocation and deallocation of issue queue entries |
US10564979B2 (en) | 2017-11-30 | 2020-02-18 | International Business Machines Corporation | Coalescing global completion table entries in an out-of-order processor |
US10901744B2 (en) | 2017-11-30 | 2021-01-26 | International Business Machines Corporation | Buffered instruction dispatching to an issue queue |
US10572264B2 (en) | 2017-11-30 | 2020-02-25 | International Business Machines Corporation | Completing coalesced global completion table entries in an out-of-order processor |
US10929140B2 (en) | 2017-11-30 | 2021-02-23 | International Business Machines Corporation | Scalable dependency matrix with a single summary bit in an out-of-order processor |
US10884753B2 (en) | 2017-11-30 | 2021-01-05 | International Business Machines Corporation | Issue queue with dynamic shifting between ports |
US10942747B2 (en) | 2017-11-30 | 2021-03-09 | International Business Machines Corporation | Head and tail pointer manipulation in a first-in-first-out issue queue |
US10564976B2 (en) | 2017-11-30 | 2020-02-18 | International Business Machines Corporation | Scalable dependency matrix with multiple summary bits in an out-of-order processor |
US10802829B2 (en) | 2017-11-30 | 2020-10-13 | International Business Machines Corporation | Scalable dependency matrix with wake-up columns for long latency instructions in an out-of-order processor |
US10915327B2 (en) * | 2018-12-14 | 2021-02-09 | Arm Limited | Apparatus and method of dispatching instructions for execution clusters based on dependencies |
US12099845B2 (en) | 2022-06-16 | 2024-09-24 | International Business Machines Corporation | Load reissuing using an alternate issue queue |
Family Cites Families (175)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095424A (en) | 1986-10-17 | 1992-03-10 | Amdahl Corporation | Computer system architecture implementing split instruction and operand cache line-pair-state management |
US4858113A (en) | 1987-04-10 | 1989-08-15 | The United States Of America As Represented By The Director Of The National Security Agency | Reconfigurable pipelined processor |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
JPH0374721A (ja) | 1989-08-16 | 1991-03-29 | Hitachi Ltd | ディジタル処理装置 |
US5471593A (en) | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
CA2073516A1 (en) | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
US5553305A (en) | 1992-04-14 | 1996-09-03 | International Business Machines Corporation | System for synchronizing execution by a processing element of threads within a process using a state indicator |
US5630149A (en) | 1993-10-18 | 1997-05-13 | Cyrix Corporation | Pipelined processor with register renaming hardware to accommodate multiple size registers |
US6138230A (en) | 1993-10-18 | 2000-10-24 | Via-Cyrix, Inc. | Processor with multiple execution pipelines using pipe stage state information to control independent movement of instructions between pipe stages of an execution pipeline |
US6073231A (en) | 1993-10-18 | 2000-06-06 | Via-Cyrix, Inc. | Pipelined processor with microcontrol of register translation hardware |
JP2812189B2 (ja) | 1994-02-10 | 1998-10-22 | 日本電気株式会社 | プログラムダウンロード方法 |
US5680597A (en) | 1995-01-26 | 1997-10-21 | International Business Machines Corporation | System with flexible local control for modifying same instruction partially in different processor of a SIMD computer system to execute dissimilar sequences of instructions |
US6112019A (en) | 1995-06-12 | 2000-08-29 | Georgia Tech Research Corp. | Distributed instruction queue |
US6356918B1 (en) | 1995-07-26 | 2002-03-12 | International Business Machines Corporation | Method and system for managing registers in a data processing system supports out-of-order and speculative instruction execution |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5822602A (en) | 1996-07-23 | 1998-10-13 | S3 Incorporated | Pipelined processor for executing repeated string instructions by halting dispatch after comparision to pipeline capacity |
US5996068A (en) | 1997-03-26 | 1999-11-30 | Lucent Technologies Inc. | Method and apparatus for renaming registers corresponding to multiple thread identifications |
US6026478A (en) | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
US6170051B1 (en) | 1997-08-01 | 2001-01-02 | Micron Technology, Inc. | Apparatus and method for program level parallelism in a VLIW processor |
US6487578B2 (en) | 1997-09-29 | 2002-11-26 | Intel Corporation | Dynamic feedback costing to enable adaptive control of resource utilization |
US6212544B1 (en) | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6549930B1 (en) | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
US6044448A (en) | 1997-12-16 | 2000-03-28 | S3 Incorporated | Processor having multiple datapath instances |
US6145054A (en) * | 1998-01-21 | 2000-11-07 | Sun Microsystems, Inc. | Apparatus and method for handling multiple mergeable misses in a non-blocking cache |
US6035394A (en) * | 1998-02-17 | 2000-03-07 | International Business Machines Corporation | System for providing high performance speculative processing of complex load/store instructions by generating primitive instructions in the load/store unit and sequencer in parallel |
JP3448481B2 (ja) | 1998-03-05 | 2003-09-22 | Kddi株式会社 | 非対称回線用tcp通信高速化装置 |
US6230257B1 (en) | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
US6092175A (en) | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US6205519B1 (en) | 1998-05-27 | 2001-03-20 | Hewlett Packard Company | Cache management for a multi-threaded processor |
JP3786521B2 (ja) | 1998-07-01 | 2006-06-14 | 株式会社日立製作所 | 半導体集積回路及びデータ処理システム |
US6119203A (en) * | 1998-08-03 | 2000-09-12 | Motorola, Inc. | Mechanism for sharing data cache resources between data prefetch operations and normal load/store operations in a data processing system |
US6073215A (en) * | 1998-08-03 | 2000-06-06 | Motorola, Inc. | Data processing system having a data prefetch mechanism and method therefor |
ATE467171T1 (de) | 1998-08-24 | 2010-05-15 | Microunity Systems Eng | System mit breiter operandenarchitektur und verfahren |
US6163839A (en) | 1998-09-30 | 2000-12-19 | Intel Corporation | Non-stalling circular counterflow pipeline processor with reorder buffer |
US6219780B1 (en) | 1998-10-27 | 2001-04-17 | International Business Machines Corporation | Circuit arrangement and method of dispatching instructions to multiple execution units |
US6286027B1 (en) | 1998-11-30 | 2001-09-04 | Lucent Technologies Inc. | Two step thread creation with register renaming |
US6237081B1 (en) * | 1998-12-16 | 2001-05-22 | International Business Machines Corporation | Queuing method and apparatus for facilitating the rejection of sequential instructions in a processor |
DE60001776T2 (de) | 1999-01-27 | 2004-02-05 | Citizen Watch Co., Ltd. | Einkapselungsverfahren einer halbleiteranordnung mit einem anisotropisch leitenden klebstoff |
US6738896B1 (en) * | 1999-02-01 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Method and apparatus for determining availability of a queue which allows random insertion |
US6336183B1 (en) * | 1999-02-26 | 2002-01-01 | International Business Machines Corporation | System and method for executing store instructions |
US6463524B1 (en) | 1999-08-26 | 2002-10-08 | International Business Machines Corporation | Superscalar processor and method for incrementally issuing store instructions |
US7512724B1 (en) | 1999-11-19 | 2009-03-31 | The United States Of America As Represented By The Secretary Of The Navy | Multi-thread peripheral processing using dedicated peripheral bus |
US6357016B1 (en) | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
US6564315B1 (en) * | 2000-01-03 | 2003-05-13 | Advanced Micro Devices, Inc. | Scheduler which discovers non-speculative nature of an instruction after issuing and reissues the instruction |
US20020194251A1 (en) | 2000-03-03 | 2002-12-19 | Richter Roger K. | Systems and methods for resource usage accounting in information management environments |
US7124160B2 (en) | 2000-03-08 | 2006-10-17 | Sun Microsystems, Inc. | Processing architecture having parallel arithmetic capability |
WO2001067234A2 (en) | 2000-03-08 | 2001-09-13 | Sun Microsystems, Inc. | Vliw computer processing architecture having a scalable number of register files |
US6965991B1 (en) | 2000-05-12 | 2005-11-15 | Pts Corporation | Methods and apparatus for power control in a scalable array of processor elements |
US7836317B2 (en) | 2000-05-12 | 2010-11-16 | Altera Corp. | Methods and apparatus for power control in a scalable array of processor elements |
US7086053B2 (en) | 2000-06-12 | 2006-08-01 | Sun Microsystems, Inc. | Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension |
US6725358B1 (en) * | 2000-06-22 | 2004-04-20 | International Business Machines Corporation | Processor and method having a load reorder queue that supports reservations |
US6868491B1 (en) * | 2000-06-22 | 2005-03-15 | International Business Machines Corporation | Processor and method of executing load instructions out-of-order having reduced hazard penalty |
US7100028B2 (en) | 2000-08-09 | 2006-08-29 | Advanced Micro Devices, Inc. | Multiple entry points for system call instructions |
US6728866B1 (en) | 2000-08-31 | 2004-04-27 | International Business Machines Corporation | Partitioned issue queue and allocation strategy |
US7035998B1 (en) | 2000-11-03 | 2006-04-25 | Mips Technologies, Inc. | Clustering stream and/or instruction queues for multi-streaming processors |
US6732236B2 (en) * | 2000-12-18 | 2004-05-04 | Redback Networks Inc. | Cache retry request queue |
US6880073B2 (en) * | 2000-12-28 | 2005-04-12 | International Business Machines Corporation | Speculative execution of instructions and processes before completion of preceding barrier operations |
US20020165999A1 (en) | 2001-03-07 | 2002-11-07 | Ajile Systems, Inc. | Apparatus and method for interfacing hardware events with software events |
US6978459B1 (en) | 2001-04-13 | 2005-12-20 | The United States Of America As Represented By The Secretary Of The Navy | System and method for processing overlapping tasks in a programmable network processor environment |
US6948051B2 (en) | 2001-05-15 | 2005-09-20 | International Business Machines Corporation | Method and apparatus for reducing logic activity in a microprocessor using reduced bit width slices that are enabled or disabled depending on operation width |
US6954846B2 (en) | 2001-08-07 | 2005-10-11 | Sun Microsystems, Inc. | Microprocessor and method for giving each thread exclusive access to one register file in a multi-threading mode and for giving an active thread access to multiple register files in a single thread mode |
US6839828B2 (en) | 2001-08-14 | 2005-01-04 | International Business Machines Corporation | SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode |
US20030120882A1 (en) | 2001-12-20 | 2003-06-26 | Granston Elana D. | Apparatus and method for exiting from a software pipeline loop procedure in a digital signal processor |
US7251594B2 (en) | 2001-12-21 | 2007-07-31 | Hitachi, Ltd. | Execution time modification of instruction emulation parameters |
WO2003065214A1 (en) | 2002-01-30 | 2003-08-07 | Real Enterprise Solutions Development B.V. | Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor |
US7398374B2 (en) | 2002-02-27 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Multi-cluster processor for processing instructions of one or more instruction threads |
US6944744B2 (en) | 2002-08-27 | 2005-09-13 | Advanced Micro Devices, Inc. | Apparatus and method for independently schedulable functional units with issue lock mechanism in a processor |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US7024543B2 (en) | 2002-09-13 | 2006-04-04 | Arm Limited | Synchronising pipelines in a data processing apparatus |
SG111972A1 (en) | 2002-10-17 | 2005-06-29 | Agency Science Tech & Res | Wafer-level package for micro-electro-mechanical systems |
US20040136241A1 (en) | 2002-10-31 | 2004-07-15 | Lockheed Martin Corporation | Pipeline accelerator for improved computing architecture and related system and method |
US7600096B2 (en) | 2002-11-19 | 2009-10-06 | Stmicroelectronics, Inc. | Coprocessor extension architecture built using a novel split-instruction transaction model |
US20040111594A1 (en) * | 2002-12-05 | 2004-06-10 | International Business Machines Corporation | Multithreading recycle and dispatch mechanism |
JP2006512655A (ja) | 2002-12-30 | 2006-04-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | クラスタ化ilpプロセッサおよびクラスタ化ilpプロセッサにおけるバスにアクセスする方法 |
US7191320B2 (en) | 2003-02-11 | 2007-03-13 | Via Technologies, Inc. | Apparatus and method for performing a detached load operation in a pipeline microprocessor |
US20040216101A1 (en) | 2003-04-24 | 2004-10-28 | International Business Machines Corporation | Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor |
US7155600B2 (en) | 2003-04-24 | 2006-12-26 | International Business Machines Corporation | Method and logical apparatus for switching between single-threaded and multi-threaded execution states in a simultaneous multi-threaded (SMT) processor |
US7290261B2 (en) | 2003-04-24 | 2007-10-30 | International Business Machines Corporation | Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor |
US20050138290A1 (en) * | 2003-12-23 | 2005-06-23 | Intel Corporation | System and method for instruction rescheduling |
US7669035B2 (en) | 2004-01-21 | 2010-02-23 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for reconfigurable computing |
US7395419B1 (en) | 2004-04-23 | 2008-07-01 | Apple Inc. | Macroscalar processor architecture |
US7617496B2 (en) | 2004-04-23 | 2009-11-10 | Apple Inc. | Macroscalar processor architecture |
US7730456B2 (en) | 2004-05-19 | 2010-06-01 | Sony Computer Entertainment Inc. | Methods and apparatus for handling processing errors in a multi-processing system |
US7478198B2 (en) | 2004-05-24 | 2009-01-13 | Intel Corporation | Multithreaded clustered microarchitecture with dynamic back-end assignment |
JP2008502083A (ja) | 2004-06-08 | 2008-01-24 | ユニバーシティー オブ ロチェスター | クラスタ化されたプロセッサ群における通信並列性のトレードオフを動的に管理する方法 |
US7478225B1 (en) * | 2004-06-30 | 2009-01-13 | Sun Microsystems, Inc. | Apparatus and method to support pipelining of differing-latency instructions in a multithreaded processor |
US7721069B2 (en) | 2004-07-13 | 2010-05-18 | 3Plus1 Technology, Inc | Low power, high performance, heterogeneous, scalable processor architecture |
US8166282B2 (en) | 2004-07-21 | 2012-04-24 | Intel Corporation | Multi-version register file for multithreading processors with live-in precomputation |
US7890735B2 (en) | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US7237094B2 (en) | 2004-10-14 | 2007-06-26 | International Business Machines Corporation | Instruction group formation and mechanism for SMT dispatch |
US7302527B2 (en) * | 2004-11-12 | 2007-11-27 | International Business Machines Corporation | Systems and methods for executing load instructions that avoid order violations |
US7469318B2 (en) * | 2005-02-10 | 2008-12-23 | International Business Machines Corporation | System bus structure for large L2 cache array topology with different latency domains |
EP1883045A4 (en) | 2005-05-20 | 2016-10-05 | Sony Corp | SIGNAL PROCESSOR |
US20070022277A1 (en) * | 2005-07-20 | 2007-01-25 | Kenji Iwamura | Method and system for an enhanced microprocessor |
US20070028078A1 (en) * | 2005-07-26 | 2007-02-01 | Arm Limited | Instruction queues in pipelined processors |
US20070083735A1 (en) | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
WO2007031696A1 (en) * | 2005-09-13 | 2007-03-22 | Arm Limited | Cache miss detection in a data processing apparatus |
US7793278B2 (en) | 2005-09-30 | 2010-09-07 | Intel Corporation | Systems and methods for affine-partitioning programs onto multiple processing units |
US8074224B1 (en) | 2005-12-19 | 2011-12-06 | Nvidia Corporation | Managing state information for a multi-threaded processor |
US7506132B2 (en) | 2005-12-22 | 2009-03-17 | International Business Machines Corporation | Validity of address ranges used in semi-synchronous memory copy operations |
EP1990713B1 (en) | 2006-02-28 | 2013-04-10 | Fujitsu Ltd. | Branch predicting device for computer |
US7590825B2 (en) * | 2006-03-07 | 2009-09-15 | Intel Corporation | Counter-based memory disambiguation techniques for selectively predicting load/store conflicts |
US20070226471A1 (en) | 2006-03-13 | 2007-09-27 | Arm Limited | Data processing apparatus |
JP2008123045A (ja) | 2006-11-08 | 2008-05-29 | Matsushita Electric Ind Co Ltd | プロセッサ |
CN201021778Y (zh) | 2007-02-07 | 2008-02-13 | 株洲湘火炬汽车灯具有限责任公司 | 一种汽车前照灯 |
CN100456230C (zh) | 2007-03-19 | 2009-01-28 | 中国人民解放军国防科学技术大学 | 超长指令字与单指令流多数据流融合的计算群单元 |
US7707390B2 (en) | 2007-04-25 | 2010-04-27 | Arm Limited | Instruction issue control within a multi-threaded in-order superscalar processor |
US8464024B2 (en) | 2007-04-27 | 2013-06-11 | Hewlett-Packard Development Company, L.P. | Virtual address hashing |
US8555039B2 (en) | 2007-05-03 | 2013-10-08 | Qualcomm Incorporated | System and method for using a local condition code register for accelerating conditional instruction execution in a pipeline processor |
US8046566B2 (en) | 2007-05-14 | 2011-10-25 | International Business Machines Corporation | Method to reduce power consumption of a register file with multi SMT support |
US9250899B2 (en) | 2007-06-13 | 2016-02-02 | International Business Machines Corporation | Method and apparatus for spatial register partitioning with a multi-bit cell register file |
US7669036B2 (en) | 2007-06-14 | 2010-02-23 | Qualcomm Incorporated | Direct path monitoring by primary processor to each status register in pipeline chained secondary processors for task allocation via downstream communication |
US7865769B2 (en) | 2007-06-27 | 2011-01-04 | International Business Machines Corporation | In situ register state error recovery and restart mechanism |
JP4913685B2 (ja) | 2007-07-04 | 2012-04-11 | 株式会社リコー | Simd型マイクロプロセッサおよびsimd型マイクロプロセッサの制御方法 |
US7979677B2 (en) | 2007-08-03 | 2011-07-12 | International Business Machines Corporation | Adaptive allocation of reservation station entries to an instruction set with variable operands in a microprocessor |
JP2009064966A (ja) | 2007-09-06 | 2009-03-26 | Shinko Electric Ind Co Ltd | 多層配線基板及びその製造方法ならびに半導体装置 |
US20090113182A1 (en) * | 2007-10-24 | 2009-04-30 | Abernathy Christopher M | System and Method for Issuing Load-Dependent Instructions from an Issue Queue in a Processing Unit |
US20090172370A1 (en) | 2007-12-31 | 2009-07-02 | Advanced Micro Devices, Inc. | Eager execution in a processing pipeline having multiple integer execution units |
US7694112B2 (en) | 2008-01-31 | 2010-04-06 | International Business Machines Corporation | Multiplexing output from second execution unit add/saturation processing portion of wider width intermediate result of first primitive execution unit for compound computation |
US7844807B2 (en) * | 2008-02-01 | 2010-11-30 | International Business Machines Corporation | Branch target address cache storing direct predictions |
US8732438B2 (en) * | 2008-04-16 | 2014-05-20 | Oracle America, Inc. | Anti-prefetch instruction |
US8001331B2 (en) * | 2008-04-17 | 2011-08-16 | Arm Limited | Efficiency of cache memory operations |
US8078833B2 (en) | 2008-05-29 | 2011-12-13 | Axis Semiconductor, Inc. | Microprocessor with highly configurable pipeline and executional unit internal hierarchal structures, optimizable for different types of computational functions |
US8135942B2 (en) | 2008-08-28 | 2012-03-13 | International Business Machines Corpration | System and method for double-issue instructions using a dependency matrix and a side issue queue |
US8135941B2 (en) | 2008-09-19 | 2012-03-13 | International Business Machines Corporation | Vector morphing mechanism for multiple processor cores |
JP5300407B2 (ja) | 2008-10-20 | 2013-09-25 | 株式会社東芝 | 仮想アドレスキャッシュメモリ及び仮想アドレスキャッシュ方法 |
US8041928B2 (en) | 2008-12-22 | 2011-10-18 | International Business Machines Corporation | Information handling system with real and virtual load/store instruction issue queue |
US8103852B2 (en) | 2008-12-22 | 2012-01-24 | International Business Machines Corporation | Information handling system including a processor with a bifurcated issue queue |
US8140832B2 (en) | 2009-01-23 | 2012-03-20 | International Business Machines Corporation | Single step mode in a software pipeline within a highly threaded network on a chip microprocessor |
US8271765B2 (en) * | 2009-04-08 | 2012-09-18 | International Business Machines Corporation | Managing instructions for more efficient load/store unit usage |
US8489792B2 (en) | 2010-03-12 | 2013-07-16 | Lsi Corporation | Transaction performance monitoring in a processor bus bridge |
US8700877B2 (en) | 2009-09-25 | 2014-04-15 | Nvidia Corporation | Address mapping for a parallel thread processor |
US8335892B1 (en) | 2009-09-28 | 2012-12-18 | Nvidia Corporation | Cache arbitration between multiple clients |
CN101710272B (zh) | 2009-10-28 | 2012-09-05 | 龙芯中科技术有限公司 | 指令调度装置和方法 |
CN101706714B (zh) | 2009-11-23 | 2014-03-26 | 龙芯中科技术有限公司 | 指令发射系统及方法、处理器及其设计方法 |
US20110161616A1 (en) | 2009-12-29 | 2011-06-30 | Nvidia Corporation | On demand register allocation and deallocation for a multithreaded processor |
CN102122275A (zh) | 2010-01-08 | 2011-07-13 | 上海芯豪微电子有限公司 | 一种可配置处理器 |
US8984264B2 (en) * | 2010-01-15 | 2015-03-17 | Oracle America, Inc. | Precise data return handling in speculative processors |
US8418187B2 (en) | 2010-03-01 | 2013-04-09 | Arm Limited | Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system |
CN101876892B (zh) | 2010-05-20 | 2013-07-31 | 复旦大学 | 面向通信和多媒体应用的单指令多数据处理器电路结构 |
US8713263B2 (en) | 2010-11-01 | 2014-04-29 | Advanced Micro Devices, Inc. | Out-of-order load/store queue structure |
US9207995B2 (en) | 2010-11-03 | 2015-12-08 | International Business Machines Corporation | Mechanism to speed-up multithreaded execution by register file write port reallocation |
CN102004719B (zh) | 2010-11-16 | 2015-05-20 | 清华大学 | 支持同时多线程的超长指令字处理器结构 |
CN108376097B (zh) | 2011-03-25 | 2022-04-15 | 英特尔公司 | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 |
US8656401B2 (en) | 2011-05-13 | 2014-02-18 | Advanced Micro Devices, Inc. | Method and apparatus for prioritizing processor scheduler queue operations |
GB2493209B (en) | 2011-07-29 | 2016-02-17 | Canon Kk | Method and device for parallel decoding of scalable bitstream elements |
US20130054939A1 (en) | 2011-08-26 | 2013-02-28 | Cognitive Electronics, Inc. | Integrated circuit having a hard core and a soft core |
US8850121B1 (en) * | 2011-09-30 | 2014-09-30 | Applied Micro Circuits Corporation | Outstanding load miss buffer with shared entries |
US8966232B2 (en) * | 2012-02-10 | 2015-02-24 | Freescale Semiconductor, Inc. | Data processing system operable in single and multi-thread modes and having multiple caches and method of operation |
US9223709B1 (en) | 2012-03-06 | 2015-12-29 | Marvell International Ltd. | Thread-aware cache memory management |
US9262174B2 (en) | 2012-04-05 | 2016-02-16 | Nvidia Corporation | Dynamic bank mode addressing for memory access |
CN104583957B (zh) * | 2012-06-15 | 2018-08-10 | 英特尔公司 | 具有无消歧乱序加载存储队列的重新排序的推测性指令序列 |
KR101818967B1 (ko) * | 2012-06-15 | 2018-01-16 | 인텔 코포레이션 | 명확화 없는 비순차 load store 큐 |
DE102012222344A1 (de) | 2012-12-05 | 2014-06-05 | Fidlock Gmbh | Verschlussvorrichtung zum Verbinden zweier Teile |
US9424045B2 (en) | 2013-01-29 | 2016-08-23 | Arm Limited | Data processing apparatus and method for controlling use of an issue queue to represent an instruction suitable for execution by a wide operand execution unit |
US9323739B2 (en) | 2013-02-26 | 2016-04-26 | Lenovo (Singapore) Pte. Ltd. | Identifying words for a context |
US9817667B2 (en) | 2013-05-23 | 2017-11-14 | Advanced Micro Devices, Inc. | Techniques for scheduling operations at an instruction pipeline |
US9417879B2 (en) | 2013-06-21 | 2016-08-16 | Intel Corporation | Systems and methods for managing reconfigurable processor cores |
US9639369B2 (en) | 2013-11-11 | 2017-05-02 | Apple Inc. | Split register file for operands of different sizes |
US9448936B2 (en) * | 2014-01-13 | 2016-09-20 | Apple Inc. | Concurrent store and load operations |
US9665372B2 (en) | 2014-05-12 | 2017-05-30 | International Business Machines Corporation | Parallel slice processor with dynamic instruction stream mapping |
US9672043B2 (en) | 2014-05-12 | 2017-06-06 | International Business Machines Corporation | Processing of multiple instruction streams in a parallel slice processor |
US9760375B2 (en) | 2014-09-09 | 2017-09-12 | International Business Machines Corporation | Register files for storing data operated on by instructions of multiple widths |
US9720696B2 (en) | 2014-09-30 | 2017-08-01 | International Business Machines Corporation | Independent mapping of threads |
US9898409B2 (en) * | 2014-10-09 | 2018-02-20 | The Regents Of The University Of Michigan | Issue control for multithreaded processing |
US10209995B2 (en) * | 2014-10-24 | 2019-02-19 | International Business Machines Corporation | Processor core including pre-issue load-hit-store (LHS) hazard prediction to reduce rejection of load instructions |
US9519484B1 (en) | 2014-11-02 | 2016-12-13 | Netronome Systems, Inc. | Picoengine instruction that controls an intelligent packet data register file prefetch function |
US9977678B2 (en) | 2015-01-12 | 2018-05-22 | International Business Machines Corporation | Reconfigurable parallel execution and load-store slice processor |
US10133581B2 (en) | 2015-01-13 | 2018-11-20 | International Business Machines Corporation | Linkable issue queue parallel execution slice for a processor |
US10133576B2 (en) | 2015-01-13 | 2018-11-20 | International Business Machines Corporation | Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries |
US20170364356A1 (en) * | 2016-06-16 | 2017-12-21 | International Business Machines Corporation | Techniques for implementing store instructions in a multi-slice processor architecture |
US10318419B2 (en) * | 2016-08-08 | 2019-06-11 | International Business Machines Corporation | Flush avoidance in a load store unit |
US10223266B2 (en) * | 2016-11-30 | 2019-03-05 | International Business Machines Corporation | Extended store forwarding for store misses without cache allocate |
US11223520B1 (en) * | 2017-01-31 | 2022-01-11 | Intel Corporation | Remote control plane directing data plane configurator |
US10901744B2 (en) * | 2017-11-30 | 2021-01-26 | International Business Machines Corporation | Buffered instruction dispatching to an issue queue |
-
2015
- 2015-01-13 US US14/595,635 patent/US10133576B2/en active Active
- 2015-05-28 US US14/724,268 patent/US20160202988A1/en not_active Abandoned
- 2015-12-29 JP JP2017530696A patent/JP6628801B2/ja active Active
- 2015-12-29 DE DE112015004983.5T patent/DE112015004983T5/de active Pending
- 2015-12-29 GB GB1712270.6A patent/GB2549907B/en active Active
- 2015-12-29 WO PCT/EP2015/081330 patent/WO2016113105A1/en active Application Filing
-
2018
- 2018-07-30 US US16/049,038 patent/US11150907B2/en active Active
-
2021
- 2021-09-07 US US17/467,882 patent/US11734010B2/en active Active
-
2023
- 2023-05-04 US US18/312,380 patent/US12061909B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20180336036A1 (en) | 2018-11-22 |
US12061909B2 (en) | 2024-08-13 |
GB2549907B (en) | 2021-08-11 |
DE112015004983T5 (de) | 2017-09-07 |
US10133576B2 (en) | 2018-11-20 |
US20160202988A1 (en) | 2016-07-14 |
GB2549907A (en) | 2017-11-01 |
US20230273793A1 (en) | 2023-08-31 |
US11150907B2 (en) | 2021-10-19 |
GB201712270D0 (en) | 2017-09-13 |
US11734010B2 (en) | 2023-08-22 |
WO2016113105A1 (en) | 2016-07-21 |
US20210406023A1 (en) | 2021-12-30 |
JP2018501564A (ja) | 2018-01-18 |
US20160202986A1 (en) | 2016-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6628801B2 (ja) | プロセッサ・コアのための実行ユニット回路、プロセッサ・コア、およびプロセッサ・コア内のプログラム命令を実行する方法 | |
US10983800B2 (en) | Reconfigurable processor with load-store slices supporting reorder and controlling access to cache slices | |
US10223125B2 (en) | Linkable issue queue parallel execution slice processing method | |
JP6674384B2 (ja) | 動的な命令ストリーム・マッピングを使用するプロセッサ・コア、プロセッサ・コアを含むコンピュータ・システム、およびプロセッサ・コアによってプログラム命令を実行する方法(動的な命令ストリーム・マッピングを使用する並列スライス・プロセッサ) | |
US9798548B2 (en) | Methods and apparatus for scheduling instructions using pre-decode data | |
TWI498819B (zh) | 執行成型記憶體存取作業的系統和方法 | |
US9830156B2 (en) | Temporal SIMT execution optimization through elimination of redundant operations | |
JP5698445B2 (ja) | 多重プロセッサ・コア・ベクトル・モーフ結合機構 | |
KR101638225B1 (ko) | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 명령어 시퀀스 코드 블록의 실행 | |
KR101636602B1 (ko) | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 | |
KR101620676B1 (ko) | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트 | |
US10437638B2 (en) | Method and apparatus for dynamically balancing task processing while maintaining task order | |
US20130166882A1 (en) | Methods and apparatus for scheduling instructions without instruction decode | |
TW201337767A (zh) | 多頻時間切面組 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180817 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190522 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190821 |
|
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: 20191112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6628801 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |