JP6042170B2 - キャッシュ制御装置及びキャッシュ制御方法 - Google Patents
キャッシュ制御装置及びキャッシュ制御方法 Download PDFInfo
- Publication number
- JP6042170B2 JP6042170B2 JP2012231831A JP2012231831A JP6042170B2 JP 6042170 B2 JP6042170 B2 JP 6042170B2 JP 2012231831 A JP2012231831 A JP 2012231831A JP 2012231831 A JP2012231831 A JP 2012231831A JP 6042170 B2 JP6042170 B2 JP 6042170B2
- Authority
- JP
- Japan
- Prior art keywords
- allocation
- area
- cache
- cache memory
- execution time
- 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
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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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
-
- 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/12—Replacement control
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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
- G06F9/5016—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 the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
図27は、特許文献2にかかるキャッシュ制御装置を含むコンピュータシステムの構成を示すブロック図である。但し、図27には、コンピュータシステムのうち、キャッシュ制御装置91と、キャッシュメモリ92と、マイクロプロセッサ93と、メインメモリ94と、MMU(Memory Management Unit)95とが代表して記載されている。キャッシュ制御装置91は、マイクロプロセッサ93とキャッシュメモリ92とメインメモリ94とに接続されている。また、キャッシュ制御装置91は、MMU95を介してもメインメモリ94と接続されている。
本実施の形態2は、上述した実施の形態1の具体例を示す。本実施の形態2にかかるキャッシュ制御装置は、複数のハードウェアスレッドについてキャッシュメモリの領域を割り当てるものである。特に、キャッシュメモリの領域は、ライン単位でスレッドに割り当てるものとする。ここで、キャッシュメモリのライン数(L)及びプロセッサのスロット数(S)は2のべき乗とする。但し、L>Sの関係が成り立つものとする。
ビット幅 = log2 ( 全ライン数 / 全スロット数 ) ・・・(1)
そのため、図7の場合、下位領域d52は1ビットで表現される。
実施の形態3では、キャッシュメモリがバンク分けされた場合について、バンク分けされていない上述した実施の形態2と同様に実現可能であることを説明する。図17は、本実施の形態3にかかる領域決定部222aの構成を示すブロック図である。尚、実施形態3にかかるキャッシュ制御装置を含むコンピュータシステムの構成は、図5と同等であるため、図示及び説明を省略する。
本実施の形態4は、上述した実施の形態1の具体例を示す。特に、上述した実施の形態2又は3との違いとして、キャッシュメモリの領域をウェイ単位でスレッドに割り当てるものとする。ここで、キャッシュメモリのウェイ数は、プロセッサのスロット数と等しいものとする。
図21は、本実施の形態4にかかるキャッシュ制御装置320を含むコンピュータシステムの構成を示すブロック図である。尚、図21のうち、図5と同等の構成については同一の符号を付し、説明を省略するものとする。領域決定部322は、ラインアドレスd61及びインバリデート信号d62に加え、アクセス対象のウェイを選択させるためのウェイ選択信号d60をキャッシュメモリ230へ出力する。
本実施の形態5は、上述した実施の形態1の具体例を示す。但し、キャッシュ制御装置を利用するプロセッサが複数存在する場合を対象とする。本実施の形態5にかかる領域決定部は、複数の命令流が分散して割り当てられた複数のプロセッサ間の処理速度の比率に基づいて、各命令流に割り当てるキャッシュメモリの領域の割り当てを決定するものである。ここで、処理速度とは、プロセッサにおける単位時間当たりの処理性能を示す指標である。処理速度は、例えば、プロセッサに割り当てられた単位時間当たり実行時間や、プロセッサのクロック周波数等を示す。
上述した実施の形態1〜5にかかるキャッシュ制御装置は、キャッシュメモリを内蔵し、リアルタイム制御を行うデータ処理装置に適用可能である。
111 メモリアクセス部
112 実行時間割当部
120 キャッシュ制御装置
121 アドレス分割部
122 領域決定部
1221 加工部
1222 割当制御部
1223 領域割当情報
123 ヒットミス判定部
130 キャッシュメモリ
210 CPU
211 メモリアクセス部
212 スレッドスケジューラ
220 キャッシュ制御装置
221 アドレス分割部
222 領域決定部
222a 領域決定部
2221 加工部
2222 割当制御部
2223 領域割当情報
223 ヒットミス判定部
230 キャッシュメモリ
230a キャッシュメモリ
231 ウェイ選択論理部
511 割当スロット数算出部
512 割当スロット番号検出部
513 引数対応付け部
520 割当スロット番号情報
531 割当スロット数
532 Indexテーブル
54 引数生成部
55 オフセット生成部
55a バンク変換部
56 加算部
57 ライトバックインバリデート処理部
320 キャッシュ制御装置
322 領域決定部
330 キャッシュメモリ
331 ウェイ選択論理部
61 割当ウェイ番号算出部
62 ウェイ設定情報
63 アドレス連接部
64 ライトバックインバリデート処理部
411 CPU
412 CPU
41n CPU
420 キャッシュ制御装置
421 アドレス分割部
422 領域決定部
423 ヒットミス判定部
430 キャッシュメモリ
440 処理速度情報
91 キャッシュ制御装置
92 キャッシュメモリ
93 マイクロプロセッサ
94 メインメモリ
95 MMU
901 タスクID信号線
902 メモリアクセス信号線
903 データ信号線
904 メモリアクセス信号線
905 データ信号線
906 領域指定信号線
911 タスクID入力レジスタ
912 領域管理部
913 領域決定部
914 アドレス分解部
915 キャッシュ内アドレス生成部
916 hit/miss判定部
917 キャッシュディレクトリ
918 キャッシング部
919 データアクセス部
d1 アクセスアドレス
d2 ID
d2a スレッドID
d3 実行時間の割当比率
d3a スロット割当情報
d3b スロット割当情報
d3c 処理速度比率
d4 タグ
d5 ライン
d51 上位領域
d52 下位領域
d6 キャッシュアクセス
d60 ウェイ選択信号
d61 ラインアドレス
d62 インバリデート信号
d7 タグ
d70 タグ
d71 タグ
d72 タグ
d73 タグ
d8 Hit応答又はMissリフィル
d81 ウェイ選択信号
w0 ウェイ
w1 ウェイ
w2 ウェイ
w3 ウェイ
w0a ウェイ
w1a ウェイ
w2a ウェイ
w3a ウェイ
b0 バンク
b1 バンク
L0 ライングループ
L0a ライングループ
L0b ライングループ
L0x ライングループ
L0y ライングループ
L0xa ライングループ
L0xb ライングループ
L0ya ライングループ
L0yb ライングループ
L1 ライングループ
L1b ライングループ
L1x ライングループ
L1y ライングループ
L2 ライングループ
L2x ライングループ
L2y ライングループ
L3 ライングループ
L3x ライングループ
L3y ライングループ
Claims (15)
- プロセッサにより複数の命令流のそれぞれに割り当てられた単位時間当たりの実行時間の割当比率に基づいて、各命令流に割り当てるキャッシュメモリの領域を決定する領域決定部を備え、
前記実行時間の割当比率は、前記プロセッサ内の複数のタイムスロットと前記複数の命令流との対応関係に基づく割当情報であり、
前記領域決定部は、
前記実行時間の割当情報に含まれるタイムスロットに基づいて、前記命令流ごとに割当スロット数と割当スロット番号とを算出し、
前記割当スロット数の比率に応じて各命令流に割り当てる前記キャッシュメモリ内のラインを特定し、
前記割当スロット番号に応じて前記ラインのインデックスを決定するキャッシュ制御装置。 - 前記領域決定部は、
前記命令流と前記割当スロット数、割当スロット番号との対応を領域割当情報として記憶領域に格納する
請求項1に記載のキャッシュ制御装置。 - 前記領域決定部は、
前記キャッシュメモリへのアクセス要求に含まれる前記命令流の識別情報と、前記割当スロット数と前記割当スロット番号とに基づいて、アクセス対象の前記キャッシュメモリのラインを決定する
請求項1に記載のキャッシュ制御装置。 - 前記領域決定部は、
前記実行時間の割当比率が変更された場合に、当該変更後の実行時間の割当比率に応じて当該変更にかかる命令流に割り当てる前記キャッシュメモリの領域を更新する
請求項1に記載のキャッシュ制御装置。 - 前記領域決定部は、
前記更新と共に、前記変更により前記実行時間の割当比率が減少した命令流に対して既に割り当てられていた前記キャッシュメモリの領域のうち、当該減少分を無効化する
請求項4に記載のキャッシュ制御装置。 - 前記領域決定部は、
前記実行時間の割当比率のうち最も小さい比率が割り当てられた命令流については、当該割当比率に関わらず、前記キャッシュメモリの領域のうち割り当て可能な最小単位の領域を、少なくとも当該命令流に割り当てるキャッシュメモリの領域として決定する
請求項1乃至5のいずれか1項に記載のキャッシュ制御装置。 - 前記領域決定部は、前記命令流に含まれるアドレス情報と前記割当スロット番号とを対応付けるためのテーブル情報を有する
請求項1に記載のキャッシュ制御装置。 - 前記テーブル情報は、前記アドレス情報に所定の演算を行った結果を引数とし、当該引数と前記割当スロット番号とを対応づけたものである
請求項7に記載のキャッシュ制御装置。 - プロセッサにより複数の命令流のそれぞれに割り当てられた単位時間当たりの実行時間の割当比率を受け付け、
前記実行時間の割当比率に基づいて、各命令流に割り当てるキャッシュメモリの領域を決定するキャッシュ制御方法であって、
前記実行時間の割当比率は、前記プロセッサ内の複数のタイムスロットと前記複数の命令流との対応関係に基づく割当情報であり、
前記実行時間の割当情報に含まれるタイムスロットに基づいて、前記命令流ごとに割当スロット数と割当スロット番号とを算出し、
前記割当スロット数の比率に応じて各命令流に割り当てる前記キャッシュメモリ内のラインを特定し、
前記割当スロット番号に応じて前記ラインのインデックスを決定するキャッシュ制御方法。 - 前記キャッシュメモリへのアクセス要求を受け付け、
前記アクセス要求に含まれる前記命令流の識別情報と、前記割当スロット数と前記割当スロット番号とに基づいて、アクセス対象の前記キャッシュメモリのラインを決定する
請求項9に記載のキャッシュ制御方法。 - 前記実行時間の割当比率が変更された場合に、当該変更後の実行時間の割当比率に応じて当該変更にかかる命令流に割り当てる前記キャッシュメモリの領域を更新する
請求項9に記載のキャッシュ制御方法。 - 前記更新と共に、前記変更により前記実行時間の割当比率が減少した命令流に対して既に割り当てられていた前記キャッシュメモリの領域のうち、当該減少分を無効化する
請求項11に記載のキャッシュ制御方法。 - 前記実行時間の割当比率のうち最も小さい比率が割り当てられた命令流については、当該割当比率に関わらず、前記キャッシュメモリの領域のうち割り当て可能な最小単位の領域を、少なくとも当該命令流に割り当てるキャッシュメモリの領域として決定する
請求項9乃至12のいずれか1項に記載のキャッシュ制御方法。 - 前記命令流に含まれるアドレス情報と前記割当スロット番号とを対応付けるためのテーブル情報を記憶装置に格納する
請求項9に記載のキャッシュ制御方法。 - 前記テーブル情報は、前記アドレス情報に所定の演算を行った結果を引数とし、当該引数と前記割当スロット番号とを対応づけたものである
請求項14に記載のキャッシュ制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012231831A JP6042170B2 (ja) | 2012-10-19 | 2012-10-19 | キャッシュ制御装置及びキャッシュ制御方法 |
US14/052,616 US9535845B2 (en) | 2012-10-19 | 2013-10-11 | Cache control device and cache control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012231831A JP6042170B2 (ja) | 2012-10-19 | 2012-10-19 | キャッシュ制御装置及びキャッシュ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014085707A JP2014085707A (ja) | 2014-05-12 |
JP6042170B2 true JP6042170B2 (ja) | 2016-12-14 |
Family
ID=50486425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012231831A Expired - Fee Related JP6042170B2 (ja) | 2012-10-19 | 2012-10-19 | キャッシュ制御装置及びキャッシュ制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9535845B2 (ja) |
JP (1) | JP6042170B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6195249B2 (ja) * | 2014-04-17 | 2017-09-13 | 株式会社大都技研 | 遊技台 |
USD813242S1 (en) | 2014-05-30 | 2018-03-20 | Maria Francisca Jones | Display screen with graphical user interface |
US10120716B2 (en) * | 2014-10-02 | 2018-11-06 | International Business Machines Corporation | Task pooling and work affinity in data processing |
US20170091111A1 (en) * | 2015-09-30 | 2017-03-30 | International Business Machines Corporation | Configurable cache architecture |
US20170161193A1 (en) * | 2015-12-02 | 2017-06-08 | International Business Machines Corporation | Hybrid cache |
CN112817766B (zh) * | 2021-02-22 | 2024-01-30 | 北京青云科技股份有限公司 | 一种内存管理方法、电子设备及介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07248967A (ja) | 1994-03-11 | 1995-09-26 | Hitachi Ltd | メモリ制御方式 |
JP2001109661A (ja) | 1999-10-14 | 2001-04-20 | Hitachi Ltd | キャッシュメモリの割当方法及びオペレーティングシステム及びそのオペレーティングシステムを有するコンピュータシステム |
US6763327B1 (en) * | 2000-02-17 | 2004-07-13 | Tensilica, Inc. | Abstraction of configurable processor functionality for operating systems portability |
US7246202B2 (en) | 2002-11-11 | 2007-07-17 | Matsushita Electric Industrial Co., Ltd. | Cache controller, cache control method, and computer system |
JP4664586B2 (ja) * | 2002-11-11 | 2011-04-06 | パナソニック株式会社 | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
JP4068473B2 (ja) * | 2003-02-19 | 2008-03-26 | 株式会社東芝 | ストレージ装置、分担範囲決定方法及びプログラム |
JP2005071046A (ja) | 2003-08-22 | 2005-03-17 | Toyota Motor Corp | キャッシュメモリの使用方法 |
JP2008520023A (ja) * | 2004-11-11 | 2008-06-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | メモリ空間を管理するシステム及び方法 |
JP2009528610A (ja) * | 2006-03-02 | 2009-08-06 | エヌエックスピー ビー ヴィ | タスクの実行フェーズに基づいてキャッシュパーティションを動的にリサイズする方法及び装置 |
JP4231516B2 (ja) * | 2006-08-04 | 2009-03-04 | 株式会社日立製作所 | 実行コードの生成方法及びプログラム |
US8069444B2 (en) * | 2006-08-29 | 2011-11-29 | Oracle America, Inc. | Method and apparatus for achieving fair cache sharing on multi-threaded chip multiprocessors |
US8285670B2 (en) * | 2008-07-22 | 2012-10-09 | International Business Machines Corporation | Dynamically maintaining coherency within live ranges of direct buffers |
JP5173711B2 (ja) | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
US9367462B2 (en) * | 2009-12-29 | 2016-06-14 | Empire Technology Development Llc | Shared memories for energy efficient multi-core processors |
KR20130081213A (ko) * | 2010-03-26 | 2013-07-16 | 버추얼메트릭스, 인크. | 컴퓨터 시스템들의 미세한 단위의 성능 자원 관리 |
US8782653B2 (en) * | 2010-03-26 | 2014-07-15 | Virtualmetrix, Inc. | Fine grain performance resource management of computer systems |
EP2669805A4 (en) * | 2011-01-25 | 2016-08-31 | Fujitsu Ltd | MEMORY CONTROL METHOD AND SYSTEM |
-
2012
- 2012-10-19 JP JP2012231831A patent/JP6042170B2/ja not_active Expired - Fee Related
-
2013
- 2013-10-11 US US14/052,616 patent/US9535845B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014085707A (ja) | 2014-05-12 |
US9535845B2 (en) | 2017-01-03 |
US20140115262A1 (en) | 2014-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5413001B2 (ja) | キャッシュメモリ | |
US10838864B2 (en) | Prioritizing local and remote memory access in a non-uniform memory access architecture | |
US8688915B2 (en) | Weighted history allocation predictor algorithm in a hybrid cache | |
US8412907B1 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation | |
JP6042170B2 (ja) | キャッシュ制御装置及びキャッシュ制御方法 | |
US9648081B2 (en) | Network-attached memory | |
US8788757B2 (en) | Dynamic inclusive policy in a hybrid cache hierarchy using hit rate | |
US8843707B2 (en) | Dynamic inclusive policy in a hybrid cache hierarchy using bandwidth | |
JP6248808B2 (ja) | 情報処理装置、情報処理システム、情報処理装置の制御方法、及び、情報処理装置の制御プログラム | |
KR101587579B1 (ko) | 가상화 시스템에서 메모리 조정방법 | |
JP7205033B2 (ja) | キャッシュの割当方法と装置、記憶媒体、電子装置 | |
Bock et al. | Concurrent page migration for mobile systems with OS-managed hybrid memory | |
JP2019096309A (ja) | メンテナンス動作の実行 | |
Min et al. | Vmmb: Virtual machine memory balancing for unmodified operating systems | |
US7721047B2 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation requests | |
TW202145010A (zh) | 數據儲存方法、電子設備及儲存媒體 | |
US10705958B2 (en) | Coherency directory entry allocation based on eviction costs | |
Fang et al. | Miss-aware LLC buffer management strategy based on heterogeneous multi-core | |
BiTalebi et al. | LARA: Locality-aware resource allocation to improve GPU memory-access time | |
KR20230046356A (ko) | 메모리 장치, 메모리 장치의 동작 방법, 그리고 메모리 장치를 포함하는 전자 장치 | |
Patil et al. | HAShCache: Heterogeneity-aware shared DRAMCache for integrated heterogeneous systems | |
US20140223109A1 (en) | Hardware prefetch management for partitioned environments | |
US11687359B2 (en) | Hybrid memory management apparatus and method for many-to-one virtualization environment | |
Kim et al. | Explicit non-reusable page cache management to minimize last level cache pollution | |
CN117667776A (zh) | 存储器带宽分配方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160805 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160930 |
|
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: 20161018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6042170 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |