JP7238262B2 - 計算機、半導体装置、及び制御方法 - Google Patents
計算機、半導体装置、及び制御方法 Download PDFInfo
- Publication number
- JP7238262B2 JP7238262B2 JP2018060775A JP2018060775A JP7238262B2 JP 7238262 B2 JP7238262 B2 JP 7238262B2 JP 2018060775 A JP2018060775 A JP 2018060775A JP 2018060775 A JP2018060775 A JP 2018060775A JP 7238262 B2 JP7238262 B2 JP 7238262B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- memory
- cache
- data
- cache line
- 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
Description
計算機1は、例えば、第1プロセッサ10と、第2プロセッサ20と、メモリ16と、メモリ26と、ネットワークNWとを備える。第1プロセッサ10と第2プロセッサ20は、ネットワークNWを介して接続されている。ネットワークNWは、例えば計算機1内に構成されている。なお、ネットワークNWは、計算機1の外部のネットワークを含むものであってもよい。
第1プロセッサ10は、例えば、コア11と、コア12と、ネットワークオンチップ13(NOC)と、メモリコントローラ14と、キャッシュメモリ15とを備える。
プロセッサ20は、第1プロセッサ10と同様の構成を備える。例えば、第2プロセッサ20は、コア21と、コア22と、ネットワークオンチップ23と、メモリコントローラ24と、キャッシュメモリ25とを備える。コア21、コア22、ネットワークオンチップ23、メモリコントローラ24及びキャッシュメモリ25は、上記のコア11、コア12、ネットワークオンチップ13、メモリコントローラ14及びキャッシュメモリ15と同様の機能を有する。以下、第1プロセッサ10を中心に説明するが、第2プロセッサ20についても同様の処理を実施できる。
図2を参照して、第1プロセッサ10のキャッシュメモリの構成について説明する。図2は、本実施形態による第1プロセッサ10のキャッシュメモリの構成図である。
次に、図5を参照して、第2プロセッサ20のキャッシュメモリの構成について説明する。図5は、本実施形態による第2プロセッサ20のキャッシュメモリの構成図である。
まず、ロード命令を例示して動作について説明する。
第1プロセッサ10と第2プロセッサ20は、ロード命令として、「通常ロード命令」と「ノンコヒーレントロード命令」とを夫々実行する。なお、「ノンコヒーレントロード命令」が第1ロード命令の一例であり、その命令の実行に係る処理が第1ロード処理の一例である。「通常ロード命令」が第2ロード命令の一例であり、その命令の実行に係る処理が第2ロード処理の一例である。
「通常ロード命令」とは、キャッシュメモリのコヒーレント性を保ちながら、リモート側に格納されているデータを取得する命令のことである。
「ノンコヒーレントロード命令」とは、「通常ロード命令」に比べて、キャッシュメモリのコヒーレント性を保つための処理の一部を省略して、リモート側に格納されているデータを取得する命令のことである。
比較例の場合、参照を目的にノンコヒーレントロード命令の処理が実施されると、そのノンコヒーレントロード命令でフィルされたキャッシュラインがしばらくの間キャッシュメモリに残る。上記の領域に対する書き込みを行う際に、そのキャッシュラインにヒットすると、上記の通り例外処理に繋がってしまう。それを避けるには、当該キャッシュラインがキャッシュメモリからなくなるまで、ストア処理(動作)の実行を待機しなければならない。
第1プロセッサ10は、複数のプロセッサによって同一メモリ空間を共有する。第1プロセッサ10は、少なくともコア(実行部)と、キャッシュメモリとを備える。コア11は、他のプロセッサに割り当てられたリモートメモリ内の領域に対するキャッシュコヒーレンスを保証しないノンコヒーレントロード命令を実行する。キャッシュメモリ15は、自プロセッサに割り当てられたローカルメモリからのデータの読み出しの履歴を残す。キャッシュメモリ15は、他のプロセッサのキャッシュコヒーレンスを保証しないノンコヒーレントロード命令の実行による前記ローカルメモリからのデータの読み出しの場合には、前記データの読み出しの履歴を残さない。例えば、このような第1プロセッサ10と同様の構造を有する第2プロセッサなどを組み合わせることにより、第1プロセッサ10は、処理能力の低下を抑制することができる。
10・・・第1プロセッサ(半導体装置)、20・・・第2プロセッサ(半導体装置)、
11、12、21、22・・・コア、
13、23・・・ネットワークオンチップ、
14、24・・・メモリコントローラ、
15・・・キャッシュメモリ(ローカルキャッシュメモリ)、
25・・・キャッシュメモリ(リモートキャッシュメモリ)、
16・・・メモリ(ローカルメモリ)、
26・・・メモリ(リモートメモリ)、
1501、2501・・・データアレイ、
1502、2502・・・キャッシュ制御部、
1503、2503・・・キャッシュディレクトリ、
15021・・・キャッシュライン(第1キャッシュライン)、
25021・・・キャッシュライン(第2キャッシュライン)、
15022、25022・・・有効情報、
15023、25023・・・アドレスタグ、
15024、25024・・・書き換え情報、
15025、25025・・・ノンコヒーレント情報、
15031、25031・・・参照有無情報
Claims (9)
- 第1プロセッサと第2プロセッサとを有し、前記第1プロセッサと前記第2プロセッサとによって同一メモリ空間を共有する計算機であって、
前記第2プロセッサは、
メモリからのデータの読み出しの履歴を残すリモートキャッシュメモリを備え、
前記第1プロセッサは、
第1ロード処理の実行によりフィルされる第1キャッシュラインを保持し、前記第1キャッシュラインにノンコヒーレントな領域を示す情報を登録するローカルキャッシュメモリ
を備え、
前記第1プロセッサは、
前記第2プロセッサに割り当てられた前記メモリ内の領域に対するキャッシュコヒーレンスを保証しない前記第1ロード処理を実行し、
前記第1プロセッサは、
前記第1ロード処理の実行による前記メモリからのデータの読み出しの場合には、前記リモートキャッシュメモリに前記データの読み出しの履歴を残さないで、
前記第1プロセッサは、前記第2プロセッサに割り当てられたメモリ内の領域に対するキャッシュコヒーレンスを保証する第2ロード処理を実行し、
前記ローカルキャッシュメモリは、
前記第2ロード処理の実行によって前記第1キャッシュラインがヒットした場合には、当該ヒットした前記第1キャッシュラインを無効化する、
ことを特徴とする計算機。 - 第1プロセッサと第2プロセッサとを有し、前記第1プロセッサと前記第2プロセッサとによって同一メモリ空間を共有する計算機であって、
前記第2プロセッサは、
メモリからのデータの読み出しの履歴を残すリモートキャッシュメモリを備え、
前記第1プロセッサは、
第1ロード処理の実行によりフィルされる第1キャッシュラインを保持し、前記第1キャッシュラインにノンコヒーレントな領域を示す情報を登録するローカルキャッシュメモリ
を備え、
前記第1プロセッサは、
前記第2プロセッサに割り当てられた前記メモリ内の領域に対するキャッシュコヒーレンスを保証しない前記第1ロード処理を実行し、
前記第1プロセッサは、
前記第1ロード処理を実行することによる前記メモリからのデータの読み出しの場合には、前記リモートキャッシュメモリに前記データの読み出しの履歴を残さないで、
前記第1プロセッサは、前記第2プロセッサに割り当てられたメモリ内の領域にデータを書き込むためのストア処理を実行し、
前記ローカルキャッシュメモリは、
前記ストア処理によって前記第1キャッシュラインがヒットした場合には、当該ヒットした前記第1キャッシュラインを無効化する、
ことを特徴とする計算機。 - 前記第1プロセッサは、
前記第1キャッシュラインを無効化した後に、目的データがフィルされた第2キャッシュラインを保持する、
ことを特徴とする請求項1又は請求項2に記載の計算機。 - 前記第1プロセッサは、
前記ノンコヒーレントな領域に対する前記ストア処理によりキャッシュヒットした場合に例外処理を発生させる
ことを特徴とする請求項2に記載の計算機。 - 前記ローカルキャッシュメモリは、
前記第2プロセッサが管轄するメモリの内容をノンコヒーレントにキャッシュしている領域を前記ローカルキャッシュメモリからパージする、
ことを特徴とする請求項1から請求項4の何れか1項に記載の計算機。 - 第1プロセッサと第2プロセッサとを有し、前記第1プロセッサと前記第2プロセッサとによって同一メモリ空間を共有する計算機の一部を形成する半導体装置であって、
前記第1プロセッサと、
第1ロード処理の実行によりフィルされる第1キャッシュラインを保持し、前記第1キャッシュラインにノンコヒーレントな領域を示す情報を登録するローカルキャッシュメモリと
を備え、
前記第2プロセッサを含む半導体装置は、
メモリからのデータの読み出しの履歴を残すリモートキャッシュメモリを備え、
前記リモートキャッシュメモリは、
前記第1ロード処理の実行による前記メモリからのデータの読み出しの場合には、前記データの読み出しの履歴を残さないように構成されていて、
前記第1プロセッサは、
前記第2プロセッサに割り当てられたメモリ内の領域に対するキャッシュコヒーレンスを保証しない前記第1ロード処理を実行し、
前記第1プロセッサは、前記第2プロセッサに割り当てられたメモリ内の領域に対するキャッシュコヒーレンスを保証する第2ロード処理を実行し、
前記ローカルキャッシュメモリは、
前記第2ロード処理の実行によって前記第1キャッシュラインがヒットした場合には、当該ヒットした前記第1キャッシュラインを無効化するように構成されている、
ことを特徴とする半導体装置。 - 第1プロセッサと第2プロセッサとを有し、前記第1プロセッサと前記第2プロセッサとによって同一メモリ空間を共有する計算機の一部を形成する半導体装置であって、
前記第1プロセッサと、
第1ロード処理の実行によりフィルされる第1キャッシュラインを保持し、前記第1キャッシュラインにノンコヒーレントな領域を示す情報を登録するローカルキャッシュメモリと
を備え、
前記第2プロセッサを含む半導体装置は、
メモリからのデータの読み出しの履歴を残すリモートキャッシュメモリを備え、
前記リモートキャッシュメモリは、
前記第1ロード処理の実行による前記メモリからのデータの読み出しの場合には、前記データの読み出しの履歴を残さないように構成されていて、
前記第1プロセッサは、
前記第2プロセッサに割り当てられたメモリ内の領域に対するキャッシュコヒーレンスを保証しない前記第1ロード処理を実行し、
前記第1プロセッサは、前記第2プロセッサに割り当てられたメモリ内の領域にデータを書き込むためのストア処理を実行し、
前記ローカルキャッシュメモリは、
前記ストア処理によって前記第1キャッシュラインがヒットした場合には、当該ヒットした前記第1キャッシュラインを無効化するように構成されている、
ことを特徴とする半導体装置。 - 第1プロセッサと第2プロセッサとを有し、前記第1プロセッサと前記第2プロセッサとによって同一メモリ空間を共有する計算機の制御方法であって、
前記第1プロセッサは、第1ロード処理の実行によりフィルされる第1キャッシュラインを保持し、前記第1キャッシュラインにノンコヒーレントな領域を示す情報を登録するローカルキャッシュメモリを備え、
前記第2プロセッサは、
メモリからのデータの読み出しの履歴を残すリモートキャッシュメモリを備え、
前記第1プロセッサが、
前記第2プロセッサに割り当てられたメモリ内の領域に対するキャッシュコヒーレンスを保証しない前記第1ロード処理を実行して、
前記第1プロセッサが前記第1ロード処理を実行することによる前記メモリからのデータの読み出しの場合には、前記リモートキャッシュメモリに前記データの読み出しの履歴を残さないステップと、
前記第1プロセッサが、前記第2プロセッサに割り当てられたメモリ内の領域に対するキャッシュコヒーレンスを保証する第2ロード処理を実行するステップと、
前記第2ロード処理の実行によって前記第1キャッシュラインがヒットした場合には、前記ローカルキャッシュメモリにおける当該ヒットした前記第1キャッシュラインを無効化させるステップと
を含むことを特徴とする制御方法。 - 第1プロセッサと第2プロセッサとを有し、前記第1プロセッサと前記第2プロセッサとによって同一メモリ空間を共有する計算機の制御方法であって、
前記第1プロセッサは、第1ロード処理の実行によりフィルされる第1キャッシュラインを保持し、前記第1キャッシュラインにノンコヒーレントな領域を示す情報を登録するローカルキャッシュメモリを備え、
前記第2プロセッサは、
メモリからのデータの読み出しの履歴を残すリモートキャッシュメモリを備え、
前記第1プロセッサが、
前記第2プロセッサに割り当てられたメモリ内の領域に対するキャッシュコヒーレンスを保証しない前記第1ロード処理を実行して、
前記第1プロセッサが前記第1ロード処理を実行することによる前記メモリからのデータの読み出しの場合には、前記リモートキャッシュメモリに前記データの読み出しの履歴を残さないステップと、
前記第1プロセッサが、前記第2プロセッサに割り当てられたメモリ内の領域にデータを書き込むためのストア処理を実行するステップと、
前記ストア処理によって前記第1キャッシュラインがヒットした場合には、前記ローカルキャッシュメモリにおける当該ヒットした前記第1キャッシュラインを無効化させるステップと
を含むことを特徴とする制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018060775A JP7238262B2 (ja) | 2018-03-27 | 2018-03-27 | 計算機、半導体装置、及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018060775A JP7238262B2 (ja) | 2018-03-27 | 2018-03-27 | 計算機、半導体装置、及び制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019175006A JP2019175006A (ja) | 2019-10-10 |
JP7238262B2 true JP7238262B2 (ja) | 2023-03-14 |
Family
ID=68168899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018060775A Active JP7238262B2 (ja) | 2018-03-27 | 2018-03-27 | 計算機、半導体装置、及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7238262B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257637A (ja) | 2006-03-23 | 2007-10-04 | Internatl Business Mach Corp <Ibm> | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム |
JP2015176153A (ja) | 2014-03-12 | 2015-10-05 | 三菱電機株式会社 | 計算機、障害処理方法及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212465A (ja) * | 1996-01-31 | 1997-08-15 | Toshiba Corp | メモリ割り当て装置 |
-
2018
- 2018-03-27 JP JP2018060775A patent/JP7238262B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257637A (ja) | 2006-03-23 | 2007-10-04 | Internatl Business Mach Corp <Ibm> | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム |
JP2015176153A (ja) | 2014-03-12 | 2015-10-05 | 三菱電機株式会社 | 計算機、障害処理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2019175006A (ja) | 2019-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11803486B2 (en) | Write merging on stores with different privilege levels | |
US8949544B2 (en) | Bypassing a cache when handling memory requests | |
US8996812B2 (en) | Write-back coherency data cache for resolving read/write conflicts | |
US8606997B2 (en) | Cache hierarchy with bounds on levels accessed | |
TWI432963B (zh) | 加速器之低成本快取一致 | |
US7698508B2 (en) | System and method for reducing unnecessary cache operations | |
US7669010B2 (en) | Prefetch miss indicator for cache coherence directory misses on external caches | |
US8015365B2 (en) | Reducing back invalidation transactions from a snoop filter | |
US6088769A (en) | Multiprocessor cache coherence directed by combined local and global tables | |
US8762651B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
US10204047B2 (en) | Memory controller for multi-level system memory with coherency unit | |
US20120102273A1 (en) | Memory agent to access memory blade as part of the cache coherency domain | |
JP4474570B2 (ja) | キャッシュコヒーレンシ制御方法 | |
US20180357175A1 (en) | Cache devices with configurable access policies and control methods thereof | |
JP2005519391A (ja) | 共有ベクトルの増加を伴わないdsmマルチプロセッサシステムにおけるキャッシュコヒーレンスのための方法およびシステム | |
JP2007200292A (ja) | エントリの時間経過によるキャッシュ・エントリの所有権喪失 | |
US20090216957A1 (en) | Managing the storage of data in coherent data stores | |
US10853256B2 (en) | Cache operation in an apparatus supporting both physical and virtual address mapping | |
US11625326B2 (en) | Management of coherency directory cache entry ejection | |
JP5587539B2 (ja) | ローカルメモリデータのコヒーレントなキャッシュ処理 | |
US8489822B2 (en) | Providing a directory cache for peripheral devices | |
US10775870B2 (en) | System and method for maintaining cache coherency | |
JP7238262B2 (ja) | 計算機、半導体装置、及び制御方法 | |
US7353341B2 (en) | System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches | |
US6356982B1 (en) | Dynamic mechanism to upgrade o state memory-consistent cache lines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220325 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220520 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221226 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20221226 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20230111 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20230117 |
|
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: 20230131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230213 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7238262 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |