JPH0325558A - マルチプロセッサシステムの主記憶アクセスリクエスト選択方式 - Google Patents
マルチプロセッサシステムの主記憶アクセスリクエスト選択方式Info
- Publication number
- JPH0325558A JPH0325558A JP16000389A JP16000389A JPH0325558A JP H0325558 A JPH0325558 A JP H0325558A JP 16000389 A JP16000389 A JP 16000389A JP 16000389 A JP16000389 A JP 16000389A JP H0325558 A JPH0325558 A JP H0325558A
- Authority
- JP
- Japan
- Prior art keywords
- request
- processor
- priority
- requests
- held
- 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、複数のプロセッサを備えたマルチプロセッサ
システムにおいて、各々のプロセッサから出力された主
記憶アクセスリクエストを最適な方法で選択する主記憶
アクセスリクエスト選択方式に関するものである。
システムにおいて、各々のプロセッサから出力された主
記憶アクセスリクエストを最適な方法で選択する主記憶
アクセスリクエスト選択方式に関するものである。
第4図は特開昭63−86062号に従来技術として示
されている従来の主記憶アクセスリクエスト選択装置の
構或例である。同図において、2bは優先順位制御回路
、3はリクエスト受信レジスタ、4は優先順位カウンタ
、5はロックレジスタ、6はパイプライン、7はバンク
ビジー表示回路、8は主記憶アクセス起動レジスタであ
る。
されている従来の主記憶アクセスリクエスト選択装置の
構或例である。同図において、2bは優先順位制御回路
、3はリクエスト受信レジスタ、4は優先順位カウンタ
、5はロックレジスタ、6はパイプライン、7はバンク
ビジー表示回路、8は主記憶アクセス起動レジスタであ
る。
この構或において、各プロセッサからの主記憶アクセス
リクエストは各々のプロセッサに対応したリクエスト受
信レジスタ3にバッフ戸リングされる。図示の例では、
プロセッサ数が4台に仮定ざれているので、リクエスト
受信レジスタ3はRRO〜RR4の4個存在する。バッ
ファリングされた主記憶アクセスリクエストは優先順位
制御回路2bに送られる.優先順位制御回路2bは各リ
クエスト受信レシズタ3から送られてきている主記憶ア
クセスリクエストのうち唯一のリクエストを選択する。
リクエストは各々のプロセッサに対応したリクエスト受
信レジスタ3にバッフ戸リングされる。図示の例では、
プロセッサ数が4台に仮定ざれているので、リクエスト
受信レジスタ3はRRO〜RR4の4個存在する。バッ
ファリングされた主記憶アクセスリクエストは優先順位
制御回路2bに送られる.優先順位制御回路2bは各リ
クエスト受信レシズタ3から送られてきている主記憶ア
クセスリクエストのうち唯一のリクエストを選択する。
パイプライン6は主記憶¥iNIlを起動したアクセス
を各ステージ毎に保持するものである。優先順位カウン
タ4はnビットのカウンタで、プロセッサ間の優先順位
を動的に決定するものであり、リクエストが選択される
毎に優先順位が変更される。プロセッサをPO〜P3と
すると、優先順位制御回路2bは優先順位カウンタ4の
nビットをデコードすることにより、下記の優先順位を
指定する。
を各ステージ毎に保持するものである。優先順位カウン
タ4はnビットのカウンタで、プロセッサ間の優先順位
を動的に決定するものであり、リクエストが選択される
毎に優先順位が変更される。プロセッサをPO〜P3と
すると、優先順位制御回路2bは優先順位カウンタ4の
nビットをデコードすることにより、下記の優先順位を
指定する。
カウンタ4
2ピット出力 優先順位
00 :PO PI P2 P3“
01 :PI P2 P3 P41
0 :P2 P3 PO P111
:P3 PO PI P2パング
ビジー表示回路7は主記憶のバンク対応に各バンクのビ
ジー時間を保持するフラグを持ち、このフラグがオンで
あるバンクへのアクセスは、このフラグがオフになるま
での期間抑止される。
01 :PI P2 P3 P41
0 :P2 P3 PO P111
:P3 PO PI P2パング
ビジー表示回路7は主記憶のバンク対応に各バンクのビ
ジー時間を保持するフラグを持ち、このフラグがオンで
あるバンクへのアクセスは、このフラグがオフになるま
での期間抑止される。
ロックレジスタ5はロックされたバンクのアドレスまた
はキャッシュブロック単位のアドレスが保持され、バン
ク単位またはブロック単位のロックが実現される。この
ロックレジスタ5の値が有効な間、同一バンクまたは同
一ブロックへのアクセスはロックを指令したプロセッサ
からのアクセス以外は抑止される。ロックレジスタ5は
、ロックを起動したブOセッサからのロック解除リクエ
ストによって無効化される。
はキャッシュブロック単位のアドレスが保持され、バン
ク単位またはブロック単位のロックが実現される。この
ロックレジスタ5の値が有効な間、同一バンクまたは同
一ブロックへのアクセスはロックを指令したプロセッサ
からのアクセス以外は抑止される。ロックレジスタ5は
、ロックを起動したブOセッサからのロック解除リクエ
ストによって無効化される。
上述した従来のアクセスリクエスト選択方式では、プロ
セッサ間の優先順,位のみを動的に変化させていたため
、多数のプロセッサから$11!にリクエストが発生す
る場合、優先順位が低く割当てられているプロセッサは
自分の優先順位が高くなるまで待たされる可能性がある
。これは優先順位の低いプロセッサからのリクエストが
優先順位の高いプロセッサからのリクエストよりも時間
的に早く発行されても、優先順位の高いプロセッサから
のリクエス1・に追越されてしまう可能性があることを
意味する。仁のような状態が生じる例を第5図により説
明すると、ここでは時間ToからT3まで、優先順位制
御回路2bで1回のリクエスト選択に要する時間単位で
区切られ、各々の時間に対して各プロセッサからリクエ
ストの状態が示されている。リクエスi・の状態は“d
S nが優先順位制御回路2bでリクエスト選択処理
されている状態、′W”が優先順位制御回路2bの入口
で待たされている状態を示しており、この例ではプロセ
ッサP3のリクエストが長時間待たされている場合を示
している。このときの例の動作を時間毎に説明する。
セッサ間の優先順,位のみを動的に変化させていたため
、多数のプロセッサから$11!にリクエストが発生す
る場合、優先順位が低く割当てられているプロセッサは
自分の優先順位が高くなるまで待たされる可能性がある
。これは優先順位の低いプロセッサからのリクエストが
優先順位の高いプロセッサからのリクエストよりも時間
的に早く発行されても、優先順位の高いプロセッサから
のリクエス1・に追越されてしまう可能性があることを
意味する。仁のような状態が生じる例を第5図により説
明すると、ここでは時間ToからT3まで、優先順位制
御回路2bで1回のリクエスト選択に要する時間単位で
区切られ、各々の時間に対して各プロセッサからリクエ
ストの状態が示されている。リクエスi・の状態は“d
S nが優先順位制御回路2bでリクエスト選択処理
されている状態、′W”が優先順位制御回路2bの入口
で待たされている状態を示しており、この例ではプロセ
ッサP3のリクエストが長時間待たされている場合を示
している。このときの例の動作を時間毎に説明する。
TO:プロセッサP2とプロセッサP3が同時にリクエ
ストを発行する。このとき、プロセッサP2の方が優先
順位が高いので、プロセッサP2のリクエストが選択さ
れる。
ストを発行する。このとき、プロセッサP2の方が優先
順位が高いので、プロセッサP2のリクエストが選択さ
れる。
T1:継続的にプロセッサP3からのリクエストは発行
され続けている.さらにこの時点でプロセッサP1から
リクエストが発行される。このとき、プロセッサP1の
方が優先順位が高いため、プロセッサP1のリクエスト
が選択され、この時点でリクウエストの追い越しが生じ
る。
され続けている.さらにこの時点でプロセッサP1から
リクエストが発行される。このとき、プロセッサP1の
方が優先順位が高いため、プロセッサP1のリクエスト
が選択され、この時点でリクウエストの追い越しが生じ
る。
T2:継続的にプロセッサP3からのリクエストは発行
され続けている。さらにこの時点で、プロセッサPOか
らのリクエストが発行される。このとき、プロセッサP
Oの方が優先順位が高いので、プロセッサPOのリクエ
ストが選択され、この時点で再びリクエストの追い越し
が生じる。
され続けている。さらにこの時点で、プロセッサPOか
らのリクエストが発行される。このとき、プロセッサP
Oの方が優先順位が高いので、プロセッサPOのリクエ
ストが選択され、この時点で再びリクエストの追い越し
が生じる。
T3:継続的にプロセッサP3からのリクエストは発行
され続けている。この時点でプロセッサP3の優先順位
が最高になるので、プロセッサP3からのリクエストは
この時点で初めて選択される. このようにして1つのプロセッサからのリクエストが長
時間待たされることは、優先順位の高いプロセッサがロ
ック領域を指定した場合にシステム性能の低下を招くと
いう問題点がある。具体的には以下に示すようなことが
生じる。
され続けている。この時点でプロセッサP3の優先順位
が最高になるので、プロセッサP3からのリクエストは
この時点で初めて選択される. このようにして1つのプロセッサからのリクエストが長
時間待たされることは、優先順位の高いプロセッサがロ
ック領域を指定した場合にシステム性能の低下を招くと
いう問題点がある。具体的には以下に示すようなことが
生じる。
(1)プロセッサPiがロックをかけた主記憶領域に、
プロセッサPjがその領域をアクセスしようとするが、
ロックがかけられているためにキャンセルされる。
プロセッサPjがその領域をアクセスしようとするが、
ロックがかけられているためにキャンセルされる。
(2)プロセッサPjは再び同じところをアクセスしよ
うとする. (3)プロセッサPiはロック解除のリクエストを発行
する。
うとする. (3)プロセッサPiはロック解除のリクエストを発行
する。
(4)プロセッサPjの優先順位の方がプロセッサiの
優先順位よりも高いので、プロセッサPjからのリクエ
ストの方が優先され、再びロックをかけられた領域に対
してアクセスしてキャンセルされる。
優先順位よりも高いので、プロセッサPjからのリクエ
ストの方が優先され、再びロックをかけられた領域に対
してアクセスしてキャンセルされる。
このようにロック解除のリクエストを出しているプロセ
ッサがその優先順位が上がるまで艮時間持たされること
によって、上記(4)のような無駄なリクエストが何回
も受付けられてしまい、システム全体の性能の低下を招
いてしまうという問題点がある。
ッサがその優先順位が上がるまで艮時間持たされること
によって、上記(4)のような無駄なリクエストが何回
も受付けられてしまい、システム全体の性能の低下を招
いてしまうという問題点がある。
また、上記例ではプロセッサの数が多くなるほど優先順
位が上がるまでの時間が多くなるため、プロセッサの数
が多くなっても待ち時間が増加しないようなリクエスト
選択方式が要望されている.本発明は上記のような問題
を解決するためになされたもので、リクエストの追い越
しを回避し、システムの性能の低下と待ち時間の増加を
防止できるマルチプロセッサシステムの主記憶アクセス
リクエスト選択方式を提供することを目的としている。
位が上がるまでの時間が多くなるため、プロセッサの数
が多くなっても待ち時間が増加しないようなリクエスト
選択方式が要望されている.本発明は上記のような問題
を解決するためになされたもので、リクエストの追い越
しを回避し、システムの性能の低下と待ち時間の増加を
防止できるマルチプロセッサシステムの主記憶アクセス
リクエスト選択方式を提供することを目的としている。
[課題を解決するための手段〕
本発明は、優先順位に従って主記憶@置へのアクセスリ
クエストを選択する手段の他に、時間的に先に発行され
たアクセスリエストを選択する手段を設けたものである
.すなわち、各プロセッサから発生される主記憶アクセ
スリクエストの優先順位を一定時間毎に動的に変化させ
、その優先順位に従って複数のプロセッサから同時に発
行されているリクエストのうち、唯一のリクエストを選
択すると共に、選択されたリクエストを表わす通知信号
を出力するリクエスト選択手段(4l!先順位制御回路
2a)と、各プロセッサから任意の時刻に発行されるリ
クエストを一時的に保持しておく第1リクエスト保持手
段(リクエスト保持レジスタA12)と、この第1リク
エスト保持手段に保持されていたリクエストを受取って
保持すると共に、保持しているリクエストを前記リクエ
スト選択手段に送り、さらに保持していたリクエストの
中で前記通知信号で示されるリクエストを消去し、さら
に保持されていたリクエストがなくなった時に再び前記
第1リクエスト保持手段に保持されていたリクエストを
受取る第2リクエスト保持手段〈リクエスト保持レジス
タラッチB13)と、前記第1.第2リクエスト保持手
段の両方にリクエストが保持されていない時に各プロセ
ッサからのリクエストを直接に前記リクエスト選択手段
に転送するリクエスト切換手段《リクエストセレクタ1
1〉とを設けたものである。
クエストを選択する手段の他に、時間的に先に発行され
たアクセスリエストを選択する手段を設けたものである
.すなわち、各プロセッサから発生される主記憶アクセ
スリクエストの優先順位を一定時間毎に動的に変化させ
、その優先順位に従って複数のプロセッサから同時に発
行されているリクエストのうち、唯一のリクエストを選
択すると共に、選択されたリクエストを表わす通知信号
を出力するリクエスト選択手段(4l!先順位制御回路
2a)と、各プロセッサから任意の時刻に発行されるリ
クエストを一時的に保持しておく第1リクエスト保持手
段(リクエスト保持レジスタA12)と、この第1リク
エスト保持手段に保持されていたリクエストを受取って
保持すると共に、保持しているリクエストを前記リクエ
スト選択手段に送り、さらに保持していたリクエストの
中で前記通知信号で示されるリクエストを消去し、さら
に保持されていたリクエストがなくなった時に再び前記
第1リクエスト保持手段に保持されていたリクエストを
受取る第2リクエスト保持手段〈リクエスト保持レジス
タラッチB13)と、前記第1.第2リクエスト保持手
段の両方にリクエストが保持されていない時に各プロセ
ッサからのリクエストを直接に前記リクエスト選択手段
に転送するリクエスト切換手段《リクエストセレクタ1
1〉とを設けたものである。
(作用)
2台以上のプロセッサから同時にリクエストが発生され
た場合、各プロセッサからのリクエストは第1リクエス
ト保持手段に送られる。この時、第2リクエスト保持手
段に保留されているリクエストが存在しなければ、各プ
ロセッサからのリクエストは同時にリクエスト選択手段
に送られる。
た場合、各プロセッサからのリクエストは第1リクエス
ト保持手段に送られる。この時、第2リクエスト保持手
段に保留されているリクエストが存在しなければ、各プ
ロセッサからのリクエストは同時にリクエスト選択手段
に送られる。
リクエスト選択手段ではカウンタで定められた優先順位
に従って複数のリクエストのうち最も優先度の高い唯一
のリクエストを選択する。選択されたリクエストはパイ
プライン(6)などの各構成要素に送られると同時に、
どのプロセッサからのリクエストが選択されたかが第2
リクエスト保持手段に知らされる。そこで、第2リクエ
スト保持手段では保持しているリクエストのうち選択さ
れたブOセッサに対応するリクエストを消去する.次の
リクエスト選択のとき、第2リクエスト保持手段内のリ
クエストが全て消去されていなければ、再度第2リクエ
スト保持手段内に保持されているリクエストがリクエス
ト選択手段に送られる。
に従って複数のリクエストのうち最も優先度の高い唯一
のリクエストを選択する。選択されたリクエストはパイ
プライン(6)などの各構成要素に送られると同時に、
どのプロセッサからのリクエストが選択されたかが第2
リクエスト保持手段に知らされる。そこで、第2リクエ
スト保持手段では保持しているリクエストのうち選択さ
れたブOセッサに対応するリクエストを消去する.次の
リクエスト選択のとき、第2リクエスト保持手段内のリ
クエストが全て消去されていなければ、再度第2リクエ
スト保持手段内に保持されているリクエストがリクエス
ト選択手段に送られる。
リクエスト選択は第2リクエスト保持手段内に保持され
ているリクエストが全て消去されるまで続けられる。
ているリクエストが全て消去されるまで続けられる。
一方、第2リクエスト保持手段に保持されているリクエ
ストがリクエスト選択手段に送られる間、各ブ0セッサ
から出されているリクエストは第1リクエスト保持手段
にセットされる。リクエスト選択の時、第2リクエスト
保持手段内のリクエストが全て消去されている場合、第
1リクエスト保持手段の内容が第2リクエス1・保持手
段にコピーされ、第1リクエスト保持手段の内容は消去
ざれる。以降のリクエスト道択には上記の動作が繰返さ
れる。
ストがリクエスト選択手段に送られる間、各ブ0セッサ
から出されているリクエストは第1リクエスト保持手段
にセットされる。リクエスト選択の時、第2リクエスト
保持手段内のリクエストが全て消去されている場合、第
1リクエスト保持手段の内容が第2リクエス1・保持手
段にコピーされ、第1リクエスト保持手段の内容は消去
ざれる。以降のリクエスト道択には上記の動作が繰返さ
れる。
このように411威したことにより、時間的に先に発行
されたリクエストを優先して処理することが可能となり
、リクエストの追い越しを防止し、1つのプロセッサが
長時間待たされることを回避することができる。
されたリクエストを優先して処理することが可能となり
、リクエストの追い越しを防止し、1つのプロセッサが
長時間待たされることを回避することができる。
(実施例)
第1図は、本発明の基本的な構戒の一実浦例を示したブ
ロック図である。図示の構成は、第4図に示されている
従来の主記憶アクセスリクエスト選択@置の構成例を改
良したものとして示している。従って、参照番号2から
8で示されている構成要素は、両図において共通に用い
ている。しかし、第1図における優先順位回路2aでは
バンクピジーまたはロック検出によるリクエスト抑止手
段が除去され、リクエスト抑止手段はリクエスト順序制
御回路1に移されている。
ロック図である。図示の構成は、第4図に示されている
従来の主記憶アクセスリクエスト選択@置の構成例を改
良したものとして示している。従って、参照番号2から
8で示されている構成要素は、両図において共通に用い
ている。しかし、第1図における優先順位回路2aでは
バンクピジーまたはロック検出によるリクエスト抑止手
段が除去され、リクエスト抑止手段はリクエスト順序制
御回路1に移されている。
また、第1図において、新たに付加された回路がリクエ
スト順序111JI!1回路1である。リクエスト順序
制御回路1は、時間的に先に発行されたリクエストを優
先的に優先順位制御回路1に送る機構である。リクエス
ト順序制御回路1内にはリクエスト保持レジスタA12
とリクエスト保持レジスタ813の2つの保持レジスタ
があり、各々のリクエスト保持レジスタは各プロセッサ
毎に対応した数のフリップ7ロップで構戒されている。
スト順序111JI!1回路1である。リクエスト順序
制御回路1は、時間的に先に発行されたリクエストを優
先的に優先順位制御回路1に送る機構である。リクエス
ト順序制御回路1内にはリクエスト保持レジスタA12
とリクエスト保持レジスタ813の2つの保持レジスタ
があり、各々のリクエスト保持レジスタは各プロセッサ
毎に対応した数のフリップ7ロップで構戒されている。
これらのリクエスト保持レジスタA12.813によっ
てリクエストを保持し、リクエストの順序を保証する。
てリクエストを保持し、リクエストの順序を保証する。
また、リクエスト順序制御回路1には、リクエスト停止
@路10とリクエストセレクタ11が設けられている。
@路10とリクエストセレクタ11が設けられている。
以上の構成において、2台以上のプロセッサから同時に
リクエストが発行された場合、各プOセッサからのリク
エストは各々のプロセッサに対応するリクエスト受信レ
ジスタ3を経由してリクエス1・順序制御回路1に送ら
れる。リクエスト順序制御回路1において、この時点で
保留されているリクエストが存在しなければ、各ブOセ
ッサからのリクエストは同時に優先順位制御回路2aに
送られる。同時に、リクエスト順序lIjlJID回路
1内では、リクエスト保持レジスタB13内のリクエス
トを出したプロセッサに対応するフリップフロツブがセ
ットされる。
リクエストが発行された場合、各プOセッサからのリク
エストは各々のプロセッサに対応するリクエスト受信レ
ジスタ3を経由してリクエス1・順序制御回路1に送ら
れる。リクエスト順序制御回路1において、この時点で
保留されているリクエストが存在しなければ、各ブOセ
ッサからのリクエストは同時に優先順位制御回路2aに
送られる。同時に、リクエスト順序lIjlJID回路
1内では、リクエスト保持レジスタB13内のリクエス
トを出したプロセッサに対応するフリップフロツブがセ
ットされる。
優先順位制御回路2aでは、優先順位カウンタ4で定め
られた優先順位に従って複数のリクエストから唯一のリ
クエストを選択する。選択されたリクエストはパイプラ
イン6などの各構成要素に送られると同時に、信号Im
9を経由してどのプロセッサからのリクエストが選択さ
れたかがリクエスト順序制御回路1に通知される。通知
されたリクエストに対応するフリップ7ロップはリセッ
トされる。
られた優先順位に従って複数のリクエストから唯一のリ
クエストを選択する。選択されたリクエストはパイプラ
イン6などの各構成要素に送られると同時に、信号Im
9を経由してどのプロセッサからのリクエストが選択さ
れたかがリクエスト順序制御回路1に通知される。通知
されたリクエストに対応するフリップ7ロップはリセッ
トされる。
次のリクエスト選択のとき、リクエスト保持レジスタ8
13のフリップフロップが全てリセットされていなけれ
ば、リクエスト保持レジスタB13に残っているリクエ
ストが優先順位制御回路2aに送られる。そして、再び
同様のリクエスト選択がリクエスト保持レジスタ813
のフリップフロップが全てリセットされるまで続けられ
、この間はリクエスト保持レジスタB13でセットされ
ているリクエス1・が侵先順位制御回路2aに送られる
。
13のフリップフロップが全てリセットされていなけれ
ば、リクエスト保持レジスタB13に残っているリクエ
ストが優先順位制御回路2aに送られる。そして、再び
同様のリクエスト選択がリクエスト保持レジスタ813
のフリップフロップが全てリセットされるまで続けられ
、この間はリクエスト保持レジスタB13でセットされ
ているリクエス1・が侵先順位制御回路2aに送られる
。
一方、リクエスト保持レジスタ813からのリクエスト
が優先順位制御回路2aに送られる間、各プロセッサか
ら出されているリクエストはリクエスト保持レジスタA
12にセットされる。リクエスト選択の時、リクエスト
保持レジスタB13の7リップフロップが全てリセット
されている場合、リクエスト保持レジスタAI2の内容
がリクエスト保持レジスタ813にコピーされ、リクエ
スト保持レジスタAI2の全てフリツプ7ロツブはリセ
ットされる。以降のリクエスト選択には上記の動作が繰
返される。
が優先順位制御回路2aに送られる間、各プロセッサか
ら出されているリクエストはリクエスト保持レジスタA
12にセットされる。リクエスト選択の時、リクエスト
保持レジスタB13の7リップフロップが全てリセット
されている場合、リクエスト保持レジスタAI2の内容
がリクエスト保持レジスタ813にコピーされ、リクエ
スト保持レジスタAI2の全てフリツプ7ロツブはリセ
ットされる。以降のリクエスト選択には上記の動作が繰
返される。
このように、リクエス{・保持レジスタA12,813
を含むリクエスト順序111Jl1]回路1を新たに設
けることにより、時間的に先に発行されたリクエストを
優先して処理することができる。
を含むリクエスト順序111Jl1]回路1を新たに設
けることにより、時間的に先に発行されたリクエストを
優先して処理することができる。
第2図は、第1図に示される本発明の構或例において各
プロセッサからのリクエストの発行、処理状態をW藺順
に示した図である。なお、第2図で使われている記弓は
第5図で示されている記号と全く同じ意味である。以下
に本発明の構成例における動作を時間毎に説明する。
プロセッサからのリクエストの発行、処理状態をW藺順
に示した図である。なお、第2図で使われている記弓は
第5図で示されている記号と全く同じ意味である。以下
に本発明の構成例における動作を時間毎に説明する。
TO=プロセッサP2とプロセッサP3が同時にリクエ
ストを発行する。このとき、プロセッサP2の方が優先
順位が高いので、プロセッサP2 のリクエスl
・が選択される。
ストを発行する。このとき、プロセッサP2の方が優先
順位が高いので、プロセッサP2 のリクエスl
・が選択される。
丁1:継続的にプロセッサP3からのリクエストは発行
され続けている。さらにこの時点で、プロセッサP1か
らリクエストが発行される。このとき、プロセッサP1
の方が優先順位は高いが、プロセッサP3のリクエスト
の方が先に発行されているので、プロセッサP3のリク
エスI・が選択され、ブ0セッサP1のリクエストき待
たされる。従って、第5図の従来例のようなリクエスト
の追い越しはこの時点で生じない。
され続けている。さらにこの時点で、プロセッサP1か
らリクエストが発行される。このとき、プロセッサP1
の方が優先順位は高いが、プロセッサP3のリクエスト
の方が先に発行されているので、プロセッサP3のリク
エスI・が選択され、ブ0セッサP1のリクエストき待
たされる。従って、第5図の従来例のようなリクエスト
の追い越しはこの時点で生じない。
T2 :IK1続的にプロセッサP1からのリクエス1
・は発行され続けている。さらにこの時点で、プロセッ
サPOからリクエストが発行される.このとき、プロセ
ッサPOの方が優先順位は高いが、プロセッサP1のリ
クエストの方が先に発行されているのでプロセッサP1
のリクエストが選択され、プロセッサPOのリクエス1
・は待たされる. T3:継続的にブOセッサPOからのリクエス1・は発
行され続けている。この時点でブOセッサPOのリクエ
スト以外に待たされているリクエストは存在しないので
、ブOセッサPOのリクエストが選択される。
・は発行され続けている。さらにこの時点で、プロセッ
サPOからリクエストが発行される.このとき、プロセ
ッサPOの方が優先順位は高いが、プロセッサP1のリ
クエストの方が先に発行されているのでプロセッサP1
のリクエストが選択され、プロセッサPOのリクエス1
・は待たされる. T3:継続的にブOセッサPOからのリクエス1・は発
行され続けている。この時点でブOセッサPOのリクエ
スト以外に待たされているリクエストは存在しないので
、ブOセッサPOのリクエストが選択される。
このように、時間的に先に発行されたリクエストが優先
されることにより、リクエストの追い越しを防止し、1
つのプロセッサが長時間待たされることを回避すること
ができる。
されることにより、リクエストの追い越しを防止し、1
つのプロセッサが長時間待たされることを回避すること
ができる。
第3図はWJ1図の4M戊の詳細を具体的に示した回路
図である。第3図において、1はリクエスト順序制御回
路、2aは優先順位制御回路である。
図である。第3図において、1はリクエスト順序制御回
路、2aは優先順位制御回路である。
リクエスト順序制御回路1は各プロセッサからの主記憶
アクセクリクエストを受取り、決められた順番に従って
そのリクエストを優先順位lvItl1回路2aに送る
。優先順位制御回282aでは唯一のリクエストが選択
され、選択結果は次の構成要素に送られると共に、リク
エスト順序制御回路1にも信号!i19を経由してフィ
ードバックされる。以下に、リクエスト順序制御回路1
の内部構或について説明する。
アクセクリクエストを受取り、決められた順番に従って
そのリクエストを優先順位lvItl1回路2aに送る
。優先順位制御回282aでは唯一のリクエストが選択
され、選択結果は次の構成要素に送られると共に、リク
エスト順序制御回路1にも信号!i19を経由してフィ
ードバックされる。以下に、リクエスト順序制御回路1
の内部構或について説明する。
各プロセッサから送られてくるリクエスト低目はまずA
ND回路16に入力される。AND回路16のもう一方
の入力はリクエスト停止回路10からの信号線であり、
リクエスト停止回路10でリクエストの停止が決定され
た場合、AND回路16でリクエストは止められる。リ
クエスト停止の条件としては次の条件が挙げられる。
ND回路16に入力される。AND回路16のもう一方
の入力はリクエスト停止回路10からの信号線であり、
リクエスト停止回路10でリクエストの停止が決定され
た場合、AND回路16でリクエストは止められる。リ
クエスト停止の条件としては次の条件が挙げられる。
(1)バンクビジー状態であるバンクをアクセスしよう
とした時。
とした時。
{2}ロックをかけたプロセッサ以外のプロセッサがそ
のロックされた主記憶領域をアクセスしようとした時。
のロックされた主記憶領域をアクセスしようとした時。
従って、リクエスト停止回路10には、バンクアドレス
、ロックアドレス、ビジーパンクアドレスの各信号が入
力されている. AND回路16を通過したリクエストはリクエストセレ
クタ11にも送られる。リクエストセレクタ11はリク
エスト保持レジスタB13にリクエストが残されていな
い場合、AND回i116を通過したリクエストを直ち
に優先順位制御回路2aに送るためのセレクタである。
、ロックアドレス、ビジーパンクアドレスの各信号が入
力されている. AND回路16を通過したリクエストはリクエストセレ
クタ11にも送られる。リクエストセレクタ11はリク
エスト保持レジスタB13にリクエストが残されていな
い場合、AND回i116を通過したリクエストを直ち
に優先順位制御回路2aに送るためのセレクタである。
リクエストセレクタ11の切換はNOR回路18の出力
によって決定される。NOR回路18はリクエスト保持
レジスタB13にリクエス1・が残されていない場合、
つまり、リクエスト保持レジスタ813内のすべてのフ
リップフロツプ15がリセットされている場合に信号を
出し、リクエストセレクタ11を切換えてAND回路1
6を通過したリクエストを直ちに優先順位$811回路
2aに送る。
によって決定される。NOR回路18はリクエスト保持
レジスタB13にリクエス1・が残されていない場合、
つまり、リクエスト保持レジスタ813内のすべてのフ
リップフロツプ15がリセットされている場合に信号を
出し、リクエストセレクタ11を切換えてAND回路1
6を通過したリクエストを直ちに優先順位$811回路
2aに送る。
リクエスト保持レジスタAI2に保持されているリクエ
ストは、次のリクエス1・選択が起動される時にリクエ
スト保持レジスタB13にリクエストが残されていなけ
れば、リクエストレジスタB13にコピーされる。コピ
ー終了後、リクエスト保持レジスタA12内の全てのフ
リップフロツプ14はリセットされる.リクエス1・保
持レジスタA12に保持ざれているリクエストはAND
回路17を経由してリクエスト保持レジスタB13に送
られる。AND回路17はリクエスト選択起動信号を受
取り、かつリクエスト保持レジスタB13にリクエスト
が残されていないことを示すNoR回路18からの信号
を受取った場合のみ、リクエストを通す。AND回路1
7に対する条件はANO回路19で生或される。
ストは、次のリクエス1・選択が起動される時にリクエ
スト保持レジスタB13にリクエストが残されていなけ
れば、リクエストレジスタB13にコピーされる。コピ
ー終了後、リクエスト保持レジスタA12内の全てのフ
リップフロツプ14はリセットされる.リクエス1・保
持レジスタA12に保持ざれているリクエストはAND
回路17を経由してリクエスト保持レジスタB13に送
られる。AND回路17はリクエスト選択起動信号を受
取り、かつリクエスト保持レジスタB13にリクエスト
が残されていないことを示すNoR回路18からの信号
を受取った場合のみ、リクエストを通す。AND回路1
7に対する条件はANO回路19で生或される。
リクエスト保持レジスタB13にリクエストが残ってい
る場合、リクエストセレクタ11はリクエスト保持レジ
スタB13からのリクエストを優先順位制御回路2aに
送る。優先順位llllJ1m!1回路2aは優先順位
カウンタ4で指定される優先順位に従ってリクエストを
唯一つだけ選択する。
る場合、リクエストセレクタ11はリクエスト保持レジ
スタB13からのリクエストを優先順位制御回路2aに
送る。優先順位llllJ1m!1回路2aは優先順位
カウンタ4で指定される優先順位に従ってリクエストを
唯一つだけ選択する。
唯一つだけ選択されたリクエストは信号線9を経由して
リクエスト保持レジスタB13に通知される。リクエス
ト保持レジスタ813では、優先順位制御回路2a出選
択されたリクエストの発行元であるプロセッサに対応す
るフリップフロップ15がリセットされる。
リクエスト保持レジスタB13に通知される。リクエス
ト保持レジスタ813では、優先順位制御回路2a出選
択されたリクエストの発行元であるプロセッサに対応す
るフリップフロップ15がリセットされる。
このようにして、リクエスト保持レジスタB13内に保
持されているリクエストはリクエストが選択される毎に
リセットされ、ついにリクエスト保持レジスタB13内
のリクエストが空きになると、リクエスト保持レジスタ
AI2内のリクエストが再びリクエスト保持レジスタB
13にコピーされる。さらに、コピーされたリクエスト
保持レジスタA12のリクエストが空きであれば、リク
エストセレクタ11はAND回路16からのリクエスト
を直接に優先順位制御回路2aに送る。
持されているリクエストはリクエストが選択される毎に
リセットされ、ついにリクエスト保持レジスタB13内
のリクエストが空きになると、リクエスト保持レジスタ
AI2内のリクエストが再びリクエスト保持レジスタB
13にコピーされる。さらに、コピーされたリクエスト
保持レジスタA12のリクエストが空きであれば、リク
エストセレクタ11はAND回路16からのリクエスト
を直接に優先順位制御回路2aに送る。
(発明の効果)
以上の説明から明らかなように、本発明によれば、多数
のプロセッサから発行される主記憶アクセスリクエスト
を選択する場合ににおいて、時間的に先に発行されたリ
クエストを優先する手段を設けたため、リクエストの追
い越しを防止し、1つのプロセッサが長時@待たされる
ことを回避することができる。
のプロセッサから発行される主記憶アクセスリクエスト
を選択する場合ににおいて、時間的に先に発行されたリ
クエストを優先する手段を設けたため、リクエストの追
い越しを防止し、1つのプロセッサが長時@待たされる
ことを回避することができる。
従って、ロック解除のリクエストを出しているプロセッ
サが優先順位が上がるまで長時間待たされることによっ
て発生する無駄なリクエストが何回も行なわれることは
なくなり、システム全体の性能低下を未然に防止するこ
とが可能になる。
サが優先順位が上がるまで長時間待たされることによっ
て発生する無駄なリクエストが何回も行なわれることは
なくなり、システム全体の性能低下を未然に防止するこ
とが可能になる。
第1図は本発明の基本的な構或の一実施例を示すブロッ
ク図、第2図は第1図の構成例における各プロセッサか
らのリクエストの発行、処理タイミングを示す説明図、
第3図は第1図の実施例の詳細な構成の一例を示す回路
図、第4図は従来の主記憶アクセスリクエス1・選択装
置の構成を示すブロック図、第5図は第4図に示される
従来構成における各プロセッサからのリクエストの発行
、処理タイミングを示す説明図である. 1・・・リクエスト順序制御回路、2a・・・優先順位
!IJa11回路、3・・・リクエスト受信レジスタ、
4・・・優先順位カウンタ、5・・・ロックレジスタ、
6・・・パイプライン、7・・・バンクビジー表示回路
、8・・・主記憶アクセス起動レジスタ、11・・・リ
クエストセレクタ、12・・・リクエスト保持レジスタ
A113・・・リクエス1・保持レジスタB. なお、図中、同一または相当部分は同一記号で示す。
ク図、第2図は第1図の構成例における各プロセッサか
らのリクエストの発行、処理タイミングを示す説明図、
第3図は第1図の実施例の詳細な構成の一例を示す回路
図、第4図は従来の主記憶アクセスリクエス1・選択装
置の構成を示すブロック図、第5図は第4図に示される
従来構成における各プロセッサからのリクエストの発行
、処理タイミングを示す説明図である. 1・・・リクエスト順序制御回路、2a・・・優先順位
!IJa11回路、3・・・リクエスト受信レジスタ、
4・・・優先順位カウンタ、5・・・ロックレジスタ、
6・・・パイプライン、7・・・バンクビジー表示回路
、8・・・主記憶アクセス起動レジスタ、11・・・リ
クエストセレクタ、12・・・リクエスト保持レジスタ
A113・・・リクエス1・保持レジスタB. なお、図中、同一または相当部分は同一記号で示す。
Claims (1)
- 【特許請求の範囲】 複数のプロセッサと、各プロセッサから共通にアクセス
可能な主記憶装置とを備え、各プロセッサから任意の時
刻で発生される主記憶アクセスリクエストに対する競合
を制御するマルチプロセッサシステムのアクセスリクエ
スト選択方式において、 各プロセッサから発生される主記憶アクセスリクエスト
の優先順位を一定時間毎に動的に変化させ、その優先順
位に従って複数のプロセッサから同時に発行されている
リクエストのうち、唯一のリクエストを選択すると共に
、選択されたリクエストを表わす通知信号を出力するリ
クエスト選択手段と、各プロセッサから任意の時刻に発
行されるリクエストを一時的に保持しておく第1リクエ
スト保持手段と、この第1リクエスト保持手段に保持さ
れていたリクエストを受取って保持すると共に、保持し
ているリクエストを前記リクエスト選択手段に送り、さ
らに保持していたリクエストの中で前記通知信号で示さ
れるリクエストを消去し、さらに保持されていたリクエ
ストがなくなった時に再び前記第1リクエスト保持手段
に保持されていたリクエストを受取る第2リクエスト保
持手段と、前記第1、第2リクエスト保持手段の両方に
リクエストが保持されていない時に各プロセッサからの
リクエストを直接に前記リクエスト選択手段に転送する
リクエスト切換手段とを具備することを特徴とするマル
チプロセッサシステムの主記憶アクセスリクエスト選択
方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16000389A JPH0325558A (ja) | 1989-06-22 | 1989-06-22 | マルチプロセッサシステムの主記憶アクセスリクエスト選択方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16000389A JPH0325558A (ja) | 1989-06-22 | 1989-06-22 | マルチプロセッサシステムの主記憶アクセスリクエスト選択方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0325558A true JPH0325558A (ja) | 1991-02-04 |
Family
ID=15705876
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16000389A Pending JPH0325558A (ja) | 1989-06-22 | 1989-06-22 | マルチプロセッサシステムの主記憶アクセスリクエスト選択方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0325558A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007099586A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | リクエスト制御装置およびリクエスト制御方法 |
| EP2328090A2 (en) | 2009-11-25 | 2011-06-01 | Fujitsu Limited | Cache memory control device, semiconductor integrated circuit, and cache memory control method |
-
1989
- 1989-06-22 JP JP16000389A patent/JPH0325558A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007099586A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | リクエスト制御装置およびリクエスト制御方法 |
| US7849230B2 (en) | 2006-02-28 | 2010-12-07 | Fujitsu Limited | Overtake request control apparatus and overtake request control method |
| JP4802241B2 (ja) * | 2006-02-28 | 2011-10-26 | 富士通株式会社 | 要求制御装置および要求制御装置の制御方法 |
| EP2328090A2 (en) | 2009-11-25 | 2011-06-01 | Fujitsu Limited | Cache memory control device, semiconductor integrated circuit, and cache memory control method |
| US8713291B2 (en) | 2009-11-25 | 2014-04-29 | Fujitsu Limited | Cache memory control device, semiconductor integrated circuit, and cache memory control method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6732242B2 (en) | External bus transaction scheduling system | |
| US6240458B1 (en) | System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system | |
| US6606692B2 (en) | Prioritized bus request scheduling mechanism for processing devices | |
| US5613139A (en) | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message | |
| US6553487B1 (en) | Device and method for performing high-speed low overhead context switch | |
| US5317749A (en) | Method and apparatus for controlling access by a plurality of processors to a shared resource | |
| US6792497B1 (en) | System and method for hardware assisted spinlock | |
| EP0351955A2 (en) | Multiprocessor systems with cross-interrogated store-in-caches | |
| US6185650B1 (en) | High performance locking facility | |
| JPH0325558A (ja) | マルチプロセッサシステムの主記憶アクセスリクエスト選択方式 | |
| EP2256627B1 (en) | Queuing for locks on data | |
| JP2000181891A (ja) | 共有メモリアクセス順序保証方式 | |
| JP3381079B2 (ja) | キャッシュメモリを用いた排他制御システム | |
| JPH0644191A (ja) | バッファ管理方法 | |
| JPH117410A (ja) | キャッシュ装置 | |
| JP3105554B2 (ja) | 割込みコントローラ | |
| JPS61220047A (ja) | メモリ制御方式 | |
| JPH11212900A (ja) | システム制御装置 | |
| JPS6125249A (ja) | 排他制御方式 | |
| JP2549410B2 (ja) | 主記憶参照順序制御方式 | |
| JP2716055B2 (ja) | ベクトル処理装置の制御方式 | |
| JP2505021B2 (ja) | 主記憶制御装置 | |
| JP3063015B2 (ja) | 周期処理方法 | |
| JPH01239665A (ja) | マルチプロセッサの負荷分散方式 | |
| JPS62226348A (ja) | 主記憶装置兼主記憶制御装置 |