JP7142289B2 - プロセッサ、多階層キャッシュメモリの制御方法、及び多階層キャッシュメモリの制御プログラム - Google Patents
プロセッサ、多階層キャッシュメモリの制御方法、及び多階層キャッシュメモリの制御プログラム Download PDFInfo
- Publication number
- JP7142289B2 JP7142289B2 JP2018156654A JP2018156654A JP7142289B2 JP 7142289 B2 JP7142289 B2 JP 7142289B2 JP 2018156654 A JP2018156654 A JP 2018156654A JP 2018156654 A JP2018156654 A JP 2018156654A JP 7142289 B2 JP7142289 B2 JP 7142289B2
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- cache
- hierarchy
- bus
- hierarchies
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
この場合、まず初めに1次キャッシュメモリに対して、演算コアが要求するデータの有無の確認がなされる。演算コアが要求するデータが1次キャッシュメモリに保持されている場合には、1次キャッシュメモリから演算コアへデータが提供される。演算コアが要求するデータが1次キャッシュメモリに保持されていない場合には、次に2次キャッシュメモリに対して確認がなされる。演算コアが要求するデータが2次キャッシュメモリに保持されている場合には、2次キャッシュメモリから演算コアへデータが提供される。演算コアが要求するデータが2次キャッシュメモリにも保持されていない場合には、さらに下層の3次キャッシュメモリに対して確認がなされる。演算コアが要求するデータが3次キャッシュメモリに保持されている場合には、3次キャッシュメモリから演算コアへデータが提供される。これにより、キャッシュメモリは、メモリアクセスレイテンシの隠蔽を段階的に行う。演算コアが要求するデータが3次キャッシュメモリにも保持されていない場合には、メインメモリから演算コアへデータが提供される。
このように、キャッシュメモリにデータが保存されていれば、メインメモリにアクセスすることなく、演算コアに対してデータを提供することが可能になる。これにより、メモリアクセスレイテンシを隠蔽することが可能になる。
以下、本発明の一実施形態について図面を参照しながら説明する。
以下の説明において、「マイクロプロセッサ」は、単一又は複数の演算コア(以下、「コア」という。)と、n層からなる階層型のキャッシュメモリ(以下、「多階層キャッシュメモリ」という。)と、を搭載しているものとする。また、多階層キャッシュメモリの各階層は、最上層のキャッシュメモリ(1次キャッシュメモリ)から最下層のキャッシュメモリ(n次キャッシュメモリ)へと階層が増加するほど、記憶容量はより大きくなり、アクセス遅延時間はより長くなるものとする。
以下、多階層キャッシュメモリを搭載したマイクロプロセッサの構成の一例について説明する。
図1は、本発明の一実施形態に係る多階層キャッシュメモリを搭載したマイクロプロセッサの構成を説明するための図である。
以下の説明において、m次キャッシュメモリ(mは1からnまでの整数)を、「Lmキャッシュ」ということがある。
以下、バスセレクタの入出力の構成の一例について説明する。
図2は、本発明の一実施形態に係るマイクロプロセッサが備えるバスセレクタの入出力の構成を説明するための図である。
また、例えば、第0バスセレクタ107は、入力された制御信号SC_0が示す値が「001」である場合には、データの出力先として、L2キャッシュ103に接続するバス113を選択する。
また、例えば、第0バスセレクタ107は、入力された制御信号SC_0が示す値が「010」である場合には、データの出力先として、L3キャッシュ104に接続するバス114を選択する。
また、例えば、第0バスセレクタ107は、入力された制御信号SC_0が示す値が「011」である場合には、データの出力先として、L4キャッシュ105に接続するバス115を選択する。
また、例えば、第0バスセレクタ107は、入力された制御信号SC_0が示す値が「100」である場合には、データの出力先として、メインメモリ106に接続するバス116を選択する。
なお、例えば、第0バスセレクタ107は、入力された制御信号SC_0が示す値が「101」である場合には、データの出力先を選択せずに下層へのバス接続を切断する。
また、例えば、第1バスセレクタ108は、入力された制御信号SC_1が示す値が「001」である場合には、データの出力先として、L3キャッシュ104に接続するバス119を選択する。
また、例えば、第1バスセレクタ108は、入力された制御信号SC_1が示す値が「010」である場合には、データの出力先として、L4キャッシュ105に接続するバス120を選択する。
また、例えば、第1バスセレクタ108は、入力された制御信号SC_1が示す値が「011」である場合には、データの出力先として、メインメモリ106に接続するバス121を選択する。
また、例えば、第2バスセレクタ109は、入力された制御信号SC_2が示す値が「01」である場合には、データの出力先として、L4キャッシュ105に接続するバス124を選択する。
また、例えば、第2バスセレクタ109は、入力された制御信号SC_2が示す値が「10」である場合には、データの出力先として、メインメモリ106に接続するバス125を選択する。
また、例えば、第3バスセレクタ110は、入力された制御信号SC_3が示す値が「01」である場合には、データの出力先として、メインメモリ106に接続するバス128を選択する。
以下、多階層キャッシュメモリへの電力供給制御の構成の一例について説明する。
図3は、本発明の一実施形態に係るマイクロプロセッサによる多階層キャッシュメモリへの電力供給制御の構成を説明するための図である。
以下、上記説明したマイクロプロセッサ100の4階層からなる多階層キャッシュメモリによって実現しうる論理的な構成の一例について説明する。
図4は、本発明の一実施形態に係るマイクロプロセッサ100によって実現可能な多階層キャッシュメモリの論理的な構成を示す模式図である。
以下、多階層キャッシュメモリを制御する多階層キャッシュメモリ制御部の構成について説明する。
図6は、本発明の一実施形態に係るマイクロプロセッサ100に搭載された多階層キャッシュメモリを制御する多階層キャッシュメモリ制御部の構成を示すブロック図である。
図6に示すように、多階層キャッシュメモリ制御部300は、ヒット・カウンタ301と、命令数カウンタ302と、ミスペナルティテーブル303と、HPKI(Hit Per Kilo-Instruction)導出部304と、HLPKI導出部305と、キャッシュメモリ部309と、を含んで構成される。また、キャッシュメモリ部309は、データアレイ312を含んで構成される。
以下、各キャッシュ階層の要否を判定する判定処理について説明する。
図7は、本発明の一実施形態に係るマイクロプロセッサによるキャッシュ階層の要否判定処理の流れを示すフローチャートである。以下に示す要否判定処理は、コア101及びバイパス制御部130によって行われる。
以上で、図7に示すフローチャートの処理が終了する。
Claims (6)
- 複数の階層からなるキャッシュメモリと、
任意の命令数あたりの、前記複数の階層に含まれる第一の階層のキャッシュメモリにアクセスした際に、前記第一の階層のキャッシュメモリにデータが存在する数であるヒット数と、前記第一の階層のキャッシュメモリの状態に基づく値と前記複数の階層に含まれる前記第一の階層よりも下位の第二の階層のキャッシュメモリの状態とに基づく値と、に基づいて算出される、前記第一の階層のキャッシュメモリの貢献度に基づいて、電力効率が向上するように、前記第一の階層のキャッシュメモリを有効化するか否かを判定する判定部と、
を備えるプロセッサ。 - 前記第一の階層のキャッシュメモリの状態と前記第二の階層のキャッシュメモリの状態とに基づく値とは、前記第一の階層のキャッシュメモリのミスペナルティを示す値であり、前記ミスペナルティは、前記第一の階層のキャッシュメモリにおけるヒット時のレイテンシと、ミスした場合に次にアクセスされる前記第二の階層のキャッシュメモリにおけるヒット時のレイテンシと、の差に基づく値である
請求項1に記載のプロセッサ。 - 前記貢献度とは、前記ヒット数と、前記ミスペナルティと、を乗じることによって算出される値である
請求項2に記載のプロセッサ。 - 前記複数の階層のキャッシュメモリのうち、前記貢献度が最小となるキャッシュメモリをバイパスさせた場合における消費電力あたりの第一の実行性能と、前記貢献度が最小となるキャッシュメモリをバイパスさせなかった場合における前記消費電力あたりの第二の実行性能と、を算出し、前記第二の実行性能より第一の実行性能のほうがより、性能が高い場合には、前記貢献度が最小となるキャッシュメモリをバイパスさせるバイパス制御部
をさらに備える請求項3に記載のプロセッサ。 - 複数の階層からなるキャッシュメモリを備える多階層キャッシュメモリの制御方法であって、
コンピュータが、前記複数の階層に含まれる第一の階層のキャッシュメモリの状態と前記複数の階層に含まれる前記第一の階層よりも下位の第二の階層のキャッシュメモリの状態とに基づく第一の値を算出する第一算出ステップと、
コンピュータが、任意の命令数あたりの、前記複数の階層に含まれる第一の階層のキャッシュメモリにアクセスした際に、前記第一の階層のキャッシュメモリにデータが存在する数であるヒット数と前記第一の値とに基づいて、前記第一の階層のキャッシュメモリの貢献度を算出する第二算出ステップと、
コンピュータが、前記貢献度に基づいて前記第一の階層のキャッシュメモリを有効化するか否かを判定する判定ステップと、
を有する多階層キャッシュメモリの制御方法。 - 請求項1から請求項4のうちいずれか一項に記載のプロセッサとしてコンピュータを機能させるための多階層キャッシュメモリの制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018156654A JP7142289B2 (ja) | 2018-08-23 | 2018-08-23 | プロセッサ、多階層キャッシュメモリの制御方法、及び多階層キャッシュメモリの制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018156654A JP7142289B2 (ja) | 2018-08-23 | 2018-08-23 | プロセッサ、多階層キャッシュメモリの制御方法、及び多階層キャッシュメモリの制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020030696A JP2020030696A (ja) | 2020-02-27 |
JP7142289B2 true JP7142289B2 (ja) | 2022-09-27 |
Family
ID=69624344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018156654A Active JP7142289B2 (ja) | 2018-08-23 | 2018-08-23 | プロセッサ、多階層キャッシュメモリの制御方法、及び多階層キャッシュメモリの制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7142289B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234320A (ja) | 2007-03-20 | 2008-10-02 | Fujitsu Ltd | キャッシュ制御回路 |
US20080270758A1 (en) | 2007-04-27 | 2008-10-30 | Arm Limited | Multiple thread instruction fetch from different cache levels |
JP2013521559A (ja) | 2010-03-03 | 2013-06-10 | エーティーアイ・テクノロジーズ・ユーエルシー | 電源回復後のリロード機能付きキャッシュ |
JP2017021399A (ja) | 2015-07-07 | 2017-01-26 | ルネサスエレクトロニクス株式会社 | 半導体装置及びキャッシュメモリ制御方法 |
-
2018
- 2018-08-23 JP JP2018156654A patent/JP7142289B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234320A (ja) | 2007-03-20 | 2008-10-02 | Fujitsu Ltd | キャッシュ制御回路 |
US20080270758A1 (en) | 2007-04-27 | 2008-10-30 | Arm Limited | Multiple thread instruction fetch from different cache levels |
JP2013521559A (ja) | 2010-03-03 | 2013-06-10 | エーティーアイ・テクノロジーズ・ユーエルシー | 電源回復後のリロード機能付きキャッシュ |
JP2017021399A (ja) | 2015-07-07 | 2017-01-26 | ルネサスエレクトロニクス株式会社 | 半導体装置及びキャッシュメモリ制御方法 |
Non-Patent Citations (2)
Title |
---|
渡部 功 ほか,モード切換えオーバヘッドを低減させた可変レベルキャッシュの提案と評価,情報処理学会論文誌 論文誌トランザクション,日本,一般社団法人情報処理学会,2012年10月15日,第5巻 第4号,pp. 48-60 |
渡部 功 ほか,三段階対応の可変レベルキャッシュのマルチスレッドアプリケーションを用いた評価,情報処理学会研究報告,日本,一般社団法人情報処理学会,2012年10月15日,pp. 1-8 |
Also Published As
Publication number | Publication date |
---|---|
JP2020030696A (ja) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Starke et al. | The cache and memory subsystems of the IBM POWER8 processor | |
US8230179B2 (en) | Administering non-cacheable memory load instructions | |
CN102804152B (zh) | 对存储器层次结构中的闪存的高速缓存一致性支持 | |
US10838864B2 (en) | Prioritizing local and remote memory access in a non-uniform memory access architecture | |
US8745334B2 (en) | Sectored cache replacement algorithm for reducing memory writebacks | |
US8990506B2 (en) | Replacing cache lines in a cache memory based at least in part on cache coherency state information | |
US9239798B2 (en) | Prefetcher with arbitrary downstream prefetch cancelation | |
JP5090047B2 (ja) | ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ | |
US8392664B2 (en) | Network on chip | |
US8521982B2 (en) | Load request scheduling in a cache hierarchy | |
US10789175B2 (en) | Caching policy in a multicore system on a chip (SOC) | |
US9208094B2 (en) | Managing and sharing storage cache resources in a cluster environment | |
US20070239940A1 (en) | Adaptive prefetching | |
US7640399B1 (en) | Mostly exclusive shared cache management policies | |
US20110264866A1 (en) | Technique for using memory attributes | |
GB2509755A (en) | Partitioning a shared cache using masks associated with threads to avoiding thrashing | |
US9355035B2 (en) | Dynamic write priority based on virtual write queue high water mark for set associative cache using cache cleaner when modified sets exceed threshold | |
EP2411917A1 (en) | A method for way allocation and way locking in a cache | |
KR101509628B1 (ko) | 프로세서의 하이 어소시에이티브 캐시 메모리를 위한 scr 매커니즘 | |
JP5226010B2 (ja) | 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路 | |
EP3407184A2 (en) | Near memory computing architecture | |
US9104583B2 (en) | On demand allocation of cache buffer slots | |
US8706972B2 (en) | Dynamic mode transitions for cache instructions | |
JP2010529534A (ja) | マイクロコードエミュレーションメモリのキャッシング | |
US7882309B2 (en) | Method and apparatus for handling excess data during memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180823 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220621 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220817 |
|
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: 20220830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220901 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7142289 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |