JP6352386B2 - 定数キャッシュを使用してより効率的にリテラル生成データを従属命令に転送するための方法および装置 - Google Patents
定数キャッシュを使用してより効率的にリテラル生成データを従属命令に転送するための方法および装置 Download PDFInfo
- Publication number
- JP6352386B2 JP6352386B2 JP2016502276A JP2016502276A JP6352386B2 JP 6352386 B2 JP6352386 B2 JP 6352386B2 JP 2016502276 A JP2016502276 A JP 2016502276A JP 2016502276 A JP2016502276 A JP 2016502276A JP 6352386 B2 JP6352386 B2 JP 6352386B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- entry
- pipeline
- register
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 15
- 230000001419 dependent effect Effects 0.000 title description 7
- 230000004044 response Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 3
- 230000008685 targeting Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000006249 magnetic particle Substances 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
- 239000002245 particle Substances 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, look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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, look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
Description
102a パイプライン
102b パイプライン
104a フェッチ段階
104b フェッチ段階
106a デコード段階
106b デコード段階
108a 実行段階
108b 実行段階
110 コントローラ
112 定数キャッシュ
114 エントリ
114a タグフィールド
114b 定数フィールド
114c フラグフィールド
116 メモリ
118 レジスタ
120 レジスタファイル
302 通信ネットワーク
304A 基地局
304B 基地局
304C 基地局
306 通信デバイス
308 矢印
310 矢印
Claims (15)
- レジスタと、
第1の命令をデコードするための第1のパイプラインであって、前記第1の命令が、実行を完了し次第、値を前記レジスタに書き込み、前記第1のパイプラインがレジスタファイルを読み取ることなく前記第1の命令をデコードするとき、前記値が決定されるか、または利用可能である、第1のパイプラインと、
記憶するための手段であって、前記第1のパイプラインが前記第1の命令をデコードするのに応答して、エントリをキャッシュに記憶し、前記値を前記キャッシュ内のエントリに記憶する、記憶するための手段と、
タグ付けするための手段であって、前記キャッシュ内の各エントリをタグ付けし、タグに基づいて前記キャッシュを検索し、前記エントリを前記レジスタでタグ付けする、タグ付けするための手段と、
設定するための手段であって、前記エントリを有効として設定する、設定するための手段とを備える装置。 - 前記エントリを記憶するためのキャッシュであって、各エントリが、タグフィールドを有し、エントリが、前記タグフィールドに従って検索される、キャッシュと、
前記第1のパイプラインが前記第1の命令をデコードするのに応答して前記キャッシュ内の前記エントリに前記値を記憶するためのコントローラであって、前記レジスタを示す前記タグフィールドを前記エントリに設定し、前記エントリが有効であることを示すためにフラグフィールドを前記エントリに設定する、コントローラとを備える、請求項1に記載の装置。 - 前記第1の命令が即値移動命令である、請求項1または請求項2に記載の装置。
- 前記コントローラが、前記第1のパイプラインがプログラム順序において前記第1の命令の後の消費命令をデコードすることに応答して、
前記レジスタでタグ付けされた前記エントリを探して前記キャッシュを検索し、
前記エントリが見つかるという条件で、および前記エントリの前記フラグフィールドが前記エントリが有効であることを示しているという条件で、前記値を前記第1のパイプラインに転送する、請求項2に記載の装置。 - 転送するための手段であって、前記エントリが有効と示されているという条件で、前記値を前記エントリから前記第1のパイプラインに、前記第1のパイプラインにおいてデコードされる第2の命令のオペランドとして転送する転送するための手段であって、前記第2の命令が、プログラム順序において前記第1の命令の後であり、かつ消費命令である、転送するための手段をさらに備える、請求項1に記載の装置。
- レジスタファイルをさらに備え、前記レジスタファイルが前記レジスタを備え、前記設定するための手段が、前記第1のパイプラインが前記レジスタをターゲットとする第3の命令をデコードし次第、前記エントリを無効として設定し、前記第3の命令が、前記レジスタファイルから読み取ることによってその結果を決定する、請求項5に記載の装置。
- レジスタファイルをさらに備え、前記レジスタファイルが前記レジスタを備え、前記設定するための手段が、前記第1のパイプラインが前記レジスタをターゲットとする第2の命令をデコードし次第、前記エントリを無効として設定し、前記第2の命令が、前記レジスタファイルから読み取ることによってその結果を決定する、請求項1に記載の装置。
- 第2のパイプラインと、
転送するための手段であって、前記エントリが有効と示されているという条件で、前記値を前記エントリから前記第2のパイプラインに、前記第2のパイプラインにおいてデコードされる第2の命令のオペランドとして転送する転送するための手段であって、前記第2の命令がプログラム順序において前記第1の命令の後であり、かつ消費命令である、転送するための手段とをさらに備える、請求項1に記載の装置。 - レジスタファイルをさらに備え、前記レジスタファイルが前記レジスタを備え、前記設定するための手段が、前記第1のパイプラインが第3の命令をデコードし次第、前記エントリを無効として設定し、前記第3の命令が、前記レジスタをターゲットとし、前記第3の命令が、前記レジスタファイルから読み取ることによってその結果を決定する、請求項8に記載の装置。
- 第2のパイプラインと、
転送するための手段であって、前記第1の命令が実行するとき、前記第1の命令により前記エントリが有効と示されているという条件で、前記値を前記第2のパイプラインに、前記第2のパイプラインにおいてデコードされる第2の命令のオペランドとしてゼロパイプラインサイクル遅延で転送する転送するための手段であって、前記第2の命令がプログラム順序において前記第1の命令の後であり、かつ消費命令である、転送するための手段とをさらに備える、請求項1に記載の装置。 - 携帯電話と基地局とからなる群から選択される、請求項1または請求項2に記載の装置。
- 第1のパイプラインにおいて第1の命令をデコードするステップであって、前記第1の命令が、実行を完了し次第、値をレジスタに書き込み、前記第1のパイプラインがレジスタファイルを読み取ることなく前記第1の命令をデコードするとき、前記値が決定されるか、または利用可能である、デコードするステップと、
前記第1のパイプラインが前記第1の命令をデコードすることに応答して前記値をキャッシュ内のエントリに記憶するステップと、
前記エントリを前記レジスタでタグ付けするステップであって、前記キャッシュが前記タグ付けするステップに従って検索される、タグ付けするステップと、
前記エントリを有効として設定するステップとを含む方法。 - 前記第1の命令が即値移動命令である、請求項12に記載の方法。
- 前記第1のパイプラインにおいて第2の命令をデコードするステップであって、前記第2の命令が、プログラム順序において前記第1の命令の後であり、かつ消費命令である、デコードするステップと、
前記エントリが有効と示されているという条件で、前記値を前記キャッシュ内の前記エントリから前記第1のパイプラインに前記第2の命令のオペランドとして転送するステップとをさらに含む、請求項12に記載の方法。 - 請求項12〜14のいずれか一項に記載の方法をプロセッサに実施させるための命令を記憶した非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/827,867 | 2013-03-14 | ||
US13/827,867 US20140281391A1 (en) | 2013-03-14 | 2013-03-14 | Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache |
PCT/US2014/026907 WO2014152064A1 (en) | 2013-03-14 | 2014-03-14 | Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016512366A JP2016512366A (ja) | 2016-04-25 |
JP2016512366A5 JP2016512366A5 (ja) | 2017-03-30 |
JP6352386B2 true JP6352386B2 (ja) | 2018-07-04 |
Family
ID=50729776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016502276A Expired - Fee Related JP6352386B2 (ja) | 2013-03-14 | 2014-03-14 | 定数キャッシュを使用してより効率的にリテラル生成データを従属命令に転送するための方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140281391A1 (ja) |
EP (1) | EP2972791B1 (ja) |
JP (1) | JP6352386B2 (ja) |
KR (1) | KR102055228B1 (ja) |
CN (1) | CN105009073B (ja) |
WO (1) | WO2014152064A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150019845A1 (en) * | 2013-07-09 | 2015-01-15 | Texas Instruments Incorporated | Method to Extend the Number of Constant Bits Embedded in an Instruction Set |
US10324723B2 (en) * | 2014-07-02 | 2019-06-18 | Nxp Usa, Inc. | Systems and methods for processing both instructions and constant values from a memory of a digital processor accessed by separate pointers |
US20160092219A1 (en) * | 2014-09-29 | 2016-03-31 | Qualcomm Incorporated | Accelerating constant value generation using a computed constants table, and related circuits, methods, and computer-readable media |
US20160170770A1 (en) * | 2014-12-12 | 2016-06-16 | Qualcomm Incorporated | Providing early instruction execution in an out-of-order (ooo) processor, and related apparatuses, methods, and computer-readable media |
US10671398B2 (en) * | 2017-08-02 | 2020-06-02 | International Business Machines Corporation | Low-overhead, low-latency operand dependency tracking for instructions operating on register pairs in a processor core |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4197580A (en) * | 1978-06-08 | 1980-04-08 | Bell Telephone Laboratories, Incorporated | Data processing system including a cache memory |
US5123097A (en) * | 1989-01-05 | 1992-06-16 | Bull Hn Information Systems Inc. | Apparatus and method for simultaneous execution of a write instruction and a succeeding read instruction in a data processing system with a store through cache strategy |
JPH04130942A (ja) * | 1990-09-21 | 1992-05-01 | Hitachi Ltd | ディジタル信号処理装置 |
JP2539974B2 (ja) * | 1991-11-20 | 1996-10-02 | 富士通株式会社 | 情報処理装置におけるレジスタの読出制御方式 |
US6112019A (en) * | 1995-06-12 | 2000-08-29 | Georgia Tech Research Corp. | Distributed instruction queue |
US6505293B1 (en) * | 1999-07-07 | 2003-01-07 | Intel Corporation | Register renaming to optimize identical register values |
US6742112B1 (en) * | 1999-12-29 | 2004-05-25 | Intel Corporation | Lookahead register value tracking |
US6728870B1 (en) * | 2000-10-06 | 2004-04-27 | Intel Corporation | Register move operations |
WO2003090681A2 (en) * | 2002-04-24 | 2003-11-06 | Research Development Foundation | SYNERGISTIC EFFECTS OF NUCLEAR TRANSCRIPTION FACTOR NF-κB INHIBITORS AND ANTI-NEOPLASTIC AGENTS |
EP1387254B1 (en) * | 2002-07-31 | 2012-12-12 | Texas Instruments Incorporated | Skip instruction carrying out a test with immediate value |
SE527350C8 (sv) * | 2003-08-18 | 2006-03-21 | Gallaher Snus Ab | Lock till snusdosa |
US9557994B2 (en) | 2004-07-13 | 2017-01-31 | Arm Limited | Data processing apparatus and method for performing N-way interleaving and de-interleaving operations where N is an odd plural number |
US7343482B2 (en) * | 2004-10-20 | 2008-03-11 | Arm Limited | Program subgraph identification |
KR101355496B1 (ko) | 2005-08-29 | 2014-01-28 | 디 인벤션 사이언스 펀드 원, 엘엘씨 | 복수의 병렬 클러스터들을 포함하는 계층 프로세서의스케쥴링 메카니즘 |
US8176265B2 (en) * | 2006-10-30 | 2012-05-08 | Nvidia Corporation | Shared single-access memory with management of multiple parallel requests |
US7900027B2 (en) * | 2008-01-31 | 2011-03-01 | International Business Machines Corporation | Scalable link stack control method with full support for speculative operations |
US20100004994A1 (en) * | 2008-07-02 | 2010-01-07 | Global Launch Incorporated | Methods for facilitating communications between businesses and consumers |
US20110047357A1 (en) * | 2009-08-19 | 2011-02-24 | Qualcomm Incorporated | Methods and Apparatus to Predict Non-Execution of Conditional Non-branching Instructions |
-
2013
- 2013-03-14 US US13/827,867 patent/US20140281391A1/en not_active Abandoned
-
2014
- 2014-03-14 CN CN201480010778.9A patent/CN105009073B/zh not_active Expired - Fee Related
- 2014-03-14 WO PCT/US2014/026907 patent/WO2014152064A1/en active Application Filing
- 2014-03-14 KR KR1020157028732A patent/KR102055228B1/ko active IP Right Grant
- 2014-03-14 EP EP14724200.2A patent/EP2972791B1/en active Active
- 2014-03-14 JP JP2016502276A patent/JP6352386B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP2972791A1 (en) | 2016-01-20 |
CN105009073A (zh) | 2015-10-28 |
EP2972791B1 (en) | 2019-08-07 |
WO2014152064A1 (en) | 2014-09-25 |
JP2016512366A (ja) | 2016-04-25 |
US20140281391A1 (en) | 2014-09-18 |
KR102055228B1 (ko) | 2019-12-12 |
CN105009073B (zh) | 2019-01-15 |
KR20150129822A (ko) | 2015-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101643675B1 (ko) | 명령 프로세싱 회로들, 및 관련 프로세서 시스템들, 방법들 및 컴퓨터―판독 가능 매체들에서 반대 컨디션들을 갖는 조건부 기록 명령들의 융합 | |
JP6006248B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
US8645669B2 (en) | Cracking destructively overlapping operands in variable length instructions | |
JP6352386B2 (ja) | 定数キャッシュを使用してより効率的にリテラル生成データを従属命令に転送するための方法および装置 | |
US11593117B2 (en) | Combining load or store instructions | |
JP7118984B2 (ja) | ロード命令のメモリ・アクセスを回避するためのコンピュータ実装方法、システム、およびコンピュータ・プログラム | |
WO2017146860A1 (en) | Combining loads or stores in computer processing | |
US10459727B2 (en) | Loop code processor optimizations | |
US9652234B2 (en) | Instruction and logic to control transfer in a partial binary translation system | |
JP2003523573A (ja) | プロセッサにおける書き込みトラヒックを減少するシステム及び方法 | |
CN108885551B (zh) | 存储器复制指令、处理器、方法和系统 | |
US10592252B2 (en) | Efficient instruction processing for sparse data | |
US10545763B2 (en) | Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme | |
JP6257745B2 (ja) | プロセッサにおいてリターン分岐命令を実行する速度を向上させる方法 | |
US20230367595A1 (en) | Gather buffer management for unaligned and gather load operations | |
US20170046160A1 (en) | Efficient handling of register files | |
WO2017116927A1 (en) | Zero cache memory system extension | |
TWI835807B (zh) | 用於組合載入或儲存指示的方法、裝置及非暫時性電腦可讀媒體 | |
US20140075140A1 (en) | Selective control for commit lines for shadowing data in storage elements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170223 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180509 |
|
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: 20180514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6352386 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |