JP2015170313A - 演算処理装置および演算処理装置の制御方法 - Google Patents
演算処理装置および演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP2015170313A JP2015170313A JP2014046912A JP2014046912A JP2015170313A JP 2015170313 A JP2015170313 A JP 2015170313A JP 2014046912 A JP2014046912 A JP 2014046912A JP 2014046912 A JP2014046912 A JP 2014046912A JP 2015170313 A JP2015170313 A JP 2015170313A
- Authority
- JP
- Japan
- Prior art keywords
- request
- arithmetic processing
- management data
- unit
- processing 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.)
- Granted
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
【解決手段】自装置に対応する主記憶装置をそれぞれ管理するともに、他の演算処理装置が管理する他の主記憶装置に他の演算処理装置を通じてアクセス可能な演算処理装置において、自装置に対応する主記憶装置と他の主記憶装置のそれぞれの記憶領域ごとに、記憶領域がアクセスされたときに設定される管理データの設定または読み出しを行う管理データ制御部と、自装置に対応する主記憶装置2A又は他の主記憶装置のいずれかの記憶領域にアクセスされた場合、アクセスされた記憶領域に対応する管理データの読み出しよりも管理データの設定を優先して実行させる要求処理部と、を備える。
【選択図】図4
Description
1.CPU0 ST (A) ・・・ CPU0がAというアドレスにデータをストアした。ストアに伴って、SET−RC (A)が発行される。
2.CPU1 LD (A) ・・・ CPU1がAというアドレスのデータを読み出した。
3.CPU1 ISK (A) ・・・ CPU1がAというアドレスを含む一定範囲の記憶領域に対応するKEYデータを読み出す命令を発行する。
rm Memory Access)型の大規模SMP(Symmetric multiprocessing)構成の演算処理装置の構成を例示する。図1の演算処理装置は、複数のシステムボードを有する。また、各システムボードは、複数のCPU(CPU1−LSI、CPU2−LSI、CPU3−LSI等)と、複数のSC(System Controller; SC1−LSI、SC2−LSI、SC3−LSI等)と、複数に区分された主記憶(MEM、メインストレージ)とを有する。さらに、各CPUは、例えば、複数の演算コアと、キャッシュ制御部と、外部インターフェース部とを有する。一方、各SCは、CPUポート部と、キャッシュTAG情報部と、メモリコントローラと、KEY制御部とを有する。各CPUの外部インターフェース部と、それぞれのCPUに対応するSCのCPUポート部とが接続されている。また、各システムボードのSCは、他のシステムボードのSCと、例えば、インターコネクトと呼ばれる伝送路で接続される。
ところで、上述のように要求がSCに入ってからは、KEYデータに関係する要求の実行順序が保証される。一方、要求の発行元であるCPU側でもKEYデータに関係する要求の実行順序を保証する仕組みが求められる。ところで、CPUの外部インターフェース部では要求種別ごとにキューが分かれている。つまり、CPUの外部インターフェース部は、要求された順序とは無関係にSCに対して、要求種別間で平等に要求を発行する。
して(S3)、実際にデータを保持しているCPU0へとデータの読み出し要求(吐き出し要求ともいう)が発行される(S4)。吐き出し要求を受けたCPU0の演算コアによって読み出されたデータは外部インターフェース部を経由してSCへと応答される。このときストア(ST)されて更新されたデータの読み出しがSET−RCを追い抜いてしまうと、管理データ(KEY)が更新されていない状態でデータの更新が他のCPUへ伝わってしまう。そのため、外部インターフェース部内のキュー取り出し部は、管理データ(KEY)の設定要求(SET−RC)がキュー内からなくなるまで読み出し要求に対するデータの応答をSCへは発行しない。
ア間、あるいは複数のプロセッサ間で管理データの順序を制御する制御部(SC)をなくそうとすると、管理データ(KEY)特有の順序保証、例えば、主記憶へのアクセスに対応する管理データの設定前に、当該管理データを読み出さないようにするような制御をどのように実現するか、という課題が生じる。
図3から図7を参照して、実施例1に係る演算処理装置を説明する。図3に、実施例1に係るNUMA型の演算処理装置10の構成を例示する。演算処理装置10は、複数のCPU0, CPU1等と、CPU0およびCPU1等からアクセスされる主記憶(MEM)2を有する。ただし、図3では、CPU0の管理化にある主記憶2の部分を主記憶2Aといい、CPU1の管理化にある主記憶の部分を主記憶2Bという。主記憶2A、2Bを総称する場合には、主記憶2ということにする。主記憶2A、2Bが主記憶装置の一例である。ここで、主記憶2A(2B)がCPU0(CPU1)の管理化にあるとは、例えば、CPU0(CPU1)が、主記憶2Aへのデータ書き込み、および読み出しを行うとともに、主記憶2A(2B)の状態を管理していることをいう。また、主記憶2A(2B)の状態としては、主記憶2A(2B)のデータがCPU0(CPU1)以外の他のCPUにCPU0(CPU1)を介して引き渡されて、読み出し中であるような状態が例示される。CPU0(CPU1)は、自身が管理する主記憶2A(2B)にアクセスするとともに、相手のCPU1(CPU0)を介して、相手のCPU1(CPU0)が管理する主記憶2B(2A)にアクセスする。したがって、演算処理装置10は、CPU0,CPU1等から主記憶2A、2Bへのアクセス時間が非均等なシステムであるNUMA型のシステムであるということができる。なお、CPU0、CPU1は、演算処理部の一例である。ただし、CPU0、CPU1は、演算処理装置の一例ということもできる。
演算処理装置10内の各CPU、例えば、CPU0とCPU1とは、インターコネクトと呼ばれる伝送路3により接続されている。
、13Bをキャッシュ制御部13と呼び、KEY制御部14A、14BをKEY制御部14と呼び、KEYリクエスト処理部15A、15BをKEYリクエスト処理部15と呼ぶことにする。
本実施例1では、各CPUチップは、KEYリクエスト処理部というモジュールを有する。図4に、CPU0のKEYリクエスト処理部15Aの構成を例示する。KEYリクエスト処理部15Aは、KEYデータの設定または読み出し等の要求(以下、リクエストという)を受け付けるポート部151と、どのリクエストを受理するかを決定するプライオリティ部152と、選ばれたリクエストをKEY制御部14Aへと発行するための出力部である出力バッファ153を有する。
エストは2つのグループに分類される。2つの分類は、MO系リクエスト(Move−Out:KEY書き込み系要求)とMI系リクエスト(Move−In:KEY参照系要求)と呼ばれる。MO系リクエストが、設定要求の一例である。また、MI系リクエストが読み出し要求の一例である。
図5、図6に比較例に係る演算処理装置の制御シーケンスチャートを例示する。図5はCPU0が行ったストア(ST)命令の操作により発行されたSET−RC命令がCPU0の外部インターフェース部内の送信バッファ部に残っている状態でCPU1からアドレス(A)に対してデータのロード(LD)命令が発行された場合の動作を例示している。図のように要求されたデータの応答はCPU0内の外部インターフェース部で止められ、SET−RC(A)が処理されSCへ発行されるまでロード(LD)命令が先に処理されることはない。
ができ、要求データは要求元であるCPU1へと応答される。応答データの到着を期にCPU1上でLD(A)命令を発行したプログラムの後続命令であるISK(A)命令が発行される。ISK(A)命令はメインストレージ上にあるKEYデータを読み出してCPUのレジスタにセットする動作を行う。比較例のシーケンスでは、ISK(A)命令が発行されるとき、既にSET−RC(A)は処理された後なので、KEYデータが突き放し型の書き込み命令(posted write命令)で設定される場合でも、KEYデータの順序を保証した動作が可能となる。
図7に実施例1の方式を適用したシーケンスチャートを例示する。上記比較例での処理と同様に、CPU0がストア(ST)命令を実行することによってSET−RC(A)命令がKEYリクエスト処理部15へ送られる。このとき、SET−RC(A)命令の処理を担当するKEYリクエスト処理部15はCPU0側にあってもよいし、CPU1側にあってもよい。例えば、自CPUが管理する主記憶の部分に含まれないアドレスへのKEYリクエスト処理部へはチップ間インターコネクトを使って、SET−RC(A)命令のアドレス(A)を管理するCPUにリクエストが送出される。なお、主記憶の部分、例えば、主記憶2Aを管理するCPUと、主記憶2AのKEYを管理するCPUが一致しなくてもよい。例えば、CPU0が主記憶2Aを管理し、CPU1が主記憶2AのKEYデータを管理してもよい。
実施例1のリクエスト処理部15によれば、KEYリクエスト処理部15のポート部15にリクエストがセットされた時点で、処理順序を守って、リクエストが処理されることが保証できる。したがって、例えば、CPUは、KEYデータを突き放し型の書き込み命令(posted write命令)で設定する場合でも、リクエストをポート部151にセットした時点で、リクエストの処理完了とみなして次のリクエストの発行、処理の続行等が可能と
なる。
図8を参照して、実施例2にかかる演算処理装置のKEYリクエスト処理部15Cを説明する。上記実施例1では、ポート部151に入力されたリクエストをプライオリティ部152により、MI系リクエストよりM0系リクエストを優先して処理するKEYリクエスト処理部15について説明した。実施例1のポート部151は、図4のように、ローカルMO用のポート、リモートのMO用のポート、ローカルのMI用のポート、およびリモートMI用のポートを有している。実施例2では、実施例1よりもさらに複雑なポート部を有するKEYリクエスト処理部を例示する。実施例2の演算処理装置の他の構成は、実施例1の演算処理装置10と同様である。そこで、同一の構成要素については、同一の符号を付してその説明を省略する。
2A、2B 主記憶
3 伝送路
11A、11B 演算コア
12A、12B メモリコントローラ
13A、13B キャッシュ制御部
14A、14B KEY制御部
15A、15B KEYリクエスト処理部
151、151C ポート部
152、152C プライオリティ部
153、153C 出力バッファ
Claims (7)
- 自装置に対応する主記憶装置をそれぞれ管理するともに、他の演算処理装置が管理する他の主記憶装置に前記他の演算処理装置を通じてアクセス可能な演算処理装置において、
前記自装置に対応する主記憶装置と前記他の主記憶装置のそれぞれの記憶領域ごとに、前記記憶領域がアクセスされたときに設定される管理データの設定または読み出しを行う管理データ制御部と、
前記自装置に対応する主記憶装置又は前記他の主記憶装置のいずれかの記憶領域にアクセスされた場合、アクセスされた前記記憶領域に対応する管理データの読み出しよりも前記管理データの設定を優先して実行させる要求処理部と、を備える演算処理装置。 - 前記要求処理部は、前記管理データの設定を要求する設定要求を記憶する第1の先入れ先出し記憶部と、
前記管理データの読み出しを要求する読み出し要求を記憶する第2の先入れ先出し記憶部と、
前記第2の先入れ先出し記憶部からの読み出し要求よりも前記第1の先入れ先出し記憶部からの設定要求を優先して選択する選択回路と、を有する請求項1に記載の演算処理装置。 - 前記管理データ制御部は、書き込み要求が完了したことを示す応答が返されない命令により、前記管理データを前記主記憶装置に設定する請求項1または2に記載の演算処理装置。
- 自装置に対応する主記憶装置をそれぞれ管理するともに、他の演算処理装置が管理する他の主記憶装置に前記他の演算処理装置を通じてアクセス可能な演算処理装置の制御方法において、
前記自装置に対応する主記憶装置又は前記他の主記憶装置の記憶領域にアクセスするステップと、
前記自装置に対応する主記憶装置又は前記他の主記憶装置のいずれかの記憶領域にアクセスされた場合、主記憶装置のそれぞれの記憶領域ごとに設けられた、アクセスされた前記記憶領域に対応する管理データの読み出しよりも前記管理データの設定を優先して実行させる処理ステップと、を有する演算処理装置の制御方法。 - 前記処理ステップは、
前記管理データの設定を要求する設定要求を第1の先入れ先出し記憶部に記憶するステップと、
前記管理データの読み出しを要求する読み出し要求を第2の先入れ先出し記憶部に記憶するステップと、
前記第2の先入れ先出し記憶部からの読み出し要求よりも前記第1の先入れ先出し記憶部からの設定要求を優先して選択するステップと、を有する請求項4に記載の演算処理装置の制御方法。 - 書き込み要求が完了したことを示す応答が返されない命令により、前記管理データを前記主記憶装置に設定するステップをさらに有する請求項4または5に記載の演算処理装置の制御方法。
- 自装置に対応する主記憶装置をそれぞれ管理するともに、他の演算処理部が管理する他の主記憶装置に前記他の演算処理部を通じてアクセス可能な複数の演算処理部を有する演算処理装置であって、前記それぞれの演算処理部が、
前記自装置に対応する主記憶装置と前記他の主記憶装置のそれぞれの記憶領域ごとに、
前記記憶領域がアクセスされたときに設定される管理データの設定または読み出しを行う管理データ制御部と、
前記自装置に対応する主記憶装置又は前記他の主記憶装置のいずれかの記憶領域にアクセスされた場合、アクセスされた前記記憶領域に対応する管理データの読み出しよりも前記管理データの設定を優先して実行させる要求処理部と、を備える演算処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014046912A JP6303632B2 (ja) | 2014-03-10 | 2014-03-10 | 演算処理装置および演算処理装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014046912A JP6303632B2 (ja) | 2014-03-10 | 2014-03-10 | 演算処理装置および演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015170313A true JP2015170313A (ja) | 2015-09-28 |
JP6303632B2 JP6303632B2 (ja) | 2018-04-04 |
Family
ID=54202944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014046912A Active JP6303632B2 (ja) | 2014-03-10 | 2014-03-10 | 演算処理装置および演算処理装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6303632B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6146508B1 (ja) * | 2016-03-31 | 2017-06-14 | 日本電気株式会社 | 同期処理ユニット、デバイス、システムおよび方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60134361A (ja) * | 1983-12-23 | 1985-07-17 | Hitachi Ltd | キ−ストレ−ジ制御方式 |
JPH05143464A (ja) * | 1991-11-22 | 1993-06-11 | Fujitsu Ltd | 主記憶キーアクセス制御方式 |
US20040066758A1 (en) * | 2002-10-03 | 2004-04-08 | Van Doren Stephen R. | Channel-based late race resolution mechanism for a computer system |
WO2012070291A1 (ja) * | 2010-11-26 | 2012-05-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | キャッシュコヒーレンシ制御の方法、システムおよびプログラム |
-
2014
- 2014-03-10 JP JP2014046912A patent/JP6303632B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60134361A (ja) * | 1983-12-23 | 1985-07-17 | Hitachi Ltd | キ−ストレ−ジ制御方式 |
JPH05143464A (ja) * | 1991-11-22 | 1993-06-11 | Fujitsu Ltd | 主記憶キーアクセス制御方式 |
US20040066758A1 (en) * | 2002-10-03 | 2004-04-08 | Van Doren Stephen R. | Channel-based late race resolution mechanism for a computer system |
WO2012070291A1 (ja) * | 2010-11-26 | 2012-05-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | キャッシュコヒーレンシ制御の方法、システムおよびプログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6146508B1 (ja) * | 2016-03-31 | 2017-06-14 | 日本電気株式会社 | 同期処理ユニット、デバイス、システムおよび方法 |
JP2017182533A (ja) * | 2016-03-31 | 2017-10-05 | 日本電気株式会社 | 同期処理ユニット、デバイス、システムおよび方法 |
US10198375B2 (en) | 2016-03-31 | 2019-02-05 | Nec Corporation | Synchronization processing unit, device, and system |
Also Published As
Publication number | Publication date |
---|---|
JP6303632B2 (ja) | 2018-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110741356B (zh) | 多处理器系统中的中继一致存储器管理 | |
US11036650B2 (en) | System, apparatus and method for processing remote direct memory access operations with a device-attached memory | |
JP5787629B2 (ja) | マシンビジョン用マルチプロセッサシステムオンチップ | |
US10169080B2 (en) | Method for work scheduling in a multi-chip system | |
US7120755B2 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
US9529532B2 (en) | Method and apparatus for memory allocation in a multi-node system | |
JP4439491B2 (ja) | マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法 | |
US6351784B1 (en) | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction | |
JP2012038293A5 (ja) | ||
CN114756502A (zh) | 片上原子事务引擎 | |
US20150254182A1 (en) | Multi-core network processor interconnect with multi-node connection | |
US10592459B2 (en) | Method and system for ordering I/O access in a multi-node environment | |
US9372800B2 (en) | Inter-chip interconnect protocol for a multi-chip system | |
JP2018045700A (ja) | ネットワークプロセッサにおけるマルチコア相互接続 | |
US20120311266A1 (en) | Multiprocessor and image processing system using the same | |
US8095617B2 (en) | Caching data in a cluster computing system which avoids false-sharing conflicts | |
US6347349B1 (en) | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction | |
JP6303632B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP4856413B2 (ja) | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 | |
JP2006313479A (ja) | 半導体集積回路装置及びデータ転送方法 | |
US20010037426A1 (en) | Interrupt handling via a proxy processor | |
JP2011028343A (ja) | 演算処理装置、およびデータ転送方法 | |
JP2002198987A (ja) | ハブおよびポート付き転送コントローラのアクティブ・ポート | |
US7136980B2 (en) | Computer system implementing synchronized broadcast using skew control and queuing | |
JP2009037639A (ja) | ストリーミングidメソッドによるdmac発行メカニズム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180129 |
|
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: 20180206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6303632 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |