JP4713077B2 - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP4713077B2 JP4713077B2 JP2003409804A JP2003409804A JP4713077B2 JP 4713077 B2 JP4713077 B2 JP 4713077B2 JP 2003409804 A JP2003409804 A JP 2003409804A JP 2003409804 A JP2003409804 A JP 2003409804A JP 4713077 B2 JP4713077 B2 JP 4713077B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- bank
- memory
- extra
- storage unit
- 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 - Lifetime
Links
- 239000004065 semiconductor Substances 0.000 title claims description 61
- 230000015654 memory Effects 0.000 claims description 321
- 238000012546 transfer Methods 0.000 claims description 69
- 230000006870 function Effects 0.000 claims description 49
- 238000013507 mapping Methods 0.000 description 96
- 238000000034 method Methods 0.000 description 74
- 230000036316 preload Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 230000007704 transition Effects 0.000 description 5
- 101100270992 Caenorhabditis elegans asna-1 gene Proteins 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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
プロセッサ201がメモリアクセス要求を発行する。
プロセッサ201に要求されたメモリアドレスがタグ比較器206に通知され、タグ比較器206は、タグ205のアドレス中に要求アドレスが含まれているか否かを比較する。
タグ205のいずれかに要求アドレスが含まれている場合は、プロセッサ201はそのままキャッシュメモリ204にアクセスする。この場合は、アクセスが成立して終了となり、ステップ4以降は実行されない。このように、要求されたアドレスがキャッシュメモリ204に保持されている場合をキャッシュヒット、又は単にヒットと呼ぶ。また、キャッシュヒット率はプログラムの処理効率に影響し、キャッシュヒット率が高ければメモリへの平均アクセス時間が短縮されるため、処理効率は向上する。
タグ205に要求アドレスが含まれていなかった場合は、タグ比較器206は後述する優先順位に基づいて、キャッシュメモリ204から適当な1ページを選択し、書き換えを行なうための判定結果情報を生成する。因みに、アドレスが保持されていなかった場合をキャッシュミスヒット、または単にミスヒットと呼ぶ。ここで、タグの比較を行なう際の優先順位決定アルゴリズムには、LRU(Least Recently Used)が一般に知られている。この方式では、最も遠い過去に参照されたラインA〜Dを置換対象に選択する。この他にも、FIFO(First In First Out)方式や、Random方式等がある。また、優先度の決定基準となる情報をプロセッサ201の命令コード内に埋め込み、その情報を元に優先度を決定する方法もある(例えば、特許文献1参照。)。
タグ比較器206が生成した判定結果情報はDMAコントローラ203に通知され、主記憶メモリ202から要求アドレスを含む1ライン分のデータをキャッシュメモリ204に転送する。
キャッシュメモリ204へのデータ転送が完了した後、プロセッサ201はキャッシュメモリ204に対してアクセスを行なう。
数キロバイト単位で1つのページを構成する擬似的なキャッシュメモリであり、従来のそれぞれが数十バイト程度の容量を持つ複数のラインからなるキャッシュメモリとは異なる。また、高速アクセスが可能なメモリデバイスからなり、例えば、比較的小容量のSRAM等により構成することが好ましい。
ページは最も小さなメモリ領域単位である。擬似キャッシュメモリの実現に必要なタグは各ページに1つずつ割り当てられる。主記憶メモリ空間の擬似キャッシュ空間へのマッピングはページ単位で行なうことが可能である。
バンクは複数のページにより構成されている。異なるバンクに対するプロセッサの命令又はデータへのアクセスと、主記憶メモリと擬似キャッシュとの間(以下、主記憶メモリ−擬似キャッシュ間と呼ぶ。)の転送(DMA転送)は同時に実行することができる。しかしながら、1つのバンクに対してプロセッサからのアクセスと、主記憶メモリ−擬似キャッシュ間の転送のアクセスとが同時に発生した場合は、どちらかのアクセスが待たされるか又はキャンセルされるかのペナルティが発生する。
メモリエリアは、使用目的、すなわち格納対象である命令又はデータを領域単位と一致させた複数のバンクからなるメモリ領域である。
プロセッサ11がメモリアクセス要求を発行する。
プロセッサ11に要求されたメモリアドレスがタグ比較器17に通知され、タグ比較器17は、各タグ15が保持するアドレス中に要求アドレスが含まれているか否かを比較する。
タグ15のいずれかに要求アドレスが含まれている場合は、プロセッサ11は要求アドレスを格納したタグ15と対応するページ14にアクセスする。この場合は、アクセスが成立して終了となり、従って、ステップ4以降は実行されない。
タグ15のいずれにも要求アドレスが含まれていなかった場合は、タグ比較器17はアドレス不一致という判定結果情報を生成してプロセッサ11に出力する。
プロセッサ11は、タグ比較器17からの判定結果情報に基づいて、擬似キャッシュマネージャ18が保持するプログラムによってDMAコントローラ13にデータの転送を指示する。プロセッサ11からの指示を受けたDMAコントローラ13は、要求アドレスが指す1ページ分のデータを主記憶メモリ12からページ14のいずれかに転送する。
DMAコントローラ13によるページ14へのデータ転送が完了した後、プロセッサ11は、データが転送されたページ14に対してアクセスを行なう。
まず、バンク16及びページ14に対するメモリ管理機能を説明する。
メモリの獲得及びメモリの解放はバンク単位で行なう。すなわち、応用プログラムからのバンク確保要求によりバンク16の獲得を行ない、バンク解放要求によりバンク16の解放を行なう。
スレッドからのページ14に対するマッピング要求によりページ14のマッピングを行ない、また、ページ14のアンマッピング要求によりページ14のアンマッピングを行なう。
以下、前記のメモリ管理機能に情報転送量の重み付けを付与した第1のメモリ入れ替え方法について図面を参照しながら説明する。
次に、あらかじめ指定された入れ替え情報を用いる第2のメモリ入れ替え方法について図面を参照しながら説明する。
次に、メモリ管理機能におけるページ属性のうちのアクセス周期属性を用いる第3のメモリ入れ替え方法について図面を参照しながら説明する。
次に、応用プログラム(以下、単にアプリケーションと呼ぶ。)が変更された場合に、他のアプリケーションを含め各アプリケーションに対する空きメモリ(=FREEバンク)の再配分方法について図面を参照しながら説明する。
第1の再配分方法は、アプリケーションが変更された場合に、各アプリケーションに対して空きメモリを均等に再配分する。
第2の再配分方法は、アプリケーションが変更された場合に、各アプリケーションに対してそれぞれの優先度に応じて空きメモリを再配分する。
第3の再配分方法は、アプリケーションが変更された場合に、各アプリケーションに対してそれぞれの動作周期に応じて空きメモリを再配分する。
第4の再配分方法は、アプリケーションが変更された場合に、各アプリケーションに対してそれぞれの単位時間当たりの情報転送量に応じて空きメモリを再配分する。
次に、情報転送量を削減可能なエクストラメモリ管理機能を説明する。
まず、1回目のページのマッピング時の動作について図15(a)〜図15(c)を参照しながら説明する。
次に、ページのアンマッピング時の動作について図16(a)〜図16(d)を参照しながら説明する。
次に、2回目以降のページのマッピング時の動作について図17(a)〜図17(d)を参照しながら説明する。
ページ(A0 又はA1 )の他にページ(B0 又はB1 )をマッピングする第1の場合について図18(a)〜図18(d)を参照しながら説明する。
ページ(A1 )の他にページ(B1 )をマッピングする第2の場合について図19(a)及び図19(b)を参照しながら説明する。なお、第2〜第4の場合は、エクストラ属性が設定されているページの場合のみを説明する。
ページ(A1 )の他にページ(B1 )をマッピングする第3の場合について図20(a)及び図20(b)を参照しながら説明する。
ページ(A1 )の他にページ(B1 )をマッピングする第4の場合について図21(a)及び図21(b)を参照しながら説明する。
[A]ページ指定子で指定されたページ
[B]自バンク
[C]自バンクが所有するエクストラバンク
[D]FREEバンク
次に、各バンク16に対して行なう確定条件を5種類に分類する。
[1]物理アドレスとページ数とが一致(キャッシュヒット)
[2]FREEページから必要なページ数を確保可能
[3]FREEページ、及び重み0のEXTRAFREEページから必要なページ数を獲得可能
[4]FREEページ、重み0のEXTRAFREEページ、及び重み1のEXTRAFREEページから必要なページ数を確保可能
[5]なし(必ず確保可能)
上記のように分類されたバンク16に対して確定条件を、例えば図22に示される順に適用することにより、ページ14を確保するバンク16を確定する。
次に、エクストラバンクの解放方法について説明する。
12 主記憶メモリ(第1の記憶部)
13 DMAコントローラ
14 ページ(第2の記憶部)
15 タグ
16 バンク
17 タグ比較器
18 擬似キャッシュマネージャ(入替制御部/バンク制御部/分配管理部)
Claims (11)
- プロセッサと、
前記プロセッサによりアクセスされる第1の記憶部と、
数キロバイト以上の記憶容量ごとに分割されてなる複数のページ記憶部からなり、前記第1の記憶部と比べて前記プロセッサによる高速なアクセスが可能で、前記第1の記憶部に記憶される内容の一部を記憶する第2の記憶部と、
前記第1の記憶部におけるアドレス値を示すタグ情報を前記各ページ記憶部に付加するタグと、
前記プロセッサからのアクセス要求を受け、前記第1の記憶部におけるアドレス値と前記タグが保持するタグ情報とを比較するタグ比較器と、
前記タグ比較器による比較結果が一致しなかった場合に、前記第1の記憶部における前記アドレス値の内容で、前記ページ記憶部の内容を入れ替える入替制御部とを備え、
前記ページ記憶部は、所定数ごとにまとめられて1つのバンクメモリを構成しており、
前記バンクメモリを管理するバンク制御部を備えていることを特徴とする半導体装置。 - 前記プロセッサが実行する応用プログラムの機能ごとに、前記各ページ記憶部を割り当てる割り当て数を管理する分配管理部をさらに備えていることを特徴とする請求項1に記載の半導体装置。
- 前記入替制御部は、前記ページ記憶部に対するアクセス要求を受け、該アクセス要求が対象とするデータのアドレス情報が前記タグに保持されているか否かを判定し、該アドレス情報が保持されていない場合には、前記複数のページ記憶部のなかから前記第1の記憶部との間で情報転送量が少ないページ記憶部を選択し、選択されたページ記憶部を解放し、解放されたページ記憶部に要求されたアドレスのデータを読み込むことを特徴とする請求項1に記載の半導体装置。
- 前記入替制御部は、前記ページ記憶部に対するアクセス要求を受け、該アクセス要求が対象とするデータのアドレス情報が前記タグに保持されているか否かを判定し、該アドレス情報が保持されていない場合には、あらかじめ指定された入れ替え情報に基づいて前記複数のページ記憶部のなかから1つのページ記憶部を選択し、選択されたページ記憶部を解放し、解放されたページ記憶部に要求されたアドレスのデータを読み込むことを特徴とする請求項1に記載の半導体装置。
- 前記入替制御部は、前記ページ記憶部に対するアクセス要求を受け、該アクセス要求が対象とするデータのアドレス情報が前記タグに保持されているか否かを判定し、該アドレス情報が保持されていない場合には、前記複数のページ記憶部のなかからアクセス周期が長いページ記憶部を選択し、選択されたページ記憶部を解放し、解放されたページ記憶部に要求されたアドレスのデータを読み込むことを特徴とする請求項1に記載の半導体装置。
- 前記入替制御部は、実行される応用プログラムが変更された場合に、動作する応用プログラムに空きメモリを均等となるように再配分することを特徴とする請求項3〜5のうちのいずれか1項に記載の半導体装置。
- 前記タグは、入れ替え優先度を示す優先度情報を有し、
前記入替制御部は、実行される応用プログラムが変更された場合に、動作する応用プログラムにあらかじめ規定され且つ前記タグに保持された前記優先度情報に従って空きメモリを再配分することを特徴とする請求項3〜5のうちのいずれか1項に記載の半導体装置。 - 前記入替制御部は、実行される応用プログラムが変更された場合に、動作する応用プログラムのうち動作周期が短い応用プログラムから順に空きメモリを再配分することを特徴とする請求項3〜5のうちのいずれか1項に記載の半導体装置。
- 前記入替制御部は、実行される応用プログラムが変更された場合に、動作する応用プログラムのうち単位時間当たりの転送量が多い応用プログラムから順に空きメモリを再配分することを特徴とする請求項3〜5のうちのいずれか1項に記載の半導体装置。
- 前記入替制御部は、新たなメモリ確保要求を受けた場合に、動作中の応用プログラムに割り当てられた空きメモリのうち、前記各ページ記憶部又は前記各バンクメモリと前記第1の記憶部との間の情報転送量が少ない空きメモリを選択して解放することを特徴とする請求項6〜9のうちのいずれか1項に記載の半導体装置。
- 前記入替制御部は、応用プログラムの動作周期の1周期分でページ記憶部の確保及び解放を行ない、その周期中は空きメモリの確保を行なわず、1周期後に割り振られた空きメモリを解放できる状態とすることを特徴とする請求項6〜9のうちのいずれか1項に記載の半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003409804A JP4713077B2 (ja) | 2003-03-26 | 2003-12-09 | 半導体装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003084894 | 2003-03-26 | ||
JP2003084894 | 2003-03-26 | ||
JP2003409804A JP4713077B2 (ja) | 2003-03-26 | 2003-12-09 | 半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004310739A JP2004310739A (ja) | 2004-11-04 |
JP4713077B2 true JP4713077B2 (ja) | 2011-06-29 |
Family
ID=33478279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003409804A Expired - Lifetime JP4713077B2 (ja) | 2003-03-26 | 2003-12-09 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4713077B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001297037A (ja) * | 1999-12-06 | 2001-10-26 | Texas Instr Inc <Ti> | スマート・キャッシュ |
JP2001297036A (ja) * | 1999-12-06 | 2001-10-26 | Texas Instr Inc <Ti> | 多重埋めモードを有するキャッシュ |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61271572A (ja) * | 1985-05-28 | 1986-12-01 | Toshiba Corp | キヤツシユメモリ |
JPS6398749A (ja) * | 1986-10-16 | 1988-04-30 | Mitsubishi Electric Corp | デ−タ処理装置 |
JPH03127239A (ja) * | 1989-10-13 | 1991-05-30 | Matsushita Electric Ind Co Ltd | キャッシュメモリ及びその使用方法 |
JPH03232034A (ja) * | 1990-02-08 | 1991-10-16 | Oki Electric Ind Co Ltd | キャッシュ制御装置 |
GB9118312D0 (en) * | 1991-08-24 | 1991-10-09 | Motorola Inc | Real time cache implemented by dual purpose on-chip memory |
JPH086857A (ja) * | 1994-06-17 | 1996-01-12 | Mitsubishi Electric Corp | キャッシュメモリ |
JPH1055308A (ja) * | 1996-08-09 | 1998-02-24 | Toshiba Corp | キャッシュメモリ |
JP3469042B2 (ja) * | 1997-05-14 | 2003-11-25 | 株式会社東芝 | キャッシュメモリ |
-
2003
- 2003-12-09 JP JP2003409804A patent/JP4713077B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001297037A (ja) * | 1999-12-06 | 2001-10-26 | Texas Instr Inc <Ti> | スマート・キャッシュ |
JP2001297036A (ja) * | 1999-12-06 | 2001-10-26 | Texas Instr Inc <Ti> | 多重埋めモードを有するキャッシュ |
Also Published As
Publication number | Publication date |
---|---|
JP2004310739A (ja) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963387B2 (en) | Methods of cache preloading on a partition or a context switch | |
US7793049B2 (en) | Mechanism for data cache replacement based on region policies | |
US7975107B2 (en) | Processor cache management with software input via an intermediary | |
US6430656B1 (en) | Cache and management method using combined software and hardware congruence class selectors | |
US7991956B2 (en) | Providing application-level information for use in cache management | |
US9256527B2 (en) | Logical to physical address mapping in storage systems comprising solid state memory devices | |
JP2554449B2 (ja) | キャッシュ・メモリを有するデータ処理システム | |
US6604174B1 (en) | Performance based system and method for dynamic allocation of a unified multiport cache | |
US8412907B1 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation | |
US20020116584A1 (en) | Runahead allocation protection (rap) | |
US20180300258A1 (en) | Access rank aware cache replacement policy | |
JP4829191B2 (ja) | キャッシュシステム | |
US20180232313A1 (en) | Cache sector usage prediction | |
US20100030966A1 (en) | Cache memory and cache memory control apparatus | |
US6421761B1 (en) | Partitioned cache and management method for selectively caching data by type | |
US8874853B2 (en) | Local and global memory request predictor | |
US10152425B2 (en) | Cache entry replacement based on availability of entries at another cache | |
JP2019096309A (ja) | メンテナンス動作の実行 | |
US20180113815A1 (en) | Cache entry replacement based on penalty of memory access | |
KR20160029086A (ko) | 데이터 스토어 및 데이터 스토어에 데이터를 할당하는 방법 | |
US7721047B2 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation requests | |
US7689993B2 (en) | Assigning tasks to processors based at least on resident set sizes of the tasks | |
US7502901B2 (en) | Memory replacement mechanism in semiconductor device | |
US6598124B1 (en) | System and method for identifying streaming-data | |
WO2002027498A2 (en) | System and method for identifying and managing streaming-data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100513 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110112 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110324 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |