JP7071640B2 - 演算処理装置、情報処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置、情報処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP7071640B2 JP7071640B2 JP2018176307A JP2018176307A JP7071640B2 JP 7071640 B2 JP7071640 B2 JP 7071640B2 JP 2018176307 A JP2018176307 A JP 2018176307A JP 2018176307 A JP2018176307 A JP 2018176307A JP 7071640 B2 JP7071640 B2 JP 7071640B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- memory
- data
- main memory
- address
- 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/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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- 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/10—Address translation
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- 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
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- 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/608—Details relating to cache mapping
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)
- Memory System (AREA)
Description
第1のメインメモリのデータの一部と、所定容量以上の連続アドレスのデータアクセスで前記第1のメインメモリより広い帯域を有する第2のメインメモリのデータの一部を記憶するキャッシュメモリ、及び前記算術論理演算部からのメモリ要求に応答して前記キャッシュメモリ内のデータを読み出してメモリ要求元に応答するキャッシュ制御部を有するキャッシュユニットとを有し、
前記キャッシュメモリ内に記憶される前記第2のメインメモリのデータの前記第1のメインメモリのデータに対する容量の比率が、所定の比率以下に制限される、演算処理装置である。
図5は、プロセッサ内のコア、アドレス変換部、キャッシュメモリと、プロセッサに接続される2種類のメインメモリとの概略的な関係を示す図である。既に説明したとおり、コア内の算術論理演算回路は、L1キャッシュユニットにメモリ要求を発行し、L1キャッシュユニットで、メモリ要求の論理アドレスVAがTLBやメインメモリ内のデータ変換テーブルに基づいて物理アドレスPAに変換され、その物理アドレスPAとキャッシュタグメモリ内のタグアドレスの比較によりキャッシュヒット判定される。キャッシュメモリには第1のメインメモリM_MEM_1と第2のメインメモリM_MEM_2のデータが記憶され、キャッシュヒットならキャッシュメモリ内のデータが読み出され要求元にデータ応答され、キャッシュミスならメモリ要求のアクセス先アドレスに応じて、第1のメインメモリまたは第2のメインメモリにメモリアクセスされる。
第1の実施の形態では、OSが第2のメインメモリのデータに対し特定のインデックスアドレスを有する物理アドレスを割り当てることで、キャッシュメモリ内に記憶される第2のメインメモリのデータの第1のメインメモリのデータに対する容量の比率が、所定の比率以下に制限されるようにした。
M_MEM_2:第2のメインメモリ
PRC(CPU):プロセッサ、演算処理装置、CPUチップ
CORE:コア
L1_CACHE:L1キャッシュユニット
L2_CACHE:L2キャッシュユニット
L1$_CNT:L1キャッシュ制御回路
L2$_CNT:L2キャッシュ制御回路
L2_TAG,L2_DATA:L2キャッシュメモリ
Claims (7)
- 命令を実行する算術論理演算部と、
第1のメインメモリのデータの一部と、所定容量以上の連続アドレスのデータアクセスで前記第1のメインメモリより広い帯域を有する第2のメインメモリのデータの一部を記憶するキャッシュメモリ、及び前記算術論理演算部からのメモリ要求に応答して前記キャッシュメモリ内のデータを読み出してメモリ要求元に応答するキャッシュ制御部を有するキャッシュユニットとを有し、
前記キャッシュメモリ内に記憶される前記第2のメインメモリのデータの前記第1のメインメモリのデータに対する容量の比率が、所定の比率以下に制限される、演算処理装置。 - 前記キャッシュユニットは、論理アドレスと物理アドレスとの対応を有するアドレス変換テーブルに基づいて、前記メモリ要求の論理アドレスを物理アドレスに変換するアドレス変換部を有し、
前記算術論理演算部は、論理アドレスに対して物理アドレスを割り当てるとき、前記物理アドレス内の前記キャッシュメモリのインデックスアドレスを前記所定の比率に分割した第1及び第2の物理アドレスを、前記第1のメインメモリのデータと前記第2のメインメモリのデータとにそれぞれ割り当てる、請求項1に記載の演算処理装置。 - 前記キャッシュ制御部は、前記メモリ要求のインデックスアドレスに対応する前記キャッシュメモリのキャッシュラインのタグを参照し、前記タグ内のタグアドレスと前記メモリ要求のタグアドレスが一致する場合、キャッシュヒットと判定する、請求項2に記載の演算処理装置。
- 前記キャッシュ制御部は、
前記第1のメインメモリのデータのメモリ要求でキャッシュミスし、前記キャッシュメモリに前記第1のメインメモリのデータを登録するとき、前記メモリ要求のインデックスアドレスに対応する複数のキャッシュラインのうち、データの追出し優先度が最大のキャッシュラインのデータを追出し、前記追い出されたキャッシュラインに、前記登録対象の第1のメインメモリのデータを最小の追出し優先度で登録し、
前記第1のメインメモリのデータのメモリ要求でキャッシュヒットしたとき、前記キャッシュヒットしたキャッシュラインの前記追出し優先度を最小に更新し、
前記キャッシュ制御部は、
前記第2のメインメモリのデータのメモリ要求でキャッシュミスし、前記キャッシュメモリに前記第2のメインメモリのデータを登録するとき、前記メモリ要求のインデックスアドレスに対応する複数のキャッシュラインのうち、前記追出し優先度が最大のキャッシュラインのデータを追出し、前記追い出されたキャッシュラインに、前記登録対象の第2のメインメモリのデータを最大の追出し優先度で登録し、
前記第2のメインメモリのデータのメモリ要求でキャッシュヒットしたとき、前記キャッシュヒットしたキャッシュラインの前記追出し優先度を最大のまま変更しない、請求項1に記載の演算処理装置。 - 前記キャッシュメモリは、前記インデックスアドレスで複数のキャッシュラインが選択され、前記選択された複数のキャッシュラインのうち、前記メモリ要求のタグアドレスと一致するタグアドレスを有するキャッシュラインがキャッシュヒットと判定される、請求項4に記載の演算処理装置。
- 第1のメインメモリと、
所定容量以上の連続アドレスのデータアクセスで前記第1のメインメモリより広い帯域を有する第2のメインメモリと、
前記第1のメインメモリと前記第2のメインメモリにアクセス可能に接続され、命令を実行する算術論理演算部と、前記第1のメインメモリのデータの一部と前記第2のメインメモリのデータの一部を記憶するキャッシュメモリを有し、前記算術論理演算部からのメモリ要求に応答して前記キャッシュメモリ内のデータを読み出してメモリ要求元に応答するキャッシュ制御部を有するキャッシュユニットとを有する演算処理装置とを有し、
前記キャッシュメモリ内に記憶される前記第2のメインメモリのデータの前記第1のメインメモリのデータに対する容量の比率が、所定の比率以下に制限される、情報処理装置。 - 命令を実行する算術論理演算部と、
第1のメインメモリのデータの一部と、所定容量以上の連続アドレスのデータアクセスで前記第1のメインメモリより広い帯域を有する第2のメインメモリのデータの一部を記憶するキャッシュメモリと、前記算術論理演算部からのメモリ要求に応答して前記キャッシュメモリ内のデータを読み出してメモリ要求元に応答するキャッシュ制御部を有するキャッシュユニットとを有する演算処理装置の制御方法であって、
前記キャッシュメモリ内に記憶される前記第2のメインメモリのデータの前記第1のメインメモリのデータに対する容量の比率を、所定の比率以下に制限する、演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018176307A JP7071640B2 (ja) | 2018-09-20 | 2018-09-20 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
US16/516,314 US11003591B2 (en) | 2018-09-20 | 2019-07-19 | Arithmetic processor, information processing device and control method of arithmetic processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018176307A JP7071640B2 (ja) | 2018-09-20 | 2018-09-20 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020047084A JP2020047084A (ja) | 2020-03-26 |
JP7071640B2 true JP7071640B2 (ja) | 2022-05-19 |
Family
ID=69884307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018176307A Active JP7071640B2 (ja) | 2018-09-20 | 2018-09-20 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11003591B2 (ja) |
JP (1) | JP7071640B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11580023B2 (en) | 2020-03-11 | 2023-02-14 | Fujitsu Limited | Information processing apparatus, computer-readable recording medium having stored therein memory control program, and computer-readable recording medium having stored therein information processing program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000353126A (ja) | 1999-06-09 | 2000-12-19 | Mitsubishi Electric Corp | 計算機システムのバッファキャッシュ再分割方法及びバッファキャッシュ再分割機能付き計算機システム |
JP2004503010A (ja) | 2000-06-30 | 2004-01-29 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | キャッシュメモリを有するデータ処理装置およびこのような装置の使用方法 |
JP2017519275A (ja) | 2014-05-09 | 2017-07-13 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データキャッシング方法、キャッシュおよびコンピュータシステム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016091242A (ja) | 2014-10-31 | 2016-05-23 | 富士通株式会社 | キャッシュメモリ、キャッシュメモリへのアクセス方法及び制御プログラム |
US10126950B2 (en) * | 2014-12-22 | 2018-11-13 | Intel Corporation | Allocating and configuring persistent memory |
US10365325B2 (en) * | 2017-08-22 | 2019-07-30 | Micron Technology, Inc. | Semiconductor memory device |
-
2018
- 2018-09-20 JP JP2018176307A patent/JP7071640B2/ja active Active
-
2019
- 2019-07-19 US US16/516,314 patent/US11003591B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000353126A (ja) | 1999-06-09 | 2000-12-19 | Mitsubishi Electric Corp | 計算機システムのバッファキャッシュ再分割方法及びバッファキャッシュ再分割機能付き計算機システム |
JP2004503010A (ja) | 2000-06-30 | 2004-01-29 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | キャッシュメモリを有するデータ処理装置およびこのような装置の使用方法 |
JP2017519275A (ja) | 2014-05-09 | 2017-07-13 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データキャッシング方法、キャッシュおよびコンピュータシステム |
Also Published As
Publication number | Publication date |
---|---|
US11003591B2 (en) | 2021-05-11 |
US20200097415A1 (en) | 2020-03-26 |
JP2020047084A (ja) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6505132B2 (ja) | メモリ容量圧縮を利用するメモリコントローラならびに関連するプロセッサベースのシステムおよび方法 | |
JP6478843B2 (ja) | 半導体装置及びキャッシュメモリ制御方法 | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
US10031854B2 (en) | Memory system | |
US11803482B2 (en) | Process dedicated in-memory translation lookaside buffers (TLBs) (mTLBs) for augmenting memory management unit (MMU) TLB for translating virtual addresses (VAs) to physical addresses (PAs) in a processor-based system | |
US20160140042A1 (en) | Instruction cache translation management | |
US9697137B2 (en) | Filtering translation lookaside buffer invalidations | |
US20170083444A1 (en) | Configuring fast memory as cache for slow memory | |
EP3411798B1 (en) | Cache and method | |
CN115292214A (zh) | 页表预测方法、存储访问操作方法、电子装置和电子设备 | |
JP6027562B2 (ja) | キャッシュメモリシステムおよびプロセッサシステム | |
US20190243778A1 (en) | Memory address translation | |
US20200293455A1 (en) | Cache address mapping method and related device | |
US20190155748A1 (en) | Memory address translation | |
KR20210037216A (ko) | 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법 | |
JP7071640B2 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
JP6249120B1 (ja) | プロセッサ | |
US12032489B2 (en) | Input output memory management unit and electronic device having the same | |
US10977176B2 (en) | Prefetching data to reduce cache misses | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
US10754775B2 (en) | Fast cache invalidation response using cache class attributes | |
JP6260456B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
CN118349493A (zh) | 经由虚拟地址存取数据之计算机系统、芯片及相关方法 | |
JPH11296431A (ja) | 情報処理装置及びキャッシュメモリのマッピング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220328 |
|
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: 20220405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220418 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7071640 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |