JP6488711B2 - 演算処理装置および演算処理装置の制御方法 - Google Patents
演算処理装置および演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP6488711B2 JP6488711B2 JP2015005010A JP2015005010A JP6488711B2 JP 6488711 B2 JP6488711 B2 JP 6488711B2 JP 2015005010 A JP2015005010 A JP 2015005010A JP 2015005010 A JP2015005010 A JP 2015005010A JP 6488711 B2 JP6488711 B2 JP 6488711B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- unit
- prefetch
- memory access
- arithmetic processing
- 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
Images
Classifications
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/602—Details relating to cache prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Description
(付記1)
主記憶装置に記憶されたデータをキャッシュメモリに保持させるプリフェッチ命令を実行する演算処理装置において、
命令をデコードする命令デコード部と、
前記命令デコード部がデコードした命令に基づいて、演算を実行する演算部と、
前記命令デコード部がデコードした命令のうち、前記主記憶装置に対するメモリアクセスを実行させるメモリアクセス命令と前記プリフェッチ命令とを保持する命令保持部と、
前記命令デコード部がデコードしたメモリアクセス命令が前記キャッシュメモリに保持されたデータに対する対象メモリアクセス命令であるかを予測する予測部と、
前記予測部が予測した前記対象メモリアクセス命令に対応するプリフェッチ命令である対応プリフェッチ命令を前記命令保持部が保持する場合、前記対応プリフェッチ命令の前記演算部による実行を抑止する抑止部と
を有することを特徴とする演算処理装置。
(付記2)
付記1に記載の演算処理装置において、
前記命令デコード部は、前記メモリアクセス命令と前記プリフェッチ命令との対応を示す識別情報がそれぞれ付加された前記メモリアクセス命令および前記プリフェッチ命令をデコードし、
前記命令保持部は、前記識別情報が付加された前記プリフェッチ命令を、前記識別情報とともに保持し、
前記抑止部は、前記対象メモリアクセス命令に付加された識別情報に対応する対応識別情報が付加された前記対応プリフェッチ命令を前記命令保持部が保持する場合、前記対応プリフェッチ命令の前記演算部による実行を抑止する
ことを特徴とする演算処理装置。
(付記3)
付記1または付記2に記載の演算処理装置において、
前記命令保持部は、前記プリフェッチ命令が有効か無効かを示す抑止情報を前記プリフェッチ命令とともに保持し、
前記抑止部は、前記対応プリフェッチ命令を前記命令保持部が保持する場合、前記対応プリフェッチ命令に対応して前記命令保持部に保持された抑止情報を、無効を示す状態に設定する
ことを特徴とする演算処理装置。
(付記4)
付記1ないし付記3のいずれか1項に記載の演算処理装置において、
前記予測部は、
実行された複数のメモリアクセス命令によるそれぞれのメモリアクセスがキャッシュヒットしたかキャッシュミスしたかを示す履歴情報を保持するキャッシュ履歴レジスタ部と、
前記メモリアクセス命令が格納されたアドレスを示すプログラムカウンタ値と前記履歴情報とに基づいて、インデックスを生成するインデックス生成部と、
キャッシュヒットの頻度を示す予測パターン情報を前記インデックス毎に保持するパターン保持部と、
前記パターン保持部に保持された前記予測パターン情報のうち、予測対象のメモリアクセス命令のプログラムカウンタ値を用いて生成されたインデックスに対応する予測パターン情報に基づいて、前記予測対象のメモリアクセス命令が前記対象メモリアクセス命令であるかを示す予測結果情報を前記抑止部に出力する予測結果出力部とを有する
ことを特徴とする演算処理装置。
(付記5)
付記1ないし付記4のいずれか1項に記載の演算処理装置において、
前記演算部は、前記メモリアクセス命令および前記プリフェッチ命令を実行するロード/ストア処理部を有する
ことを特徴とする演算処理装置。
(付記6)
主記憶装置に記憶されたデータをキャッシュメモリに保持させるプリフェッチ命令を実行する演算処理装置の制御方法において、
前記演算処理装置が有する命令デコード部が、命令をデコードし、
前記演算処理装置が有する演算部が、前記命令デコード部がデコードした命令に基づいて、演算を実行し、
前記演算処理装置が有する命令保持部が、前記命令デコード部がデコードした命令のうち、前記主記憶装置に対するメモリアクセスを実行させるメモリアクセス命令と前記プリフェッチ命令とを保持し、
前記演算処理装置が有する予測部が、前記命令デコード部がデコードしたメモリアクセス命令が前記キャッシュメモリに保持されたデータに対する対象メモリアクセス命令であるかを予測し、
前記演算処理装置が有する抑止部が、前記予測部が予測した前記対象メモリアクセス命令に対応するプリフェッチ命令である対応プリフェッチ命令を前記命令保持部が保持する場合、前記対応プリフェッチ命令の前記演算部による実行を抑止する
ことを特徴とする演算処理装置の制御方法。
Claims (4)
- 主記憶装置に記憶されたデータをキャッシュメモリに保持させるプリフェッチ命令を実行する演算処理装置において、
命令をデコードする命令デコード部と、
前記命令デコード部がデコードした命令に基づいて、演算を実行する演算部と、
前記命令デコード部がデコードした命令のうち、前記主記憶装置に対するメモリアクセスを実行させるメモリアクセス命令と前記プリフェッチ命令とを保持する命令保持部と、
前記命令デコード部がデコードしたメモリアクセス命令が前記キャッシュメモリに保持されたデータに対する対象メモリアクセス命令であるかを予測する予測部と、
前記予測部が予測した前記対象メモリアクセス命令に対応するプリフェッチ命令であって、前記対象メモリアクセス命令の実行前に実行される対応プリフェッチ命令を前記命令保持部が保持する場合、前記対応プリフェッチ命令の前記演算部による実行を抑止する抑止部と
を有することを特徴とする演算処理装置。 - 請求項1に記載の演算処理装置において、
前記命令デコード部は、前記メモリアクセス命令と前記プリフェッチ命令との対応を示す識別情報がそれぞれ付加された前記メモリアクセス命令および前記プリフェッチ命令をデコードし、
前記命令保持部は、前記識別情報が付加された前記プリフェッチ命令を、前記識別情報とともに保持し、
前記抑止部は、前記対象メモリアクセス命令に付加された識別情報に対応する対応識別情報が付加された前記対応プリフェッチ命令を前記命令保持部が保持する場合、前記対応プリフェッチ命令の前記演算部による実行を抑止する
ことを特徴とする演算処理装置。 - 請求項1または請求項2に記載の演算処理装置において、
前記命令保持部は、前記プリフェッチ命令が有効か無効かを示す抑止情報を前記プリフェッチ命令とともに保持し、
前記抑止部は、前記対応プリフェッチ命令を前記命令保持部が保持する場合、前記対応プリフェッチ命令に対応して前記命令保持部に保持された抑止情報を、無効を示す状態に設定する
ことを特徴とする演算処理装置。 - 主記憶装置に記憶されたデータをキャッシュメモリに保持させるプリフェッチ命令を実行する演算処理装置の制御方法において、
前記演算処理装置が有する命令デコード部が、命令をデコードし、
前記演算処理装置が有する演算部が、前記命令デコード部がデコードした命令に基づいて、演算を実行し、
前記演算処理装置が有する命令保持部が、前記命令デコード部がデコードした命令のうち、前記主記憶装置に対するメモリアクセスを実行させるメモリアクセス命令と前記プリフェッチ命令とを保持し、
前記演算処理装置が有する予測部が、前記命令デコード部がデコードしたメモリアクセス命令が前記キャッシュメモリに保持されたデータに対する対象メモリアクセス命令であるかを予測し、
前記演算処理装置が有する抑止部が、前記予測部が予測した前記対象メモリアクセス命令に対応するプリフェッチ命令であって、前記対象メモリアクセス命令の実行前に実行される対応プリフェッチ命令を前記命令保持部が保持する場合、前記対応プリフェッチ命令の前記演算部による実行を抑止する
ことを特徴とする演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015005010A JP6488711B2 (ja) | 2015-01-14 | 2015-01-14 | 演算処理装置および演算処理装置の制御方法 |
US14/992,435 US9824016B2 (en) | 2015-01-14 | 2016-01-11 | Device and processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015005010A JP6488711B2 (ja) | 2015-01-14 | 2015-01-14 | 演算処理装置および演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016130948A JP2016130948A (ja) | 2016-07-21 |
JP6488711B2 true JP6488711B2 (ja) | 2019-03-27 |
Family
ID=56367676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015005010A Active JP6488711B2 (ja) | 2015-01-14 | 2015-01-14 | 演算処理装置および演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9824016B2 (ja) |
JP (1) | JP6488711B2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698859B2 (en) | 2009-09-18 | 2020-06-30 | The Board Of Regents Of The University Of Texas System | Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture |
JP6488711B2 (ja) * | 2015-01-14 | 2019-03-27 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US10768936B2 (en) | 2015-09-19 | 2020-09-08 | Microsoft Technology Licensing, Llc | Block-based processor including topology and control registers to indicate resource sharing and size of logical processor |
US11681531B2 (en) | 2015-09-19 | 2023-06-20 | Microsoft Technology Licensing, Llc | Generation and use of memory access instruction order encodings |
US10776115B2 (en) | 2015-09-19 | 2020-09-15 | Microsoft Technology Licensing, Llc | Debug support for block-based processor |
US10719321B2 (en) | 2015-09-19 | 2020-07-21 | Microsoft Technology Licensing, Llc | Prefetching instruction blocks |
US11016770B2 (en) | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
US10198263B2 (en) | 2015-09-19 | 2019-02-05 | Microsoft Technology Licensing, Llc | Write nullification |
US11126433B2 (en) | 2015-09-19 | 2021-09-21 | Microsoft Technology Licensing, Llc | Block-based processor core composition register |
US10180840B2 (en) | 2015-09-19 | 2019-01-15 | Microsoft Technology Licensing, Llc | Dynamic generation of null instructions |
US10678544B2 (en) | 2015-09-19 | 2020-06-09 | Microsoft Technology Licensing, Llc | Initiating instruction block execution using a register access instruction |
US10871967B2 (en) | 2015-09-19 | 2020-12-22 | Microsoft Technology Licensing, Llc | Register read/write ordering |
US10452399B2 (en) | 2015-09-19 | 2019-10-22 | Microsoft Technology Licensing, Llc | Broadcast channel architectures for block-based processors |
US11977891B2 (en) | 2015-09-19 | 2024-05-07 | Microsoft Technology Licensing, Llc | Implicit program order |
US9898322B2 (en) * | 2015-10-29 | 2018-02-20 | International Business Machines Corporation | Steganographic message passing between a virtual machine and a hypervisor |
JP2017122997A (ja) * | 2016-01-06 | 2017-07-13 | 富士通株式会社 | 情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム |
US10580189B2 (en) | 2016-09-16 | 2020-03-03 | Intel Corporation | Apparatus and method for optimized ray tracing |
US11099995B2 (en) * | 2018-03-28 | 2021-08-24 | Intel Corporation | Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory |
US10877889B2 (en) * | 2019-05-16 | 2020-12-29 | Micron Technology, Inc. | Processor-side transaction context memory interface systems and methods |
US10877894B2 (en) | 2019-05-16 | 2020-12-29 | Micron Technology, Inc. | Memory-side transaction context memory interface systems and methods, wherein first context and first address are communicated on plural wires during different clock cycles and second context (of block of the first context) is communicated on additional wire during one of the different clock cycles |
US11379376B2 (en) | 2020-05-20 | 2022-07-05 | Micron Technologies, Inc. | Embedding data in address streams |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3873589B2 (ja) | 2000-07-12 | 2007-01-24 | 株式会社日立製作所 | プロセッサシステム |
JP2003044357A (ja) * | 2001-07-27 | 2003-02-14 | Nec Computertechno Ltd | キャッシュ先取り方式 |
JP4030314B2 (ja) | 2002-01-29 | 2008-01-09 | 富士通株式会社 | 演算処理装置 |
WO2008093399A1 (ja) * | 2007-01-30 | 2008-08-07 | Fujitsu Limited | 情報処理システムおよび情報処理方法 |
US8069310B1 (en) * | 2007-03-22 | 2011-11-29 | Emc Corporation | Methods and systems for incorporating sequential stream read requests into prefetch management for data storage having a cache memory |
JP5625809B2 (ja) | 2009-12-25 | 2014-11-19 | 富士通株式会社 | 演算処理装置、情報処理装置及び制御方法 |
JP2014191663A (ja) * | 2013-03-27 | 2014-10-06 | Fujitsu Ltd | 演算処理装置、情報処理装置、および演算処理装置の制御方法 |
JP6488711B2 (ja) * | 2015-01-14 | 2019-03-27 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
-
2015
- 2015-01-14 JP JP2015005010A patent/JP6488711B2/ja active Active
-
2016
- 2016-01-11 US US14/992,435 patent/US9824016B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016130948A (ja) | 2016-07-21 |
US9824016B2 (en) | 2017-11-21 |
US20160203081A1 (en) | 2016-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6488711B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
Grayson et al. | Evolution of the samsung exynos cpu microarchitecture | |
KR101493019B1 (ko) | 희소 및 조밀 예측 캐쉬들을 갖는 하이브리드 브랜치 예측 장치 | |
US7203827B2 (en) | Link and fall-through address formation using a program counter portion selected by a specific branch address bit | |
US8935515B2 (en) | Method and apparatus for vector execution on a scalar machine | |
Farooq et al. | Value based btb indexing for indirect jump prediction | |
US20040093591A1 (en) | Method and apparatus prefetching indexed array references | |
JP2006185462A (ja) | 高データ密度のriscプロセッサ | |
US20110055529A1 (en) | Efficient branch target address cache entry replacement | |
US8499293B1 (en) | Symbolic renaming optimization of a trace | |
JP2006520964A (ja) | 分岐ターゲットに基づいて分岐予測をするための方法および装置 | |
US7849292B1 (en) | Flag optimization of a trace | |
US6910104B2 (en) | Icache-based value prediction mechanism | |
US20050251621A1 (en) | Method for realizing autonomous load/store by using symbolic machine code | |
US20180196675A1 (en) | Processor and instruction code generation device | |
JP2012123810A (ja) | 復帰スタックを管理する方法および装置 | |
JP4134179B2 (ja) | ソフトウエアによる動的予測方法および装置 | |
US20040117606A1 (en) | Method and apparatus for dynamically conditioning statically produced load speculation and prefetches using runtime information | |
CN106557304B (zh) | 用于预测子程序返回指令的目标的取指单元 | |
US20180232232A1 (en) | Compiler-assisted lookahead (cal) memory system apparatus for microprocessors | |
Stark et al. | Reducing the performance impact of instruction cache misses by writing instructions into the reservation stations out-of-order | |
JP6252348B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US20190079771A1 (en) | Lookahead out-of-order instruction fetch apparatus for microprocessors | |
US7937564B1 (en) | Emit vector optimization of a trace | |
JP2001243070A (ja) | プロセッサ及び分岐予測方法並びにコンパイル方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20170803 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20170803 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170804 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171215 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181002 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181025 |
|
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: 20190129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6488711 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |