JPH0764933A - マルチプロセッサシステム - Google Patents
マルチプロセッサシステムInfo
- Publication number
- JPH0764933A JPH0764933A JP23914293A JP23914293A JPH0764933A JP H0764933 A JPH0764933 A JP H0764933A JP 23914293 A JP23914293 A JP 23914293A JP 23914293 A JP23914293 A JP 23914293A JP H0764933 A JPH0764933 A JP H0764933A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processor
- bus
- address
- processors
- 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)
Abstract
(57)【要約】
【目的】 複数のプロセッサが共通のプログラム等を共
有メモリからキャッシュメモリに取り込み、処理を進め
る場合に、バストラフィックの減少を図る。 【構成】 各プロセッサは他のプロセッサによる共有メ
モリ4のアクセスアドレスを監視する。このアクセスア
ドレスが、直前に自己が命令の取り込みに使用したアク
セスアドレスに近接したものであれば、その後、自己が
キャッシュメモリへの取り込みを行なう確率が高い。従
って、この場合、他のプロセッサがその命令を取り込む
のと同一のタイミングでバスを介して、その命令を自己
のキャッシュメモリに取り込む。従って、いずれかのプ
ロセッサによる1回のバス権獲得及び命令の取り込み処
理時間に、複数のプロセッサが同様の命令を同時に取り
込む。
有メモリからキャッシュメモリに取り込み、処理を進め
る場合に、バストラフィックの減少を図る。 【構成】 各プロセッサは他のプロセッサによる共有メ
モリ4のアクセスアドレスを監視する。このアクセスア
ドレスが、直前に自己が命令の取り込みに使用したアク
セスアドレスに近接したものであれば、その後、自己が
キャッシュメモリへの取り込みを行なう確率が高い。従
って、この場合、他のプロセッサがその命令を取り込む
のと同一のタイミングでバスを介して、その命令を自己
のキャッシュメモリに取り込む。従って、いずれかのプ
ロセッサによる1回のバス権獲得及び命令の取り込み処
理時間に、複数のプロセッサが同様の命令を同時に取り
込む。
Description
【0001】
【産業上の利用分野】本発明は、複数のプロセッサがバ
スラインを介して接続され、共有メモリに格納されたプ
ログラムを各自のキャッシュメモリに取り込んで動作す
るマルチプロセッサシステムに関する。
スラインを介して接続され、共有メモリに格納されたプ
ログラムを各自のキャッシュメモリに取り込んで動作す
るマルチプロセッサシステムに関する。
【0002】
【従来の技術】情報処理装置の多様化、高機能化に伴
い、マルチプロセッサシステムの性能改善のための開発
が進められている。図2に、一般のマルチプロセッサシ
ステムブロック図を示す。図のシステムは、複数のプロ
セッサ1−1〜1−3がバス3を介して共有メモリ4に
接続された構成となっている。各プロセッサ1−1〜1
−3はそれぞれキャッシュメモリ2−1〜2−3を有
し、プログラム実行のための命令を共有メモリ4から取
り込むようにしている。
い、マルチプロセッサシステムの性能改善のための開発
が進められている。図2に、一般のマルチプロセッサシ
ステムブロック図を示す。図のシステムは、複数のプロ
セッサ1−1〜1−3がバス3を介して共有メモリ4に
接続された構成となっている。各プロセッサ1−1〜1
−3はそれぞれキャッシュメモリ2−1〜2−3を有
し、プログラム実行のための命令を共有メモリ4から取
り込むようにしている。
【0003】例えば、プロセッサ1−1が共有メモリ4
に格納された所定のプログラムを実行しようとする場
合、予めキャッシュメモリ2−1に対し、そのプログラ
ムを構成する命令を2個から8個程度プリフェッチす
る。そして、キャッシュヒットする限りキャッシュメモ
リ2−1に格納された命令を実行し、キャッシュミスが
あれば共有メモリ4から新たな命令を取り込む。例え
ば、繰り返し処理が行なわれる一定のループプログラム
等については、その全体をキャッシュメモリ2−1に取
り込み、高速処理を可能にしている。
に格納された所定のプログラムを実行しようとする場
合、予めキャッシュメモリ2−1に対し、そのプログラ
ムを構成する命令を2個から8個程度プリフェッチす
る。そして、キャッシュヒットする限りキャッシュメモ
リ2−1に格納された命令を実行し、キャッシュミスが
あれば共有メモリ4から新たな命令を取り込む。例え
ば、繰り返し処理が行なわれる一定のループプログラム
等については、その全体をキャッシュメモリ2−1に取
り込み、高速処理を可能にしている。
【0004】図3に、上記のような従来のシステムの動
作シーケンスチャートを示す。上記のように複数のプロ
セッサ1−1〜1−3がバス3を介して共有メモリ4に
接続されている場合、その命令の取り込みは、このシー
ケンスチャートに示すような手順に従う。まず、例えば
プロセッサ1−1が命令の取り込みを行なおうとする場
合、予め図示しないバスコントローラに対しバス権を要
求し、この図のステップS1に示すようにバス権獲得を
行なう。そして、バス3に対し、ステップS2において
命令アドレスを出力し、この命令アドレスはバス3を通
じて共有メモリ4に達する。
作シーケンスチャートを示す。上記のように複数のプロ
セッサ1−1〜1−3がバス3を介して共有メモリ4に
接続されている場合、その命令の取り込みは、このシー
ケンスチャートに示すような手順に従う。まず、例えば
プロセッサ1−1が命令の取り込みを行なおうとする場
合、予め図示しないバスコントローラに対しバス権を要
求し、この図のステップS1に示すようにバス権獲得を
行なう。そして、バス3に対し、ステップS2において
命令アドレスを出力し、この命令アドレスはバス3を通
じて共有メモリ4に達する。
【0005】共有メモリ4では、そのアドレスに格納さ
れた命令をステップS3においてプロセッサ1−1に向
け送り出す。プロセッサ1−1は、これにより命令をフ
ェッチする。こうして、プロセッサ1−1による所定の
命令の取り込み処理が終了する。その後、プロセッサ1
−2が命令フェッチを要求する場合は、再びプロセッサ
1−2がステップS4においてバス権を獲得し、ステッ
プS5において命令アドレスを出力し、ステップS6に
おいて命令フェッチを行なうというように、プロセッサ
1−1と同様の処理が進められる。
れた命令をステップS3においてプロセッサ1−1に向
け送り出す。プロセッサ1−1は、これにより命令をフ
ェッチする。こうして、プロセッサ1−1による所定の
命令の取り込み処理が終了する。その後、プロセッサ1
−2が命令フェッチを要求する場合は、再びプロセッサ
1−2がステップS4においてバス権を獲得し、ステッ
プS5において命令アドレスを出力し、ステップS6に
おいて命令フェッチを行なうというように、プロセッサ
1−1と同様の処理が進められる。
【0006】また、このようなマルチプロセッサシステ
ムでは、バス権調整のため、複数のプロセッサが同時に
共有メモリ4をアクセスすることはできない。従って、
例えばプロセッサ1−3がプロセッサ1−2の命令取り
込み処理の途中で命令取り込みを必要としたとしても、
プロセッサ1−2の命令取り込み処理が終了し、バスが
開放された後、ステップS7においてバス権獲得が行な
われる。そして、ステップS8において命令アドレスを
出力し、ステップS9において命令をフェッチすること
になる。
ムでは、バス権調整のため、複数のプロセッサが同時に
共有メモリ4をアクセスすることはできない。従って、
例えばプロセッサ1−3がプロセッサ1−2の命令取り
込み処理の途中で命令取り込みを必要としたとしても、
プロセッサ1−2の命令取り込み処理が終了し、バスが
開放された後、ステップS7においてバス権獲得が行な
われる。そして、ステップS8において命令アドレスを
出力し、ステップS9において命令をフェッチすること
になる。
【0007】
【発明が解決しようとする課題】ところで、上記のよう
な従来のマルチプロセッサシステムには次のような解決
すべき課題があった。マルチプロセッサシステムでは、
例えば一定の処理を複数のプロセッサに分担させて分散
処理し、その結果を集めるといったことにより演算処理
の高速化を図ることも行なわれている。このような場
合、複数のプロセッサが同一のプログラムを実行する場
合も多い。従って、例えばあるプロセッサがプログラム
を共有メモリ4から読み出そうとする場合、別のプロセ
ッサもそのプログラムの同一部分を読み出そうとするこ
ともある。
な従来のマルチプロセッサシステムには次のような解決
すべき課題があった。マルチプロセッサシステムでは、
例えば一定の処理を複数のプロセッサに分担させて分散
処理し、その結果を集めるといったことにより演算処理
の高速化を図ることも行なわれている。このような場
合、複数のプロセッサが同一のプログラムを実行する場
合も多い。従って、例えばあるプロセッサがプログラム
を共有メモリ4から読み出そうとする場合、別のプロセ
ッサもそのプログラムの同一部分を読み出そうとするこ
ともある。
【0008】しかしながら、図3により説明したよう
に、バス3を使用するためのバス権は同一時点で複数の
プロセッサが獲得することはできない。従って、それぞ
れのプロセッサが独自にバス権を獲得し、命令の取り込
みを行なわなければならず、キャッシュメモリへの取り
込み量や各プロセッサの動作タイミング等を適切に選定
しないと、バスのトラフィックが増大し、システム全体
としての演算処理速度を低下させるという問題があっ
た。
に、バス3を使用するためのバス権は同一時点で複数の
プロセッサが獲得することはできない。従って、それぞ
れのプロセッサが独自にバス権を獲得し、命令の取り込
みを行なわなければならず、キャッシュメモリへの取り
込み量や各プロセッサの動作タイミング等を適切に選定
しないと、バスのトラフィックが増大し、システム全体
としての演算処理速度を低下させるという問題があっ
た。
【0009】本発明は以上の点に着目してなされたもの
で、複数のプロセッサが共通のプログラム等を共有メモ
リから取り込み、処理を進める場合に、その取り込み動
作の効率化を図ったマルチプロセッサシステムを提供す
ることを目的とするものである。
で、複数のプロセッサが共通のプログラム等を共有メモ
リから取り込み、処理を進める場合に、その取り込み動
作の効率化を図ったマルチプロセッサシステムを提供す
ることを目的とするものである。
【0010】
【課題を解決するための手段】本発明のマルチプロセッ
サシステムは、複数のプロセッサがバスを介して接続さ
れ、このバスを通じて共有メモリをアクセスして、自己
のキャッシュメモリにデータを取り込む場合に、各プロ
セッサは直前の前記取り込みに使用したアクセスアドレ
スを保持するとともに前記バスを監視し、いずれかのプ
ロセッサが前記バスを通じて自己のキャッシュメモリに
データを取り込んだとき、各プロセッサはこのアクセス
アドレスと自己の保持していたアクセスアドレスとを比
較して、両者が近接していれば、前記いずれかのプロセ
ッサと同時に同一内容のデータを自己のキャッシュメモ
リに取り込むことを特徴とするものである。
サシステムは、複数のプロセッサがバスを介して接続さ
れ、このバスを通じて共有メモリをアクセスして、自己
のキャッシュメモリにデータを取り込む場合に、各プロ
セッサは直前の前記取り込みに使用したアクセスアドレ
スを保持するとともに前記バスを監視し、いずれかのプ
ロセッサが前記バスを通じて自己のキャッシュメモリに
データを取り込んだとき、各プロセッサはこのアクセス
アドレスと自己の保持していたアクセスアドレスとを比
較して、両者が近接していれば、前記いずれかのプロセ
ッサと同時に同一内容のデータを自己のキャッシュメモ
リに取り込むことを特徴とするものである。
【0011】
【作用】このシステムでは、各プロセッサは他のプロセ
ッサによる共有メモリのアクセスアドレスを監視する。
このアクセスアドレスが、直前に自己が命令の取り込み
に使用したアクセスアドレスに近接したものであれば、
その後、自己がキャッシュメモリへの取り込みを行なう
確率が高い。従って、この場合、他のプロセッサがその
命令を取り込むのと同一のタイミングでバスを介して、
その命令を自己のキャッシュメモリに取り込む。従っ
て、いずれかのプロセッサによる1回のバス権獲得及び
命令の取り込み処理時間に、複数のプロセッサが同様の
命令を同時に取り込むことができる。これにより、バス
のトラフィック減少が図られる。
ッサによる共有メモリのアクセスアドレスを監視する。
このアクセスアドレスが、直前に自己が命令の取り込み
に使用したアクセスアドレスに近接したものであれば、
その後、自己がキャッシュメモリへの取り込みを行なう
確率が高い。従って、この場合、他のプロセッサがその
命令を取り込むのと同一のタイミングでバスを介して、
その命令を自己のキャッシュメモリに取り込む。従っ
て、いずれかのプロセッサによる1回のバス権獲得及び
命令の取り込み処理時間に、複数のプロセッサが同様の
命令を同時に取り込むことができる。これにより、バス
のトラフィック減少が図られる。
【0012】
【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。図1は、本発明のシステム動作シーケンスチャ
ートである。このシステムの構成自体は、図2に示した
従来のマルチプロセッサシステムと同様である。なお、
各プロセッサは本発明のシステムの動作を実行するため
に、それぞれ次のような構成とされている。図1の説明
を行なう前に、この構成を説明する。
明する。図1は、本発明のシステム動作シーケンスチャ
ートである。このシステムの構成自体は、図2に示した
従来のマルチプロセッサシステムと同様である。なお、
各プロセッサは本発明のシステムの動作を実行するため
に、それぞれ次のような構成とされている。図1の説明
を行なう前に、この構成を説明する。
【0013】図4は、本発明のシステムに適するプロセ
ッサのブロック図である。本発明のシステムには、例え
ばこの図のような構成のプロセッサが使用される。この
プロセッサ10は、バス3を介して図示しない共有メモ
リと接続されており、実行中のプログラムに必要な命令
やデータをキャッシュメモリ2に取り込み、処理を行な
う構成となっている。
ッサのブロック図である。本発明のシステムには、例え
ばこの図のような構成のプロセッサが使用される。この
プロセッサ10は、バス3を介して図示しない共有メモ
リと接続されており、実行中のプログラムに必要な命令
やデータをキャッシュメモリ2に取り込み、処理を行な
う構成となっている。
【0014】プロセッサ10には、キャッシュコントロ
ーラ11、直前のアクセスアドレスレジスタ12、上位
アドレス保持部13、アドレス比較部14及びアドレス
監視部15が設けられている。アドレス監視部15はア
ドレスバス3−1に他のプロセッサから送り込まれる命
令取り込みのためのアクセスアドレスを監視し、一時格
納するためのレジスタ等から構成される。キャッシュコ
ントローラ11はデータバス3−2に接続され、データ
バス3−2上の命令やデータを取り込み、キャッシュメ
モリ2に転記するといった動作を制御する部分である。
このキャッシュコントローラ11の構成自体は従来装置
のものと同様である。
ーラ11、直前のアクセスアドレスレジスタ12、上位
アドレス保持部13、アドレス比較部14及びアドレス
監視部15が設けられている。アドレス監視部15はア
ドレスバス3−1に他のプロセッサから送り込まれる命
令取り込みのためのアクセスアドレスを監視し、一時格
納するためのレジスタ等から構成される。キャッシュコ
ントローラ11はデータバス3−2に接続され、データ
バス3−2上の命令やデータを取り込み、キャッシュメ
モリ2に転記するといった動作を制御する部分である。
このキャッシュコントローラ11の構成自体は従来装置
のものと同様である。
【0015】直前のアクセスアドレスレジスタ12は、
キャッシュコントローラ11がプログラム実行のために
直前に命令取り込みに使用したアクセスアドレスを一時
的に格納しておくレジスタである。上位アドレス保持部
13は、直前のアクセスアドレスレジスタ12の上位ア
ドレス部分のみを取り込み、保持しておくレジスタであ
る。アドレス比較部14は、上位アドレス保持部13の
内容とアドレス監視部15が取り込んだアドレスバスの
上位アドレスとを比較し、両者が一致するかどうかを判
断するゲート回路等から構成される。両者が一致した場
合には、これをキャッシュコントローラ11に通知する
構成となっている。
キャッシュコントローラ11がプログラム実行のために
直前に命令取り込みに使用したアクセスアドレスを一時
的に格納しておくレジスタである。上位アドレス保持部
13は、直前のアクセスアドレスレジスタ12の上位ア
ドレス部分のみを取り込み、保持しておくレジスタであ
る。アドレス比較部14は、上位アドレス保持部13の
内容とアドレス監視部15が取り込んだアドレスバスの
上位アドレスとを比較し、両者が一致するかどうかを判
断するゲート回路等から構成される。両者が一致した場
合には、これをキャッシュコントローラ11に通知する
構成となっている。
【0016】即ち、図4に示す構成のプロセッサ10
は、アドレスバス3−1に他のプロセッサが出力したア
クセスアドレスが検出されると、その上位ビットをアド
レス監視部15が取り込み、自己が直前にアクセスに使
用したアドレスの上位ビットと比較して両者が一致した
場合に、これをキャッシュコントローラ11が認識す
る。そして、その場合、他のプロセッサによる命令の取
り込みと同時に、データバス3−2に出力された命令を
キャッシュメモリ2に取り込むよう動作する構成となっ
ている。
は、アドレスバス3−1に他のプロセッサが出力したア
クセスアドレスが検出されると、その上位ビットをアド
レス監視部15が取り込み、自己が直前にアクセスに使
用したアドレスの上位ビットと比較して両者が一致した
場合に、これをキャッシュコントローラ11が認識す
る。そして、その場合、他のプロセッサによる命令の取
り込みと同時に、データバス3−2に出力された命令を
キャッシュメモリ2に取り込むよう動作する構成となっ
ている。
【0017】再び図1に戻って、本発明のシステムの動
作シーケンスチャートを説明する。このマルチプロセッ
サシステムは、例えばバス3を介して複数のプロセッサ
10−1〜10−3が共有メモリ4に格納されたプログ
ラムを自己のキャッシュメモリに取り込み、一定の処理
を実行する構成とする。共有メモリ4には各プロセッサ
が実行すべきプログラムが格納されており、各プロセッ
サは、そのプログラムを構成する一部の命令をキャッシ
ュメモリに転記し、一定の処理を実行する。
作シーケンスチャートを説明する。このマルチプロセッ
サシステムは、例えばバス3を介して複数のプロセッサ
10−1〜10−3が共有メモリ4に格納されたプログ
ラムを自己のキャッシュメモリに取り込み、一定の処理
を実行する構成とする。共有メモリ4には各プロセッサ
が実行すべきプログラムが格納されており、各プロセッ
サは、そのプログラムを構成する一部の命令をキャッシ
ュメモリに転記し、一定の処理を実行する。
【0018】例えば、ここで、プロセッサ10−1が、
ステップS1においてバス権を獲得し、バス3を通じて
共有メモリ4に対し命令アドレスを出力したとする。ス
テップS2において、この命令アドレスが出力される
と、他のプロセッサ10−2、10−3は、このバス3
に出力された命令アドレスの上位ビットを取り込む。即
ち、ステップS3において、この命令アドレスを受け入
れてステップS4あるいはステップS5において、自己
が直前に命令取り込みに使用したアクセスアドレスと比
較する。
ステップS1においてバス権を獲得し、バス3を通じて
共有メモリ4に対し命令アドレスを出力したとする。ス
テップS2において、この命令アドレスが出力される
と、他のプロセッサ10−2、10−3は、このバス3
に出力された命令アドレスの上位ビットを取り込む。即
ち、ステップS3において、この命令アドレスを受け入
れてステップS4あるいはステップS5において、自己
が直前に命令取り込みに使用したアクセスアドレスと比
較する。
【0019】この例では、プロセッサ10−2がその上
位アドレスの一致という結果を得た。プロセッサ10−
3は、ステップS7に示すように、上位アドレスが不一
致であった。このような場合、プロセッサ10−2はプ
ロセッサ10−1が取り込む命令と同一の命令をその後
に使用する可能性が高い。従って、ステップS8におい
て、プロセッサ10−1が命令の取り込みを行なう際、
同時にプロセッサ10−2もその命令の取り込みを行な
う。
位アドレスの一致という結果を得た。プロセッサ10−
3は、ステップS7に示すように、上位アドレスが不一
致であった。このような場合、プロセッサ10−2はプ
ロセッサ10−1が取り込む命令と同一の命令をその後
に使用する可能性が高い。従って、ステップS8におい
て、プロセッサ10−1が命令の取り込みを行なう際、
同時にプロセッサ10−2もその命令の取り込みを行な
う。
【0020】なお、例えばプロセッサ10−2は、既に
そのような命令をキャッシュメモリに取り込んでいる場
合もある。従って、この場合には、同様の命令の取り込
み処理は不要となる。これには、従来キャッシュコント
ローラが実行するキャッシュヒットあるいはキャッシュ
ミスヒットの判断をそのまま利用する。即ち、上位アド
レスが一致したとステップS6において判断された場合
には、その後キャッシュコントローラにおいて、キャッ
シュヒットかキャッシュミスヒットかを判断する。キャ
ッシュヒットであれば、そのアドレスの命令は既にキャ
ッシュメモリに存在する。従って、命令の同時取り込み
は行なわない。一方、キャッシュミスヒットであれば、
プロセッサ10−1が命令を取り込むのと同時にそのバ
スからその命令をキャッシュメモリに取り込む。
そのような命令をキャッシュメモリに取り込んでいる場
合もある。従って、この場合には、同様の命令の取り込
み処理は不要となる。これには、従来キャッシュコント
ローラが実行するキャッシュヒットあるいはキャッシュ
ミスヒットの判断をそのまま利用する。即ち、上位アド
レスが一致したとステップS6において判断された場合
には、その後キャッシュコントローラにおいて、キャッ
シュヒットかキャッシュミスヒットかを判断する。キャ
ッシュヒットであれば、そのアドレスの命令は既にキャ
ッシュメモリに存在する。従って、命令の同時取り込み
は行なわない。一方、キャッシュミスヒットであれば、
プロセッサ10−1が命令を取り込むのと同時にそのバ
スからその命令をキャッシュメモリに取り込む。
【0021】図5に、本発明のシステムにおけるアドレ
ス監視動作説明図を示す。上記のような命令の取り込み
を行なうと、この図に示すようにして各プロセッサのキ
ャッシュメモリに対し命令が転記される。図において、
例えば共有メモリ4に一定のプログラムが格納されてお
り、そのアドレスを図に示すように、A1〜A20と表
すことにする。このとき、プロセッサ10−1はその直
前の動作において、アドレスA1〜A4の命令をキャッ
シュメモリ2−1に取り込んでいたとする。また、プロ
セッサ10−2は直前の命令によって、アドレスA9〜
A12の命令を取り込んでいたとする。
ス監視動作説明図を示す。上記のような命令の取り込み
を行なうと、この図に示すようにして各プロセッサのキ
ャッシュメモリに対し命令が転記される。図において、
例えば共有メモリ4に一定のプログラムが格納されてお
り、そのアドレスを図に示すように、A1〜A20と表
すことにする。このとき、プロセッサ10−1はその直
前の動作において、アドレスA1〜A4の命令をキャッ
シュメモリ2−1に取り込んでいたとする。また、プロ
セッサ10−2は直前の命令によって、アドレスA9〜
A12の命令を取り込んでいたとする。
【0022】ここで、プロセッサ10−3がアドレスA
13〜A16の命令をキャッシュメモリ2−3に取り込
むものとする。このとき、他のプロセッサ10−1、1
0−2は、先に説明した要領でプロセッサ10−3が取
り込む命令の上位アドレスを監視する。ここで、例えば
プロセッサ10−1の上位アドレス一致範囲B−1は、
図に示すように、アドレスA8までであったとする。ま
た、プロセッサ10−2の上位アドレス一致範囲B−2
は、アドレスA5〜アドレスA20の範囲であったとす
る。この場合、プロセッサ10−1は、プロセッサ10
−3のアクセスアドレスと、自己の直前のアクセスアド
レスの上位ビットが不一致のため、命令取り込み動作を
行なわない。一方、プロセッサ10−2はプロセッサ1
0−3の命令取り込みのためのアクセスアドレスが上位
アドレス一致範囲B−2に含まれるため、アドレスA1
3〜アドレスA16の命令をキャッシュメモリ2−2に
取り込む。
13〜A16の命令をキャッシュメモリ2−3に取り込
むものとする。このとき、他のプロセッサ10−1、1
0−2は、先に説明した要領でプロセッサ10−3が取
り込む命令の上位アドレスを監視する。ここで、例えば
プロセッサ10−1の上位アドレス一致範囲B−1は、
図に示すように、アドレスA8までであったとする。ま
た、プロセッサ10−2の上位アドレス一致範囲B−2
は、アドレスA5〜アドレスA20の範囲であったとす
る。この場合、プロセッサ10−1は、プロセッサ10
−3のアクセスアドレスと、自己の直前のアクセスアド
レスの上位ビットが不一致のため、命令取り込み動作を
行なわない。一方、プロセッサ10−2はプロセッサ1
0−3の命令取り込みのためのアクセスアドレスが上位
アドレス一致範囲B−2に含まれるため、アドレスA1
3〜アドレスA16の命令をキャッシュメモリ2−2に
取り込む。
【0023】プロセッサ10−2は、アドレスA9〜A
12までの命令を実行した後は、アドレスA13〜A1
6までの命令を取り込む動作が必要となるが、プロセッ
サ10−3の命令取り込み動作によって、自動的にこの
取り込みが完了しているため、その後の処理を高速に行
なうことが可能になる。即ち、プロセッサ10−2は、
バス権の獲得や命令の取り込みといった一連の動作をす
る必要がなくなる。
12までの命令を実行した後は、アドレスA13〜A1
6までの命令を取り込む動作が必要となるが、プロセッ
サ10−3の命令取り込み動作によって、自動的にこの
取り込みが完了しているため、その後の処理を高速に行
なうことが可能になる。即ち、プロセッサ10−2は、
バス権の獲得や命令の取り込みといった一連の動作をす
る必要がなくなる。
【0024】一般に、マルチプロセッサシステムにおい
ては、共有メモリに格納されたデータの内容と自己のキ
ャッシュメモリに取り込んだデータの内容との一致を図
るために、いわゆるスヌープ方式といった手段によって
バスを常に監視している。本発明の方法では、このよう
なスヌープ方式の手法を利用してバスを監視し、上記の
ような命令やデータの取り込みを行なうことによって、
バストラフィックの減少を図ることができる。
ては、共有メモリに格納されたデータの内容と自己のキ
ャッシュメモリに取り込んだデータの内容との一致を図
るために、いわゆるスヌープ方式といった手段によって
バスを常に監視している。本発明の方法では、このよう
なスヌープ方式の手法を利用してバスを監視し、上記の
ような命令やデータの取り込みを行なうことによって、
バストラフィックの減少を図ることができる。
【0025】本発明を実現するためのハードウェア量
は、アドレスレジスタや比較器等、簡単な回路でよく、
低コストでシステムの能力を高めることができる。ま
た、取り込む対象の命令アドレスは、共有メモリの物理
アドレスとなるため、全てのプロセッサに共通に認識で
き、仮想アドレスシステム等にも対応することが可能に
なる。また、自己がバス権を獲得し、命令をフェッチす
るという動作をすることなく、自動的に、近い将来実行
するであろう命令をキャッシュメモリにフェッチするこ
とができるため、その処理を一層高速化することが可能
になる。また、この場合に、従来実行していたプログラ
ム自体には変更を加える必要がなく、システムの能力ア
ップを簡便に実施することができる。
は、アドレスレジスタや比較器等、簡単な回路でよく、
低コストでシステムの能力を高めることができる。ま
た、取り込む対象の命令アドレスは、共有メモリの物理
アドレスとなるため、全てのプロセッサに共通に認識で
き、仮想アドレスシステム等にも対応することが可能に
なる。また、自己がバス権を獲得し、命令をフェッチす
るという動作をすることなく、自動的に、近い将来実行
するであろう命令をキャッシュメモリにフェッチするこ
とができるため、その処理を一層高速化することが可能
になる。また、この場合に、従来実行していたプログラ
ム自体には変更を加える必要がなく、システムの能力ア
ップを簡便に実施することができる。
【0026】本発明は以上の実施例に限定されない。バ
スに接続される共有メモリの種類や数、プロセッサの数
等は自由に変更して差し支えない。また、キャッシュメ
モリも一次キャッシュのみならず、二次キャッシュ等で
あっても適用が可能である。従って、メモリは半導体メ
モリのみならず、ハードディスク等、各種のメモリ階層
を持ったシステムにも適用することができる。また、監
視するアドレスと自己の直前のアクセスアドレスとの比
較方法や、そのためのハードウェアは、システムの構成
により同様の機能を持つ適当なブロックに置き換えて差
し支えない。更に、他のプロセッサのアクセスアドレス
と自己の直前のアクセスアドレスとの比較によって近接
の有無を判断するための範囲は、比較的広い範囲でも狭
い範囲でも、そのプログラムの内容に応じて自由に設定
して差し支えない。
スに接続される共有メモリの種類や数、プロセッサの数
等は自由に変更して差し支えない。また、キャッシュメ
モリも一次キャッシュのみならず、二次キャッシュ等で
あっても適用が可能である。従って、メモリは半導体メ
モリのみならず、ハードディスク等、各種のメモリ階層
を持ったシステムにも適用することができる。また、監
視するアドレスと自己の直前のアクセスアドレスとの比
較方法や、そのためのハードウェアは、システムの構成
により同様の機能を持つ適当なブロックに置き換えて差
し支えない。更に、他のプロセッサのアクセスアドレス
と自己の直前のアクセスアドレスとの比較によって近接
の有無を判断するための範囲は、比較的広い範囲でも狭
い範囲でも、そのプログラムの内容に応じて自由に設定
して差し支えない。
【0027】
【発明の効果】以上説明した本発明のマルチプロセッサ
システムは、複数のプロセッサがバスを通じて共有メモ
リをアクセスし、自己のキャッシュメモリにデータを取
り込む場合に、直前のデータ取り込みに使用したアクセ
スアドレスを保持し、他のプロセッサが自己のキャッシ
ュメモリにデータを取り込むときに、そのアクセスアド
レスと自己の保持していたアクセスアドレスとを比較
し、両者が近接しているとき、同一内容のデータを自己
のキャッシュメモリに取り込むようにしたので、自己が
必要なデータを他のプロセッサのバス権獲得時に同時に
取り込むことができる。これにより、共有メモリに格納
された共通のデータを複数のプロセッサが使用する場合
に、バスのトラフィックを減少させ、各プロセッサによ
る処理の高速化が図られる。また、上記キャッシュメモ
リに取り込むデータはプログラムの命令であっても、通
常の一般的なデータであってもよい。
システムは、複数のプロセッサがバスを通じて共有メモ
リをアクセスし、自己のキャッシュメモリにデータを取
り込む場合に、直前のデータ取り込みに使用したアクセ
スアドレスを保持し、他のプロセッサが自己のキャッシ
ュメモリにデータを取り込むときに、そのアクセスアド
レスと自己の保持していたアクセスアドレスとを比較
し、両者が近接しているとき、同一内容のデータを自己
のキャッシュメモリに取り込むようにしたので、自己が
必要なデータを他のプロセッサのバス権獲得時に同時に
取り込むことができる。これにより、共有メモリに格納
された共通のデータを複数のプロセッサが使用する場合
に、バスのトラフィックを減少させ、各プロセッサによ
る処理の高速化が図られる。また、上記キャッシュメモ
リに取り込むデータはプログラムの命令であっても、通
常の一般的なデータであってもよい。
【図1】本発明のシステムの動作シーケンスチャートで
ある。
ある。
【図2】一般のマルチプロセッサシステムブロック図で
ある。
ある。
【図3】従来システムの動作シーケンスチャートであ
る。
る。
【図4】本発明のシステムに適するプロセッサブロック
図である。
図である。
【図5】本発明のシステムにおけるアドレス監視動作説
明図である。
明図である。
3 バス 4 共有メモリ 10−1〜10−3 プロセッサ
Claims (1)
- 【請求項1】 複数のプロセッサがバスを介して接続さ
れ、このバスを通じて共有メモリをアクセスして、自己
のキャッシュメモリにデータを取り込む場合に、 各プロセッサは直前の前記取り込みに使用したアクセス
アドレスを保持するとともに前記バスを監視し、 いずれかのプロセッサが前記バスを通じて自己のキャッ
シュメモリにデータを取り込んだとき、 各プロセッサはこのアクセスアドレスと自己の保持して
いたアクセスアドレスとを比較して、両者が近接してい
れば、 前記いずれかのプロセッサと同時に同一内容のデータを
自己のキャッシュメモリに取り込むことを特徴とするマ
ルチプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23914293A JPH0764933A (ja) | 1993-08-31 | 1993-08-31 | マルチプロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23914293A JPH0764933A (ja) | 1993-08-31 | 1993-08-31 | マルチプロセッサシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0764933A true JPH0764933A (ja) | 1995-03-10 |
Family
ID=17040391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23914293A Pending JPH0764933A (ja) | 1993-08-31 | 1993-08-31 | マルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0764933A (ja) |
-
1993
- 1993-08-31 JP JP23914293A patent/JPH0764933A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5509119A (en) | Fast comparison method and apparatus for error corrected cache tags | |
US20040139304A1 (en) | High speed virtual instruction execution mechanism | |
US5297281A (en) | Multiple sequence processor system | |
US5961633A (en) | Execution of data processing instructions | |
US6370617B1 (en) | Non-stalling pipeline tag controller | |
US5737564A (en) | Cache memory system having multiple caches with each cache mapped to a different area of main memory to avoid memory contention and to lessen the number of cache snoops | |
US5696939A (en) | Apparatus and method using a semaphore buffer for semaphore instructions | |
US4658356A (en) | Control system for updating a change bit | |
JPH0564825B2 (ja) | ||
US5012410A (en) | Data processor with instruction cache memory | |
JPH0764933A (ja) | マルチプロセッサシステム | |
JPH07234819A (ja) | キャッシュメモリ | |
JP2851777B2 (ja) | バス制御方法及び情報処理装置 | |
JP2762798B2 (ja) | 命令キャッシュを有するパイプライン構成の情報処理装置 | |
JPH04205448A (ja) | 情報処理装置 | |
JP2507544B2 (ja) | 記憶制御装置 | |
JPH1185613A (ja) | キャッシュメモリ | |
JP2982197B2 (ja) | キャッシュ用バスモニタ回路 | |
JP3047992B2 (ja) | 主記憶キー制御方法 | |
JPH07219845A (ja) | キャッシュメモリ制御方式 | |
JPH08272687A (ja) | 入出力キャッシュメモリ | |
JPH01307849A (ja) | データアクセス装置 | |
JP2000347931A (ja) | キャッシュメモリおよびキャッシュメモリ制御方法 | |
JPH0697438B2 (ja) | 記憶装置 | |
JPH11249959A (ja) | キャッシュメモリ制御方法および装置 |