JP2966038B2 - ディジタルデータ処理ユニット調停装置及び方法 - Google Patents

ディジタルデータ処理ユニット調停装置及び方法

Info

Publication number
JP2966038B2
JP2966038B2 JP12737390A JP12737390A JP2966038B2 JP 2966038 B2 JP2966038 B2 JP 2966038B2 JP 12737390 A JP12737390 A JP 12737390A JP 12737390 A JP12737390 A JP 12737390A JP 2966038 B2 JP2966038 B2 JP 2966038B2
Authority
JP
Japan
Prior art keywords
write
register
pipeline
address
data
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 - Fee Related
Application number
JP12737390A
Other languages
English (en)
Other versions
JPH0423062A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP12737390A priority Critical patent/JP2966038B2/ja
Publication of JPH0423062A publication Critical patent/JPH0423062A/ja
Application granted granted Critical
Publication of JP2966038B2 publication Critical patent/JP2966038B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は単一のメモリー空間の共有メモリをアクセス
するディジタルデータ処理ユニット(以下プロセッサと
いう)を並列で駆動する場合に、プロセッサ間の調停を
行うためのディジタルデータ処理ユニット調整装置に関
するものである。
従来の技術 複数のプロセッサが共有メモリをアクセスする場合、
当然排他的な制御が必要になる。この時に通常用いられ
る従来の方法はバス占有権をそのプロセッサに与えてDM
A(ダイレクトメモリアクセス)転送等を行うことが一
般的であった。これは、例えばある優先度の割り付けら
れたプロセッサが割り込みを発生し、CPU等を停止して
バスを獲得したのちにバースト的な転送を行うのであ
る。例えばハードディスクから良みだしたデータをバス
を経由してメモリに書き込む場合などが一例である。こ
のような方法は通常のマイクロコンピュータシステムで
よく使用されているものであり、最初の割り込みからバ
ス獲得までの無駄時間が連続転送の効率に相殺されるた
め見かけ上のバスの使用効率を向上させることができ
る。
また各プロセッサがバッファメモリを持たない場合で
は、バスの空きを検知してデータをやり取りするサイク
ルスチールと言う手法がある。これは通常低速のデータ
転送に使用され、言うならば毎回割り込み及びバス獲得
のプロセスを繰り返して小単位のデータを転送してい
た。
発明が解決しようとする課題 しかしながら、従来のような個々のプロセッサにバッ
ファメモリを登載するような方法によれば、複数のプロ
セッサを1チップのLSIに組み込んで高速処理を図るよ
うな場合に、各プロセッサにある程度のバッファメモリ
が必要となるというハードウェアの増大の課題がある。
また並列処理のハードウェア資源を最大限に生かすた
めには、通常のバーストDMAやサイクルスティール等の
効率の悪さはどうしても避けたいところである。すなわ
ち従来手法では、バス効率とハードウェア量とを両方同
時に満足することができないと言う課題が存在してい
た。
本発明はこのような課題に鑑み、1チップ内に複数の
内部プロセッサを内蔵したLSI等において、各プロセッ
サが外部メモリを共用しつつ、効率よくかつ高速に相互
に共有メモリを排他アクセスすることができ、またハー
ドウェアの増加も少ない調停を行うディジタルデータ処
理ユニット調停装置を提供することを目的とするもので
ある。
課題を解決するための手段 本発明では、少なくとも複数のプロセッサ各々に、共
有メモリにアクセスを要求していることを示す要求フラ
グと、アクセスすべき共有メモリアドレス保持パイプラ
インレジスタと書き込みデータパイプラインレジスタ
(書き込み時)と読み込みデータパイプラインレジスタ
(読み込み時)と書き込みか読み込みかを示す書き込み
フラグ信号パイプラインレジスタを用意して、パイプラ
イン処理のための同期クロックで各プロセッサの要求フ
ラグを競合させてプロセッサの優先度決定を行い、書き
込み時には決定選択されたプロセッサの共有メモリアド
レスと書き込みデータと書き込みフラグ信号とを同期ク
ロックでパイプライン出力して次のパイプラインサイク
ルに共有メモリのアドレスバスとデータバスと書き込み
信号線(R/W)に与え、また読み込み時においては共有
メモリアドレスと読み書きフラグ信号を同期クロックで
次のパイプラインサイクルに共有メモリのアドレスバス
とデータバスと書き込み信号線(R/W)に与えると共に
共有メモリからデータを読み込んでそのパイプラインサ
イクルの終わりまでには決定選択されたプロセッサの読
み込みパイプラインレジスタに書き込むものである。す
なわち例えば書き込み時においては、各プロセッサのう
ちの要求フラグがアクティブなプロセッサの書き込むべ
きデータと書き込むべき共用メモリのアドレスと書き込
みか読み込みかの情報を、各々書き込みデータパイプラ
インレジスタとアドレスパイプラインレジスタと書き込
みフラグ信号パイプラインレジスタに書き込んで次のパ
イルラインサイクルにそれぞれ共用メモリのデータバス
とアドレスバスと書き込み入力端子に供給するのであ
る。
また、少なくとも複数のプロセッサ各々に、そのプロ
セッサが共有メモリにアクセスすることを要求している
ことを示す要求フラグと、アドレスを保持するアドレス
レジスタと、書き込みデータレジスタと(書き込み
時)、第1の読み込みデータパイプラインレジスタと
(読み込み時)、書き込みか読み込みかを示す書き込み
フラグとを用意して、同期クロックで各プロセッサの要
求フラグを競合させてそれらプロセッサの優先度決定を
行い、同時にその同期クロックのパイプラインサイクル
に書き込み時には決定選択されたプロセッサのアドレス
レジスタの内容をアドレスパイプラインレジスタに、ま
た書き込みデータレジスタの内容を書き込みデータパイ
プラインレジスタへ、さらに書き込みフラグ信号の内容
を書き込みフラグ信号パイプラインレジスタに格納し、
この後さらに次のパイプラインサイクルに上記のアドレ
スパイプラインレジスタの出力とデータバスパイプライ
ンレジスタと書き込みフラグ信号パイプラインレジスタ
の内容をそれぞれ共有メモリのアドレスバスとデータバ
スと書き込み信号線(R/W)に与え、また読み込み時に
おいては同様に同期クロックで各プロセッサの要求フラ
グを競合させてプロセッサの優先度決定を行うと同時に
その同期クロックのパイプラインサイクルに書き込み時
には決定選択されたプロセッサのアドレスレジスタの内
容をアドレスパイプラインレジスタに、また読み込みを
示す書き込みフラグ信号の内容を書き込みフラグ信号パ
イプラインレジスタに格納し、この後さらに次のパイプ
ラインサイクルに上記のアドレスパイプラインレジスタ
の出力と書き込みフラグ信号パイプラインレジスタの内
容をそれぞれ共有メモリのアドレスバスとデータバスと
書き込み信号線(R/W)に与えてこの同期クロックのパ
イプラインサイクルの終わりまでに共有メモリから読み
だされたてデータバス上のデータを第2の読みだしデー
タパイプラインレジスタにラッチする。そしてこの第2
の読みだしデータパイプラインレジスタの内容は次のパ
イプラインサイクルに読み込み要求を行った時点で決定
選択されたプロセッサの第1の読みだしデータパイプラ
インレジスタに書き込むのである。なお第1の手段にお
いても第2の手段においても各プロセッサが書き込みあ
るいは読み込みの単機能しか持っていない場合は対応す
るレジスタを省略するとともに書き込みフラグ信号は固
定値にしておく。
また、複数のプロセッサが競合して共有メモリをアク
セスする場合、優先度が最下位のプロセッサをホストコ
ンピュータのデータ転送等のインターフェイスを行う装
置に割り当て、その時そのインターフェイスはホストコ
ンピュータとの間にFIFOレジスタを装備して、かつFIFO
レジスタのデータの格納状態を検出するようにして、ホ
ストコンピュータへの転送時にもしFIFOレジスタの内容
が空に近くなったときあるいはホストコンピュータへの
転送時にFIFOレジスタの内容が一杯に近くなったときは
これを検出してインターフェイスを行うプロセッサに予
め与えられていた優先度を最下位からより上位に上げて
やるようにして、外部から見た処理速度を見かけ上では
あるが上げることができる。
また、複数のプロセッサが競合して共有メモリをアク
セスする時、各プロセッサにメモリ管理機構を備え、各
プロセッサが各々の共用メモリ内の別々の一定の範囲の
領域のみをアクセスする場合はプロセッサで相互の競合
の優先度決定を行い、同時に2台以上のプロセッサが前
記のメモリの同一の一定の範囲の領域をアクセスする場
合には処理ユニット相互の競合の優先度決定に加えて一
部のプロセッサの共有メモリアクセスを停止させるか、
プロセッサの互いにアクセスする処理領域の手順をどち
らかが先に処理するような手段等を設けてバスアクセス
効率をさらに向上させることができる。
また以上の各手段において、各プロセッサの予め定め
ておいた優先度が最下位でないものは、毎パイプライン
クロックおきには前記要求フラグをアクティブとしない
ように処理手順を予め定めておいてやることにより、他
のプロセッサがアクセス待ちのために処理を著しく長い
間中断することがないようにすることができる。
作用 本発明は前記した構成により、共有メモリのメモリサ
イクルタイム毎に複数のディジタルデータプロセッサの
うちの一つを各プロセッサの要求フラグと優先度に基づ
いて選ぶ。この時共有メモリのアクセスを要求している
各プロセッサのアドレスパイプラインレジスタからはパ
イプラインされたアドレス、また書き込みフラグパイプ
ラインレジスタからはパイプラインされた読み込み動作
か書き込み動作なのかを識別する書き込みフラグ信号が
それぞれ出力される。そして選ばれたプロセッサのアド
レスとR/W信号がメモリサイクル毎に共有メモリのアド
レス線とR/W線供給される。同時にこの時、選ばれた要
求フラグが受け付けられた時点での書き込みフラグ信号
が書き込み動作であったならば書き込みデータパイプラ
インレジスタから、またもし読み込み動作であったなら
ば各プロセッサの読み込みパイプラインレジスタ入力
に、それぞれ共有メモリに対し書き込みあるいは読み込
み動作を行うことになる。このように一定のクロックサ
イクル毎、言い替えるとメモリサイクル毎にアクセスす
るプロセッサが決定され、同時にまたそのアクセスが書
き込みか読み込みかが決定されるのである。当然多数の
プロセッサが同時に要求を出した状態では、各プロセッ
サに割り当てられた優先度に応じてメモリアクセス待ち
となり、共有メモリはほとんど無駄なくアクセスされる
ことになる。
また高速化を図るため、各プロセッサのアドレス(パ
イプライン)レジスタ、書き込みデータ(パイプライ
ン)レジスタ、書き込みフラグ(パイプライン)レジス
タからセレクタ手段を通した後にさらにそれぞれパイプ
ラインレジスタを経由させて共有メモリのアドレス、デ
ータ、R/W線に供給し、また共有メモリから読み出され
たデータも一旦パイプラインレジスタにラッチした後各
プロセッサの読み込みパイプラインレジスタに書き込む
ように構成することもできる。
つぎに複数のプロセッサが競合して共有メモリをアク
セスするこのような処理装置系に、処理の終了したデー
タをホストコンピュータに送るか、ホストコンピュータ
から処理すべきデータを逆に転送するインターフェイス
を設ける場合について考える。この時処理装置系内部
に、例えば処理の終了したデータを機械系を伴って媒体
への読み書きを行うデータ処理プロセッサを含むような
場合、インターフェイスを行うプロセッサは処理の終了
したデータの出口あるいは処理前のデータの入口である
わけであって当然のことながら同一のデータに対する一
連の処理については優先度は最下位に設定するのが最適
となる。しかしながらホストコンピュータから処理装置
系をみれば、データ転送を待たされると言うのは問題で
あり、これを避けるためどうしてもホスト間の転送待ち
が発生しそうになった時、機械系を伴うプロセッサは優
先度を下げなくとも、他の問題のないプロセッサについ
ては優先度を下げ、インターフェイスを行うプロセッサ
の優先度を上げ、バス使用効率よりも対ホストコンピュ
ータの転送を優先する。転送待ちの検知はホストコンピ
ュータとの間にFIFOレジスタを装備して、FIFOレジスタ
のデータの格納状態を検出するようにして、ホストコン
ピュータへの転送時にもしFIFOレジスタの内容が空に近
くなったとき、あるいはホストコンピュータへの転送時
にFIFOレジスタの内容が一杯に近くなったときはこれを
検出してインターフェイスを行うプロセッサの優先度が
最下位からより上位に上げてやるようにして、外部から
見た処理速度を見かけ上、上げることができる。このこ
とによってバス使用効率と見かけ上の効率を両方とも上
げることができる。
また同様に高速化を目的とし以下のような処理を行う
こともできる。複数のディジタルデータ処理ユニットが
競合して共有メモリをアクセスする時、処理手順によっ
てはプロセッサどうしが互いのデータを壊してしまうこ
とがある。このためプロセッサAからプロセッサBそし
てプロセッサCと言う手順で同一データを処理していく
場合等では各プロセッサにメモリ管理機構を設けて、各
プロセッサが共用メモリを排他的に一定のアドレス範囲
しかアクセスしないようにするのが一般的である。当然
のことながらあるプロセッサのアクセスしているアドレ
ス範囲のジョブがすべて終了したら他のプロセッサの処
理の終了したアドレス範囲をアクセスすれば良い。とこ
ろがもしあるプロセッサBの処理すべき仕事量に非常に
ばらつきがある場合、処理時間が最も長い処理がボトル
ネックとなって全体の性能がでないことも起こりうる。
このとき高速化を優先する場合には、プロセッサBの処
理が早く終了した時には、次に処理すべきデータを処理
中のプロセッサAがまだ中途までしか処理を終了してい
なくとも、プロセッサBはプロセッサAの処理中のアド
レス範囲まで入り込み、順次処理の終了した領域の処理
を行うようにする。このような機構を付け加えることに
より、プロセッサBの実効的な処理時間が平均化され、
プロセッサCは直前のプロセッサBの処理を待たされる
場合を少なくでき、バスアクセス効率をさらに向上させ
ることができる。
また高速化のために、以上の各手段においては各ディ
ジタル処理ユニットの予め定めておいた優先度が最下位
でないものは、毎パイプラインクロックおきには前記要
求フラグをアクティブとしないように処理手順を予め定
めておいてやることにより、他の処理ユニットがアクセ
ス待ちのために処理を著しく長い間中断することがない
ようにすることができる。
実施例 以下に本発明の実施例を図面を参照して説明する。
第1図において1はアドレス生成回路である。2は前
記のアドレス生成回路によって生成したアドレスを保持
するアドレスパイプラインレジスタである。3はデータ
の生成回路である。4は前記のデータ生成回路によって
生成したデータを保持する書き込みデータパイプライン
レジスタである。5は読み込みデータパイプラインレジ
スタである。6は前記の読み込みデータパイプラインレ
ジスタに格納されたデータを処理する読み込みデータ処
理回路である。7は書き込みを意図して前記書き込みデ
ータパイプラインレジスタの内容の読みだしを要求中あ
るいは読み込みを意図して前記読み込みデータパイプラ
インレジスタに書き込みを要求中であることを示す要求
フラグである。また8は書き込みを要求するか読み込み
を要求するかを区別する書き込みフラグ信号パイプライ
ンレジスタである。また9は第1番目のプロセッサであ
り、10は第2番目のプロセッサであり、11は第3番目の
プロセッサであり、12は第4番目のプロセッサである。
また13は制御用のマイクロプロセッサであって一般的に
はマイクロコントローラと呼ばれているものである。ま
た14はマイクロコントローラのアクセス信号から要求フ
ラグ入力信号と書き込みフラグ信号パイプラインレジス
タ入力信号を作成する論理回路である。15は本発明の第
5番目のプロセッサであって、論理回路14とマイクロプ
ロセッサ13及びこれに接続されるアドレスパイプライン
レジスタ2′、書き込みデータパイプラインレジスタ
4′、読み込みデータパイプラインレジスタ5′、要求
フラグ7′、書き込みフラグ信号パイプラインレジスタ
8′より構成されている。また16はアドレスセレクタ回
路であり、17は書き込みデータセレクタ回路である。ま
た18は読み込みデータパイプラインレジスタ5の書き込
みクロック生成回路である。19は書き込みフラグ信号パ
イプラインレジスタのセレクタ回路である。また20は、
各要求フラグ7の信号の調停回路であり、優先度を判定
して各クロックサイクル毎に一つのプロセッサを選択す
る。21は変復調回路およびディスクドライブ回路であ
る。また22はSCSIインターフェイスであり、23はホスト
コンピュータおよびそのSCSIインターフェイスである。
また24はクロック及び制御信号発生回路である。クロッ
ク信号及び制御信号は各プロセッサやレジスタ等に供給
されているが、ここでは図が複雑になるため省略してい
る。また同様に13のマイクロコントローラからの制御線
あるいはマイクロコントローラへの読み込みデータ線も
省略してある。また25はメモリであり、各プロセッサの
共有メモリとなっている。
以下に、第1図を用いて本実施例の動作の説明を行
う。9、10、11、12、15の各プロセッサが共有メモリ25
をアクセスする場合、各プロセッサの要求フラグ8をア
クティブとする。この要求フラグはメモリサイクルタイ
ム毎に調停回路20で判定され、各プロセッサ毎に割り当
てられた優先度に従って一つのプロセッサが選ばれる。
この時もし要求フラグが受け付けられた場合にはアクノ
リッジ信号を返して選ばれたプロセッサの要求フラグは
クリアされる。またこの時要求フラグの受け付けられな
かったプロセッサは内部待機状態に入って内部データの
喪失等を防ぐようにする。このようにして選ばれたプロ
セッサが、例えばデータを書き込もうとしていた場合、
調停回路20で各要求フラグが選択されると同時にその選
んだ結果による選択信号を各々アドレスセレクタ回路1
6、書き込みデータセレクタ回路17、書き込みフラグ信
号パイプラインレジスタ19のセレクタ回路に供給して、
それぞれパイプラインされた各プロセッサのアドレスパ
イプラインレジスタ2、データパイプラインレジスタ
4、書き込みフラグ信号パイプラインレジスタ8を選択
する。書き込みフラグ信号パイプラインレジスタ8の出
力はアクティブであり、共用メモリ25のR/W線に印加さ
れるため、共用メモリ25にはデータが書き込まれる。同
様にもし書き込みフラグ信号パイプラインレジスタ8の
出力はアクティブでないならば、共用メモリ25からはデ
ータが読み出される。要求フラグが受け付けられた時点
で選択されたプロセッサの入力パイプラインレジスタ5
にはクロック生成回路18から書き込みパルスが印加され
る。このようにメモリサイクル毎に読み込み書き込みが
決定され、例えば共用メモリ25のアクセスタイムが100n
Sならば100nS毎に各プロセッサが優先度に応じてランダ
ムにアクセスすることになる。
次に本発明の別の一実施例を第2図と共に説明する。
第2図において26はアドレスパイプラインレジスタであ
り、27は書き込みデータパイプラインレジスタ、また28
は読み込みデータパイプラインレジスタ、29は書き込み
フラグ信号パイプラインレジスタである。他の手段は第
1図のものと同様であるので省略する。
次にこの第2図によって同実施例の動作を説明する。
基本的には第1図と同様な動作をするのであるが、アド
レスセレクタ16で選択されたデータはさらにアドレスパ
イプラインレジスタ26でもう1クロック分パイプライン
され、同様にまた書き込みデータセレクタ回路17で選択
されたデータも書き込みデータパイプラインレジスタ27
を経由し、また書き込みフラグ信号パイプラインレジス
タのセレクタ回路19ももう1段の書き込みフラグ信号パ
イプラインレジスタ29を経由してもう1クロックパイプ
ラインする。また共用メモリ25から読み込まれたデータ
もまたさらにもう一段の読み込みデータパイプラインレ
ジスタ28を経由してから各プロセッサに送られる。
本発明の別の一実施例を、第3図に示す。図のプロセ
ッサに特徴があり、そこでは書き込み専用プロセッサで
あって、書き込みパイプラインフラグは存在していな
い。このため書き込み信号は直接出力されている。
本発明の別の一実施例を第4図(a)及び第4図
(b)に示す。第4図(a)において30はFIFOレジスタ
であり、31はFIFOレジスタの中に格納されているデータ
があふれそうかまたは空になりそうかを組合せゲートに
よって検出する論理回路である。例えばFIFOレジスタが
16バイトあるとすると、14バイトのデータが存在してい
る時にはあふれ警告を出力し、2バイトのデータしかな
いときは空警告信号を調停回路20′に出力する。もしホ
ストコンピュータから本発明の装置にデータが転送さ
れ、30のFIFOレジスタにデータが14バイトとなった時あ
ふれ警告によって20′の調停回路においてこのプロセッ
サにわりつけられていた優先度を最下位からもっと上位
にスイッチする。また同様にホストコンピュータへの転
送時において、30のFIFOレジスタにデータが2バイトし
かなくなってしまった場合、空警告信号が20′の調停回
路に出力され、同様にプロセッサの優先度を上昇させ
る。第4図(b)はこの部分をもう少し拡大して記述し
たものである。
また第5図は本発明の別の一実施例であり、32はメモ
リ管理機構(MMU)である。また33はアドレス比較回路
である。また34は順序制御回路である。通常これらのプ
ロセッサのメモリアクセス時において排他領域をアクセ
スするが下位アドレスを処理手順として規定して、2つ
のプロセッサにおけるMMU32を、同一領域量をアクセス
するように設定して、アドレス比較回路33で下位アドレ
スを比較して処理の追越しを防止する。この時プロセッ
サ11が処理を追いついてしまった場合、順序制御回路34
を停止させて処理を中止する。
本発明の別の実施例を第6図にて説明する。
図において35は1/2周期クロック発生回路である。順
序制御回路の共有メモリアクセス動作をシステムサイク
ルタイムの半分の時間とすることによって、共有メモリ
を毎回はアクセスしないようにしている。
発明の効果 本発明は、メモリアクセス毎に各種プロセッサがそれ
ぞれ処理中の仕事に必要な優先度で共有メモリをアクセ
スすることができる。そのため、各プロセッサは、バッ
ファメモリを持つ必要もなく、高速にかつバス使用効率
を高くたもったまま共有メモリをアクセスできる。特に
多数のプロセッサを1チップのLSIに組み込んで高速処
理を図るような場合に、外部メモリアクセスを最適化で
きる。このハードウェアは最小限であり、かつ高速化も
実現できる。
【図面の簡単な説明】
第1図は本発明におけるディジタルデータ処理ユニット
調停装置の一実施例のブロック図、第2図は本発明にお
けるディジタルデータ処理ユニット調停装置の一実施例
のブロック図、第3図は本発明におけるディジタルデー
タ処理ユニット調停装置の一実施例を示すブロック図、
第4図(a)は本発明におけるディジタルデータ処理ユ
ニット調停装置の一実施例を示すブロック図、第4図
(b)は同図(a)を詳細に記述したブロック図、第5
図は本発明のディジタルデータ処理ユニット調停装置の
一実施例を示すブロック図、第6図は上記実施例の共有
メモリアクセス方法の別の実施例を示すブロック図であ
る。 1……アドレス生成回路、2……アドレスパイプライン
レジスタ、3……データの生成回路、4……書き込みデ
ータパイプラインレジスタ、5……読み込みデータパイ
プラインレジスタ、6……読み込みデータ処理回路、7
……要求フラグ、8……書き込みフラグ信号パイプライ
ンレジスタ、9……第1番目のプロセッサ、10……第2
番目のプロセッサ、11……第3番目のプロセッサ、12…
…第4番目のプロセッサ、13……制御用のマイクロプロ
セッサ、14……論理回路、15……第5番目のプロセッ
サ、16……アドレスセレクタ回路、17……書き込みデー
タセレクタ回路、18……書き込みクロック生成回路、19
……書き込みフラグ信号パイプラインレジスタのセレク
タ回路、20……要求フラグ信号の調停回路、21……変復
調回路およびディスクドライブ回路、22……SCSIインタ
ーフェイス、23……ホストコンピュータおよびそのSCSI
インターフェイス、24……クロック及び制御信号発生回
路、25……メモリ。

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくとも複数のプロセッサ各々に、共有
    メモリにアクセスを要求していることを示す要求フラグ
    と、アクセスすべき共有メモリアドレス保持パイプライ
    ンレジスタと、書き込みデータパイプラインレジスタ
    (書き込み時)と、読み込みデータパイプラインレジス
    タ(読み込み時)と、書き込みか読み込みかを示す書き
    込みフラグ信号パイプラインレジスタを設け、パイプラ
    イン処理のための同期クロックで前記各プロセッサの要
    求フラグを競合させてそれらプロセッサの優先度決定を
    行い、書き込み時には決定選択されたプロセッサの前記
    共有メモリアドレスと書き込みデータと書き込みフラグ
    信号とを同期クロックでパイプライン出力して、次のパ
    イプラインサイクルに前記共有メモリのアドレスバスと
    データバスと書き込み信号線(R/W)に与え、また読み
    込み時においては前記共有メモリアドレスと読み書きフ
    ラグ信号を同期クロックで次のパイプラインサイクルに
    前記共有メモリのアドレスバスとデータバスと書き込み
    信号線(R/W)に与えると共に前記共有メモリからデー
    タを読み込んでそのパイプラインサイクルの終わりまで
    には決定選択されたプロセッサの読み込みパイプライン
    レジスタに書き込むことを特徴とするディジタルデータ
    処理ユニット調停方法。
  2. 【請求項2】アドレス生成手段と前記のアドレス生成手
    段によって生成したアドレスを保持するアドレスパイプ
    ラインレジスタと、データの生成手段と前記のデータ生
    成手段によって生成したデータを保持する書き込みデー
    タパイプラインレジスタと、読み込みデータパイプライ
    ンレジスタと前記の読み込みデータパイプラインレジス
    タに格納されたデータを処理する読み込みデータ処理手
    段と、書き込みを意図して前記書き込みデータパイプラ
    インレジスタの内容の読みだしを要求中あるいは読み込
    みを意図して前記読み込みデータパイプラインレジスタ
    に書き込みを要求中であることを示す要求フラグと、書
    き込みを要求するか読み込みを要求するかを区別する書
    き込みフラグ信号パイプラインレジスタとを具備し、 前記要求フラグによる書き込みが受け付けられなかった
    場合に前記アドレス生成手段と前記データ生成手段の処
    理の継続によって前記アドレスパイプラインレジスタお
    よび前記書き込みデータパイプラインレジスタ及び前記
    書き込みフラグ信号パイプラインレジスタの内容が損な
    われないようにする手段あるいは前記要求フラグによる
    読み込みが受け付けられなかった場合に前記アドレス生
    成手段の処理の継続によって前記アドレスレジスタ及び
    前記書き込みフラグ信号パイプラインレジスタの内容が
    損なわれないようにする手段とを設けたところの複数台
    のディジタルデータ処理ユニット群と、前記複数台のデ
    ィジタルデータ処理ユニット群の前記各アドレスパイプ
    ラインレジスタの各出力から一系統を選ぶ選択手段を設
    けて別に設けた共有メモリのアドレスバスに供給し、か
    つ前記複数台のディジタルデータ処理ユニット群の前記
    各書き込みデータパイプラインレジスタの各出力のうち
    からから一系統を選ぶ選択手段を設けて前記共有メモリ
    のデータバスに供給あるいはまた前記共有メモリの読み
    だし出力を前記複数台のディジタルデータ処理ユニット
    群の選択手段を設けて選ばれた前記各第1の読み込みデ
    ータパイプラインレジスタのうちの入力の少なくとも一
    系統に供給し、また前記複数台のディジタルデータ処理
    ユニット群の前記書き込みフラグ信号パイプラインレジ
    スタの各出力信号のうちから一系統を選ぶ選択手段を設
    けて選んだ内容を前記共有メモリの書き込み制御線に供
    給し、かつ前記の選択手段と書き込み読みだし手順は予
    め定めておいた前記各ディジタルデータ処理ユニットの
    優先度に応じて前記各要求フラグの内容がアクティブな
    ものを選択し、次のパイプラインサイクルに前記共有メ
    モリのアドレスバスに前記の選択したアドレスパイプラ
    インレジスタの値を供給すると同時に、前記共有メモリ
    の書き込み信号線に対しては選択した前記の書き込みフ
    ラグ信号パイプラインレジスタの内容を供給し、かつ選
    択した前記の書き込みフラグ信号パイプラインレジスタ
    の内容が書き込み要求の場合には前記選択した書き込み
    データパイプラインレジスタの値を前記共有メモリのデ
    ータバスに供給し、前記書き込みフラグ信号パイプライ
    ンレジスタが読み込み要求の場合には前記共有メモリの
    データバスには前記共有メモリに書き込まれていた内容
    を読み出して読み込み要求を選択した時点での対応する
    前記ディジタルデータ処理ユニットの読み込みデータパ
    イプラインレジスタに書き込むようにするものであり、
    かつ前記のディジタルデータ処理ユニットに対応した前
    記要求フラグの要求が受け入れられた場合には前記要求
    フラグをクリアすることを特徴とするディジタルデータ
    処理ユニット調停装置。
  3. 【請求項3】アドレス生成手段と前記のアドレス生成手
    段によって生成したアドレスを保持するアドレスレジス
    タと、データの生成手段と前記のデータ生成手段によっ
    て生成したデータを保持する書き込みデータレジスタ
    と、第1の読み込みデータパイプラインレジスタと前記
    の第1の読み込みデータパイプラインレジスタに格納さ
    れたデータを処理する読み込みデータ処理手段と、書き
    込みを意図して前記書き込みデータレジスタの内容の読
    みだしが可能となり書き込みを要求中であることを示す
    か、あるいはまた読み込みを意図して読みだされてパイ
    プラインされた後の読み込みデータの前記第1の読み込
    みデータパイプラインレジスタへの書き込みをパイプラ
    イン前の時点にて要求していること示す要求フラグと、
    書き込みを要求するか読み込みを要求するかを区別する
    書き込みフラグとを具備し、かつ前記要求フラグによる
    書き込みが受け付けられなかった場合に前記アドレス生
    成手段と前記データ生成手段の処理の継続によって前記
    アドレスレジスタおよび前記書き込みデータレジスタの
    内容が損なわれないようにする手段あるいは前記要求フ
    ラグによる読み込みが受け付けられなかった場合に前記
    アドレス生成手段の処理の継続によって前記アドレスレ
    ジスタの内容が損なわれないようにする手段とを設けた
    ところの複数台のディジタルデータ処理ユニット群と、
    前記複数台のディジタルデータ処理ユニット群の前記各
    アドレスレジスタの各出力のうちから一系統を選ぶ選択
    手段を設けて選んだ内容を別に設けたアドレスパイプラ
    インレジスタの入力に供給し、また前記複数台のディジ
    タルデータ処理ユニット群の前記各書き込みデータレジ
    スタの各出力のうちから一系統を選ぶ選択手段を設けて
    選んだ内容を別に設けた書き込みデータパイプラインレ
    ジスタの入力に供給しあるいはまた別に設けた第2の読
    み込みデータパイプラインレジスタの出力を前記複数台
    のディジタルデータ処理ユニット群の選択手段を設けて
    選ばれた前記各第1の読み込みデータパイプラインレジ
    スタのうちの入力の少なくとも一系統に供給し、また前
    記複数台のディジタルデータ処理ユニット群の前記書き
    込みフラグの各出力信号のうちから一系統を選ぶ選択手
    段を設けて選んだ内容を別に設けた書き込みフラグ信号
    パイプラインレジスタの入力に供給し、さらに前記書き
    込みフラグ信号パイプラインレジスタの内容は別に設け
    た共有メモリの書き込み制御線に供給し、さらにまた前
    記アドレスパイプラインレジスタの出力は前記共有メモ
    リのアドレスバスに供給し、さらにまた前記データパイ
    プラインレジスタの出力は前記共有メモリのデータバス
    に供しあるいはさらにまた前記共有メモリに書き込まれ
    ていた読みだし内容は前記第2の読み込みデータパイプ
    ラインレジスタに供給して記録あるいは読みだしを行
    い、かつ前記の一系統を選ぶ選択手段と書き込み読みだ
    し手順は予め定めておいた前記各ディジタルデータ処理
    ユニットの優先度に応じて前記各要求フラグの内容がア
    クティブなものを選択するとともに、選択された前記デ
    ィジタルデータ処理ユニットの一系統の前記書き込みフ
    ラグの書き込みを示す出力信号は次のパイプラインサイ
    クルに前記書き込みフラグパイプラインレジスタに書き
    込みさらにその次のパイプラインサイクルに前記書き込
    みフラグパイプラインレジスタの出力信号が前記共有メ
    モリの書き込み制御線に供給されるようにし、これと同
    時に選択された前記ディジタルデータ処理ユニットの一
    系統の前記書き込みフラグが書き込み要求の場合には選
    択された前記アドレスレジスタの内容を次のパイプライ
    ンサイクルに前記アドレスパイプラインレジスタに書き
    込むと共に選択された前記書き込みデータレジスタの内
    容を前記書き込みデータパイプラインレジスタに書き込
    みさらにその次のパイプラインサイクルに前記アドレス
    パイプラインレジスタの内容を前記共有メモリのアドレ
    スバスに供給すると共に前記の書き込みデータパイプラ
    インレジスタの値を前記共有メモリのデータバスに供給
    し、あるいはまた選択された前記ディジタルデータ処理
    ユニットの一系統の前記書き込みフラグの読み込みを示
    す出力信号は次のパイプラインサイクルに前記書き込み
    フラグパイプラインレジスタに書き込みさらにその次の
    パイプラインサイクルに前記書き込みフラグパイプライ
    ンレジスタの出力信号が前記共有メモリの書き込み制御
    線に供給されるようにし、これと同時に選択された前記
    アドレスレジスタの内容を次のパイプラインサイクルに
    前記アドレスパイプラインレジスタに書き込みさらにそ
    の次のパイプラインサイクルに前記アドレスパイプライ
    ンレジスタの内容を前記共有メモリのアドレスバスに供
    給すると共に前記共有メモリの内容をデータバスに読み
    だして前記の第2の読み込みパイプラインレジスタに書
    き込みさらにまたその次のパイプラインサイクルに前記
    第2の読み込みパイプラインレジスタの内容を読み込み
    要求を選択した時点で選択された前記ディジタルデータ
    処理ユニットの第1の読み込みパイプラインレジスタに
    書き込むようにしたものであり、かつ前記のディジタル
    データ処理ユニットに対応した前記要求フラグの要求が
    受け入れられた場合には前記要求フラグをクリアするこ
    とを特徴とするディジタルデータ処理ユニット調停装
    置。
  4. 【請求項4】処理ユニットのうちの書き込み専用読み込
    み専用のディジタルデータ処理ユニットは書き込みデー
    タパイプラインレジスタあるいは読み込みデータパイプ
    ラインレジスタのどちらかを省きかつこれに対応して前
    記書き込みフラグを設けず固定信号とした請求項1又は
    請求項2記載のディジタルデータ処理ユニット調停装
    置。
  5. 【請求項5】各々アクセスの優先度を設定した複数のデ
    ィジタルデータ処理ユニットが競合して共有メモリをア
    クセスするディジタルデータ処理ユニット調停装置にお
    いて、少なくともホストコンピュータのインターフェイ
    スを行う機能を前記ディジタルデータ処理ユニットのう
    ちの一つに割り当て、かつインターフェイスを行う前記
    ディジタルデータ処理ユニットを前記優先度が最下位と
    なるように予め設定し、インターフェイスを行う前記デ
    ィジタルデータ処理ユニットと前記ホストコンピュータ
    との間にFIFOレジスタを装備し、前記FIFOレジスタのデ
    ータの格納状態を検出する手段を設けてホストコンピュ
    ータへの転送時にもし前記FIFOレジスタの内容が空に近
    くなったときあるいはホストコンピュータへの転送時に
    FIFOレジスタの内容が一杯に近くなったときはこれを検
    出して前記FIFOレジスタに予め与えられていた優先度を
    最下位からより上位に設定することを特徴とするディジ
    タルデータ処理ユニット調停装置。
  6. 【請求項6】複数のディジタルデータ処理ユニットが競
    合して共有メモリをアクセスするディジタルデータ処理
    ユニット調停装置において、前記各ディジタルデータ処
    理ユニットはメモリ管理機構を具備し、前記メモリ管理
    機構は前記各ディジタルデータ処理ユニットが各々前記
    共用メモリ内の別々の一定の範囲の領域のみをアクセス
    する場合は前記各処理ディジタル処理ユニット単独で相
    互の競合の優先度決定を行い、また同時に2台以上の前
    記ディジタルデータ処理ユニットが前記のメモリの同一
    の一定の範囲の領域をアクセスする場合には前記メモリ
    管理機構は前記の場合の相互の競合の優先度決定に加え
    て同一の一定の範囲の領域をアクセスをしている前記デ
    ィジタルデータ処理ユニットのうちの一部の前記ディジ
    タルデータ処理ユニットの前記共有メモリのアクセスを
    停止させるか、あるいはまた前記ディジタルデータ処理
    ユニットの互いにアクセスする処理領域の手順を設定す
    る手段を備えることを特徴とするディジタルデータ処理
    ユニット調停装置。
  7. 【請求項7】少なくとも予め定めておいた前記各ディジ
    タルデータ処理ユニットのうちの優先度が最下位でない
    ものは、毎パイプラインクロックおきには前記要求フラ
    グをアクティブとしない手段を設けたことを特徴とする
    請求項1、2、4、又は5記載のディジタルデータ処理
    ユニット調停装置。
JP12737390A 1990-05-16 1990-05-16 ディジタルデータ処理ユニット調停装置及び方法 Expired - Fee Related JP2966038B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12737390A JP2966038B2 (ja) 1990-05-16 1990-05-16 ディジタルデータ処理ユニット調停装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12737390A JP2966038B2 (ja) 1990-05-16 1990-05-16 ディジタルデータ処理ユニット調停装置及び方法

Publications (2)

Publication Number Publication Date
JPH0423062A JPH0423062A (ja) 1992-01-27
JP2966038B2 true JP2966038B2 (ja) 1999-10-25

Family

ID=14958379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12737390A Expired - Fee Related JP2966038B2 (ja) 1990-05-16 1990-05-16 ディジタルデータ処理ユニット調停装置及び方法

Country Status (1)

Country Link
JP (1) JP2966038B2 (ja)

Also Published As

Publication number Publication date
JPH0423062A (ja) 1992-01-27

Similar Documents

Publication Publication Date Title
US5870625A (en) Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
US5901294A (en) Method and system for bus arbitration in a multiprocessor system utilizing simultaneous variable-width bus access
EP0617365B1 (en) Fully pipelined and highly concurrent memory controller
US5913044A (en) Method and system for simultaneous variable-width bus access in a multiprocessor system
US6085261A (en) Method and apparatus for burst protocol in a data processing system
US7774513B2 (en) DMA circuit and computer system
JP4097883B2 (ja) データ転送装置および方法
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JP2966038B2 (ja) ディジタルデータ処理ユニット調停装置及び方法
US6938118B1 (en) Controlling access to a primary memory
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
JP4928683B2 (ja) データ処理装置
EP0507954B1 (en) Device for controlling bus
JPH0427583B2 (ja)
JPH0330175B2 (ja)
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
US6085297A (en) Single-chip memory system including buffer
JP3720872B2 (ja) システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
JPS61237145A (ja) ストアバツフアの制御方式
JPH0728990A (ja) グラフィックスメモリアクセス回路
JP3063501B2 (ja) メモリアクセス制御方式
JP2803616B2 (ja) 入出力バスインタフェース制御方式
JPS63305448A (ja) メモリインタフェ−ス制御方式
JPH09297730A (ja) バスを介したデータ転送方法およびバスマスタ制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees