JPH0512220A - マルチプロセツサシステム - Google Patents
マルチプロセツサシステムInfo
- Publication number
- JPH0512220A JPH0512220A JP16595891A JP16595891A JPH0512220A JP H0512220 A JPH0512220 A JP H0512220A JP 16595891 A JP16595891 A JP 16595891A JP 16595891 A JP16595891 A JP 16595891A JP H0512220 A JPH0512220 A JP H0512220A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- packet
- address
- memory
- system bus
- 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.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Abstract
(57)【要約】
【目的】 マルチプロセッサシステムにおけるシステム
バスのトラフィックを削減し、システムのスループット
を向上させる。 【構成】 それぞれ別のシステムバス29,30を中心
とした複数のマルチプロセッサシステムのブロックA,
Bがそれぞれルータ43,44を介してバックプレーン
バス31に接続される。各メモリ間或いはプロセッサ−
メモリ間のデータ転送は、要求先アドレスが付加された
パケットを使用して行われる。各システムバス29,3
0上或いはバックプレーンバス31上のパケットの内容
はルータ43,44において解析され、パケットの要求
先アドレスがシステムバス内のメモリアドレスであるか
否かに応じてバス間のパケットの転送の可否が制御され
る。
バスのトラフィックを削減し、システムのスループット
を向上させる。 【構成】 それぞれ別のシステムバス29,30を中心
とした複数のマルチプロセッサシステムのブロックA,
Bがそれぞれルータ43,44を介してバックプレーン
バス31に接続される。各メモリ間或いはプロセッサ−
メモリ間のデータ転送は、要求先アドレスが付加された
パケットを使用して行われる。各システムバス29,3
0上或いはバックプレーンバス31上のパケットの内容
はルータ43,44において解析され、パケットの要求
先アドレスがシステムバス内のメモリアドレスであるか
否かに応じてバス間のパケットの転送の可否が制御され
る。
Description
【0001】
【産業上の利用分野】本発明は、いくつかのプロセッサ
とキャッシュメモリとメモリからなるプロセッサシステ
ムのブロックを更に複数ブロック接続したマルチプロセ
ッサシステムに関し、特に各ブロック間のデータがルー
タを介してパケット形式で送られるマルチプロセッサシ
ステムに関する。
とキャッシュメモリとメモリからなるプロセッサシステ
ムのブロックを更に複数ブロック接続したマルチプロセ
ッサシステムに関し、特に各ブロック間のデータがルー
タを介してパケット形式で送られるマルチプロセッサシ
ステムに関する。
【0002】
【従来の技術】効率よくデータ処理を行うためのシステ
ムとして、共通のメモリに対して複数のプロセッサがそ
れぞれキャッシュメモリを介して接続されたマルチプロ
セッサシステムが知られている。更に、大量のデータを
高速で処理するために、複数のマルチプロセッサシステ
ムをバックプレーンバス結合して使用することも知られ
ている(例えば、“Unix 4.2BSDとX−Wi
ndow搭載のソフトウエア開発向き32ビットワーク
ステーション”,日経エレクトロニクス1986.1
2.29(no.411),p104〜105参照)。
ムとして、共通のメモリに対して複数のプロセッサがそ
れぞれキャッシュメモリを介して接続されたマルチプロ
セッサシステムが知られている。更に、大量のデータを
高速で処理するために、複数のマルチプロセッサシステ
ムをバックプレーンバス結合して使用することも知られ
ている(例えば、“Unix 4.2BSDとX−Wi
ndow搭載のソフトウエア開発向き32ビットワーク
ステーション”,日経エレクトロニクス1986.1
2.29(no.411),p104〜105参照)。
【0003】図10は従来の複数ブロックからなるマル
チプロセッサシステムを示している。
チプロセッサシステムを示している。
【0004】この従来のマルチプロセッサシステムは、
データ処理を行うプロセッサ1〜4、プログラムやデー
タを蓄える一次記憶装置であるメモリ14,15の一部
分のコピーを持つことでプロセッサを高速に動作させる
キャッシュメモリ5〜8、パケットデータが出力される
システムバス9,10、二つのシステムバス9,10を
バスバファ19,20を介して接続するバックプレーン
バス11、それぞれのキャッシュメモリ5〜8がシステ
ムバスの使用権を獲得するための調停に使用されるバス
調停信号線16,17とからなっている。
データ処理を行うプロセッサ1〜4、プログラムやデー
タを蓄える一次記憶装置であるメモリ14,15の一部
分のコピーを持つことでプロセッサを高速に動作させる
キャッシュメモリ5〜8、パケットデータが出力される
システムバス9,10、二つのシステムバス9,10を
バスバファ19,20を介して接続するバックプレーン
バス11、それぞれのキャッシュメモリ5〜8がシステ
ムバスの使用権を獲得するための調停に使用されるバス
調停信号線16,17とからなっている。
【0005】上述のマルチプロセッサシステムは、シス
テムバス9を中心とした第1のブロックAとシステムバ
ス10を中心とした第2のブロックBとに分かれてお
り、両ブロックは、バスバッファ19,20を介してバ
ックプレーンバス11により接続されている。なお、1
8はバックプレーンバス11の使用権を獲得するために
使用されるバス調停信号線である。
テムバス9を中心とした第1のブロックAとシステムバ
ス10を中心とした第2のブロックBとに分かれてお
り、両ブロックは、バスバッファ19,20を介してバ
ックプレーンバス11により接続されている。なお、1
8はバックプレーンバス11の使用権を獲得するために
使用されるバス調停信号線である。
【0006】従来の複数ブロックからなるマルチプロセ
ッサシステムにおいては、いくつかあるプロセッサとメ
モリから構成される各ブロックA,Bをバックプレーン
バス11で複数接続するとき、バスの入出力を単にバッ
ファリングする装置すなわちバスバッファ19,20で
行っている。
ッサシステムにおいては、いくつかあるプロセッサとメ
モリから構成される各ブロックA,Bをバックプレーン
バス11で複数接続するとき、バスの入出力を単にバッ
ファリングする装置すなわちバスバッファ19,20で
行っている。
【0007】図10に示される従来のマルチプロセッサ
システムにおいては、システムバス9,10上に現れる
データのすべてがバックプレーンバス11及びシステム
全体のシステムバス9,10に送られる。例えば、プロ
セッサ1がメモリ15の内容を必要とするときには、そ
のデータを要求するパケット信号は、システムバス9に
送り出され、バスバッファ19を介してバックプレーン
バス11に送り出され、更にバスバッファ20を介して
システムバス10に送り出される。メモリ15は、要求
されたデータを逆の経路を辿ってプロセッサ1に転送す
る(図11参照)。
システムにおいては、システムバス9,10上に現れる
データのすべてがバックプレーンバス11及びシステム
全体のシステムバス9,10に送られる。例えば、プロ
セッサ1がメモリ15の内容を必要とするときには、そ
のデータを要求するパケット信号は、システムバス9に
送り出され、バスバッファ19を介してバックプレーン
バス11に送り出され、更にバスバッファ20を介して
システムバス10に送り出される。メモリ15は、要求
されたデータを逆の経路を辿ってプロセッサ1に転送す
る(図11参照)。
【0008】
【発明が解決しようとする課題】このバスバッファ1
9,20を使用した従来のマルチプロセッサシステム
は、プロセッサ1が他のブロックのメモリ15の内容を
必要とするとき有効であるが、プロセッサ1が同じブロ
ックのメモリ14の内容を必要とするときには、そのデ
ータを要求するパケット信号は、システムバス10にと
って無用であるばかりかバックプレーンバス11及びシ
ステムバス10のトラフィックを増加させることにな
り、システム全体のスループットが低下するという問題
がある。
9,20を使用した従来のマルチプロセッサシステム
は、プロセッサ1が他のブロックのメモリ15の内容を
必要とするとき有効であるが、プロセッサ1が同じブロ
ックのメモリ14の内容を必要とするときには、そのデ
ータを要求するパケット信号は、システムバス10にと
って無用であるばかりかバックプレーンバス11及びシ
ステムバス10のトラフィックを増加させることにな
り、システム全体のスループットが低下するという問題
がある。
【0009】本発明は前記問題を鑑み、幾つかのプロセ
ッサとメモリからなるブロックを複数接続するマルチプ
ロセッサ構成において、あるシステムバス上にパケット
データが出されたとき、ゲートにて他のバスに送出する
か、また他のバスのパケットを入力するか判断すること
で、システムバスのトラフィックを削減し、システムの
スループットを向上することを目的とする。
ッサとメモリからなるブロックを複数接続するマルチプ
ロセッサ構成において、あるシステムバス上にパケット
データが出されたとき、ゲートにて他のバスに送出する
か、また他のバスのパケットを入力するか判断すること
で、システムバスのトラフィックを削減し、システムの
スループットを向上することを目的とする。
【0010】
【課題を解決するための手段】本発明は、前記目的を達
成するため、キャッシュメモリを持つプロセッサとメモ
リとをシステムバスにて接続したプロセッサシステムの
ブロックがバックプレーンバスにて複数接続されてお
り、前記キャッシュメモリ同士及び前記キャッシュメモ
リと前記メモリの間は要求先アドレスが付加されたパケ
ットを使用してデータを送受信するマルチプロセッサシ
ステムにおいて、前記各システムバス上或いは前記バッ
クプレーンバス上のパケットの内容を解析し、その解析
結果に応じてシステムバス或いはバックプレーンバスに
対するパケットの送出の可否を制御するルータであっ
て、前記システムバス上のパケットの要求先アドレスが
前記システムバス内のメモリアドレスである場合にはパ
ケットを前記バックプレーンバスに送出せずシステムバ
ス外のメモリアドレスである場合にはパケットを前記バ
ックプレーンバスに送出する手段と、前記システムバス
上のパケットの要求先アドレスがシステムバス内のメモ
リアドレスであるが他のシステムバスに接続されたキャ
ッシュメモリがそのアドレスのデータを持っている場合
には前記バックプレーンバスにパケットを送出する手段
と、前記バックプレーンバス上のパケットの要求先アド
レスがシステムバス内のアドレスである場合にはパケッ
トをシステムバスに送出しシステムバス外のメモリアド
レスである場合にはパケットを前記システムバスに送出
しない手段とからなるルータを、前記各システムバスと
前記バックプレーンバスとの間に接続したことを特徴と
する。
成するため、キャッシュメモリを持つプロセッサとメモ
リとをシステムバスにて接続したプロセッサシステムの
ブロックがバックプレーンバスにて複数接続されてお
り、前記キャッシュメモリ同士及び前記キャッシュメモ
リと前記メモリの間は要求先アドレスが付加されたパケ
ットを使用してデータを送受信するマルチプロセッサシ
ステムにおいて、前記各システムバス上或いは前記バッ
クプレーンバス上のパケットの内容を解析し、その解析
結果に応じてシステムバス或いはバックプレーンバスに
対するパケットの送出の可否を制御するルータであっ
て、前記システムバス上のパケットの要求先アドレスが
前記システムバス内のメモリアドレスである場合にはパ
ケットを前記バックプレーンバスに送出せずシステムバ
ス外のメモリアドレスである場合にはパケットを前記バ
ックプレーンバスに送出する手段と、前記システムバス
上のパケットの要求先アドレスがシステムバス内のメモ
リアドレスであるが他のシステムバスに接続されたキャ
ッシュメモリがそのアドレスのデータを持っている場合
には前記バックプレーンバスにパケットを送出する手段
と、前記バックプレーンバス上のパケットの要求先アド
レスがシステムバス内のアドレスである場合にはパケッ
トをシステムバスに送出しシステムバス外のメモリアド
レスである場合にはパケットを前記システムバスに送出
しない手段とからなるルータを、前記各システムバスと
前記バックプレーンバスとの間に接続したことを特徴と
する。
【0011】
【作用】本発明のマルチプロセッサシステムにおいて
は、キャッシュメモリ同士及びキャッシュメモリとメモ
リの間のデータ転送は、要求先アドレスが付加されたパ
ケットを使用して行われる。各システムバス上或いはバ
ックプレーンバス上のパケットの内容はルータにおいて
解析され、パケットの要求先アドレスがシステムバス内
のメモリアドレスであるか否かに応じてバス間のパケッ
トの転送の可否が制御される。例えば、システムバス上
のパケットの要求先アドレスが同じシステムバス内にあ
る場合には、パケットはバックプレーンバスには送出さ
れない。したがってバックプレーンバスが不要のパケッ
トで占有されることがなくなり、バックプレーンバスを
効率的に利用することができる。
は、キャッシュメモリ同士及びキャッシュメモリとメモ
リの間のデータ転送は、要求先アドレスが付加されたパ
ケットを使用して行われる。各システムバス上或いはバ
ックプレーンバス上のパケットの内容はルータにおいて
解析され、パケットの要求先アドレスがシステムバス内
のメモリアドレスであるか否かに応じてバス間のパケッ
トの転送の可否が制御される。例えば、システムバス上
のパケットの要求先アドレスが同じシステムバス内にあ
る場合には、パケットはバックプレーンバスには送出さ
れない。したがってバックプレーンバスが不要のパケッ
トで占有されることがなくなり、バックプレーンバスを
効率的に利用することができる。
【0012】
【実施例】以下、図面を参照しながら、実施例により本
発明の特徴を具体的に説明する。図1は本発明における
複数ブロックからなるマルチプロセッサシステムの構成
例を示している。図1に示すマルチプロセッサシステム
は、二つのマルチプロセッサシステムをバックプレーン
バスを介して接続して更に大規模なマルチプロセッサシ
ステムを構成したものである。
発明の特徴を具体的に説明する。図1は本発明における
複数ブロックからなるマルチプロセッサシステムの構成
例を示している。図1に示すマルチプロセッサシステム
は、二つのマルチプロセッサシステムをバックプレーン
バスを介して接続して更に大規模なマルチプロセッサシ
ステムを構成したものである。
【0013】第1のブロックAにおいては、それぞれデ
ータ処理を行う複数のプロセッサ21,22がそれぞれ
キャッシュメモリ25,26を介してシステムバス29
に接続され、このシステムバス29に共有のメモリ34
が接続される。メモリ34はプログラムやデータを蓄え
る一次記憶装置であり、キャッシュメモリ25,26は
メモリ34またはメモリ35の一部分のコピーを持つこ
とでプロセッサ21,22を高速に動作させるためのも
のである。また、キャッシュメモリ25,26及びメモ
リ34にはバス調停信号線36からバス調停信号が供給
される。バス調停信号は、それぞれのキャッシュメモリ
25,26がシステムバス29の使用権を獲得するため
の調停に使用されるものである。
ータ処理を行う複数のプロセッサ21,22がそれぞれ
キャッシュメモリ25,26を介してシステムバス29
に接続され、このシステムバス29に共有のメモリ34
が接続される。メモリ34はプログラムやデータを蓄え
る一次記憶装置であり、キャッシュメモリ25,26は
メモリ34またはメモリ35の一部分のコピーを持つこ
とでプロセッサ21,22を高速に動作させるためのも
のである。また、キャッシュメモリ25,26及びメモ
リ34にはバス調停信号線36からバス調停信号が供給
される。バス調停信号は、それぞれのキャッシュメモリ
25,26がシステムバス29の使用権を獲得するため
の調停に使用されるものである。
【0014】第2のブロックBにおいても第1のブロッ
クAと同様に、複数のプロセッサ23,24がそれぞれ
キャッシュメモリ27,28を介してシステムバス30
に接続され、このシステムバス30に共有のメモリ35
が接続される。キャッシュメモリ27,28及びメモリ
35にはバス調停信号線37からバス調停信号が供給さ
れる。
クAと同様に、複数のプロセッサ23,24がそれぞれ
キャッシュメモリ27,28を介してシステムバス30
に接続され、このシステムバス30に共有のメモリ35
が接続される。キャッシュメモリ27,28及びメモリ
35にはバス調停信号線37からバス調停信号が供給さ
れる。
【0015】更に、第1のブロックAのシステムバス2
9及びバス調停信号線36と、第2のブロックBのシス
テムバス30及びバス調停信号線37がそれぞれゲート
39,40を介してバックプレーンバス31及びバス調
停信号線38に接続されている。ゲート39,40には
メモリ41,42が接続されており、メモリ41,42
にはシステムバス29,30に接続されている装置の情
報が格納されている。ゲート39とメモリ41でルータ
43が構成され、ゲート40とメモリ42でルータ44
が構成されている。ルータ43,44の機能については
後述する。
9及びバス調停信号線36と、第2のブロックBのシス
テムバス30及びバス調停信号線37がそれぞれゲート
39,40を介してバックプレーンバス31及びバス調
停信号線38に接続されている。ゲート39,40には
メモリ41,42が接続されており、メモリ41,42
にはシステムバス29,30に接続されている装置の情
報が格納されている。ゲート39とメモリ41でルータ
43が構成され、ゲート40とメモリ42でルータ44
が構成されている。ルータ43,44の機能については
後述する。
【0016】図1に示すマルチプロセッサシステムで
は、システムバス29,30及びバックプレーンバス3
1には、パケット形式のデータが出力される。パケット
形式のデータでは、まず最初にヘッダと呼ばれるコマン
ド(例えば要求や応答)とアクセスするアドレスが出力
され、その後、リードやライトされるデータが出力され
る。
は、システムバス29,30及びバックプレーンバス3
1には、パケット形式のデータが出力される。パケット
形式のデータでは、まず最初にヘッダと呼ばれるコマン
ド(例えば要求や応答)とアクセスするアドレスが出力
され、その後、リードやライトされるデータが出力され
る。
【0017】ルータ43のゲート39は、メモリ41の
内容を参照しながら、システムバス29に現れるヘッダ
パケットのコマンドとアドレスを解析し、メモリ34又
はキャッシュメモリ25,26へのアクセスである場合
は、そのパケットをバックプレーンバス31に出力しな
い。
内容を参照しながら、システムバス29に現れるヘッダ
パケットのコマンドとアドレスを解析し、メモリ34又
はキャッシュメモリ25,26へのアクセスである場合
は、そのパケットをバックプレーンバス31に出力しな
い。
【0018】コマンドとアドレスがメモリ34又はキャ
ッシュメモリ25,26以外へのアクセスである場合
は、バス調停信号線38からのバス調停信号によりバッ
クプレーンバス31の使用権を得た後、システムバス2
9に出力されたパケットをバックプレーンバス31に出
力する。
ッシュメモリ25,26以外へのアクセスである場合
は、バス調停信号線38からのバス調停信号によりバッ
クプレーンバス31の使用権を得た後、システムバス2
9に出力されたパケットをバックプレーンバス31に出
力する。
【0019】更に、バックプレーンバス31に出力され
たパケットが、システムバス29内のアドレスの場合、
ゲート39はバス調停信号線36からのバス調停信号に
より、システムバス29の使用権を獲得した後、バック
プレーンバス31に出力されたパケットをシステムバス
29に出力する。ゲート40の動作も同様である。
たパケットが、システムバス29内のアドレスの場合、
ゲート39はバス調停信号線36からのバス調停信号に
より、システムバス29の使用権を獲得した後、バック
プレーンバス31に出力されたパケットをシステムバス
29に出力する。ゲート40の動作も同様である。
【0020】図2にルータの構成例を示す。ルータ43
とルータ44とは同一構成を有しているので、ルータ4
3を例に挙げて説明する。
とルータ44とは同一構成を有しているので、ルータ4
3を例に挙げて説明する。
【0021】ルータ43は、システムバス29或いはバ
ックプレーンバス31からパケットを入力するパケット
キューメモリ43a、パケットのコマンド・アドレスと
メモリ41の内容を比較する比較器を持つプロセッサ4
3b、バスの使用権の制御を行うアービタ43cとから
なる。パケットキューメモリ43aとプロセッサ43b
はパケットリードライトバス43dにより接続され、プ
ロセッサ43bとアービタ43cはアビトレーション制
御信号線43eにより接続されている。
ックプレーンバス31からパケットを入力するパケット
キューメモリ43a、パケットのコマンド・アドレスと
メモリ41の内容を比較する比較器を持つプロセッサ4
3b、バスの使用権の制御を行うアービタ43cとから
なる。パケットキューメモリ43aとプロセッサ43b
はパケットリードライトバス43dにより接続され、プ
ロセッサ43bとアービタ43cはアビトレーション制
御信号線43eにより接続されている。
【0022】図1において、メモリ34が0000〜0
fff番地、メモリ35が1000〜1fff番地のア
ドレスを持ち、プロセッサ21がキャッシュメモリ25
によりパケットを発生した場合、あるアドレスのデータ
をアクセスしたそれぞれの場合について動作を説明す
る。
fff番地、メモリ35が1000〜1fff番地のア
ドレスを持ち、プロセッサ21がキャッシュメモリ25
によりパケットを発生した場合、あるアドレスのデータ
をアクセスしたそれぞれの場合について動作を説明す
る。
【0023】パケットについてその一例を図3に示す。
パケットによるデータアクセスでは、まずLビットの要
求の種類(コマンド)とMビットの要求元アドレスそし
てNビット要求先のアドレスを含むヘッダが送られ、次
にコマンドに応じたデータを送る。ルータ43内のゲー
ト39には、接続されているシステムバス29のアドレ
スが0000〜0fff番地であると初期化されてい
る。
パケットによるデータアクセスでは、まずLビットの要
求の種類(コマンド)とMビットの要求元アドレスそし
てNビット要求先のアドレスを含むヘッダが送られ、次
にコマンドに応じたデータを送る。ルータ43内のゲー
ト39には、接続されているシステムバス29のアドレ
スが0000〜0fff番地であると初期化されてい
る。
【0024】1)キャッシュメモリ25から100番地
へリード要求を行った場合。
へリード要求を行った場合。
【0025】キャッシュメモリ25から送出するパケッ
トは、図4に示すように、Lビットのリード要求コマン
ドとMビットのキャッシュメモリ25のアドレスとNビ
ットのアクセスアドレス(100番地)とからなる。ル
ータ43はパケットのコマンドとアドレスを解析し、要
求されたアドレス100番地でリードあることを知る。
100番地は同じシステムバス29内にあるので、ルー
タ43は受けとったパケットをバックプレーンバス31
に送出しない(図5参照)。キャッシュメモリ26は自
分のアドレスではないので何も行わない。メモリ34は
受け取ったパケットが自分へのアクセスであることを知
り、応答のパケットを送出する。このときにもルータ4
3は応答のアドレスが100番地でリードであることを
知り、バックプレーンバス31にパケットを送出しな
い。
トは、図4に示すように、Lビットのリード要求コマン
ドとMビットのキャッシュメモリ25のアドレスとNビ
ットのアクセスアドレス(100番地)とからなる。ル
ータ43はパケットのコマンドとアドレスを解析し、要
求されたアドレス100番地でリードあることを知る。
100番地は同じシステムバス29内にあるので、ルー
タ43は受けとったパケットをバックプレーンバス31
に送出しない(図5参照)。キャッシュメモリ26は自
分のアドレスではないので何も行わない。メモリ34は
受け取ったパケットが自分へのアクセスであることを知
り、応答のパケットを送出する。このときにもルータ4
3は応答のアドレスが100番地でリードであることを
知り、バックプレーンバス31にパケットを送出しな
い。
【0026】2)キャッシュメモリ25から100番地
へライト要求を行った場合。
へライト要求を行った場合。
【0027】2−1)他のシステムバス30のキャッシ
ュメモリ(この例ではキャッシュメモリ27又は28)
が100番地のデータを持っていない場合。
ュメモリ(この例ではキャッシュメモリ27又は28)
が100番地のデータを持っていない場合。
【0028】パケットを受け取ったメモリ34は100
番地の内容を更新する。ルータ43は、受け取ったアド
レス100番地が他のシステムバス30内のキャッシュ
メモリで同じアドレスのデータを持っているか調べるた
め、ルータ43内のメモリ41をアクセスしてチェック
する。この場合、アドレス100番地が登録されていな
いので、ルータ43はバックプレーンバス31にパケッ
トを送出しない(図5参照)。
番地の内容を更新する。ルータ43は、受け取ったアド
レス100番地が他のシステムバス30内のキャッシュ
メモリで同じアドレスのデータを持っているか調べるた
め、ルータ43内のメモリ41をアクセスしてチェック
する。この場合、アドレス100番地が登録されていな
いので、ルータ43はバックプレーンバス31にパケッ
トを送出しない(図5参照)。
【0029】2−2)他のシステムバス30のキャッシ
ュメモリ(この例ではキャッシュメモリ27又は28)
が100番地のデータを持っている場合。
ュメモリ(この例ではキャッシュメモリ27又は28)
が100番地のデータを持っている場合。
【0030】パケットを受け取ったメモリ34は100
番地の内容を更新する。ルータ43は、受け取ったアド
レス100番地が他のシステムバス30内のキャッシュ
メモリで同じアドレスのデータを持っているか調べるた
め、ルータ43内のメモリ41をアクセスしてチェック
する。この場合、アドレス100番地は登録されている
ので、ルータ43はバス調停信号線38からのバス調停
信号によりバックプレーンバス31の使用権を獲得した
後、パケットをバックプレーンバス31に送出する。こ
のパケットは、ルータ44でシステムバス30へのパケ
ットだと判断され、システムバス30に出力される(図
6参照)。
番地の内容を更新する。ルータ43は、受け取ったアド
レス100番地が他のシステムバス30内のキャッシュ
メモリで同じアドレスのデータを持っているか調べるた
め、ルータ43内のメモリ41をアクセスしてチェック
する。この場合、アドレス100番地は登録されている
ので、ルータ43はバス調停信号線38からのバス調停
信号によりバックプレーンバス31の使用権を獲得した
後、パケットをバックプレーンバス31に送出する。こ
のパケットは、ルータ44でシステムバス30へのパケ
ットだと判断され、システムバス30に出力される(図
6参照)。
【0031】3)キャッシュメモリ25から1500番
地へリード要求を行った場合。
地へリード要求を行った場合。
【0032】キャッシュメモリ25,26及びメモリ3
4は自分へのアドレスのパケットではないので何も行わ
ない。ルータ43はパケットのコマンドとアドレスを解
析し、要求されたアドレス1500番地でリードである
ことを知る。1500番地はシステムバス29内のアド
レスではないので、ルータ43はバス調停信号線38か
らのバス調停信号によりバックプレーンバス31の使用
権を獲得した後、受けとったパケットをバックプレーン
バス31に送出する。このパケットはルータ44で要求
先のアドレスがシステムバス30内のアドレスだと判断
され、バス調停信号線37からのバス調停信号にてシス
テムバス30の使用権を獲得した後、パケットをシステ
ムバス30に出力する(図6参照)。
4は自分へのアドレスのパケットではないので何も行わ
ない。ルータ43はパケットのコマンドとアドレスを解
析し、要求されたアドレス1500番地でリードである
ことを知る。1500番地はシステムバス29内のアド
レスではないので、ルータ43はバス調停信号線38か
らのバス調停信号によりバックプレーンバス31の使用
権を獲得した後、受けとったパケットをバックプレーン
バス31に送出する。このパケットはルータ44で要求
先のアドレスがシステムバス30内のアドレスだと判断
され、バス調停信号線37からのバス調停信号にてシス
テムバス30の使用権を獲得した後、パケットをシステ
ムバス30に出力する(図6参照)。
【0033】パケットを受け取ったメモリ35は150
0番地の内容を読んだ後、応答のパケットを送出する。
応答パケットは、Lビットの応答コマンドとMビットの
キャッシュメモリ25のアドレスとNビットの1500
番地のアドレスからなるヘッダパケットとデータのパケ
ットからなる(図7参照)。
0番地の内容を読んだ後、応答のパケットを送出する。
応答パケットは、Lビットの応答コマンドとMビットの
キャッシュメモリ25のアドレスとNビットの1500
番地のアドレスからなるヘッダパケットとデータのパケ
ットからなる(図7参照)。
【0034】ルータ44は、システムバス30内のアド
レスへの応答ではないと判断し応答パケットをバス調停
信号線38からのバス調停信号によりバックプレーンバ
ス31の使用権を獲得した後、バックプレーンバス31
上に出力する。ルータ43は、この応答パケットがシス
テムバス29内にあるキャッシュメモリ25へのパケッ
トだと判断し、バス調停信号線36からのバス調停信号
によりシステムバス29の使用権を獲得した後、応答パ
ケットをシステムバス29に出力する(図8参照)。
レスへの応答ではないと判断し応答パケットをバス調停
信号線38からのバス調停信号によりバックプレーンバ
ス31の使用権を獲得した後、バックプレーンバス31
上に出力する。ルータ43は、この応答パケットがシス
テムバス29内にあるキャッシュメモリ25へのパケッ
トだと判断し、バス調停信号線36からのバス調停信号
によりシステムバス29の使用権を獲得した後、応答パ
ケットをシステムバス29に出力する(図8参照)。
【0035】1500番地へのアクセスを要求したキャ
ッシュメモリ25は、応答パケットのコマンド(Lビッ
ト)と要求元のビット(Mビット)からキャッシュメモ
リ25へのパケットだと判断し、そのパケットを入力し
て1500番地のデータを得る。
ッシュメモリ25は、応答パケットのコマンド(Lビッ
ト)と要求元のビット(Mビット)からキャッシュメモ
リ25へのパケットだと判断し、そのパケットを入力し
て1500番地のデータを得る。
【0036】4)キャッシュメモリ25から1500番
地へライト要求を行った場合。
地へライト要求を行った場合。
【0037】キャッシュメモリ25,26及びメモリ3
4は自分へのアドレスのパケットではないので何も行わ
ない。但し、キャッシュメモリ26が1500番地のデ
ータを持っている場合には、キャッシュメモリ25とキ
ャッシュメモリ26でデータ一致しなくなるのを防止す
るために、そのデータの無効化を行う。
4は自分へのアドレスのパケットではないので何も行わ
ない。但し、キャッシュメモリ26が1500番地のデ
ータを持っている場合には、キャッシュメモリ25とキ
ャッシュメモリ26でデータ一致しなくなるのを防止す
るために、そのデータの無効化を行う。
【0038】ルータ43は、パケットのコマンドとアド
レスを解析し、要求されたアドレス1500番地がライ
トであることを知る。1500番地はシステムバス29
内のアドレスではないので、ルータ43はバス調停信号
線38からのバス調停信号により、バックプレーンバス
31の使用権を獲得した後、受けとったパケットをバッ
クプレーンバス31に送出する。更にルータ43は、キ
ャッシュメモリ25のデータのコヒーレンスを維持する
ため、システムバス29に接続された装置で1500番
地の内容を持っていることをメモリ41に記憶させる。
レスを解析し、要求されたアドレス1500番地がライ
トであることを知る。1500番地はシステムバス29
内のアドレスではないので、ルータ43はバス調停信号
線38からのバス調停信号により、バックプレーンバス
31の使用権を獲得した後、受けとったパケットをバッ
クプレーンバス31に送出する。更にルータ43は、キ
ャッシュメモリ25のデータのコヒーレンスを維持する
ため、システムバス29に接続された装置で1500番
地の内容を持っていることをメモリ41に記憶させる。
【0039】ルータ44は、パケットの要求先のアドレ
スがシステムバス30内のアドレスだと判断して入力
し、バス調停信号線37からのバス調停信号にてシステ
ムバス30の使用権を獲得した後、パケットをシステム
バス30に出力する(図6参照)。パケットを受け取っ
たメモリ35は1500番地の内容を更新する。
スがシステムバス30内のアドレスだと判断して入力
し、バス調停信号線37からのバス調停信号にてシステ
ムバス30の使用権を獲得した後、パケットをシステム
バス30に出力する(図6参照)。パケットを受け取っ
たメモリ35は1500番地の内容を更新する。
【0040】5)バックプレーンバス31に100番地
へのリード要求があった場合。
へのリード要求があった場合。
【0041】ルータ43は、バックプレーンバス31上
のヘッダパケットのコマンドと要求アドレスのビットに
よりシステムバス29内のアクセスだと判断し、受け取
ったデータリード要求パケットをバス調停信号線36か
らのバス調停信号によりシステムバス29の使用権を獲
得した後、システムバス29へ出力する(図8参照)。
のヘッダパケットのコマンドと要求アドレスのビットに
よりシステムバス29内のアクセスだと判断し、受け取
ったデータリード要求パケットをバス調停信号線36か
らのバス調停信号によりシステムバス29の使用権を獲
得した後、システムバス29へ出力する(図8参照)。
【0042】メモリ34は、そのパケットから自分への
アクセスだと判断しパケットを入力する。パケットを受
け取ったメモリ34は、100番地の内容を読んだ後、
応答のパケットを出力する。応答パケットは、応答コマ
ンドと要求元アドレスと100番地のアドレスからなる
ヘッダパケットとデータのパケットからなる(図9参
照)。
アクセスだと判断しパケットを入力する。パケットを受
け取ったメモリ34は、100番地の内容を読んだ後、
応答のパケットを出力する。応答パケットは、応答コマ
ンドと要求元アドレスと100番地のアドレスからなる
ヘッダパケットとデータのパケットからなる(図9参
照)。
【0043】ルータ43は、メモリ34により出力され
た応答パケット(ヘッダパケットと100番地のデータ
パケット)を他のシステムバスへの応答パケットだと判
断し、バス調停信号線38からのバス調停信号によりバ
ックプレーンバス31の使用権を獲得した後、バックプ
レーンバス31上にパケットを出力する(図6参照)。
た応答パケット(ヘッダパケットと100番地のデータ
パケット)を他のシステムバスへの応答パケットだと判
断し、バス調停信号線38からのバス調停信号によりバ
ックプレーンバス31の使用権を獲得した後、バックプ
レーンバス31上にパケットを出力する(図6参照)。
【0044】6)バックプレーンバス31に100番地
へのライト要求があった場合。
へのライト要求があった場合。
【0045】ルータ43は、バックプレーンバス31上
のヘッダパケットのコマンドと要求アドレスのビットに
よりシステムバス29内のアクセスだと判断し、受け取
ったデータリード要求パケットをバス調停信号線36か
らのバス調停信号によりシステムバス29の使用権を獲
得した後、システムバス29へ出力する(図8参照)。
メモリ34は、そのパケットから自分へのアクセスだと
判断し、パケットを入力して100番地に新しいデータ
をライトする。
のヘッダパケットのコマンドと要求アドレスのビットに
よりシステムバス29内のアクセスだと判断し、受け取
ったデータリード要求パケットをバス調停信号線36か
らのバス調停信号によりシステムバス29の使用権を獲
得した後、システムバス29へ出力する(図8参照)。
メモリ34は、そのパケットから自分へのアクセスだと
判断し、パケットを入力して100番地に新しいデータ
をライトする。
【0046】7)バックプレーンバス31に1500番
地へのリード要求があった場合。
地へのリード要求があった場合。
【0047】ルータ43は、パケットのコマンドと要求
先アドレスのビットからシステムバス29に接続された
装置へのアクセスではないと判断し、その後の処理は行
わない。
先アドレスのビットからシステムバス29に接続された
装置へのアクセスではないと判断し、その後の処理は行
わない。
【0048】8)バックプレーンバス31に1500番
地へのライト要求のパケットがあった場合。
地へのライト要求のパケットがあった場合。
【0049】8−1)ルータ43内にあるメモリ41に
1500番地のアドレスが記憶されている場合。
1500番地のアドレスが記憶されている場合。
【0050】ルータ43は、パケットのコマンドにより
1500番地のデータがシステムバス29に接続された
装置で使用されているかメモリ41をリードしてチェッ
クする。この場合、記憶していると判断されるので、そ
のパケットをバス調停信号線36からのバス調停信号に
よりシステムバス29の使用権を獲得した後、出力す
る。このとき、メモリ41に記憶されていた1500番
地は、データの無効化によりコヒーレンスをこれ以降管
理する必要がなくなるのでゲート39により削除され
る。そして、システムバス29に接続した装置(この場
合キャッシュメモリ25又は26)は、パケットを入力
してキャッシュメモリ内にデータがあるか判断しデータ
を持っている場合にはそのデータを無効化する。メモリ
34は何も行わない。
1500番地のデータがシステムバス29に接続された
装置で使用されているかメモリ41をリードしてチェッ
クする。この場合、記憶していると判断されるので、そ
のパケットをバス調停信号線36からのバス調停信号に
よりシステムバス29の使用権を獲得した後、出力す
る。このとき、メモリ41に記憶されていた1500番
地は、データの無効化によりコヒーレンスをこれ以降管
理する必要がなくなるのでゲート39により削除され
る。そして、システムバス29に接続した装置(この場
合キャッシュメモリ25又は26)は、パケットを入力
してキャッシュメモリ内にデータがあるか判断しデータ
を持っている場合にはそのデータを無効化する。メモリ
34は何も行わない。
【0051】8−2)ルータ43内にあるメモリ41に
1500番地のアドレスが記憶されていない場合。
1500番地のアドレスが記憶されていない場合。
【0052】ルータ43は、パケットのコマンドにより
1500番地のデータがシステムバス29に接続された
装置で使用されているかメモリ41をリードしてチェッ
クする。この場合、記憶していないと判断されるので、
それ以降の処理は何も行われない。
1500番地のデータがシステムバス29に接続された
装置で使用されているかメモリ41をリードしてチェッ
クする。この場合、記憶していないと判断されるので、
それ以降の処理は何も行われない。
【0053】上述のルータの動作を整理すると、以下の
ようになる。
ようになる。
【0054】(a)システムバス上のパケットの要求す
るアドレスがシステムバス内のメモリアドレスである場
合、パケットをバックプレーンバスに送出せず、システ
ムバス外であったときにはバックプレーンバスに送出す
る。
るアドレスがシステムバス内のメモリアドレスである場
合、パケットをバックプレーンバスに送出せず、システ
ムバス外であったときにはバックプレーンバスに送出す
る。
【0055】(b)システムバス上のパケットの要求す
るアドレスがシステムバス内のメモリアドレスであるが
他のシステムバスに接続されたキャッシュメモリがその
アドレスのデータを持っている場合、バックプレーンバ
スにパケットを送出する。
るアドレスがシステムバス内のメモリアドレスであるが
他のシステムバスに接続されたキャッシュメモリがその
アドレスのデータを持っている場合、バックプレーンバ
スにパケットを送出する。
【0056】(c)バックプレーンバス上のパケットの
要求アドレスがシステムバス内のアドレスである場合、
パケットをシステムバスに出力し、そうでない場合はシ
ステムバスに送出しない。
要求アドレスがシステムバス内のアドレスである場合、
パケットをシステムバスに出力し、そうでない場合はシ
ステムバスに送出しない。
【0057】なお、図1に示す例ではプロセッサが4台
の場合を示しているが、メモリのアドレス空間が異なる
メモリとそれぞれにプロセッサが接続された構成であれ
ばプロセッサは何台でもよい。
の場合を示しているが、メモリのアドレス空間が異なる
メモリとそれぞれにプロセッサが接続された構成であれ
ばプロセッサは何台でもよい。
【0058】また、メモリ41,42に記憶するアドレ
スは、1ワード単位(番地単位)ではなく、ブロック単
位(例えば16ワードワード単位:8ビット/ワードの
時16番地単位)で記憶・管理を行うこともできる。ま
た。メモリ41,42をキャッシュメモリやディスク装
置で構成することもできる。
スは、1ワード単位(番地単位)ではなく、ブロック単
位(例えば16ワードワード単位:8ビット/ワードの
時16番地単位)で記憶・管理を行うこともできる。ま
た。メモリ41,42をキャッシュメモリやディスク装
置で構成することもできる。
【0059】
【発明の効果】以上に述べたように、本発明において
は、不必要なパケットをシステムバスからバックプレー
ンバスへ出力しないようにしたので、システム全体のバ
ストラフィックが削減され、システム全体のスループッ
トが向上する。
は、不必要なパケットをシステムバスからバックプレー
ンバスへ出力しないようにしたので、システム全体のバ
ストラフィックが削減され、システム全体のスループッ
トが向上する。
【図面の簡単な説明】
【図1】 本発明のマルチプロセッサシステムの実施例
を示すブロック図である。
を示すブロック図である。
【図2】 図1に示すマルチプロセッサシステムにおい
て使用されるルータの構成例を示すブロック図である。
て使用されるルータの構成例を示すブロック図である。
【図3】 パケットの構成例を示す説明図である。
【図4】 要求パケットの構成を説明する図である。
【図5】 システムバス側からアドレス内のデータが要
求されたときの各システムバス及びバックプレーンバス
上のパケットの状態を示す説明図である。
求されたときの各システムバス及びバックプレーンバス
上のパケットの状態を示す説明図である。
【図6】 システムバス側からアドレス外のデータが要
求されたときの各システムバス及びバックプレーンバス
上のパケットの状態を示す説明図である。
求されたときの各システムバス及びバックプレーンバス
上のパケットの状態を示す説明図である。
【図7】 応答パケットの構成を説明する図である。
【図8】 バックプレーンバス側からアドレス外のデー
タが要求されたときの各システムバス及びバックプレー
ンバス上のパケットの状態を示す説明図である。
タが要求されたときの各システムバス及びバックプレー
ンバス上のパケットの状態を示す説明図である。
【図9】 応答パケットの構成を説明する図である。
【図10】 従来のマルチプロセッサシステムの構成例
を示すブロック図である。
を示すブロック図である。
【図11】 従来のマルチプロセッサシステムにおける
各システムバス及びバックプレーンバス上のパケットの
状態を示す説明図である。
各システムバス及びバックプレーンバス上のパケットの
状態を示す説明図である。
1〜4,21〜24 プロセッサ、5〜8,25〜28
キャッシュメモリ、9、10,29,30 システム
バス、11,31 バックプレーンバス、12,13,
19,20,32,33 バスバッファ、14,15,
34,35 メモリ、16〜18,36〜38 バス調
停信号線、39,40 ゲート、41,42 メモリ、
43c アービタ、43b プロセッサ、43a パケ
ットキューメモリ、43d パケットリードライトバ
ス、43e アビトレーション制御信号線
キャッシュメモリ、9、10,29,30 システム
バス、11,31 バックプレーンバス、12,13,
19,20,32,33 バスバッファ、14,15,
34,35 メモリ、16〜18,36〜38 バス調
停信号線、39,40 ゲート、41,42 メモリ、
43c アービタ、43b プロセッサ、43a パケ
ットキューメモリ、43d パケットリードライトバ
ス、43e アビトレーション制御信号線
Claims (1)
- 【特許請求の範囲】 【請求項1】 キャッシュメモリを持つプロセッサとメ
モリとをシステムバスにて接続したプロセッサシステム
のブロックがバックプレーンバスにて複数接続されてお
り、前記キャッシュメモリ同士及び前記キャッシュメモ
リと前記メモリの間は要求先アドレスが付加されたパケ
ットを使用してデータを送受信するマルチプロセッサシ
ステムにおいて、前記各システムバス上或いは前記バッ
クプレーンバス上のパケットの内容を解析し、その解析
結果に応じてシステムバス或いはバックプレーンバスに
対するパケットの送出の可否を制御するルータであっ
て、前記システムバス上のパケットの要求先アドレスが
前記システムバス内のメモリアドレスである場合にはパ
ケットを前記バックプレーンバスに送出せずシステムバ
ス外のメモリアドレスである場合にはパケットを前記バ
ックプレーンバスに送出する手段と、前記システムバス
上のパケットの要求先アドレスがシステムバス内のメモ
リアドレスであるが他のシステムバスに接続されたキャ
ッシュメモリがそのアドレスのデータを持っている場合
には前記バックプレーンバスにパケットを送出する手段
と、前記バックプレーンバス上のパケットの要求先アド
レスがシステムバス内のアドレスである場合にはパケッ
トをシステムバスに送出しシステムバス外のメモリアド
レスである場合にはパケットを前記システムバスに送出
しない手段とからなるルータを、前記各システムバスと
前記バックプレーンバスとの間に接続したことを特徴と
するマルチプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16595891A JPH0512220A (ja) | 1991-07-05 | 1991-07-05 | マルチプロセツサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16595891A JPH0512220A (ja) | 1991-07-05 | 1991-07-05 | マルチプロセツサシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0512220A true JPH0512220A (ja) | 1993-01-22 |
Family
ID=15822252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16595891A Pending JPH0512220A (ja) | 1991-07-05 | 1991-07-05 | マルチプロセツサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0512220A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008053789A1 (en) * | 2006-10-31 | 2008-05-08 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
JP2008135018A (ja) * | 2006-10-31 | 2008-06-12 | Semiconductor Energy Lab Co Ltd | 半導体装置 |
-
1991
- 1991-07-05 JP JP16595891A patent/JPH0512220A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008053789A1 (en) * | 2006-10-31 | 2008-05-08 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
JP2008135018A (ja) * | 2006-10-31 | 2008-06-12 | Semiconductor Energy Lab Co Ltd | 半導体装置 |
US7840188B2 (en) | 2006-10-31 | 2010-11-23 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US8041309B2 (en) | 2006-10-31 | 2011-10-18 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US8396425B2 (en) | 2006-10-31 | 2013-03-12 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US9362984B2 (en) | 2006-10-31 | 2016-06-07 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5673399A (en) | System and method for enhancement of system bus to mezzanine bus transactions | |
US6546471B1 (en) | Shared memory multiprocessor performing cache coherency | |
US5613071A (en) | Method and apparatus for providing remote memory access in a distributed memory multiprocessor system | |
US6175888B1 (en) | Dual host bridge with peer to peer support | |
US5561783A (en) | Dynamic cache coherency method and apparatus using both write-back and write-through operations | |
US20030005167A1 (en) | Method and apparatus for managing transaction requests in a multi-node architecture | |
US20040117561A1 (en) | Snoop filter bypass | |
US6772298B2 (en) | Method and apparatus for invalidating a cache line without data return in a multi-node architecture | |
JPH10143482A (ja) | エフィシェントな書込み動作を実行するマルチプロセッサ・システム | |
JPH10187645A (ja) | プロセス・ノードの多数のサブノード内にコヒーレンス状態で格納するように構成されたマルチプロセス・システム | |
JPH096717A (ja) | インバウンド及びアウトバウンド読取り並びにポステッド書込みのためのバッファリング機構を含むデータ処理システム及び方法 | |
JP2000112910A (ja) | 非一様メモリ・アクセス・コンピュ―タ・システム及びその操作方法 | |
JPH10154100A (ja) | 情報処理システム及び装置及びその制御方法 | |
KR20180071967A (ko) | 데이터 처리 | |
US5088028A (en) | Lock converting bus-to-bus interface system | |
JPH07152647A (ja) | 共有メモリマルチプロセッサ | |
JPH0512220A (ja) | マルチプロセツサシステム | |
US5408612A (en) | Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register | |
JP2727514B2 (ja) | 転送先id指定回路 | |
US6266777B1 (en) | Information processing apparatus to control bus latency | |
JPH05158793A (ja) | 並列キャッシュメモリ | |
JP3157740B2 (ja) | ベクトルデータ処理装置 | |
JP2636760B2 (ja) | マルチプロセッサシステム | |
JPH08320828A (ja) | マルチプロセッサシステム | |
JPH1165929A (ja) | バスブリッジ回路 |