JP3227575B2 - 共有資源アクセス制御装置 - Google Patents

共有資源アクセス制御装置

Info

Publication number
JP3227575B2
JP3227575B2 JP05707690A JP5707690A JP3227575B2 JP 3227575 B2 JP3227575 B2 JP 3227575B2 JP 05707690 A JP05707690 A JP 05707690A JP 5707690 A JP5707690 A JP 5707690A JP 3227575 B2 JP3227575 B2 JP 3227575B2
Authority
JP
Japan
Prior art keywords
bus
access
shared
shared resource
cycle
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.)
Expired - Lifetime
Application number
JP05707690A
Other languages
English (en)
Other versions
JPH03257649A (ja
Inventor
雅嗣 亀谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP05707690A priority Critical patent/JP3227575B2/ja
Publication of JPH03257649A publication Critical patent/JPH03257649A/ja
Application granted granted Critical
Publication of JP3227575B2 publication Critical patent/JP3227575B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数の処理装置が共通のデータ(共有資
源)にアクセスする装置に係り、特に各処理装置が共有
資源へのアクセスを行う際のアクセス要求信号を調停
し、矛盾なく処理装置を共有資源へアクセスさせるのに
好適な共有資源アクセス制御装置に関する。
〔従来の技術〕
従来、共有資源へのアクセス調停は、IEEE−796バス
の調停回路や、特公昭60−19022号公報の調停回路に見
られるように、プロセッサ等の処理装置が、それぞれ独
自のクロックで動作しており、調停回路側も別のクロッ
クで制御するのが一般的である。また、調停(以下、ア
ービトレーションという)時の優先順位処理に関して
も、デージーチェーン等による単一方向の単純なものが
多い。又、複雑な優先順位処理が行われている場合、そ
の実質的な処理に数マシンクロック程度を要する。
さらに、共有資源を利用するプロセッサは、必要な共
有データを読み出し(リード)又は書き込み(ライト)
する際、共有バス上の共有資源にアクセスする必要があ
った。
〔発明が解決しようとする課題〕
前記従来の技術には次のような問題がある。
(1) アービトレーション回路においてアクセス要求
信号に対する同期化処理が行われていないものでは、ロ
ジック(ハードウェア)に、発振や長期にわたる不安定
な状態が発生し、信頼性に欠ける。各プロセッサ及びア
ービトレーション回路が非同期で動作しており、かつア
ービトレーション回路内で非同期信号の同期化処理を行
っている場合でも、基本的な信頼性には同様の問題があ
る。
(2) 各プロセッサ及びアービトレーション回路が非
同期で動作している場合、非同期信号の同期化処理に数
マシンクロック必要としたり、平等な優先順位処理を実
現するために多大な処理時間(数マシンクロック)を必
要とする等、プロセッサ側に多くの待ち時間を発生さ
せ、処理能力の絶対的な低下をもたらす。
(3) 各プロセッサの動作タイミング(バスサイク
ル)と、アービトレーション回路で実際に必要となるア
ービトレーション処理時間とのマッチングが考慮されて
おらず、必要以上にプロセッサが共有資源を占有し、共
有資源とプロセッサ間の実質的なデータ転送スループッ
トを低下させる。このため、多くのプロセッサが共有資
源に接続されると、バスネックで、十分な処理能力が得
られない。
(4) 共有資源(特に共有メモリシステム)上にプロ
セッサのプログラムが置かれた場合や、共有資源と他の
リソース間で、複数のプロセッサによるデータ転送が発
生した場合等、大量の連続したデータ・フェッチ処理が
複数のプロセッサで発生する場合、共有資源側の絶対的
なデータアクセススループットが不足して、著しくシス
テム性能を低下させる。
本発明の課題は、アービトレーション処理をプロセッ
サのマシンサイクルに比して十分短くして共有資源への
アクセスサイクルを短縮するとともに、アクセス競合に
よる装置全体の処理能力の低下を抑え、プロセッサ側の
アクセス処理効率及び共有資源側のデータアクセススル
ープットのいずれの性能をも向上させる共有資源アクセ
ス制御を実現するにある。
〔課題を解決するための手段〕
上記の課題は、複数の処理装置と、それらの処理装置
が接続された共有資源とを含んでなる共有資源アクセス
制御装置において、各処理装置ごとに前記共有資源とバ
スコントローラが設けられており、各バスコントローラ
は共有バスにより相互に接続され、該共有バスにバスア
ービタが接続されていることと、前記共有バスは、前記
各処理装置ごとに設けられた共有資源の内容を常に同一
に保つため、いずれかの処理装置が該処理装置に設けら
れた共有資源の内容を書き換えたときにその書き込みデ
ータ及び書き込みアドレス情報を他の共有資源に転送可
能に構成されたものであることと、前記処理装置は、前
記共有資源への書き込みバスサイクルを起動したとき
に、前記共有バスへのアクセスを要求する信号を生成
し、前記バスコントローラを介してアクセス要求信号と
してバスアービタに出力する機能を備えていることと、
前記バスアービタは、前記各処理装置からのアクセス要
求信号を調停してアクティブなアクセス要求信号のうち
いずれかひとつを選択し、選択されたアクセス要求信号
に対応するアクセス許可信号を対応するバスコントロー
ラに返送する機能を有するものであることと、前記バス
コントローラは、各処理装置に対応してそれぞれ、前記
バスアービタからの前記アクセス許可信号を受信した際
ライトコマンドを共有バスを経て他の全てのバスコント
ローラに送る機能と、前記処理装置が生成した前記共有
資源をアクセスするのに必要なアドレス情報及びデータ
情報をラッチしておくラッチ手段と、前記アドレス情報
及びデータ情報を前記アクセス許可信号を受信した際前
記共有バスに出力し、他の全てのバスコントローラにそ
れらの情報を送る機能を有する第1の出力手段と、他の
処理装置の前記第1の出力手段が出力したライトコマン
ドを受信したとき、対応する前記共有資源に書き込むた
めの書き込み制御信号を前記共有資源に出力する機能
と、前記受信したライトコマンドを用いて前記共有バス
上のアドレス情報及びデータ情報をラッチし、前記共有
資源に出力する機能とを有する第2の出力手段とを含ん
でなることと、を特徴とする共有資源アクセス制御装置
により達成される。
上記の課題はまた、請求項1に記載の共有資源アクセ
ス制御装置において、処理装置が共有資源へのライト動
作を実行する場合、バスコントローラ内のラッチ手段に
必要なアドレス情報及びデータ情報をラッチ可能であれ
ば、現在のライトサイクルに関する前記必要な情報を前
記ラッチ手段にラッチしておいて処理装置はただちに次
のサイクルに移行し、バスコントローラ内には前記ライ
トサイクルを前記ラッチ手段にラッチされた情報に基づ
いて以後のタイミングで継続して実行するライトサイク
ル生成手段を設け、処理装置の動作と前記ライトサイク
ル生成手段のライトサイクル制御動作とを並列に運転す
ることを特徴とする共有資源アクセス制御装置によって
も達成される。
上記の課題はまた、請求項1に記載の共有資源アクセ
ス制御装置において、処理装置が共有資源へのライト動
作を実行する場合、バスコントローラ内のラッチ手段に
以前のライト動作の情報がすでにラッチされており、必
要なアドレス情報及びデータ情報のラッチが不能であれ
ば、現在のライトサイクルに待ちステートを挿入し、前
記ラッチ手段への前記必要なアドレス情報及びデータ情
報のラッチが可能となるまで、前記処理装置の現在のラ
イトサイクルを待たせる手段がバスコントローラ内に設
けられていることを特徴とする共有資源アクセス制御装
置によっても達成される。
上記の課題はまた、請求項1に記載の共有資源アクセ
ス制御装置において、処理装置から共有資源へのライト
動作の直接的な実行は、その処理装置に対応する前記バ
スコントローラが自身によって生成されたバスコントロ
ーラ内部のライトサイクル情報または、前記第2の出力
手段を介し、前記共有バスに出力された他の処理装置か
らのライトサイクル情報を用いて、各バスコントローラ
がそれぞれ対応する共有資源に対して独立的に行うこと
をことを特徴とする共有資源アクセス制御装置によって
も達成される。
上記の課題はさらに、請求項1に記載の共有資源アク
セス制御装置において、バスアービタは、アクセス要求
信号をある1つの適切な周期を持つアクセス要求信号同
期化用クロックに同期させるアクセス要求信号同期化部
と、同期化したアクセス要求信号のうちアクティブな信
号グループをある適切な時点でラッチした後直ちにゲー
トを閉じ、取り込んだアクティブな信号グループに対す
る必要な処理がすべて完了するまでゲートを閉じた状態
を保つことにより、そのタイミングよりも以後でアクテ
ィブに転じたアクセス要求信号を、先行して取り込んだ
アクティブなアクセス要求信号グループに対する必要な
処理がすべて完了するまで通過させない機能を持つアク
セス要求信号ゲート部と、該アクセス要求信号ゲート部
にラッチされたアクティブなアクセス要求信号のグルー
プに対して優先順位処理を行い、グループ内におけるそ
の時点で最も優先順位の高いアクセス要求信号に対応し
たアクセス許可信号をアクティブにするアクセス優先順
位決定部とを設けたことを特徴とする共有資源アクセス
制御装置によっても達成される。
〔作用〕
各処理装置ごとに同一内容の共有資源が対応して設け
られ、各処理装置は共有資源上のデータが変化しないリ
ードサイクル(データフェッチサイクル)時には、それ
ぞれ対応する共有資源にアクセスするので、その時点で
共有資源に対し、ライトサイクルを実行する処理装置が
無ければ、共有資源に対するアクセス競合は生じない。
また、ライトサイクル時には、共有バスを介して各処理
装置に対応して設けられた共有資源の内容が同時に変更
され、処理矛盾の発生が防がれる。
アクセス許可信号がアクティブになり、共有資源への
アクセスを許可された処理装置はワード・アクセス・レ
ベルの必要最小限の処理を共有資源上で行い、タイミン
グ的にその処理が終了しているであろう最適な時刻にア
クセス要求信号を非アクティブにする。そのタイミング
を受けて、アクセス要求信号ゲート部の対応するフリッ
プフロップにラッチされたアクセス優先順位決定部への
アクティブなアクセス要求信号がクリアされ、非アクテ
ィブな状態に戻される。アクセス優先順位決定部は、残
ったアクセス要求信号ゲート部から出力されるアクティ
ブなアクセス要求信号に対してアクセス優先順位処理を
行う。アクセス要求信号ゲート部は、ラッチされていた
すべてのアクティブなアクセス要求信号の処理が完了す
ると、ゲートを一斉に開け、バッファに待たされている
かあるいは以後の新たなクロックタイミングでアクティ
ブに転じたアクセス要求信号のグループを取り込む。上
述のアービトレーション処理は、すべて、ハードウェア
化することにより、アクセス要求信号同期化部から出力
されたクロックピリオド単位で変化するアクセス要求信
号の変化から1クロック以内で実行される。
また、アクセス優先順位決定部は例えば、共有資源を
共有している処理装置0〜nに対し、0から順にnへ高
位の優先順位をつける最も単純な優先順位決定回路と、
それとは逆にnから順に0へ高位の優先順位を付ける最
も単純な優先順位決定回路とを設け、アクセス要求信号
ゲート部のゲートが開くタイミングで前記二つの優先順
位決定回路を切り換えており、すべての処理装置に対
し、全体としてほぼ平等の優先順位が与えられ、共有資
源へのアクセス確率がほぼ平等化される。
アクセス要求信号ゲート部は、ほぼ最初に到達したア
クセス要求信号を優先する働きと、ラッチゲート機能に
より特定の処理装置が長期間アクセス出来ないロック状
態を回避する。
〔実施例〕
以下、本発明の実施例を図面を参照して説明する。第
1図は本発明に係る共有資源アクセス制御装置の第1の
実施例の要部システムブロック図で、図に示す共有資源
アクセス制御装置は、複数の処理装置(以下、BPとい
う)1000,1001、…と、これらBPに対応して設けられた
共有資源(以下CSYSという)1100,1101,…と、前記それ
ぞれのBP及びCSYSに接続して設けられ、CSYS1100,1101,
…の内容を常に同一に保つため、いずれかのBPで対応す
るCSYSへのデータの書き込み操作(ライト動作)が生じ
た場合、そのデータを共有バス(以下、CSYSBUSとい
う)1310lに出力するバスコントローラ(BUSCTL)1200,
1201,…と、各BUSCTLにアービトレーション信号ライン1
300lを介して接続され、BUSCTL1200,1201,…がCSYSBUS1
310lにデータを出力しようとする際、BUSCTLからのCSYS
BUS使用要求を受けつけ、いずれかひとつのBUSCTLにCSY
SBUS1310lの使用許可を与えるバスアービトレーション
処理を行うバスアービタDC1300と、を含んで構成されて
いる。CSYSBUSは、前記BUSCTL1200,1201,…を相互に結
合している。
次に前記各要素について説明する。
第2図はBUSCTLの内部構成と、該BUSCTLとCSYSBUS131
0l及びBP1000,1001,…の接続のようすを、BP(0)1000
とそのサブシステムを代表として詳細に示している。
CSYSは、すべてのBPに対して1システムずつ設けられ
ており、複数のBP間で共有すべきデータをそれぞれが保
持している。したがって、各BPに対応した各CSYSは、常
に同一の内容を保持していなければならない。もし、従
来の装置のように、単独のCSYSがCSYSBUS1310l上に配置
されていると、BPは共有データを読み出す場合も、書き
込む場合も、該単独のCSYSにアクセスすることになり、
CSYSBUS1310lを頻繁にアクセスする。共有資源に対する
アクセス競合で損失する処理能力は、各BPが単位時間当
りにCSYSにアクセスする回数の自乗に比例して増加する
傾向にあり、BPがCSYSにアクセスする回数が増大してい
けば、より急速にシステム全体の性能が低下する。この
ため、コスト当りの性能を考慮すると、各BPが、単独の
CSYSにCSYSBUSを介してアクセスする従来システムで
は、設置されるBPの数におのずから限界がある。また、
1アクセス当りのCSYSBUSを専有する時間(CSYSBUSアク
セスサイクル)そのものが長くなりすぎても、結局上述
したアクセス回数が増大した場合と同様の性能低下を生
じることになり、好ましくない。本実施例では、各BPに
対応して、CSYSが設けられていて、CSYSからのデータの
読み出しは、各BPがそれぞれに対応したCSYSから、他の
BPの読み出しとは独立に行われるので、複数のBPの読み
出しが並行して行われ、読み出し時のアクセス競合は大
幅に減少する。
CSYSBUSへのアクセスが必要になるのは、書き込み動
作(ライトサイクル)の時だけとなるため、CSYSBUSへ
のアクセス回数が大幅に減少すると共に、BPはラッチバ
ッファに書き込むべき共有データをラッチしておいて次
の処理に移行し、BUSCTLに、後からCSYSに書き込むポス
トライト機能を持たせたので、各BPの動作効率はより高
まった。さらに、ポストライト機能により、ライトサイ
クルのタイミング設定の自由度が増すため、リードサイ
クルとライトサイクルの競合時のタイミング調整最適化
も可能になり、CSYSへのアクセススループットが向上す
る。
以下にアーキテクチヤ及び動作シーケンスを第2図及
び第3図を参照して説明する。
図に示すBUSCTL(0)1200の基本動作制御は、その内
部に設けられたバスステートマシン2500によって行わ
れ、該バスステートマシン2500は、BP(0)1000から、
CSYSをアクセスするバスサイクルであることを表示する
ための信号CSENBL1404l(ここではアクティブ時にHiレ
ベル)、リードサイクルかライトサイクルかを表示する
ための信号R/W1403l(ここではリードサイクル時にHiレ
ベル、ライトサイクル時にLoレベル)、及びバスサイク
ルの開始を表示する信号1402l(ここではLoレベル時に
アクティブでバスサイクルの開始を表示する)等のCSYS
をアクセスするためのバスサイクルを制御する制御信号
を受けとり、CSYSBUS1310l及びCSYS(0)1100へのアク
セスを制御する。
BUSCTL(0)1200は、BP1000,1001,…の動作の基準と
なるプロセッサクロックと同期した基準クロックPCLK14
01lに同期して動作する。BP(0)1000からCSYS(0)1
100へ共有データが書き込まれるライトサイクルの場合
の手順は次の通りである。
W1.BP(0)1000は、CSYSへのアクセス要求に相当す
る、CSENBL1404lをアクティブ(アクティブ時にアクセ
ス要求)にし、ライト動作であることを表示するため、
R/W1403lをLoレベルにして、バスサイクルを開始(▲
▼1402lをサイクル先頭でLoレベルにする)する。
W2.バスステートマシン2500は、CSENBL1404l、R/W1403
l、▲▼1402l等の制御信号を受けてCSYS(0)11
00へのアクセス要求信号OCSREQ2405lを生成し、CSYSBUS
1310lの使用許可を得るため、バスアービタDC1300へ、
バッファ2405を介してCSREQ2300l(Hiレベルでアクティ
ブ)を送る。CSREQ2300lは、バスアービタDC1300のBP
(0)1000に対応するアクセス要求入力REQ(0)へ入
力される。
W3.バスアービタDC1300は、プロセッサクロックに同期
したPCLK1400lを基準にして(同期して)、他のBPから
のアクセス要求入力REQ(1)〜REQ(15)及びBP(0)
1000からアクセス要求入力REQ(0)(CSREQ2300lに相
当)を調停(アービトレーション)して対応するアクセ
ス許可信号▲▼(0)〜▲▼(15)(Loア
クティブ)1302lを返送する。この場合、REQ(0)に対
してアクセスが許可されると、▲▼(0)(▲
▼2200lに相当)がアクティブLoレベルに遷移
され、バッファ2404を介して▲▼(アクテ
ィブLo)2404lとしてバスステートマシン2500に入力さ
れる。また、バスアービタDC1300は、アクセス要求入力
REQ(0)〜REQ(15)1301lのいずれかひとつがアクテ
ィブになったときアクティブに遷移するバスBUSY信号▲
▼(Loアクティブ)1303lを出力する。各BUSCTL1
200,1201,…の各バスステートマシン2500は、バッファ2
403を介して▲▼1303lを受信(▲▼2403
lに相当)し、バスアービタDC1300のビジー状態をモニ
タしている。
W4.バスステートマシン2500が出力したアクセス要求信
号OCSREQ2405lに対応するアクセス許可信号▲
▼2404lが返送されてくる(アクティブLoレベルに
なる)と、バスステートマシン2500は、CSYSBUS1310lへ
のバッファゲートを開くためのバススイッチ信号▲
▼(Loアクティブ)2402lをアクティブにする。
W5.▲▼2402lがアクティブになると、バッファ
2401,1701,1801がONになり、バッファ2401を介してバス
ステートマシン2500によって生成されるラインコマンド
▲▼(Loアクティブ)2401lが共通ラインコマ
ンドバス▲▼1313l(▲▼2000lに相当)へ
出力され、同時に、ラッチ回路1703から共有アドレス情
報1710lがバッファ1701を介して共有アドレスバス(以
下、BADDRという)1311lに、ラッチ回路1803から共有デ
ータ情報1801lがバッファ1801を介して共有データバス
(以下、BDATAという)1312lに、それぞれ出力される。
なお、ラッチ回路1703及び1803にラッチされている共
有アドレス情報及び共有データ情報は、BP(0)1000か
らのアドレスバス(以下ADDRという)1405l及びデータ
バス1406lによって、BADDR1311l及びBDATA1312lへの出
力のタイミングに十分間に合うように、すでにラッチ回
路1703及び1803にラッチされているか又は両ラッチ回路
が信号スルー状態(信号がラッチ回路をそのまま通過す
る状態)に制御され、CSYSBUSに出力すべき信号が共有
アドレスバス1311l及び共有データバス1312lに出力でき
る状態に準備されている必要がある。これらのラッチ回
路の必要なゲートコントロールは、バスステートマシン
2500からWTALE1412lによって行われる。WTALE1412lがHi
レベルのとき、ラッチ回路1703及び1803は信号スルー状
態となり、WTALEがLoレベルに遷移したとき、ADDR1405l
及びDATA1406lの情報が、ラッチ回路1703及び1803に、
それぞれラッチされる。
BP(0)1000は、必要なアドレス情報及びデータ情報
がラッチ回路1703及び1803にラッチされたあとであれ
ば、先行して次のバスサイクルへ移行してもよい(BPの
先行処理機能)。また、逆に、以前にラッチされたラッ
チ回路1703及び1803の内容がまだ処理されていない場
合、BP(0)1000のバスサイクルは待ち状態にされ、前
にラッチされた内容が処理されるまで、バスステートマ
シン2500はバスサイクルの終了を遅らせる。
CSYSに対するバスサイクルの終了処理は、バスステー
トマシン2500がBPに対して生成する▲▼信
号1415lによって行われる。▲▼1415lは、
Loレベルのとき、そのバスサイクルは終了してもよい事
を示し、Hiレベルのとき、待ち状態に保たれる。
W6.CSYSBUS1310lに出力されたデータは、各BP1000,100
1,…に対応して設けられたCSYS1100,1101,…に書き込ま
れる。各BUSCTL1200,1201,…は共有ライトコマンド▲
▼2000lを共有ライトバス1313lから、インプットバ
ッファ2400によって受信し、バスライトコマンド▲
▼2400lをバスステートマシン2500に入力する。同
時に共有アドレスバスBADDR1311l上の共有アドレス情報
が入力バッファ1700を介して取り込まれ、取り込まれた
情報1700lはラッチ回路1702にラッチされる。共有デー
タバスBDATA1312l上の共有データ情報は、入力バッファ
1802を介して取り込まれ、取り込まれた情報1800lは、
ラッチ回路1802にラッチされる。これらの処理は、BUSC
TL1200,1201,…すべてで同時に行われる。
ラッチ回路1702及び1802のゲートコントロールは、バ
スステートマシン2500により生成されるEWTALE1411lに
よって行われる。EWTALEはHiレベルでラッチ回路1702及
び1802を信号スルー状態にし、EWTALEがHiレベルからLo
レベルへ遷移したとき、前記情報1700l及び1800lはラッ
チ回路1702と1802にそれぞれラッチされる。バスステー
トマシン2500は、共有アドレスバス1311l及び共有デー
タバス1312lに、必要な情報が確定するに十分なタイミ
ングでEWTALE1411lをHiレベルからLoレベルに遷移させ
る。
なお、共有データを出力しているBPにおいては、信号
反射によるノイズを防ぐために、▲▼、ラッチ
回路1702,1802の前にマルチプレクサ2404,1704,1804が
設けられ、マルチプレクサのA側に入力される内部の信
号と、マルチプレクサのB側に入力される外部の信号と
が、バスステートマシン2500からの切り換え信号CSCSSL
1413lによって切り換えられて、内部の信号が選択され
る(CSCSSLがLoレベルのとき、マルチプレクサのA側が
選択される)。
W7.各BPのバスステートマシンは、ラッチ回路1702から
出力されるアドレス情報1414lを用いて対応するCSYSを
アドレツシングし、ラッチ回路1802からの、CSYSに書き
込むべき共有データ情報1407lを、CSYSを選択するため
の▲▼1409l(Loアクティブ)及び書き込みコマ
ンド▲▼1410l(Loアクティブ)をアクティブに
する(イネーブル)ことによってCSYSに書き込む。BP
(0)1000においては、CSYS(0)1100へ上述の処理が
実行され、その他の各BPにおいても対応するCSYSに対
し、同様の処理が並列に実行される。
▲▼1409l及びCSYSへの書き込みコマンド▲
▼1410lは、CSYSへ与えられるアドレス情報1414lが
十分なアドレスアクセスタイムを確保でき、かつ、CSYS
へ書き込まれる共有データ情報1407lが書き込みタイミ
ングに対して十分なセットマップタイムを確保できるよ
うに、バスステートマシン2500により制御される。した
がって、CSYSへの書き込みタイミングは、次のサイクル
と干渉しない範囲で任意に後へずらす(CSYSへのポスト
ライト機能)ことができ、ライトサイクルに於けるアク
セスタイミングのより最適化が可能である。
以上、ライトサイクル時の動作シーケンスを説明した
が、次に読み出し(リード)サイクル時の動作シーケン
スを説明する。
R1.BP(0)1000は、CSYSへのアクセス要求に相当するC
SENBL1404lをアクティブ(Hiレベル)にし、リード動作
を表示するため、R/W1403lをHiレベルにしてバスサイク
ルを開始する。
R2.その際、バスステートマシンは、アービタDC1300へ
のアクセス要求信号OCSREQ2405lを後述する特別の場合
以外はアクティブにしない。したがってこの場合、リー
ドサイクルにおいては、CSYSBUS1310lの使用許可を得る
手順が採られず、CSYSBUSへのアクセス競合が大幅に減
少する。その代り、バスステートマシン2500によって、
BUSCTLの内部だけでCSYSへのライトサイクルと、現在実
行しようとしているCSYSに対するリードサイクルとの競
合制御が行われる。この競合制御においては、ライトサ
イクルが優先され、CSYSへの一連のライトサイクルがす
べて終了するまでCSYSに対するリードサイクルは待ち状
態(▲▼がHiレベルに保持される)にさ
れ、CSYSへのライトサイクルの切れ目にCSYSからの読み
出し処理が挿入されてバスサイクルが終了される。
R3.CSYSに対するリードサイクル及びライトサイクルを
連続して実行し、その一連のバスサイクルの間、他のBP
からのCSYSへのライトサイクルが割込むことがない様
に、CSYSBUSは、専有されねばならない。また、CSYSへ
のライトサイクルが非常に多く発生し、CSYSへのリード
サイクルが長い間待たされる可能性がある場合には、バ
スステートマシン2500は、リードサイクル時にも、バス
アービタDC1300へCSYSBUS1310lの使用許可を得るための
信号CSREQを出力(Hiアクティブ)し強制的にCSYSBUS13
10lの使用許可を得る。このような場合、CSYSへのライ
トサイクルと同様の処理シーケンスが実行されるが、少
なくとも、CSYSへのリードサイクルを実行したバスステ
ートマシンは、CSYSから読み出されたデータをBPのデー
タバス1406lに出力する出力バッファ1406をアクティブ
(データが通過する状態)にして、読み出された情報が
BPへ入力されるようにする。このため、バスステートマ
シン2500は、バスアービタDC1300からの許可信号▲
▼がアクティブになった直後に、出力バッファ14
06をON(アクティブ)にする制御信号▲▼(oア
クティブ)1408lをアクティブにする。▲▼信号
によって読み出されるデータは、BP1000の読み込みタイ
ミングに対して十分なセットアップタイムとホールドタ
イムを保証するように制御される。
以上が、CSYSに対するリードサイクルの基本動作であ
る。
次に、本実施例の効果を、あるBPからみたCSYSへのア
クセスタイミングを示す第3図を参照して説明する。
図は、基準クロックとしてプロセッサクロック(PCL
K)を用いて記述されているが、実際の信号制御は、PCL
Kの1/4の周期を持ち、かつPCLKと同期した基本クロック
を用いて行われており、したがって各信号の変化は、最
小PCLKの1/4周期単位で起り得る。図上、PCLKの1サイ
クルがT、PCLKの半周期がS(ステート)で表わされて
いる。
信号グループAは、BPがCSYSをアクセスする際必要と
なる、BPとBUSCTL間及びBUSCTLとバスアービタDC1300間
の信号のやりとりを示している。信号グループBは、CS
YSBUS1310l及びバスアービタDC1300からのCSYSBUSイネ
ーブル信号(CSYSBUS BUSY信号)に相当する▲
▼1303lとBUSCTL間の信号のやりとりを示し、信号グル
ープCは、CSYSとBP又はCSYSと外部のBPがデータのやり
とりを行う際必要となる信号のやりとりを示している。
BPのバスサイクルは、基本的に、T1及びT2の2サイク
ルで実行され、待ち時間が発生する場合には、T2w(ウ
ェートサイクル)が挿入されてバスサイクルの終了が延
期される。このウェートサイクルコントロールには、▲
▼信号1415lが用いられ、バスサイクルを終
了させるためには、T2サイクルで▲▼信号14
15lが、アクティブ(Loレベル)にされる。
本例では、BP(0)を例にあげて説明する。BP(0)
1000がステートS3でCSYS(0)1100をアクセスすること
を示すイネーブル信号CSENBL1404lが、アクティブ(Hi
レベル)となっている。バスサイクルがライトサイクル
(a)であるとすると、他のBPに対応するCSYS1101,110
2,…へも同一のデータを書き込むために、CSYSBUS1310l
の使用許可を得る必要があるため、バスステートマシン
2500は、CSENBL1404lを受けて直ちに、CSREQ2300lをア
クティブ(Hiレベル)にしてバスアービタDC1300のアク
セス要求入力REQ(0)へ送る。バスアービタDC1300
は、S4の先頭でこのアクセス要求入力を受け、他のアク
セス要求入力との間で優先順位処理を行った後、BP
(0)に対してアクセスが許可されたら対応するアクセ
ス許可信号(▲▼(0))をアクティブ(Loレベ
ル)にしてBUSCTL(0)に▲▼2200lを返送
する。この場合は、BP(0)1000の優先順位が最も高い
と仮定されており、S5の先頭で直ちに▲▼22
00lがアクティブに転じている。BUSCTL(0)は、▲
▼2200lがアクティブになると、S5の中央で▲
▼2402lを生成して出力バッファ1701,1801をON
にする。その結果、ラッチ回路1703にラッチされている
アドレス情報がBADDR1311lに、ラッチ回路1803にラッチ
されているデータ情報がBDATA1312lに、それぞれ出力さ
れる。BP(0)は、BUSCTL(0)からS4の時点で▲
▼1415lを受け取り(アクティブLoレベル)、S
5の終了でライトサイクル(a)を終了して、次のリー
ドサイクル(b)を先行して開始する(ポストライト機
能)。
なお、このライトサイクル(a)で使用されるBP
(0)からのアドレス情報ADDR1405l及びデータ情報DAT
A1406lはWTALE1412lがLoレベルに遷移するS5の終りのタ
イミングでラッチ回路1703,1803にそれぞれラッチされ
る。前述したように、WTALE1412lがHiレベルの間は、ラ
ッチ回路1703,1803は、情報が通過するスルー状態にあ
る。したがって、BADDR1311l及びBDATA1312lへの出力情
報は、第3図中WT(a)で示されるように、▲
▼2402lがアクティブ(Loレベル)の間、CSYSBUSへ出力
される。
また、▲▼2000lも▲▼2402lがアクテ
ィブな期間中の適切なタイミングでアクティブ(Loレベ
ル)になる。他のBPのBUSCTLは、バスアービタDC1300が
出力する▲▼(Loアクティブ)がアクティブでか
つ自身への▲▼信号が非アクティブであれ
ば、他のBPからCSYSへのCSYSBUS1310lを利用したアクセ
スが実行されていると見なし、もし、その期間中にCSYS
へのライトサイクルを実行しようとすると、CSYSBUSを
利用しているBPのアクセスが終了し、自身にアクセス権
が移るまでの必要最低限の期間待ち状態となる。第3図
では、ライトサイクル(a)に対応する共有バスサイク
ル(CSYSBUSを専有する期間)が、BPcycle(d)で示さ
れている。本例では、共有バスサイクルは、2プロセッ
ササイクルと規定されている。もし、他のBPがCSYSBUS1
310lを使用しており、かつ▲▼1313lがアクティ
ブであれば、CSYSBUS上でライトサイクルが実行されて
いる。このとき、CSYSBUS1310lのアクセス権を有してい
ないBPがCSYSをアクセスしようとした場合、ライトサイ
クル実行のためにアクセスしようとするのであれば自身
にアクセス権が移るまでの必要最低限の期間待たされ、
一方、リードサイクル実行のためアクセスしようとする
のであれば、CSYSBUS1310l上でのライトサイクルがすべ
て終了するまでの必要最低限の期間待たされる。
BP(0)によるCSYSに対するリードサイクルであるバ
スサイクル(b)と、CSYSBUS1310lでの競合がS6〜S11
に示されている。図に示されているのは、他のBPが起動
した共有バスサイクルでなく、自分自身(BP(0))が
起動したライトサイクルであるライトサイクル(a)と
の競合であるが、他のBPが起動した場合でも本質的には
同じである。BP(0)は、S7の先頭で、ライトサイクル
(a)と同様に、CSENBL1404lをアクティブにして、CSY
Sのリードサイクル(b)を開始したことを示す。開始
されたのがリードサイクルであるため、バスアービタDC
1300への共有バスサイクル要求CSREQは非アクティブ(L
oレベル)のままである。S8の先頭で共有バスライトサ
イクルWT(a)がまだ実行中であり、直ちにリードサイ
クルの実行ができないため、BP(0)は1プロセッササ
イクル分、待ち状態となる(T2wが挿入される)。共有
バスライトサイクルWT(a)が終了すると、S9からS10
にかけて、1プロセッササイクル分、共有バスが使用さ
れない期間が生じている。この間を利用してリードサイ
クル(b)が実行され、S10の先頭で▲▼
信号がアクティブ(Loレベル)になり、S11の終りでリ
ードサイクル(b)が完了する。CSYS(0)からデータ
を読み出すのに必要なアクセス時間は、1.5プロセッサ
サイクルあれば良いとしてあり、CSYSへのライトサイク
ルも1.5プロセッササイクルあれば良いとすると、前後
のライトサイクルとリードサイクルのタイミングがBUSC
TL内で適切に調整され、本例の様に、実質的にリードサ
イクルが、共有バス側から観測された場合に、1プロセ
ッサクロックで実行されたのと同様の効果が得られてい
る。この結果、CSYSに対するアクセススループットが大
幅に改善される。これは、共有バスアクセス要求が、ラ
イトサイクル時にしかバスアービタDC1300に対して発生
されず、したがって、CSYSに対するリードサイクルとラ
イトサイクルとのアクセス競合制御が、ライトサイクル
を常に優先してBUSCTL内で行われているため、アクセス
タイミング制御がより柔軟に実現できるからである。す
なわち、CSYSへのライトサイクルが実行されていない期
間に、CSYSのリードサイクルがタイミング調整して挿入
される方式となっている。実質的に1プロセッサクロッ
クでCSYSへのリードサイクルが十分なアクセス時間を提
供する詳しい理由は後述する。
次に、他のBP(1001,1002,…)がCSYSをアクセスした
場合のBP(0)1000から見た制御タイミングを説明す
る。他のBPのうちのいくつかがS11の時点で、CSYSに対
して共有データのライトサイクルを実行するため、バス
アービタDC1300に共有バスアクセス要求CSREQ信号を出
力(アクティブHiレベル)していたとする。そのうちの
1つがS12の先頭で受け付けられ、対応する許可信号で
受け付けられ、対応する許可信号▲▼(Loア
クティブ)が返送されたとする。この場合、BP(0)は
S11の時点で共有バスアクセス要求CSREQ2300lを出力し
ていないため、他のいずれかのBPの共有バスアクセス要
求が必然的に受け付けられる。もし、BP(0)もS11の
時点で共有バスアクセス要求を出力していたとしても、
優先順位が他のBPより低い場合は他のBPの共有バスアク
セス要求が受け付けられる。BP(0)が共有バスアクセ
ス要求を出力していない場合、あるいはBP(0)が出力
した共有バスアクセス要求が受け付けられない場合、BP
(0)に対する許可信号▲▼は非アクティブ
(Loレベル)のままであり、一方、バスアービタDC1300
から出力されている、CSYSへのアクセス要求が存在する
ことを示す共有バスBUSY情報▲▼はアクティブ
(Loレベル)になっている。この条件下で、BUSCTLはCS
YSBUS1310lが自身の基本プロセッサBP(この場合BP
(0))以外のBPによって使用されることを知る。この
条件が成立すると、すべてのBUSCTLは、CSYSBUS1310l上
のデータを内部のラッチ回路1702,1802及びバスステー
トマシン2500にラッチするため、入力バッファ1700,180
0及び2400を介してBADDR1311l,BDATA1312l及びBWR2000l
を取り込む。その際、もし、マルチプレクサ1704,1804
及び2406が用いられている場合、CSYSBUS1310l上のデー
タをBUSCTL内部に入力できるように、CSCSSL1413lがス
テートS12からS14にかけてHiレベルとされ、前記マルチ
プレクサのB入力の値(共有バス上のデータ)がラッチ
回路1702,1802及びバスステートマシン2500▲
▼入力に取り込まれる。CSYSBUS1310l上の情報及びバス
アービタDC1300からの共有バスビジー(BUSY)情報▲
▼(Loアクティブ)が第3図の信号グループBに示
されている。そのうち、バスアービタDC1300からみた他
のBPによる共有バスサイクルがExtrenalBP(EBP)Cycle
(e)で示されている。そのときのアドレス情報BADDR1
311l及びデータ情報BDATA1312lがBEWTと表示されてい
る。S14のはじめでEWTALE1411lがHiからLoに遷移し、EW
Tの情報がラッチ回路1702,1802にラッチされる。先に述
べたように、EWTALEがHiレベルのときは、ラッチ回路17
02,1802は情報を通過させる。その結果、CSYS(0)110
0に与えられるアドレス情報OADDR1414l及びデータ情報O
DATA1407lは、第3図中でBEWTに対応してOEWT(DATA)
及びOEWT(ADDR)と表示されている期間(S12〜S14の
間)、アクティブになる。ライトサイクル時にアクティ
ブになる共有バス上のライトコマンド▲▼(Loア
クティブ)は、本例の場合S11からS13かけてアクティブ
になる。BUSCTLのバスステートマシンは、その情報を▲
▼2400lとして取り込み、S13の先頭で、CSYS
(0)1100に与えるライトコマンド▲▼1410lを
生成する。本例では▲▼1410lは1.5ステート分ア
クティブ(Loレベル)に保たれ、CSYS(0)1100は、▲
▼がLoからHiへ遷移した時にODATA1407l上の情報
を内部に記憶するように構成されている。
上述の説明から分るように、バスアービタDC1300から
観測された共有バスライトサイクル(e)及び(d)の
間の1プロセッサクロック(S9,S10)がCSYSBUS1310lが
使用されないアイドルサイクルとなっており、この1プ
ロセッササイクルを利用して、BP(0)1000によるCSYS
へのリードサイクル(b)が挿入されている。このリー
ドサイクルのためのCSYS(0)1100から観測されたアク
セスサイクル(第3図上の信号グループCで示されるタ
イミング)は、BP(0)1000によるライトサイクル
(a)のライトサイクル▲▼の立ち上りから必要
なホールドタイム(この例では1/2ステート分)経過し
た後に直ちにOADDR1414lがアクティブ化されて開始され
る。この際、BP(0)1000からのアドレス情報1405l
は、ラッチ回路1703を通過し(WTALE1412lがHiレベル
故)、CSCSSL1413lがLoレベル故、マルチプレクサ1704
のA入力からラッチ回路1702の入力に至り、EWTALE1411
lがHiレベル故ラッチ回路1702を通過してCSYS(0)110
0のADDR入力に達する。リードサイクル時のCSYS(0)1
100へのADDRの送信は、本方式を採る必要は特にはな
く、BP(0)1000からの直接のアドレス情報1405lと、
ラッチ回路1702からのアドレス出力1414lとをマルチプ
レクサを設けてマルチプレクスし、CSYS(0)1100への
リードサイクルが許可されているとき、すなわち、CSYS
ライトサイクルにおいて、CSYS(0)1100へのライトコ
マンド▲▼1410lの立ち上り(ライト処理の終
了)から必要なホールドタイムが保証されてのち次のCS
YSライトサイクルが開始されるまでの期間、そのマルチ
プレクサがアドレス情報1405lを選択してOADDR1414lに
出力し、CSYS(0)1100のアドレス入力ADDRに与えられ
るようにしてもよい。
上述の方法でCSYSへのリードサイクルが実行されれ
ば、1プロセッサクロックのアイドルサイクルがあれ
ば、本例の場合、1.5プロセッサクロック分のアクセス
時間(アドレスアクセス時間)が得られる。これをバス
アービタDC1300からの▲▼1303lを基準にした共
有バスサイクルから観測すると、リードサイクル(b)
と外部BPによるライトサイクルOEWTとを合わせて(g)
に示されるように、3プロセッサクロックでアクセス処
理が完了される。常にCSYSBUS1310lを獲得して動作する
場合4プロセッサクロック必要となり、本実施例によれ
ば、CSYSアクセス効率が大幅に改善される。
CSYSへのリードサイクルRD(b)において、CSYSへの
アドレス情報OADDR1414lがアクティブになったのち、ス
テートS10の先頭でCSYSへのリードコマンド▲▼1
408l(Loアクティブ)がアクティブになる。これにより
出力バッファ1406がアクティブになり、CSYS(0)1100
から読み出されたデータをCPUDATAバス1406lに出力す
る。同時に▲▼1415l(Loアクティブ)も
アクティブになり、BP(0)1000は、ステートS11の終
りでリードサイクルを終了すると共に、CPUDATAバス140
6l上のデータを入手する。この際の、BP(0)1000から
観測したリードサイクル(b)(ステートS6〜S11)に
は、1ウエートサイクル(S8〜S9)挿入されるだけであ
る。次に再び、BP(0)1000からCSYS(0)1100へのラ
イトサイクル(c)(S12〜S15)が開始されている。こ
れは、外部BPからのライトサイクルEWT(e)とほぼ同
時刻に開始されているが、バスステートマシン2500は、
T2ステー(S14〜S15)で直ちにアクティブな▲
▼信号1415lを返送しそれを受けてBP(0)1000はS
15の終りでBP(0)1000のライトサイクル(c)を完了
し、ウェートサイクルは挿入されない。これは前述のポ
ストライト機能による効果である。つまり、T2ステート
(S14〜S15)でCPUDATAバス1406lにBP(0)1000から出
力されたアクセスすべきアドレス及びCSYS(0)1100に
書き込むべきデータWT(c)は、WTALE1412lがHiからLo
に遷移するS15の終りのタイミングで一旦、ラッチ回路1
803にラッチされる。S11〜S14では、外部BPによるライ
トサイクル(e)が実行されているが、バスステートマ
シン2500は、S12の先頭で、以前にBP(0)1000が起動
したライトサイクル(この場合は(a)に相当する)が
終了しており、WTALE1412lがHiレベルに戻っておれば
(本例ではWTALE1412lはCSYS(0)1100へのライトサイ
クルが終了すると直ちにHiに遷移する)、T2ステート
(ここではS14〜S15)で直ちに▲▼1415l
をアクティブにしてBP(0)1000のバスサイクルを終了
させてしまい、次のサイクルへの移行を許してしまう。
これにより、BP(0)1000はCSYSBUSの使用権を得るま
で待ち状態になってしまう確率をより小さくでき、共有
バスアクセス競合による処理能力の低下を小さくでき
る。
第4図は、第1図に示したバスアービタDC1300の要部
構成を示すブロック図で、第5〜7図はそのロジックの
詳細を示している。第4図,第5図に示されるバスアー
ビタDC1300は、複数の処理装置BPからのCSYS(共有資
源)へのアクセス要求信号群1(Hiアクティブ)を基準
クロックに同期化させるためのアクセス要求信号同期化
部2と、該アクセス要求信号同期化部2に接続され該ア
クセス要求信号同期化部2を通過した前記アクセス要求
信号群1のうち適切なもののみを後述する優先順位決定
部4へ送り出し、それら以外を通過させずバッファして
おくアクセス要求信号ゲート部3と、該アクセス要求信
号ゲート部3に接続され該アクセス要求信号ゲート部3
を通過したアクティブなアクセス要求信号群に対して優
先順位をつけ、アクセス許可信号7A(PnACK)を出力す
るアクセス優先順位決定部4と、該アクセス優先順位決
定部に接続されアクセス許可信号7Aに対して適当な遅延
補正を行い、前記アクセス要求信号同期化部2、アクセ
ス要求信号ゲート部3、アクセス優先順位決定部4を含
んでなる信号制御回路5内部で生じたゲート遅延による
ヒゲ等を取り除いて各プロセッサ内で使用可能なアクセ
ス許可信号8を出力する遅延補正部7と、前記アクセス
要求信号同期化部2に同期化用クロック6Bを出力するア
クセス要求信号同期化クロック発生部6とを含んで構成
されている。
アクセス要求信号群1は、まずアクセス要求信号同期
化部2に入力され、システムクロック6Aによりアクセス
要求信号同期化クロック発生部6で生成された同期化用
クロック6Bによりクロックピリオドごとにそれぞれフリ
ップ・フロップ(第5図のU3〜U18に相当)にラッチさ
れてアクセス要求信号ゲート部3の入力に送り出され
る。システムクロック6Aは、プロセッサクロックPCLK14
00lか又はPCLK1400lに同期したクロックである。アクセ
ス要求信号ゲート部3では以前にラッチされゲート内に
取り込まれたアクティブなアクセス要求信号グループに
対しての共有資源へのアクセス調停処理がすべて完了し
ていないうちは入力ゲートを閉じた状態になっている。
それらの処理がすべて完了すると第5図に示すアクセス
要求信号ゲート部3のフリップ・フロップ3a〜3pはゲー
トを開き、次のアクティブなアクセス要求信号のグルー
プをラッチしてゲート内へ取り込むことができるような
ロジックとなっている。すなわち、アクセス要求信号ゲ
ート部3は、ゲートが開いている時にアクティブなアク
セス要求信号が新たに入力された場合、同じクロックピ
リオドのタイミングで入力されたアクティブな信号をす
べてラッチし、直ちにフリップフロップ3a〜3pのゲート
を閉じて、それ以後のクロックピリオドのタイミングで
アクティブに転じたアクセス要求信号は通過させずバッ
ファして待たせておく機能がある。また、取り込んだア
クティブなアクセス要求信号のアクセス調停処理を行っ
ている間に通過させずにバッファしておいたアクティブ
なアクセス要求信号のグループは、ゲート内のアクティ
ブなアクセス要求信号に対する処理がすべて完了しバッ
ファが開かれた時一斉にラッチされゲート内に取り込ま
れることがわかる。したがって、システム全体での共有
資源へのアクセスが比較的疎に行われる場合には、1ク
ロックでも早い時刻にアクセス要求を出力した処理装置
が優先される確率が高い。ラッチされてゲート内に取り
込まれたアクティブなアクセス要求信号のグループに対
しては、アクセス優先順位決定部4でアクセスを許可さ
れる順番が決定される。アクセス優先順位決定部4で
は、アクセス要求信号ゲート部3にラッチされているア
クティブなアクセス要求信号に対し、プライオリテイ判
定回路APRORTYU28及びU29により4Aの部分ではアクセス
要求信号P0REQ〜P15REQの順に高位の優先順位を付け、4
Bの部分ではアクセス要求信号P15REQ〜P0REQの順に高位
の優先順位を付けるロジックとなっている。それら2つ
の優先順位決定部の処理結果を、アクセス要求信号ゲー
ト部3のゲートが開くタイミングで分周回路4Dを駆動す
ることによって第7図に示すマルチ・プレクサX1〜X16
によりAACKnとBCKnを切り換えて(切り換え信号はACKSE
L)交互に選択する手法により、平均してほぼ平等の優
先順位を各処理装置に与えるように工夫している。アク
セス優先順位決定部4では、アクティブなアクセス要求
信号群から最終的に1つが選択され、それに対してアク
セス許可信号7Aが出力される。
アクセス許可信号7Aは、本信号制御回路5内で生じた
ゲート遅延によるタイミングのずれを補正するために遅
延補正部7へ入力される。遅延補正部7を通過した最終
のアクセス許可信号群8(Loアクティブ)は、各プロセ
ッサ・バスを共有資源へ接続するためのバス・スイッチ
・バッファ等のON−OFF信号として利用するとともに、
アクセスを許可されない処理装置を待たせるためのウエ
イト信号やバス同期用のレディ信号をアクセス要求信号
群1とNANDもしくはANDをとることによって生成し、対
応する処理装置に与える。
アクセスを許可された処理装置は、共有資源上での必
要な処理が終了し、共有資源を開放しても良い最適なタ
イミングでアクセス要求信号群1のうち自身のアクセス
要求信号を非アクティブにし、それを受けてアクセス要
求信号ゲート部3は対応するフリップ・フロップ3a〜3p
のアクティブなラッチデータを解除して非アクティブに
する。それにより、アクセス優先順位決定部は次の優先
順位処理を行うか、もしくはアクセス要求信号ゲート部
3にアクティブな信号が存在しない場合にはそこに新た
にアクティブなアクセス要求信号のグループがラッチさ
れるまですべてのアクセス許可信号を非アクティブにす
る。なお、信号出力▲▼2Cは、アクセス要求信
号群1のうちの少くとも1つがアクティブならアクティ
ブ(Loレベル)になり、アクセス要求信号同期化部2で
同期化用クロック6Bに同期化されて生成(OCSCS2AHiア
クティブ)され、出力バッファ2Bを介して各BPのBUSCTL
に送られる。
以上の信号制御処理グループを第5図〜第7図に示す
簡単なランダムロジックで実現することができる。以下
にロジックの機能を第4図と対照しながら説明する。
第5図は、アクセス要求信号同期化部2とアクセス要
求信号ゲート部3及びアクセス優先順位決定部4内の優
先順位処理部(APRORTY)を示している。ここでは、ア
クセス要求信号線が16本(REQ0〜REQ15に対応)存在す
る場合の回路構成が示されている。アクセス信号REQ0〜
REQ15は、それぞれアクセス要求信号同期化部2内の対
応するフリップフロップU3〜U18によって同期化され
る。その基準となるクロック6Bは、インバータU19,U1,U
2によって各フリップフロップU3〜U18に分配され、ほぼ
同時刻にアクセス要求信号線上のデータをラッチできる
ようにクロックスキューが調整されている。▲
▼2Cは、フリップフロップU3〜U18の少くとも1つに
アクティブなアクセス要求信号がラッチされていればア
クティブ(Loレベル)になる。アクセス要求信号ゲート
部3は、U23及びU24に示すゲート回路ANDQと、U25〜U27
及びU30〜U33で構成されるゲートスイッチ回路とから成
る。ゲート回路U23及びU24はそれぞれ、フリップフロッ
プ3a〜3h及び3i〜3pで構成される。まず、フリップフロ
ップU3〜U18の出力Qがすべて非アクティブ(Loレベ
ル)の状態から、あるクロックピリオドで、U3〜U18の
出力Qのうちいくつかがアクティブ(Hiレベル)に転じ
たとする。それらの信号はそのままANDQのゲート回路を
通過し、フリップフロップ3a〜3pの対応する出力をアク
ティブ(Loレベル)にする。前記ゲートスイッチ回路
は、3a〜3pの出力のうち少くとも1つがアクティブにな
れば、インバータU25の出力をHiレベルにする。この
時、フリップフロップU3〜U18からの非アクティブな入
力信号(Loレベル)を受けているANDQU23,U24内のフリ
ップフロップの出力側のNANDゲート(偶数ユニット番号
のNANDゲート)はHiレベルになっているため、その出力
信号とインバータU25からの出力信号とを受ける対応す
るNANDゲート(奇数ユニット番号のNANDゲート)の出力
はLoレベルになる。それを受けて、非アクティブな要求
信号をフリップフロップU3〜U18から受けている出力側
のNANDゲートの出力は、インバータU25の出力信号がLo
レベルに転じるまで、非アクティブ(Hiレベル)に固定
される。すなわち、アクセス要求信号ゲート部3は、ゲ
ート回路ANDQU23,U24内に取り込まれたアクティブなア
クセス要求のグループがすべて非アクティブに転ずるク
ロックピリオドまで、他の一切のアクティブなアクセス
要求をゲート回路ANDQU23,U24内に取り込まない様にゲ
ートを閉じた状態を保つ機能を有する。アクセス要求信
号ゲート部に取り込まれたアクティブなアクセス要求信
号は、アクセス優先順位決定部4のAPRORTYU28,U29の入
力I0〜I15に送られる。前述した様に、APRORTYU28がREQ
15からREQOへ優先順位を付ける(REQ15側が高い優先順
位を有する)機能を有し、それとは反対に、APRORTYU29
がREQ0からREQ15へ優先順位を付ける(REQ0側が高い優
先順位を有する)機能を有する。第6図にAPRORTY回路
の詳細なロジックを示す。第6図に示したAPRORTY回路
では、ある入力信号Inがアクティブ(Loレベル)になっ
てから、それより優先順位の低いI0〜In-1に対応する出
力O0〜On-1が強制的に非アクティブ(Hiレベル)にされ
るまで遅延時間が最もクリティカルである。そのクリテ
ィカルパスを、本回路はU48〜U53で示されるNANDゲート
とU45〜U47で示されるNORゲートを組み合せて、合計3
ゲート(出力段のNANDゲートV1〜V15を含む)で構成し
ている。すなわち、トランジスタレベルの通過段数でも
わずか3段であり、優先順位の処理の高速化に寄与して
いる。ここでは、APRORTYU28からの出力結果が▲
▼〜▲▼とされ、APRORTYU29からの出
力結果が▲▼〜▲▼とされてい
る。これらの出力信号は、第7図に示される優先順位切
換回路に入力される。優先順位切換回路は、X1〜X16に
示される16ユニットのマルチプレクサから成り、ACKSEL
信号によって▲▼又は▲▼のいず
れか一方が選択されて、その反転出力P0ACK〜P15ACKを
出力する。すなわち本例ではインバータV17を介するた
めACKSELがLoレベルのとき▲▼が選択され
る。
このマルチプレクサX1〜X16のトランジスタレベルの
通過段数は1段であり、APRORTY回路の通過段数と合わ
せて合計4段のトランジスタを通過するだけで、アクセ
ス優先順位処理部の処理が完了する。
ACKSELは、優先順位切換スイッチ4Dによって生成され
る。優先順位切換スイッチ4DはフリップフロップU22で
構成され、ゲート回路AHDQU23,U24がゲートを開くタイ
ミング、すなわち前記ゲートスイッチ回路内のインバー
タU26の出力がLoレベルからHiレベルに遷移するタイミ
ングでプリップフロップU22の出力が論理反転するよう
に配線されている。本例では、ACKSELはフリップフロッ
プU22のQ出力が用いられており、RES信号2Dがアクティ
ブ(Hiレベル)になって初期化されたときには、Q出力
にLoレベルが出力される。なお、本回路ではACKSEL信号
による優先順位切換スイッチの切換処理を、APRORTY回
路での優先順位の決定処理が完了する前に完了しておく
ようにタイミングの調整が行われている。
これらの手段により、ランダム・アクセスによっても
効率が低下せず、しかもロック状態(アクセス要求を出
力しているプロセッサがいつまでも要求を受け付けられ
ない状態)を生じないため、ほぼ平等なアクセス確率を
各処理装置に与えることのできる高速・高効率な共有資
源アクセス調停用信号制御回路を提供できる。
次に一般的な事例として第8図により本回路を利用し
て複数の処理装置が1つの共有資源をアクセスする場合
の調停されたアクセスタイミングを時間軸に沿って説明
する。
第8図は、5台のプロセッサP0〜P4が1つの共有メモ
リをかなり頻繁にアクセスする場合を想定して本回路に
よるアクセス要求信号PnREQ(Hiアクティブ)の調停の
様子をタイムチャートに表わしたものである。上部に示
した0〜25の数字はプロセッサのクロックになんらかの
形で同期したアクセス要求信号同期化用クロックの各ク
ロックピリオドを示している。数字が大きい程遅い時刻
を表わしており、アクセス要求信号同期化部2ではこれ
らのタイミングでアクセス要求信号をクロックに同期さ
せる。Rnで示される信号は、アクセス要求信号同期化部
2を通過した要求信号であり、これらに対して以後の調
停処理がなされアクセス許可信号▲▼(Loア
クティブ)が調停結果として出力される。▲
▼(Loアクティブ)はプロセッサを待たせる信号であり
三角部のタイミングでWAITnがアクティブな場合プロセ
ッサのアクセスサイクルに1クロック挿入されて結果的
にプロセッサが待たされることになる。第8図において
は三角印の数より1少ないクロック数がプロセッサP0〜
P4の待たされる時間(クロック数)を示している。な
お、プロセッサP0〜P4は通常2クロックでアクセスを完
了する。同期用クロックは、アクセス許可信号PnREQが
出力されたら次のクロックピリオドで直ちにそれを同期
化できる様に、クロックピリオドに対し必要最小限のセ
ットアップタイムtsを保証する最適なタイミングにセッ
トされる。下部に示したAとBの記号はアクセス要求信
号ゲート部のゲートが開くタイミングに同期して切り換
えられる2種類の優先順位決定回路の選択状況を示して
おり、AがP4からP0へ順に高位な優先順位を付けるフェ
イズ、BがP0からP4へ順に高位な優先順位を付けるフェ
イズを表わしている。まずクロックピリオド(以下CPと
略す)1においてP0REQとP1REQの2つのアクティブなア
クセス要求信号を捉えてそれぞれR0及びR1を得ている。
これらは同時信号として処理され、アクセス要求信号ゲ
ート部にラッチされる。優先順位処理はまずこの2つの
信号に対して行われ、CP2以後で捉えられたアクティブ
なアクセス要求信号はR0,R1の処理がすべて完了するま
で待たされる。この場合R0の方が高位の優先順位を有す
るためまずR0が処理されP0に対してアクティブなアクセ
ス許可信号P0ACKが出力される。P1は、R0とR1が重った
期間である2クロック分だけ待たされ、CP3でP0のアク
セス処理が完了したことを知ると直ちにP1に対してアク
セスが許可される。このように、優先順位に従って必要
最小限の時間だけ待たされた後、連続して後続のプロセ
ッサをアクセスさせていくことになるため無駄時間はほ
ぼアクセス調停のための時間であるtaのみと考えて良
い。しかし、本方式ではランダム・アクセスを基本とす
るため、必要最小限な一定期間アクセスを許可したら原
則として共有資源へのアクセス・サイクルを終了して、
次にアクセスを許可されるプロセッサによるアクセスサ
イクルの始動に備えなければならない。taはその切換え
準備のためのバスを安定させるための時間として利用で
きるため、実質的な無駄時間はほとんど無いと言って良
い。また、本方式によれば、プロセッサのバスサイクル
が必要以上に長い場合でも、aに代表する矢印で示すと
ころのプロセッサがデータを読み込むタイミングからメ
モリ等の共有資源のアクセスタイムを十分満たす最小限
のクロック数を共有資源アクセス期間として定義し抽出
することが可能となる。第8図に示す実施例においては
アクセスを許可されてから次のクロックピリオドとデー
タを読み込むタイミングからデータホールド時間th後の
時刻に当たるその次のクロックピリオドとの間でアクセ
ス要求信号PnREQを非アクティブにすることで常に2ク
ロックだけ共有資源を専有する共有資源アクセス期間を
定義している。CP5でR1の処理も終了し、アクセス要求
信号ゲート部3はゲートを開いてバッファされていた信
号R2と新たにアクティブになったR3とを同時信号として
バッファ内に取り込み、ゲートが開くタイミングを利用
して優先順位処理のフエイズもBに切り換える。フエイ
ズBではP2よりP3の方が高位の優先順位を持っているた
め、まずP3の方が先にアクセスを許可され次にP2にアク
セスを許可している。CP19ではCP1との場合と同様の状
況が生じているが、優先順位のフエイズがBであるため
P1,P0の順でアクセスが許可されている。本例において
はCP1からCP25の間、常にいずれかのプロセッサに共有
資源へのアクセスが2クロックずつ許可されており、ラ
ンダム・アクセスであるにもかかわらず共有資源側から
みてプロセッサやDMAによる専有ブロック転送と同等、
プロセッサやDMAのバスサイクルが2クロック以上の場
合には少なくとも1.5倍以上の共有資源使用効率を示す
ことになる。一方プロセッサ側の処理効率を見てみる
と、クロック周期tを40nsとしデータ幅を32bitとした
場合単位時間当たりの共有資源とのデータ入出力回数は
第8図の例で各プロセッサ当り10Mbytes/s(全体で10Mb
ytes/s)に達し、これは汎用の32bitDMA程度のアクセス
頻度に当たるが、本例においてプロセッサの待ち時間は
プロセッサの実行する全体の処理時間に対してわずか14
%程度にすぎない。
以上、タイミングチャートにより本発明の高速,高効
率性及び平等アクセス性の各特性を示した。
第1図に示した本発明の実施例の基本となる信号制御
回路バスアービタをさらに高効率に動作させるためのバ
スアービタの第2の実施例を第9図を参照して説明す
る。本実施例においては処理装置は4台のプロセッサP0
〜P3で構成され、該プロセッサに接続してアービトレー
ション回路5が設けられている。前記処理装置P0〜P3に
接続してフリップフロップ6Cが設けられ、さらに該フリ
ップフロップ6C及び前記アービトレーション回路5に接
続されてシステムクロック3Aを出力するシステムクロッ
クジエネレータ(SCG)が設けられている。フリップフ
ロップ6Cは、入力されるシステムクロック3Aを2分周し
てマシンクロック4A及びそれと180度位相がずれたマシ
ンクロック4Bとを生成する。プロセッサP0とP1は符号G1
で表わされるグループをなしてマシンクロック4Aで運転
され、プロセッサP2とP3は符号G2で表わされるグループ
をなしてマシンクロック4Bで運転される。アービトレー
ション回路5は、プロセッサP0〜P3からの共有資源への
アクセス要求信号9A〜9Dがアクティブになったときそれ
らを調停し、選択されたいずれか一つのプロセッサに、
アクセス許可信号10A〜10Dのうちの対応するものをアク
ティブにする。
アクセス要求信号9A〜9Dをアクティブにしているプロ
セッサは、対応するアクセス許可信号10A〜10Dのいずれ
かがアクティブになり、アクセスが許可されるまで共有
資源へのアクセスを見合わせる。プロセッサP0〜P3は、
対応するアクセス許可信号10A〜10Dがアクティブにな
り、アクセスが許可されたら、共有資源へのアクセスを
開始し、適切な時刻にアクセス許可信号9A〜9Dを非アク
ティブにする。アービトレーション回路5は、システム
・クロックにアクセス要求信号9A〜9Dを同期化し、アク
セス要求信号のタイミングを明確化するアクセス要求信
号同期化部2と、アクセス要求信号同期化部2で調整さ
れた同期化アクセス要求信号6A〜6Dのうちアクティブな
ものを取り込み、以後のタイミングでアクティブになっ
たものを、すでに取り込んでいるアクティブなアクセス
要求の処理がすべて完了するまで待たせるアクセス要求
信号ゲート部3と、アクセス要求信号ゲート部3で取り
込まれたアクティブな同期化アクセス要求信号7A〜7Dに
優先順位処理を行い、その時点で最も高い優先順位を有
したものをアクティブな同期化アクセス要求信号7A〜7D
から1つ選択して、アクセス許可信号10A〜10Dのうちそ
れに対応する1つをアクティブにするアクセス要求信号
優先順位決定部4とから構成される。アービトレーショ
ン回路5の基本動作及び機能は、第1図に示したものと
同様である。異なるのは、プロセッサが2つのグループ
G1及びG2に分けられており、各グループが、アービトレ
ーション回路5に与える同期化用クロック3Aに同期した
互いに位相の異なる(本例では180゜)マシンクロック4
A,4Bによってそれぞれマシンコントロールされている点
である。以後、第10図と第11図により、本方式と従来方
式(同位相のマシン・クロックで制御する場合)とを比
較して、そのタイミングを述べる。
第11図は、従来例として、すべてのプロセッサP0〜P3
が同一のマシン・クロックで制御され、アービトレーシ
ョン回路5のアクセス要求信号同期化部2はシステム・
クロック3Aで制御されるとした場合、プロセッサP0及び
P2の共有資源へのアクセス要求及び許可の様子を示して
いる。共有資源へのアクセスは、優先順位処理も含めて
最低3システム・クロック周期必要であるとし、3シス
テム・クロック周期のアクセス時間が確保できない場合
はマシンサイクル単位でウエート・ステート(WS)の挿
入が必要となる。また、プロセッサP0〜P3のバスサイク
ルは2マシンクロックであるとし、ウエートステート
(WS)が挿入されて3マシンクロック以上のバスサイク
ルに引き伸ばされない限り、プロセッサ側の直接的な処
理能力損失にはならない。プロセッサP0〜P3は、マシン
・クロックの立ち上がり(図中▲で示す)タイミングで
アクセス要求信号9A〜9Dを出力し始め、それらはシステ
ム・クロックの立ち上がり(図中↑で示す)でアービト
レーション回路5のアクセス要求信号同期化部2にラッ
チされる。アクセス要求信号9A〜9Dのクリアは、アクセ
ス許可信号10A〜10Dがアクティブになり、十分なアクテ
ィブ時間が得られる適切な時期に、マシン・クロックの
立ち上がりのタイミングの手前で行い、無駄に共有資源
を占有しない様にする。この従来例では、同一マシン・
クロックですべてのプロセッサP0〜P3が制御されるた
め、アクセス要求信号9A〜9Dの出力時刻は必ずマシンク
ロック周期でずれることになる。第11図では、マシン・
クロックステートT0の先頭でプロセッサP0のアクセス要
求信号9Aが出力されてから、1マシン・クロック周期後
にプロセッサP2のアクセス要求信号9cが出力された例を
示している。まず、アクセス要求信号9Aがシステム・ク
ロックに同期化され、同期化アクセス要求信号6Aが生成
される。他にアクセスを要求しているプロセッサが無い
のでこれは直ちに優先順位一位と判定され、対応するア
クセス許可信号10Aが出力される。アクセス許可信号10A
が出力されている期間が共有資源を占有することができ
る期間とみなすことができる。しかし、実質的には、マ
シンクロックの立ち下がりではどのプロセッサもアクセ
ス要求信号を出力しないため、T0ステートの後半部(同
期化アクセス要求信号6AにおいてはT0ステートの前半部
とみなせる)はどのプロセッサにも利用されない共有資
源側の無駄時間LT(ロス・タイム)11Aとなり、結果的
に4システム・クロック分(S1〜S4ステート)共有資源
を占有したのと等価である。また、後続するP2のアクセ
ス要求信号9cは、T1ステート後半部の立ち上がりから優
先順位処理が開始され、T2のステートの前半でアクセス
許可信号10cが出力される。しかし、ウエート・ステー
ト(WS)の生じない通常のバスサイクル(T1とT2との2
マシンクロック周期)に従ってT2ステートの後半の立ち
上がりでアクセス・サイクルを閉じるとすると、アクセ
ス時間として2システム・クロック周期分しか確保でき
ない。ゆえに、1マシン・クロック周期分のウエートス
テート(WS)12が必要となり、ステートT3の後半部の立
ち上がりでバスサイクルを閉じることになる。したがっ
て、アクセス許可信号10cはやはり合計2マシンクロッ
ク周期分となる。さらに、T4ステートの先頭では再びプ
ロセッサP0がアクセス要求信号9Aを出力している。この
タイミングは、連続してアクセスする場合の先行するプ
ロセッサP2のアクセスサイクルと競合を生じない最良の
タイミングであるが、やはり損失時期LT11Bを生じてし
まっている。上述した従来例においては、アービトレー
ション回路5における同期化処理をシステム・クロック
周期ごとに行っても、実質的にはマシンクロック周期ご
とにしか制御できておらず、4システムクロック周期分
共有資源を占有するのと等価であることを示している。
第10図は、本実施例のタイミングを示している。本実
施例においては、プロセッサP0〜P3が2つのグループに
分けられ、それぞれのグループに180゜位相のずれたマ
シン・クロックを供給(グループG1にはマシンクロック
4Aを、グループG2にはマシンクロック4Bを供給)してい
る。プロセッサP0はグループ1(G1)に属し、プロセッ
サP2はグループ2(G2)に属する。したがって、プロセ
ッサP0のアクセス要求開始点はマシンクロック4Aに従っ
て図中▲のポイントであり、プロセッサP2のアクセス要
求開始点はマシンクロック4Bに従って図中△のポイント
である。それ以外の条件は第11図で示した従来例と同一
である。第10図では、連続して共有資源が利用されてい
る様子を示しているが、説明はT00ステートの先頭でプ
ロセッサP0がアクセス要求信号9Aを出力したとろから始
める。第11図に示した従来例と同様に、プロセッサP0の
アクセス要求信号9AがT00ステートの先頭で出力される
と、システムクロックのS0ステートの後半の立ち上がり
でアービトレーション回路5のアクセス要求同期化部2
にラッチされ、同期化アクセス要求信号6Aが出力され
る。先行するプロセッサP2のアクセス処理は終了してい
るので、直ちに優先順位一位と判定され、T00ステート
の後半あたりでアクセス許可信号10Aが出力される。一
方プロセッサP2は、T21ステートの先頭でアクセス要求
信号9cを出力し始めるが、アクセス要求信号同期化部2
にラッチされるシステムクロックのS3ステートの後半部
の立ち上がりではすでにプロセッサP0のアクセス処理が
終了しているため、連続してアクセスが許可されてい
る。アクセス要求信号9cは、T22ステートの終了までに
行えば良いため、無駄なウエートステート(WS)を挿入
することなく3システム・クロック周期分のアクセス時
間を確保することができる。もし、プロセッサP2のアク
セス要求信号が1マシンクロック周期分早く出力された
とすると、必要最小限である1ウエート・ステート(W
S)だけ挿入し、1マシン・クロック周期分だけアクセ
ス要求信号9cが引き伸されることになるが、共有資源へ
のアクセス占有期間はやはり3システム・クロック周期
で完了する。マシン・クロックの位相を180゜ずらすこ
とにより、実質的にすべてのシステムクロックステート
の立ち上がりでアクセス要求信号が出力される可能性が
生まれるため、グループが異なるプロセッサ間でのアク
セス調停処理をより厳密に行うことができる。第10図に
示す例においては、プロセッサP0とプロセッサP2とが異
なるグループに属するため、共有資源を占有する期間は
常に3システム・クロック周期となり、必要最低限のア
クセス時間を損失時間LTを生じずに保障できる。第10図
と第11図を比較すると、本実施例では、従来例よりも25
%程度共有資源の利用効率が向上しているのがわかる。
以上、本実施例の効果を従来例と比較して示した。第
10図で示したのは、異なるグループに属するプロセッサ
間でのアクセス調停の様子を示したが、同一のグループ
内に属するプロセッサ間では基本的に第11図と同様のタ
イミングによってアクセス調停処理がなされる。本実施
例によって得られる効果を有効に引き出すためには、グ
ループを細分化すれば良い。本発明により無駄時間が減
少し、共有資源の利用効率が向上するため、プロセッサ
間のアクセス競合も減少することができる。
一般的に本方式は、システム・クロック・サイクルを
十分小さく選び、システム・クロックから分周して生成
される各処理装置を運転するためのマシン・クロックを
システム・クロック周期の単位でそれぞれ適切な時間だ
け位相をずらしたものをいくつか用意し、それら位相の
ずれたマシン・クロックをグループ分けした処理装置に
グループに対応して(同じグループ内に属する処理装置
は同一のマシン・クロックで運転する)それぞれ供給
し、処理装置から共有資源へのアクセス要求信号がアー
ビトレーション回路に出力されるタイミングをずらし
て、同一時刻にグループの異なるプロセッサがアクセス
要求信号を出力しないようにすることと、それによりシ
ステムクロック周期単位でアクセス要求信号が分散して
出力される様にし、アービトレーション回路の最小制御
単位であるシステム・クロック周期ごとに調停処理開始
タイミングを得ることができるようにすることによって
実現できる。
本発明によれば、システム・クロック・周期に、すべ
てのマシン・クロック及びアービタを制御するためのク
ロックを同期でき、アービトレーション回路は、同期型
アクセス調停制御による無駄時間の生じにくい最良なタ
イミングでのアクセス調停を行うことが可能になるだけ
で無く、システム・クロック単位でアクセス要求信号が
出力されるタイミングを得ることができるため、マシン
・クロック周期より小さな単位(最小単位はシステム・
クロック周期)でのアクセス調停制御をより厳密に行う
ことができる。したがって、より高効率な共有資源の利
用が可能となる。
次に、第1図に示した本発明の第1の実施例のバスア
ービタを変更し、基本となる信号制御を効率よく動作さ
せるための第2の実施例を説明する。
本実施例では、又、プロセッサ台数は15台で、ライト
リクエストとリードリクエストが分離されて入力されて
いる。
第12図は、本実施例の信号制御回路(アービタ)を示
している。アービトレーション回路5は、基本的に第4
図に示したものと同等の機能を有する。ただしここで
は、PnACK信号を負論理(Loレベルでプロセッサnが選
択される)で実現する回路構成になっている。したがっ
て負アクティブを示すため、▲▼と表現され
ている。本実施例の特徴は、基本プロセッサBP0〜BP14
からの共有資源へのアクセス要求を、共有思源からの読
み出し要求▲▼(本例では負論理)
と、共有資源への書き込み要求BPnWTREQ(本例では正論
理)とに分けている点である。基本プロセッサからの15
本の読み出し要求▲▼は、NANDゲート
2000により、いずれか一本の読み出し要求▲
▼がアクティブになったら無条件でアクティブに
転ずるところのアービトレーション回路5へ与えるべき
読み出し要求信号READREQ2000a(正論理)に変換され
る。一方、基本プロセッサBP0〜BP14から共有資源への1
5本の書き込み要求信号BP0WTREQ〜BP14WTREQはそれぞ
れ、アービトレーション回路5のアクセス要求信号入力
REQ0〜REQ14へ入力されている。読み出し要求信号READR
EQ2000aはアービトレーション回路5のアクセス要求信
号入力REQ15へ入力されている。なお、本例のアービト
レーション回路5は、第5図〜第7図に示した様な合計
16本のアクセス要求信号REQ0〜REQ15をアービトレーシ
ョン可能な回路と想定されている。また読み出し要求信
号READREQ2000aは、基本的にREQ0〜REQ15のうちどれに
入力されてもかまわない。
REQ0〜REQ15に対応するアクセス許可信号▲
▼〜▲▼は、AO回路5Aに入力される。AO
回路5Aは、第4図に示した遅延補正部7とは異なる。遅
延補正処理は付加的処理であり、特に必要ない場合も多
いので、本実施例においては特に遅延補正部7は設けら
れていない。AO回路5Aには15個のAOゲートと15個のフリ
ップフロップとが設けられている。
REQnに対応するAO回路5A中の1つのエレメント2001
を、1例として第14図に示す。AOゲート2001aのC入力
には▲▼〜▲▼が、A入力には
フリップフロップ2001bの出力Qが、それぞれ入力さ
れ、B入力にはすべて▲▼が入力される。
すなわち、READREQ2000aが入力されているアクセス要求
信号入力REQmに対応したアクセス許可信号▲
▼が、AO回路中の各AOゲート2001aの一方の入力に共通
信号として入力される。各AOゲートの入力信号▲
▼に対応する出力を、基本プロセッサBPnに返送さ
れるアクセス許可信号ACKnとする。フリップフロップ20
01bのD入力には、対応するプロセッサnからの読み出
し要求信号BPnRDREQが入力され、クロック入力には、同
期化用クロック6Bが入力される。AOゲートは第14図のト
ランジスタベース・スケマティックAOTに示されるよう
に、トランジスタ1段でドライブできるため、基本ゲー
ト1段分とほとんど同等の高速なスイッチングが行われ
る。
本実施例においては、15台の基本プロセッサBP0〜BP1
4からの共有資源へのアクセス要求を制御することがで
き、次の機能を実現できる。
(1) あるプロセッサからの共有資源への書き込み要
求信号がアクティブになったとき、他のアクセス要求信
号(書き込み及び読み出し要求信号のいずれか)が1つ
でもアクティブになっているか又はアクティブになった
時、アービトレーション回路5によってそれらの要求信
号の間のアクセス調停処理が実行され、優先順位の最も
高いアクセス要求に対応するアクセス許可信号をアクテ
ィブにする。
(2) プロセッサからの読み出し要求信号▲
▼のいずれか1つがアクティブになっており、
かつ、その要求がアービトレーション回路5によって選
択され、アクセス許可信号(本例では▲
▼)がアクティブになっていれば、それぞれのプロセッ
サに対応するアクセス許可信号ACK0〜ACK14をすべてア
クティブにする。
(3) プロセッサからの共有資源へのアクセス要求
が、すべて共有資源からの読み出し要求であれば、アク
セス要求信号間のアクセス競合は発生しないとみなし、
直ちにすべてのACK0〜ACK14がアクティブにする。
(4) 基本プロセッサBP1000,1001,…がCSYSからデー
タを読み出す場合、各基本プロセッサBP1000,1001,…に
対応するCSYS1100,1101,…からそれぞれローカルにデー
タが読み出される。したがってCSYSBUS1310lへのアクセ
スは不用である。
(5) 基本プロセッサBP1000,1001,…がそれぞれに対
応して設けられたCSYS1100,1101,…に対してデータを書
き込む場合、CSYS1100,1101,…すべてに対し、同時に、
かつ同一データがCSYSBUS1310lを用いて書き込まれる。
したがってCSYS1100,1101,…は常に互いに同一のデータ
を保持している。
上述の(1)〜(5)の機能が実現されるので、CSYS
1100,1101,…は、従来、共有バス上に設けられていた共
有メモリ等の共有資源と同等の機能を発揮する。ただ
し、同一のデータを各基本プロセッサ毎に保持するため
に、共有資源がそれぞれのBPバス上に設けられる必要が
あり、共有バス上に1つの共有資源が設けられる場合に
比してコストが上昇するという問題があるが、高速性及
び共有資源へのアクセス効率の向上の面で有利である。
さて、上記(4),(5)に述べた機能の実現には、
判別回路DC1300が重要な役割を果している。すなわち、
(4),(5)の機能を実現するために、CSYSBUS1310l
をBPが使用するCSYSへの書き込み処理の場合のアクセス
競合を制御している。
第13図により、本発明の機能を説明する。第13図は、
第1図に示す実施例において、基本プロセッサBPとして
プロセッサl,m,nの3台が、それぞれに対応して設けら
れた共有資源であるCSYSにアクセスし、必要な情報のや
りとりを行っている様子を示している。他のプロセッサ
からのアクセスは無いとしている。各プロセッサは、そ
れぞれCSYSに対するデータの書き込み要求WTREQと、CSY
Sからのデータの読み出し要求▲▼とを、ア
ービトレーション信号ライン1300lを用いて、第12図に
示した本発明の信号制御回路で構成される判別回路DC13
00に送り、そこで調停処理がなされた後、アクセス許可
信号ACKを判別回路DC1300から受けとる。第13図は、S0
からS13までの14ステートから成り、判別回路DC1300内
のアービトレーション回路5に与えられる同期化用クロ
ック6BのクロックピリオドCPをCP0〜CP13で示してい
る。アービトレーション回路5中のアクセス要求信号同
期化部2は、このクロックピリオドCPごとにアクセス要
求入力REQ0〜REQ15をフリップフロップ(第4図中U3〜U
18に示すFD2)にラッチするとする。各基本プロセッサ
は、2ステート分のバスサイクルを有するものとし、プ
ロセッサのマシンクロック周期は第13図における1ステ
ート分の周期に一致するものとする。
さて、各プロセッサの動作シーケンスを順次説明す
る。ステートS0では、3つのプロセッサが同時に共有資
源(本件では各基本プロセッサのCSYS)からデータを読
み出すバスサイクルを開始している。各プロセッサが生
成した読み出し要求信号▲▼は、CP0でアー
ビトレーション回路5に取り込まれる。この時点で他の
どのプロセッサからも書き込み要求が無いため、共有バ
ス1310lは使用する必要がない。したがって、バスアク
セス競合は発生しないため、直ちに各アクセス許可信号
ACKl,ACKm,ACKnがアクティブ(正論理)に転じ、各プロ
セッサは自身のCSYSから並列にデータを読み出すことが
できている。共有バス上に1個の共有資源がある場合
は、シーケンシャルに各プロセッサがアクセスすること
になり、合計6ステート(3バスサイクル分)必要とな
るところ、本例においては2ステートで完了している。
ステートS4においては、プロセッサl及びプロセッサm
が読み出し要求をアクティブにし、プロセッサnが書き
込み要求をアクティブにしている。書き込み動作では、
すべてのプロセッサのCSYSにデータを書き込む必要があ
るため、共有バス1310lが使用される。また、各プロセ
ッサのCSYSからの読み出しサイクルとのアクセス競合も
発生する可能性があるため、これらのアクセス要求信号
間でアクセス調停処理が実行される。クロックピリオド
CP4では、プロセッサnからの書き込み要求信号WTREQが
最優先(アクセス要求信号優先順位決定部4における優
先順位)されており、まず、プロセッサnに対するアク
セス許可信号ACKnがアクティブになっている。一方、プ
ロセッサl及びmに対するアクセス許可信号ACKl及びAC
KmはS4,S5のステート分非アクティブになっている。プ
ロセッサnの書き込みサイクルが2ステートで終了する
ため、S6の先頭のCP6では直ちにプロセッサl及びmに
対するアクセス許可信号ACKl及びACKmをアクティブに
し、それらのプロセッサの読み出しサイクルをS6及びS7
の2ステートで並列に実行している。したがって、ここ
でのプロセッサl及びmの待ち時間はいずれも2ステー
トで済んでいる。ステートS10では再びプロセッサmと
プロセッサnとの間でアクセス競合が発生している。S4
と同様、プロセッサnが書き込み要求をアクティブにし
ているが、ここでは、プロセッサmの読み出し要求が優
先されており、直ちにアクセス許可信号ACKmがアクティ
ブになっている。したがって、プロセッサnの書き込み
サイクルが2ステート分待たされ、S12の先頭のCP12で
対応するアクセス許可信号ACKnがアクティブになってい
る。
この実施例の特徴は次のとおりである。
(イ) CSYS1100,1101,…へのアクセスが行われる際、
各BPが出力するリードサイクル時のアクセス要求のう
ち、少なくとも1つのアクティブのものがあれば、バス
アービタDC1300のアクセス要求入力REQnのうち1つにア
クセス要求を出力する回路が設けられているので、リー
ドサイクル時のライトサイクルに対する優先順位処理の
みを実行できる。これによってリードサイクルの優先順
位がライトサイクルに対して一方的に低位レベルに設定
されることが無くなる。前述の第1の実施例では常にラ
イトサイクルが優先され、リードサイクルはライトサイ
クルとライトサイクルの間の空きサイクルを利用して実
行されるが、本実施例では、ライトサイクルが予想以上
に頻繁に発生しても、リードサイクルが一方的に待たさ
れることは無い。
(ロ) 第1の実施例と同様に各BPからのCSYSへのアク
セス要求が全てリードサイクルのときは、アクセス競合
が発生しない。したがって、CSYSへのアクセススループ
ットが大きく向上する。ただし、第1の実施例と比べる
とリードサイクル時も常にバスアービタDC1300によるア
ービトレーション処理が働くため、そのオーバヘッドに
より本実施例の方が平均のアクセス効率は低い。
〔発明の効果〕
本発明によれば、複数の処理装置が共有資源にアクセ
スして処理を行う装置において、各処理装置に対応し
て、それぞれ別の共有資源を接続し、各共有資源を、各
共有資源に対応して設けられたバスコントローラを介し
て共有バスで接続すると共に該共有バスにバスアービタ
を設けて前記各処理装置から出力される共有バスアクセ
ス要求を調停するよう構成したので、各処理装置のリー
ドサイクルでは前記共有バスを介することなく各共有資
源にアクセスし、ライトサイクルでは前記共有バスを介
してすべての共有資源に同時に、同じデータの書き込み
を行うことが可能となり、処理装置の数の増加による装
置全体の処理能力を低下を抑える効果がある。
【図面の簡単な説明】
第1図は本発明に係る共有資源アクセス制御装置の第1
の実施例の主要構成を示すブロック図、第2図は第1図
に示された実施例の詳細を示すブロック図、第3図は第
2図に示された実施例における信号処理のタイミングの
例を示すタイムチャート、第4図は前記第1の実施例で
ある共有資源アクセス制御装置のバスアービタの第1の
実施例の要部構成を示すブロック図、第5図〜第7図は
バスアービタの第1の実施例の詳細回路例を示す回路
図、第8図は本発明に係るアービタ回路の第1の実施例
によるアービトレーションタイミングを示すタイミング
チャート、第9図は本発明に係る共有資源アクセス制御
装置の第1の実施例のアービタ回路の第2の実施例の要
部構成を示すブロック図、第10図及び第11図はアービタ
回路の第1の実施例と第2の実施例の間の違いを示すタ
イミングチャート、第12図は本発明に係る共有資源アク
セス制御装置の第2の実施例におけるアービタ回路を示
すブロック図、第13図は第12図に示されるアービタ回路
によるアービトレーションタイミングを示すタイミング
チャート、第14図は第12図に示されたアービタ回路にお
けるアクセス許可信号生成手段の例を示す制御系統図で
ある。 2……アクセス要求信号同期化部、 3……アクセス要求信号ゲート部、 4……アクセス優先順位決定部、 1000……処理装置(BP)、 1100……共有資源(CSYS)、 1200……バスコントローラ(BUSCTL)、 1300……バスアービタ、 1310l……共有バス(CSYSBUS)、 1703,1803……ラッチ手段、 1701,1801……第1の出力手段、 1702,1802……第2の出力手段、 2500……ステートマシン手段。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−247859(JP,A) 特開 昭62−203249(JP,A) 特開 昭62−154057(JP,A) 特開 昭57−189257(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/38

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の処理装置と、各処理装置ごとに設け
    られた共有資源及びバスコントローラと、いずれかの処
    理装置が該処理装置に設けられた共有資源の内容を書き
    換えるときにその書き換えるデータ情報及びアドレス情
    報を他の共有資源に転送可能に構成された共有バスと、
    を含んでなり、 前記各処理装置は、前記共有バスへのアクセス要求信号
    を生成して前記共有バスに接続されたバスアービタに出
    力する機能を備え、該バスアービタは前記処理装置から
    出力されたアクセス要求信号を調停してそのいずれかに
    対応するアクセス許可信号を対応するバスコントローラ
    に返送する機能を備え、 前記バスコントローラは、対応する処理装置が生成した
    前記アドレス情報及びデータ情報をラッチする第1のラ
    ッチ手段と、前記アクセス許可信号を受信したときそれ
    に応答して前記アドレス情報及びデータ情報を前記共有
    バスに出力する出力手段と、いずれかの処理装置に対応
    するバスコントローラの前記出力手段が共有バスへアド
    レス情報及びデータ情報を出力したとき、それに対応す
    る前記共有バス上のアドレス情報及びデータ情報をラッ
    チしておく第2のラッチ手段と、該第2のラッチ手段で
    ラッチしたアドレス情報及びデータ情報を前記共有資源
    に書き込むための書き込み制御信号を前記共有資源に出
    力する機能と、を含んでなることを特徴とする共有資源
    アクセス制御装置。
  2. 【請求項2】請求項1に記載の共有資源アクセス制御装
    置において、処理装置が共有資源へのライト動作を実行
    する場合、バスコントローラ内の第1のラッチ手段に必
    要なアドレス情報及びデータ情報をラッチ可能であれ
    ば、現在のライトサイクルに関する前記必要な情報を前
    記第1のラッチ手段にラッチしておいて処理装置はただ
    ちに次のサイクルに移行し、バスコントローラ内には前
    記ライトサイクルを前記第1のラッチ手段にラッチされ
    た情報に基づいて以後のタイミングで継続して実行する
    ライトサイクル生成手段を設け、処理装置の動作と前記
    ライトサイクル生成手段のライトサイクル制御動作とを
    並列に運転することを特徴とする共有資源アクセス制御
    装置。
  3. 【請求項3】請求項1に記載の共有資源アクセス制御装
    置において、処理装置が共有資源へのライト動作を実行
    する場合、バスコントローラ内の第1のラッチ手段に以
    前のライト動作の情報がすでにラッチされており、必要
    なアドレス情報及びデータ情報のラッチが不能であれ
    ば、現在のライトサイクルに待ちステートを挿入し、前
    記第1のラッチ手段への前記必要なアドレス情報及びデ
    ータ情報のラッチが可能となるまで、前記処理装置の現
    在のライトサイクルを待たせる手段がバスコントローラ
    内に設けられていることを特徴とする共有資源アクセス
    制御装置。
  4. 【請求項4】請求項1に記載の共有資源アクセス制御装
    置において、処理装置から共有資源へのライト動作の直
    接的な実行は、その処理装置に対応する前記バスコント
    ローラが自身によって生成されたバスコントローラ内部
    のライトサイクル情報または前記共有バスに出力された
    他の処理装置からのライトサイクル情報を用いて、各バ
    スコントローラがそれぞれ対応する共有資源に対して独
    立的に行うことを特徴とする共有資源アクセス制御装
    置。
  5. 【請求項5】請求項1に記載の共有資源アクセス制御装
    置において、各バスコントローラは、バスアービタから
    他のいずれかのバスコントローラにアクセス許可信号が
    出力されているとき、該アクセス許可信号が出力されて
    共有バスからラッチされたデータ情報を、それぞれ対応
    する共有資源に書き込むタイミングを後にずらすことが
    可能となっていることを特徴とする共有資源アクセス制
    御装置。
JP05707690A 1990-03-08 1990-03-08 共有資源アクセス制御装置 Expired - Lifetime JP3227575B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05707690A JP3227575B2 (ja) 1990-03-08 1990-03-08 共有資源アクセス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05707690A JP3227575B2 (ja) 1990-03-08 1990-03-08 共有資源アクセス制御装置

Publications (2)

Publication Number Publication Date
JPH03257649A JPH03257649A (ja) 1991-11-18
JP3227575B2 true JP3227575B2 (ja) 2001-11-12

Family

ID=13045374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05707690A Expired - Lifetime JP3227575B2 (ja) 1990-03-08 1990-03-08 共有資源アクセス制御装置

Country Status (1)

Country Link
JP (1) JP3227575B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4847036B2 (ja) * 2005-03-30 2011-12-28 キヤノン株式会社 バスアクセスを調停する制御装置およびデータ処理装置の制御方法
JP4847614B2 (ja) * 2011-01-31 2011-12-28 キヤノン株式会社 バスアクセスを調停する制御装置

Also Published As

Publication number Publication date
JPH03257649A (ja) 1991-11-18

Similar Documents

Publication Publication Date Title
JP3661235B2 (ja) 共有メモリシステム、並列型処理装置並びにメモリlsi
US6671761B2 (en) Bus system
CA2050129C (en) Dynamic bus arbitration with grant sharing each cycle
US5586299A (en) Systems and methods for accessing multi-port memories
US6101564A (en) Device for organizing the access to a memory bus
JP4737438B2 (ja) 複数の処理ユニットでリソースを共有する情報処理装置
JPWO2008087779A1 (ja) アレイ型プロセッサおよびデータ処理システム
US5253346A (en) Method and apparatus for data transfer between processor elements
KR100573256B1 (ko) 복수어드레스유지기억장치
JPH07105146A (ja) 共有メモリ装置
JPH01120660A (ja) マイクロコンピュータ装置
JP3227575B2 (ja) 共有資源アクセス制御装置
JPH04279945A (ja) メモリ回路
JPH1124984A (ja) 複数アドレス保持記憶装置
KR100487218B1 (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
JP3043341B2 (ja) マイクロコンピュータシステム
JPH0543143B2 (ja)
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
JPH064401A (ja) メモリアクセス回路
JP2003323335A (ja) メモリ装置及びその制御方法
JPH0754501B2 (ja) アクセス要求信号処理回路
JP2966038B2 (ja) ディジタルデータ処理ユニット調停装置及び方法
JPH0449457A (ja) ダイレクト・メモリ・アクセス転送制御装置
JP2564624B2 (ja) スタック方式
JPH1083373A (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070907

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080907

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080907

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090907

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090907

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 9