JP2015210616A - 演算処理装置とその制御方法 - Google Patents
演算処理装置とその制御方法 Download PDFInfo
- Publication number
- JP2015210616A JP2015210616A JP2014090960A JP2014090960A JP2015210616A JP 2015210616 A JP2015210616 A JP 2015210616A JP 2014090960 A JP2014090960 A JP 2014090960A JP 2014090960 A JP2014090960 A JP 2014090960A JP 2015210616 A JP2015210616 A JP 2015210616A
- Authority
- JP
- Japan
- Prior art keywords
- nth
- memory
- cache
- caches
- core group
- 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.)
- Granted
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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0826—Limited pointers directories; State-only directories without pointers
-
- 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/1028—Power efficiency
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】演算処理装置は,複数の演算処理部と,第1乃至第N(Nは正の整数)のキャッシュと,コアグループ内バスとをそれぞれ有する第1及び第2のコアグループと,第1及び第2のコアグループのキャッシュ間に対応して第1乃至第Nのコアグループ間バスとを有する。メモリの第1乃至第Nのメモリ空間のデータを個別に記憶した第1のコアグループの第1乃至第Nのキャッシュそれぞれは,メモリの第N+1乃至第2Nのメモリ空間それぞれのデータに,第1乃至第Nのコアグループ間バスを介してアクセスし記憶し,メモリの第N+1乃至第2Nのメモリ空間のデータを個別に記憶した第2のコアグループの第1乃至第Nのキャッシュそれぞれは,メモリの第1乃至第Nのメモリ空間それぞれのデータに,第1乃至第Nのコアグループ間バスを介してアクセスし記憶する。
【選択図】図2
Description
前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれと,前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれとの間に対応して設けられた第1乃至第Nのコアグループ間バスとを有し,
前記Nは複数であり,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,メモリの第1乃至第Nのメモリ空間それぞれのデータを個別に記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータを個別に記憶し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第1乃至第Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶する演算処理装置である。
図2は,本実施の形態における演算処理装置の構成を示す図である。本実施の形態では,1つのCPUチップが,複数の,例えば2つのコアメモリグループまたはコアグループCMG0,CMG1を有する。そして,CPUチップの外に設けられるメインメモリは,8つのメモリ00-03,10-13で構成される。8つのメモリ00-03,10-13は,例えば,メインメモリのメモリ空間の第1〜第8のメモリ空間のデータをそれぞれ記憶する。但し,本実施の形態はそれに限定されるものではない。
図3は,第1,第2のコアグループ内のL2キャッシュとメインメモリのメモリ空間との関係の一例を示す図である。図3に示されるとおり,第1のコアグループCMG0の第1乃至第4のL2キャッシュSX00-SX11それぞれは,メインメモリの第1乃至第4のメモリ空間,すなわちメモリ00-03のメモリ空間それぞれのデータを個別にまたは別々に記憶する。同様に,第2のコアグループCMG1の第1乃至第4のキャッシュSX00-SX11それぞれは,メインメモリの第5乃至第8のメモリ空間,すなわちメモリ10-13のメモリ空間それぞれのデータを個別にまたは別々に記憶する。
図2に戻り,4つのコアグループ間バスB_00,B_01,B_10,B_11を設けたことにより,第1のコアグループCMG0内の4つのコア100-103は,第2のコアグループCMG1内の4つのL2キャッシュSX00-SX11を介して,メモリ10-13のメモリ空間のデータにアクセスすることができる。例えば,第1のコアグループCMG0内のコア100は,メモリ11内のアドレスBにアクセス要求する場合は,まず,CMG0内のL2キャッシュSX01にアクセス要求を発行する。CMG0内のL2キャッシュはキャッシュミスし,コアグループ間バスB_01を介してCMG1内のL2キャッシュSX01にアクセス要求を発行する。CMG1内のL2キャッシュSX01がそのアクセス要求を処理して,例えば読み出しデータをコアグループ間バスB_01を介してCMG0内のL2キャッシュSX01に応答し,CMG0内のL2キャッシュSX01はその読み出しデータをキャッシュに登録し,コア100にデータ応答する。
次に,本実施の形態の演算処理装置の詳細な構成例を説明する。図4は,第1のコアグループCMG0の構成を示す図である。図2と同様に,コアグループCMG0は,4つのCPUコア100-103を有し,4つのL2キャッシュSX00-SX11を有する。
本実施の形態における演算処理装置のアクセス要求の動作について概略説明する。以下の説明では,例えば,メインメモリを構成するメモリ00,01,02,03には,メインメモリのデータがインタリーブで記憶され,第1のL2キャッシュSX00にはメモリ00のデータが登録され,以下同様に,第2,第3,第4のL2キャッシュSX01,SX10,SX11には,メモリ01,02,03のデータが登録されることを前提とする。
次に,本実施の形態の演算処理装置の7つのアクセス要求の動作について説明する。
アクセス要求Iの動作は,図6において,CMG0のSX01にキャッシュ登録されておらず(S1のNO),CMG1のSX01にもキャッシュ登録されていない(S7のNO)場合に,メモリ01からデータが転送される(S10)動作である。工程S7の判定は,CMG0内L2キャッシュSX01内のディレクトリ情報を参照することで行われる。
アクセス要求IIの動作は,図6において,CMG0のL2キャッシュSX01にキャッシュ登録されておらず(S1のNO),CMG1のL2キャッシュSX01には占有更新(Dirty)でキャッシュ登録されている(S7のYES,S8のNO)場合に,CMG1のL2キャッシュSX01からデータが転送される(S9)動作である。工程S7の判定は,CMG0内L2キャッシュSX01のディレクトリ情報を参照して行われる。
アクセス要求IIIの動作は,図6において,CMG0のL2キャッシュSX01にキャッシュ登録されておらず(S1のNO),CMG1のL2キャッシュSX01には占有非更新(Clean)でキャッシュ登録されている(S7のYES,S8のYES)場合に,CMG0のL2キャッシュSX01がメモリ01からデータを読み出して転送する(S10)動作である。工程S7の判定は,CMG0内L2キャッシュSX01のディレクトリ情報を参照して行われる。
アクセス要求IVの動作は,図6において,CMG0のL2キャッシュSX01にキャッシュ登録されていて(S1のYES),CMG1のL2キャッシュSX01には占有更新(Dirty)で登録されている(S2のYES,S3のNO)場合に,CMG0のL2キャッシュSX01が,CMG1のL2キャッシュSX01からデータを転送する(S9)動作である。
アクセス要求Vの動作は,図6において,CMG0のL2キャッシュSX01にキャッシュ登録されていて(S1のYES),CMG1のL2キャッシュSX01には共有(Share)で登録されている(S2のYES,S3のYES)場合に,CMG0のL2キャッシュSX01が,キャッシュ登録されているデータを転送する(S5)動作である。
アクセス要求VIの動作は,図6において,CMG0のL2キャッシュSX01にキャッシュ登録されていて(S1のYES),CMG1のL2キャッシュSX01には登録されていない(S2のNO)場合に,CMG0のL2キャッシュSX01が,キャッシュ登録されているデータを転送する(S5)動作である。
アクセス要求VIIは,CMG0内のコア100(CORE_0)がCNG1側のメモリ11のアドレスBにリード要求(ロード要求)を行う。アクセス要求VIIは,上記のアクセス要求I〜VIのメモリ01のアドレスAにリード要求することとは,アクセス先が異なる。
L2キャッシュそれぞれが,自分のメモリのデータを他のL2キャッシュが持ち出しているか否かの情報を保持するディレクトリを保持しない実施例の場合は,次のような動作になる。
複数の演算処理部と,前記複数の演算処理部からのアクセス要求を処理する第1乃至第N(Nは正の整数)のキャッシュと,前記複数の演算処理部のアクセス要求を前記第1乃至第Nのキャッシュに供給するコアグループ内バスとをそれぞれ有する第1及び第2のコアグループと,
前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれと,前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれとの間に対応して設けられた第1乃至第Nのコアグループ間バスとを有し,
前記Nは複数であり,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,メモリの第1乃至第Nのメモリ空間それぞれのデータを個別に記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータを個別に記憶し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第1乃至第Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶する演算処理装置。
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第1乃至第Nのメモリ空間それぞれのデータについて,最新データを記憶していない場合に,前記第1乃至第Nのコアグループ間バスを介して前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれから前記最新データを取得して記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータについて,最新データを記憶していない場合に,前記第1乃至第Nのコアグループ間バスを介して前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれから前記最新データを取得して記憶する付記1に記載の演算処理装置。
前記第1乃至第Nのキャッシュは,それぞれ,キャッシュタグとキャッシュメモリとを有し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第1乃至第Nのコアグループ間バスを介して前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を変更し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第1乃至第Nのコアグループ間バスを介して前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を変更する付記1または2に記載の演算処理装置。
前記第1乃至第Nのキャッシュは,それぞれ,キャッシュタグとキャッシュメモリとを有し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第1乃至第Nのコアグループ間バスを介して前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を問い合わせし,前記ステータス情報を取得し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第1乃至第Nのコアグループ間バスを介して前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を問い合わせし,前記ステータス情報を取得する付記1または2に記載の演算処理装置。
前記ステータス情報は,前記キャッシュメモリにデータを記憶していない第1の状態と,前記メモリと同じデータを記憶している第2の状態と,前記メモリと異なる最新のデータを記憶している第3の状態とを少なくとも有する付記3または4に記載の演算処理装置。
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれが,前記メモリの第1乃至第Nのメモリ空間それぞれのデータを記憶しているか否かのディレクトリ情報を保持するディレクトリを有し,前記ディレクトリの前記ディレクトリ情報が最新のデータを記憶していることを示す場合に,前記コアグループ間バスを介して前記第2のコアグループの前記第1乃至第Nのキャッシュから前記最新データを取得する付記1または2に記載の演算処理装置。
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記ディレクトリの前記ディレクトリ情報が前記メモリと同じデータを記憶していることを示す場合に,前記メモリから前記キャッシュミスしたデータを取得する付記6に記載の演算処理装置。
前記第1,第2のコアグループが,第1乃至第Nの演算処理部を有し,
前記第1のコアグループ内の前記第1乃至第Nの演算処理部それぞれは,前記メモリの第1乃至第Nのメモリ空間から読み出したデータを,前記第1のコアグループ内の前記第1乃至第Nのキャッシュに登録し,
前記第2のコアグループ内の前記第1乃至第Nの演算処理部それぞれは,前記メモリの第N+1乃至第2Nのメモリ空間から読み出したデータを,前記第2のコアグループ内の前記第1乃至第Nのキャッシュに登録する付記1に記載の演算処理装置。
複数の演算処理部と,前記複数の演算処理部からのアクセス要求を処理する第1乃至第N(Nは正の整数)のキャッシュと,前記複数の演算処理部のアクセス要求を前記第1乃至第Nのキャッシュに供給するコアグループ内バスとをそれぞれ有する第1及び第2のコアグループと,
前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれと,前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれとの間に対応して設けられた第1乃至第Nのコアグループ間バスとを有し,
前記Nは複数である演算処理装置の制御方法であって,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,メモリの第1乃至第Nのメモリ空間それぞれのデータを個別に記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータを個別に記憶し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第1乃至第Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶する演算処理装置の制御方法。
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第1乃至第Nのメモリ空間それぞれのデータについて,最新データを記憶していない場合に,前記第1乃至第Nのコアグループ間バスを介して前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれから前記最新データを取得して記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータについて,最新データを記憶していない場合に,前記第1乃至第Nのコアグループ間バスを介して前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれから前記最新データを取得して記憶する
付記9に記載の演算処理装置の制御方法。
SX00-SX11:L2キャッシュ
MAC00-MAC03,MAC10-MAC13:メモリアクセスコントローラ
00-03,10-13:メインメモリ
B_0,B_1:第1のバス
B_00-B11:第2のバス
IN_P:要求入力ポート
R_IN_P:リモート要求入力ポート
R_OUT:リモート要求出力ポート
PIPE:キャッシュ制御部,キャッシュパイプライン
力する(S71)。CMG0内L2キャッシュSX01は,そのリード要求に応答して,タグ検索しステータス情報が無効(Invalid)であるので,キャッシュミスし(S72),コアグループ間バスB_01を利用して,CMG1のL2キャッシュSX01にリード要求を発行する(S73)。
Claims (9)
- 複数の演算処理部と,前記複数の演算処理部からのアクセス要求を処理する第1乃至第N(Nは正の整数)のキャッシュと,前記複数の演算処理部のアクセス要求を前記第1乃至第Nのキャッシュに供給するコアグループ内バスとをそれぞれ有する第1及び第2のコアグループと,
前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれと,前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれとの間に対応して設けられた第1乃至第Nのコアグループ間バスとを有し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,メモリの第1乃至第Nのメモリ空間それぞれのデータを個別に記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータを個別に記憶し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第1乃至第Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶する演算処理装置。 - 前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第1乃至第Nのメモリ空間それぞれのデータについて,最新データを記憶していない場合に,前記第1乃至第Nのコアグループ間バスを介して前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれから前記最新データを取得して記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータについて,最新データを記憶していない場合に,前記第1乃至第Nのコアグループ間バスを介して前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれから前記最新データを取得して記憶する請求項1に記載の演算処理装置。 - 前記第1乃至第Nのキャッシュは,それぞれ,キャッシュタグとキャッシュメモリとを有し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第1乃至第Nのコアグループ間バスを介して前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を変更し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第1乃至第Nのコアグループ間バスを介して前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を変更する請求項1または2に記載の演算処理装置。 - 前記第1乃至第Nのキャッシュは,それぞれ,キャッシュタグとキャッシュメモリとを有し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第1乃至第Nのコアグループ間バスを介して前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を問い合わせし,前記ステータス情報を取得し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第1乃至第Nのコアグループ間バスを介して前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を問い合わせし,前記ステータス情報を取得する請求項1または2に記載の演算処理装置。 - 前記ステータス情報は,前記キャッシュメモリにデータを記憶していない第1の状態と,前記メモリと同じデータを記憶している第2の状態と,前記メモリと異なる最新のデータを記憶している第3の状態とを少なくとも有する請求項3または4に記載の演算処理装置。
- 前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれが,前記メモリの第1乃至第Nのメモリ空間それぞれのデータを記憶しているか否かのディレクトリ情報を保持するディレクトリを有し,前記ディレクトリの前記ディレクトリ情報が最新のデータを記憶していることを示す場合に,前記コアグループ間バスを介して前記第2のコアグループの前記第1乃至第Nのキャッシュから前記最新データを取得する請求項1または2に記載の演算処理装置。
- 前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記ディレクトリの前記ディレクトリ情報が前記メモリと同じデータを記憶していることを示す場合に,前記メモリから前記キャッシュミスしたデータを取得する請求項6に記載の演算処理装置。
- 前記第1,第2のコアグループが,第1乃至第Nの演算処理部を有し,
前記第1のコアグループ内の前記第1乃至第Nの演算処理部それぞれは,前記メモリの第1乃至第Nのメモリ空間から読み出したデータを,前記第1のコアグループ内の前記第1乃至第Nのキャッシュに登録し,
前記第2のコアグループ内の前記第1乃至第Nの演算処理部それぞれは,前記メモリの第N+1乃至第2Nのメモリ空間から読み出したデータを,前記第2のコアグループ内の前記第1乃至第Nのキャッシュに登録する請求項1に記載の演算処理装置。 - 複数の演算処理部と,前記複数の演算処理部からのアクセス要求を処理する第1乃至第N(Nは正の整数)のキャッシュと,前記複数の演算処理部のアクセス要求を前記第1乃至第Nのキャッシュに供給するコアグループ内バスとをそれぞれ有する第1及び第2のコアグループと,
前記第1のコアグループ内の前記第1乃至第Nのキャッシュそれぞれと,前記第2のコアグループ内の前記第1乃至第Nのキャッシュそれぞれとの間に対応して設けられた第1乃至第Nのコアグループ間バスとを有する演算処理装置の制御方法であって,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,メモリの第1乃至第Nのメモリ空間それぞれのデータを個別に記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータを個別に記憶し,
前記第1のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第N+1乃至第2Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶し,
前記第2のコアグループの前記第1乃至第Nのキャッシュそれぞれは,前記メモリの第1乃至第Nのメモリ空間それぞれのデータに,前記第1乃至第Nのコアグループ間バスを介してアクセスし記憶する演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014090960A JP6213366B2 (ja) | 2014-04-25 | 2014-04-25 | 演算処理装置とその制御方法 |
US14/672,284 US9606917B2 (en) | 2014-04-25 | 2015-03-30 | Arithmetic processing apparatus and method for controlling same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014090960A JP6213366B2 (ja) | 2014-04-25 | 2014-04-25 | 演算処理装置とその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015210616A true JP2015210616A (ja) | 2015-11-24 |
JP6213366B2 JP6213366B2 (ja) | 2017-10-18 |
Family
ID=54334915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014090960A Active JP6213366B2 (ja) | 2014-04-25 | 2014-04-25 | 演算処理装置とその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9606917B2 (ja) |
JP (1) | JP6213366B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019049872A (ja) * | 2017-09-11 | 2019-03-28 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP2020533705A (ja) * | 2017-09-13 | 2020-11-19 | グーグル エルエルシー | 量子エラー訂正 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816474A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | マルチプロセッサシステム |
JPH10260897A (ja) * | 1997-03-21 | 1998-09-29 | Toshiba Corp | キャッシュシステム |
US5901281A (en) * | 1991-01-25 | 1999-05-04 | Hitachi, Ltd. | Processing unit for a computer and a computer system incorporating such a processing unit |
US20070043911A1 (en) * | 2005-08-17 | 2007-02-22 | Sun Microsystems, Inc. | Multiple independent coherence planes for maintaining coherency |
US20110197028A1 (en) * | 2010-02-05 | 2011-08-11 | Nokia Corporation | Channel Controller For Multi-Channel Cache |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192451B1 (en) * | 1998-02-17 | 2001-02-20 | International Business Machines Corporation | Cache coherency protocol for a data processing system including a multi-level memory hierarchy |
US6668308B2 (en) * | 2000-06-10 | 2003-12-23 | Hewlett-Packard Development Company, L.P. | Scalable architecture based on single-chip multiprocessing |
US7225300B1 (en) * | 2004-09-15 | 2007-05-29 | Azul Systems, Inc | Duplicate snoop tags partitioned across multiple processor/cache chips in a multi-processor system |
US8145870B2 (en) * | 2004-12-07 | 2012-03-27 | International Business Machines Corporation | System, method and computer program product for application-level cache-mapping awareness and reallocation |
US20060143384A1 (en) | 2004-12-27 | 2006-06-29 | Hughes Christopher J | System and method for non-uniform cache in a multi-core processor |
US7444494B2 (en) * | 2005-05-31 | 2008-10-28 | International Business Machines Corporation | Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a history-based prediction |
US8402201B2 (en) * | 2006-12-06 | 2013-03-19 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery in solid-state storage |
US8966491B2 (en) * | 2012-04-27 | 2015-02-24 | Oracle International Corporation | System and method for implementing NUMA-aware reader-writer locks |
-
2014
- 2014-04-25 JP JP2014090960A patent/JP6213366B2/ja active Active
-
2015
- 2015-03-30 US US14/672,284 patent/US9606917B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5901281A (en) * | 1991-01-25 | 1999-05-04 | Hitachi, Ltd. | Processing unit for a computer and a computer system incorporating such a processing unit |
JPH0816474A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | マルチプロセッサシステム |
JPH10260897A (ja) * | 1997-03-21 | 1998-09-29 | Toshiba Corp | キャッシュシステム |
US20070043911A1 (en) * | 2005-08-17 | 2007-02-22 | Sun Microsystems, Inc. | Multiple independent coherence planes for maintaining coherency |
US20110197028A1 (en) * | 2010-02-05 | 2011-08-11 | Nokia Corporation | Channel Controller For Multi-Channel Cache |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019049872A (ja) * | 2017-09-11 | 2019-03-28 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP7100237B2 (ja) | 2017-09-11 | 2022-07-13 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP2020533705A (ja) * | 2017-09-13 | 2020-11-19 | グーグル エルエルシー | 量子エラー訂正 |
US11740962B2 (en) | 2017-09-13 | 2023-08-29 | Google Llc | Quantum error correction |
Also Published As
Publication number | Publication date |
---|---|
US20150309934A1 (en) | 2015-10-29 |
JP6213366B2 (ja) | 2017-10-18 |
US9606917B2 (en) | 2017-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6636949B2 (en) | System for handling coherence protocol races in a scalable shared memory system based on chip multiprocessing | |
US7814279B2 (en) | Low-cost cache coherency for accelerators | |
US6675265B2 (en) | Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants | |
JP3722415B2 (ja) | 効率的なバス機構及びコヒーレンス制御を有する繰り返しチップ構造を有するスケーラブル共用メモリ・マルチプロセッサ・コンピュータ・システム | |
US6738868B2 (en) | System for minimizing directory information in scalable multiprocessor systems with logically independent input/output nodes | |
US6925537B2 (en) | Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants | |
JP5440067B2 (ja) | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 | |
US8812786B2 (en) | Dual-granularity state tracking for directory-based cache coherence | |
US20080098178A1 (en) | Data storage on a switching system coupling multiple processors of a computer system | |
JPH05128071A (ja) | 多重プロセツサ・システムの性能の最適化装置及び方法 | |
JPH0340046A (ja) | キャッシュメモリ制御方式および情報処理装置 | |
JPH10124394A (ja) | キャッシュ・コヒーレンシを維持する方法および装置 | |
JP2002032265A (ja) | キャッシュ・アクセス制御方式およびデータ処理システム | |
CN115292214A (zh) | 页表预测方法、存储访问操作方法、电子装置和电子设备 | |
JP4507563B2 (ja) | マルチプロセッサシステム | |
WO2010038301A1 (ja) | メモリアクセス方法及び情報処理装置 | |
US20090240893A1 (en) | Information processing device, memory control method, and memory control device | |
JP2007156821A (ja) | キャッシュシステム及び共用2次キャッシュ | |
JP6213366B2 (ja) | 演算処理装置とその制御方法 | |
US7562190B1 (en) | Cache protocol enhancements in a proximity communication-based off-chip cache memory architecture | |
KR19990085485A (ko) | 분산 공유 메모리 시스템에서 미세 통신과 대단위 통신의 병합을 위한 적응형 입도 방법 | |
WO2024066195A1 (zh) | 缓存管理方法及装置、缓存装置、电子装置和介质 | |
WO2006040689A1 (en) | Implementation and management of moveable buffers in cache system | |
US9983994B2 (en) | Arithmetic processing device and method for controlling arithmetic processing device | |
WO2002008910A1 (en) | Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170815 |
|
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: 20170822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170904 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6213366 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |