JP2000259596A

Multiprocessor system and consistency maintaining method for data for the same

Abstract

[Task] Reduce load access latency and prevent message growth in loosely coupled multiprocessor systems.

Solution.It is a multiprocessor system composed of a plurality of nodes PE0 to PEn-1 connected to each other via an interconnect network, and each of the plurality of nodes PE0 to PEn-1 has a main memory 30 in which data is stored and a main memory 30. A cache memory 21 that stores a part of the data stored in the main memory 30 provided by any of the plurality of nodes PE0 to PEn-1 and can be accessed at a higher speed than the main memory 30, and a data access request. The issuing processor 20 and the state of the data stored in the main memory 30 and a copy of the data are held in the cache memory 21 and the node information is stored, and the processor 20 loads and stores the data at a predetermined address. When an access is made, the consistency maintenance control unit 16 that checks whether a valid copy of the data at the corresponding address exists in the cache memory 21 is provided, and the latency of the load access can be shortened.

JP2000259596A, drawing sheet 1
Sheet 1 of 18

Term

Term ended

Projected expiry passed 9 March 2019, 7.5 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

11 claims: 2 independent, 9 dependent

  1. 1
    【特許請求の範囲】 【請求項1】 相互結合網を介して互いに接続された複数のノードから構成される マルチプロセッサシステムであって、 前記複数のノードはそれぞれデータが格納される主メモリと、 前記複数のノードのいずれかが備える主メモリに格納されているデータの一部が記憶される、前記主メモリよりも高速アクセスが可能なキャッシュメモリと、 データのアクセス要求を発行するプロセッサと、 前記主メモリのデータがシステム内でどういう状態にあるのか管理し、前記キャッシュメモリにあるデータのコピーの状態を管理し、前記プロセッサが所定のアドレスのデータに対してロードおよびストアアクセスを行ったとき、メモリアクセスに応じてノードPEi間でメッセージをやり取りし、それらの状態を変更したりデータの転送を行う機能を有する一貫性維持制御部と、を有し、前記一貫性維持制御部は、 前記キャッシュメモリに記憶されているデータの状態が記憶されるタグメモリと、 前記主メモリに記憶されているデータの状態が記憶されるディレクトリメモリと、 前記プロセッサからのアクセス要求、前記複数のノードが備えるホームアクセス制御部が発行する要求や応答を受け、前記キャッシュメモリやタグメモリに対しては一貫性維持のために必要な処理を行い、前記プロセッサに対してはアクセス要求に対する応答を行うローカルアクセス制御部と、 前記複数のノードが備える前記ローカルアクセス制御部が発行する要求や応答を受けて、前記主メモリやディレクトリメモリに対して一貫性維持のために必要な処理を行い、前記ローカルアクセス制御部に要求や応答を発行するホームアクセス制御部と、 前記プロセッサが同時に発行可能なメモリアクセスの最大数に対応するエントリを有するリクエスト管理テーブルと、 共有しているブロックに対して書き込みを行い前記キャッシュメモリに専有することになったブロックを記憶する書き戻しブロック選択手段と、を具備することを特徴とするマルチプロセッサシステム。
  2. 2
    【請求項2】 請求項1に記載のマルチプロセッサシステムにおいて、 前記書き戻しブロック選択手段は、前記ローカルアクセス手段が指定するアドレスを登録するアドレス登録手段と、 前記アドレス登録手段により登録されたアドレスを複数保持するアドレス保持手段と、 前記アドレス保持手段に格納された複数のアドレスから一つを選択して前記ローカルアクセス制御部に出力し、データの書き戻しを要求する書き戻し要求手段と、 前記ローカルアクセス制御部の指示に従い、前記書き戻し要求手段が選択しているエントリを削除するアドレス削除手段と、を具備することを特徴とするマルチプロセッサシステム。
  3. 3
    【請求項3】 請求項1に記載のマルチプロセッサシステムにおいて、 前記ローカルアクセス制御部は、前記書き戻しブロック選択手段に記憶されたブロックを前記キャッシュメモリから読み出し、データに書き戻し要求を前記ホームアクセス制御部に発行し、前記ローカルアクセス制御部が発行するデータの書き戻し要求を受けて前記主メモリにデータを書き戻すことを特徴とするマルチプロセッサシステム。
  4. 4
    【請求項4】 請求項3に記載のマルチプロセッサシステムにおいて、 前記ローカルアクセス制御部は、前記プロセッサへのデータの書き込み要求アクセスを受けて書き込み要求を前記ホームアクセス制御部に発行し、該書き込み要求を受けて、データを複数のノードが共有しているかどうかを示す前記ディレクトリメモリに保持されているデータの状態からデータが共有状態にあるのかどうかを判断し、その判断結果を前記ローカルアクセス制御部に発行する応答に付加して該ローカルアクセス制御部に応答を返し、その応答を受け前記ローカルアクセス制御部が前記複数のノードが共有状態にあるのかどうかの情報を元に、前記書き戻しブロック選択手段にブロックへの登録の有無を決定することを特徴とするマルチプロセッサシステム。
  5. 5
    【請求項5】 請求項4に記載のマルチプロセッサシステムにおいて、 前記ホームアクセス制御部は、許容する書き戻し回数を制限する閾値を有し、前記ローカルアクセス制御部から書き込み要求を受けたときに、それらの情報を元に実際にブロックを共有しているかどうかを判断することを特徴とするマルチプロセッサシステム。
  6. 6
    【請求項6】 請求項5に記載のマルチプロセッサシステムにおいて、 前記ホームアクセス制御部は、許容する書き戻し回数を制限する閾値を有し、前記ローカルアクセス制御部から書き込み要求を受けたときに、前記閾値と前記ディレクトリメモリに保持されている情報を元に実際にブロックが共有状態にあるかどうかを判断することを特徴とするマルチプロセッサシステム。
  7. 7
    【請求項7】 請求項6に記載のマルチプロセッサシステムにおいて、 前記ディレクトリメモリは、書き戻しを受けた回数およびデータが共有状態にあっても実際にブロックを保持するノードが一つの場合は そのノードを特定することができる情報を有していることを特徴とするマルチプロセッサシステム。
  8. 8
    【請求項8】 相互結合網を介して互いに接続された複数のノードから構成される マルチプロセッサシステムであって、前記複数のノードはそれぞれ、データが格納される主メモリと、 前記複数のノードのいずれかが備える主メモリに格納されているデータの一部が記憶される、前記主メモリよりも高速アクセスが可能な キャッシュメモリと、 データのアクセス要求を発行するプロセッサと、 前記主メモリ内のデータがシステム内でどういう状態にあるのか判断し、前記キャッシュメモリにあるデータのコピーの状態を管理し、前記プロセッサが所定のアドレスのデータに対してロードおよびストアアクセスを行ったとき、メモリアクセスに応じて、ノードPEi間でメッセージをやり取りし、それらの状態を変更したりデータの転送を行う機能を有する一貫性維持制御部と、を有し、前記一貫性維持制御部は、 前記キャッシュメモリに記憶されているデータの状態が記憶されるタグメモリと、 前記プロセッサからのアクセス要求、前記複数のノードが備えるホームアクセス制御部が発行する要求や応答を受け、前記キャッシュメモリやタグメモリに対しては一貫性維持のために必要な処理を行い、前記プロセッサに対してはアクセス要求に対する応答を行うローカルアクセス制御部と、 前記複数のノードが備える前記ローカルアクセス制御部が発行する要求や応答を受けて、前記主メモリやディレクトリメモリに対して一貫性維持のために必要な処理を行い、前記ローカルアクセス制御部に要求や応答を発行するホームアクセス制御部と、 前記プロセッサが同時に発行可能なメモリアクセスの最大数に対応するエントリを有するリクエスト管理テーブルと、 共有しているブロックに対して書き込みを行い前記キャッシュメモリに専有することになったブロックを記憶する書き戻しブロック選択手段と、を具備することを特徴とするマルチプロセッサシステム。
  9. 9
    【請求項9】 請求項1または8に記載のマルチプロセッサシステムにおいて、 前記一貫性維持制御部に含まれるローカルアクセス制御部とホームアクセス制御部は、前記プロセッサが前記主メモリに格納された処理プログラムを実行することにより実現されることを特徴とするマルチプロセッサシステム。
  10. 10
    【請求項10】 請求項1または8に記載のマルチプロセッサシステムにおいて、 前記一貫性維持制御部に含まれるローカルアクセス制御部とホームアクセス制御部は、前記プロセッサとは別に設けられた専用のサブプロセッサが、前記主メモリに格納されたプログラムを実行することにより実現されることを特徴とするマルチプロセッサシステム。
  11. 11
    【請求項11】 請求項1または8に記載のマルチプロセッサシステムにおいて、 前記一貫性維持制御部に含まれるローカルアクセス制御部とホームアクセス制御部は、それぞれモジュールの機能を実現するための専用のロジックに従って構成された専用のハードウェアを装備していることを特徴とするマルチプロセッサシステム。
Independent claims11