JPH05197673A - 論理回路 - Google Patents

論理回路

Info

Publication number
JPH05197673A
JPH05197673A JP4167629A JP16762992A JPH05197673A JP H05197673 A JPH05197673 A JP H05197673A JP 4167629 A JP4167629 A JP 4167629A JP 16762992 A JP16762992 A JP 16762992A JP H05197673 A JPH05197673 A JP H05197673A
Authority
JP
Japan
Prior art keywords
input
output
gates
flip
gate
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
Application number
JP4167629A
Other languages
English (en)
Inventor
Richard A Gahan
エイ ガーハン リチャード
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH05197673A publication Critical patent/JPH05197673A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 共用リソースへのアクセスのためコンピュー
タシステムのうちのN個のデバイスを仲裁するようアー
ビタとして使用する論理回路を提供すること。 【構成】 仲裁勝利情報を表示するステート変数を発生
する。このステート変数は、アービタへ入力され仲裁信
号、ステート変数の現在値および内部で生じた中間仲裁
勝利信号をリクエストすることにより発生される。 【効果】 少ない部品数でアービタ用論理回路を構成で
きるので、コスト上有利でかつ効率的である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
におけるリソース割り当ておよびアービットレーション
(仲裁)技術に関し、特にN個のデバイスにより共用さ
れたリソースへのアクセスを制御するためのアービタと
して使用される実行上効率のよい論理回路に関する。
【0002】
【従来の技術】現代のコンピュータシステムは、複数の
オペレーティングデバイス、例えばプロセッサと、I/
Oコントローラと共用リソース、例えば共用メモリとか
ら成ることが多い。共用メモリは、データを記憶するた
めのメモリとしてコンピュータシステム内の複数デバイ
スの各々に利用されるようになっている。一般的には、
プロセッサとI/Oコントローラと、共用リソースと
は、一本のバスにより互いに結合されており、ある時刻
には、このバスを通して一つのデバイスしか共用リソー
スにアクセスできないようになている。従って、共用メ
モリへのアクセスをリクエストできる数個のデバイスの
うちのどれに共用メモリとの間での書き込みおよび読み
取り操作を実行するようバスの制御を許可するかを決定
する仲裁方法をコンピュータシステムに提供する必要が
ある。
【0003】
【発明が解決しようとする課題】コンピュータシステム
で仲裁方法を実行するための公知の方法として、プール
式の簡略化を容易にした真理値表を示すカルノー図を使
用することにより、仲裁方法の実行に必要な論理フロー
チャートの記述をゲートレベルの論理回路による実行法
まで簡単にする方法がある。一般にゲートレベルの実行
装置は、ステートマシンから成る。このステートマシン
では、共用リソースへアクセスするためのデバイスによ
るリクエストに対応する入力信号の結果、どのデバイス
が仲裁で勝利したかを表示するステート変数が発生す
る。仲裁方法用として現在使用されているゲートレベル
装置の問題点は、ステート変数および次のステート変数
を発生するのに入力信号しか使用しない設計になってい
ることである。更に、ステートマシンのステート変数の
ために利用されていない、すなわち有効でないステート
が一般にゼロステートに変わるような論理設計になって
いる。従って、現在知られている仲裁方法を実行する装
置は、必要なステート変数を発生するのに多数の部品お
よびゲートを使用しなければならないことが多く、この
結果きわめてコストが高くなり、かつ複雑になる。
【0004】
【課題を解決するための手段】本発明によれば、一つの
共用リソースへアクセスするうえでコンピュータシステ
ムのうちのN個のデバイスを仲裁するアービタとして機
能する実行上効率のよい論理回路が提供される。本発明
に係わるこのアービタは、論理設計上互いに結合された
入力信号、ステート変数および内部で発生された中間の
仲裁勝利信号を使用することによりどのデバイスが仲裁
に勝利したかを表示するのに利用される次のステート変
数を発生するような論理設計を実行している。
【0005】広義の本発明は、一組の入力信号の関数と
して、これに応答して一組の出力信号を発生するための
論理回路にあり、この回路は、各々がN個の入力端と一
つの出力端を有し、これらN個の入力端の一つは上記入
力信号の組のうちの一つを印加するのに利用されるN個
の論理ゲートの一組と、N個のステート素子の一組とか
ら成り、これらステート素子の各々は、N個の論理ゲー
トの対応する一つの出力端に結合された入力端と、出力
信号の組のうちの一つを発生する出力端とを有し、N個
の論理ゲートのうちの各n番目の論理ゲートに対し、n
<Nのとき(N−n)個の残りの入力端の各々はN個の
ステート素子のうちのn+1番目からN番目までのステ
ート素子のうちの対応する一つの出力端に結合されてお
り、n>1のときn−1個の残りの入力端の各々は第1
番目から(n−1)番目の論理ゲートのうちの対応する
一つの出力端に結合されており、出力信号の組は、入力
出力信号の組およびN個の論理ゲートの組の出力信号の
関数となっている。
【0006】
【効果】更に、論理設計で各々の使用されない、すなわ
ち無効のステートの配置は、各無効ステートが有効ステ
ートに変わるよう選択されている。例えば、NORゲー
トアレイで中間仲裁勝利信号および現在のステート変数
を使用することおよび風向ステートへ変化を生じさせる
無効ステートの配置により、従来の設計技術を使用して
仲裁論理回路を構成するのにこれまで必要であった部品
の総数を大幅に低減しつつ論理設計の最小解が提供され
る。これによりアービタは、従来のアービタよりもコス
ト上効果的であり、必要な仲裁方法に対し、より小さな
物理的な解答を与えるものである。
【0007】添付図面を参照して好ましい実施態様の次
の説明を読めば、本発明をより完全に理解できよう。
【0008】
【実施態様】次に添付図面、最初に第1図を参照する。
ここには、3つのデバイス12、14、16と、共用リ
ソース18とから成るコンピュータシステム10が図示
されている。デバイス12、14、16の各々は、プロ
セッサでよく、共用リソース18は、共用メモリから構
成できる。これらのプロセッサ12、14、16と共用
メモリとは、バス20により互いに結合されている。
【0009】ある時刻には、プロセッサ12、14、1
6のうちのバス20を制御して共用メモリ18にアクセ
スできるのは、そのうちの一つしかないと解されたい。
従って、プロセッサ12、14、16のうちの各々は、
それぞれリクエストラインR1(L),R2(L)およ
びR3(L)により、アビータ22に結合されている。
プロセッサ12、14、16のうちのいずれか一つが、
共用メモリ18にアクセスしなければならないとき、こ
のプロセッサは、対応するリクエストラインR1
(L),R2(L),R3(L)にローアクティーブの
リクエスト信号を発生する。
【0010】このアービタ22は、プロセッサ12、1
4、16によるリクエストR1(L),R2(L),R
3(L)の発生の関数としてステート変数W1(H),
W2(H),W3(H)を発生するようになっているス
テートマシンである。このステート変数W1(H),W
2(H),W3(H)はそれぞれプロセッサ12、1
4、16へ送られるが、ステートの変数W1(H),W
2(H),W3(H)のいずれも生じないか、またはあ
る時刻にはプロセッサ12、14、16のうちのいずれ
が共用メモリ18へのアクセスを許可されているかを表
示するようにステート変数W1(H),W2(H),W
3(H)のうちの一つしかハイアクティーブにならな
い。このように、アービタ22により出力されるステー
ト変数W1(H),W2(H),W3(H)は、デバイ
ス12、14、16へそれぞれの入力信号として供給さ
れる。この場合、各ステート変数W1(H),W2
(H),W3(H)は、特定のデバイス12、14、1
6に、共用メモリ18へのアクセスが許可されているか
どうかを表示する。
【0011】第2図に第1図のアービタ22をより詳細
に示す。一般に、リクエストR1(L),R2(L)お
よびR3(L)は、非同期信号としてアービタ22に入
力される。各リクエストは、それぞれのデバイス12、
14、16が共用メモリ18へのアクセスを望んでいる
かどうかを表示し、各リクエストR1(L),R2
(L),R3(L)は、3つのフリップフロップ24、
26、28の第1ステージのそれぞれの一つに入力され
る。これらのフリップフロップ24、26、28は、非
同期リクエストR1(L),R2(L),R3(L)を
同期するのに使用され、対応する同期したアクセスリク
エスト信号RS1(L),RS2(L),RS3(L)
を出力する。
【0012】D形フリップフロップ30、32、34の
第2ステージは、3つのステート変数W1(H),W2
(H),W3(H)を発生する。第2図に示したアービ
タ22の組み合わせ論理は、フリップフロップ24、2
6、28の第1ステージと、D形フリップフロップ3
0、32、34の第2ステージを結合するようになって
いる一連の3つのNORゲート36、38、40から成
る。NORゲート36、38、40は、3つの同期した
リクエスト信号RS1(L),RS2(L),RS3
(L)を仲裁し、よってそれぞれD形フリップフロップ
30、32、34への入力信号として使用される中間仲
裁勝利出力信号RW1(H),RW2(H),RW3
(H)を発生するよう作動する。従って、次のクロック
エッジでは、下記のようにステート変数W1(H),W
2(H)または3(H)のうちの一つしか発生しない。
【0013】本発明に係わるアービタ22は、第2ステ
ージの第2および第3フリップフロップ32、34から
出力されるステート変数W2(H)およびW3(H)の
各々を先の第1および第2ゲート36、38に入力信号
として送り、第1NORゲート36の出力RW1(H)
および第2NORゲート38の出力RW2(H)の各々
をそれぞれ第2NORゲート38および第3NORゲー
ト40に入力信号として送る。したがって、このアービ
タ22は、D形フリップフロップ30、32、34への
入力信号の発生時には、ステート変数W2(H),W3
(H)と先に発生した中間仲裁勝利信号RW1(H)お
よびRW2(H)の双方を使用する。
【0014】次に再度第2図を参照して、アービタ22
について詳細に説明する。プロセッサ12からの第1同
期リクエスト信号R1(L)は、フリップフロップの第
1ステージの第1フリップフロップ24の入力端へ印加
される。第1フリップフロップ24の出力信号RS1
(L)は、第1NORゲート36の入力端の一つに送ら
れる。第1ゲート36の他の入力端は、それぞれ第2ス
テージの第2フリップフロップ32および第3フリップ
フロップ34の出力端に結合されている。従って、第1
フリップフロップ24から出力される同期アクセスリク
エスト信号RS1(L)は、第1NORゲート36に入
力される。この場合、ステート変数W2(H)および3
(H)は、それぞれ第1NORゲート36への第2およ
び第3入力信号として使用される。
【0015】第1NORゲート36の出力信号RW1
(H)は、第2ステージの第1フリップフロップ30の
入力端および第2NORゲート38、第3NORゲート
40の各々の入力端に送られる。第2ステージの第1フ
リップフロップ30から出力されるステート変数W1
(H)は、第1プロセッサ12に送られる(第1図参
照)。
【0016】プロセッサ14からの第2同期リクエスト
信号R2(L)は、第1ステージの第2フリップフロッ
プ26の入力端へ印加される。第2フリップフロップ2
6から出力される第2同期アクセスリクエスト信号RS
2(L)は、第2NORゲート38の入力端の一つに入
力信号として印加される。第2NORゲート38への別
の入力信号は、第1NORゲート32の出力端RW1
(H)に結合されており、第2NORゲート38の他の
入力端は、第2ステージの第3フリップフロップ34の
出力端W3(H)に結合されている。従って、第2ゲー
ト38は、3つの入力信号として、信号RS2(L),
RW1(H)およびW3(H)を受ける。
【0017】第2NORゲート38の出力端は、第2ス
テージの第2フリップフロップ32の入力端および第3
NORゲート40の入力端に結合されている。従って、
第2ステージのフリップフロップ32および第3NOR
ゲート40は、第2NORゲート38の出力信号RW2
(H)を入力信号として受ける。第2ステージのフリッ
プフロップ32の出力端は、第1NORゲート36の入
力端および第2プロセッサ14に結合されている。従っ
て、第1NORゲート36は、第2ステージのフリップ
フロップ32の出力信号すなわちステート変数W2
(H)を入力信号の一つとして受ける。
【0018】プロセッサ16からの同期リクエスト信号
R3(L)は、第3フリップフロップ28へ入力され
る。第3フリップフロップ28から出力される第3同期
アクセスリクエスト信号RS3(L)は、第3NORゲ
ート40への入力信号として機能する。第3NORゲー
ト40は、第1NORゲート36および第2NORゲー
ト38の出力端にそれぞれ結合された他方の2つの入力
端を含む。従って、第1NORゲート36の出力信号R
W1(H)および第2NORゲート38の出力信号RW
2(H)の各々は、第3NORゲート40への入力信号
として機能する。
【0019】第3NORゲート40の出力信号は、信号
RW3(H)であって、この信号は第2ステージの第3
フリップフロップ34への入力信号となる。第2ステー
ジの第3フリップフロップ34の出力端は、第3プロセ
ッサ16および第1NORゲート36および第2NOR
ゲート38の各々の入力端に接続されている。従って、
第2ステージの第3フリップフロップ34の出力信号で
あるステート変数W3(H)は、第1NORゲート36
および第2NORゲート38の各々に入力信号として送
られる。
【0020】第2図のステート図に第2図のアービタ2
2の作動が図示されている。第3図は、第2図の3つの
入力アービタ22を作動させるためのステート図のフロ
ーチャートであり、すべて使用されていないステートと
なっている。ブロック15は、ステート変数W3
(H)、W2(H),W1(H)がそれぞれ現在値0、
0、0となっているステートAを示す。
【0021】第1プロセッサ12がブロック17(Ye
s)の示すように共用メモリ18へのアクセスのための
リクエスト信号R1(L)を発生すると、同期アクセス
リクエスト信号RS1(L)は、低くなり、ブロック1
9の示すようにアービタ22は、ステートBに変わる。
ブロック19では、ステート変数W3(H),W2
(H)およびW1(H)の値は、それぞれ0、0、1と
なる。
【0022】第1プロセッサ12が共用メモリ18への
アクセスのためのリクエスト信号RS1(L)を発生し
続ける限りアービタ22はステートBのままである。同
期アクセスリクエスト信号RS1(L)の発生が停止す
ると、ブロック21により示されるステートC、ブロッ
ク23により示されるステートDまたは再びステートA
(ブロック18)に変わる。アービタ22が変わるステ
ートは、第2プロセッサ14または第3プロセッサ16
がリクエスト信号R2(L)またはR3(L)を発生し
たか否かによって決まる。
【0023】ステートCでは、ステート変数W3
(H),W2(H),1(H)の値はそれぞれ0、1,
0であり、ステートDではそれぞれ1,0,0となる。
ブロック17、25および27に示すように同期アクセ
スリクエスト信号RS1(L),RS2(L),RS3
(L)が一つも発生しないと、アービタ22はステート
A(ブロック15)に変わり、リクエスト信号RS1
(L),RS2(L)またはRS3(L)のいずれかが
生じるまでこのままである。
【0024】共用メモリ18へのアクセスのため、第1
プロセッサ12がリクエスト信号R1(L)を発生せ
ず、第2プロセッサ14がリクエスト信号R2(L)を
発生しない場合、同期信号RS2(L)はローであり、
アービタ22は、ブロック17の示すステートC(ブロ
ック17はNOを示し、ブロック25はYesを示す)
に変わる。一旦ブロック17の示すステートCになる
と、第2プロセッサ14が共用メモリ18へのアクセス
のためのアクセスリクエスト信号R2(L)を発生し続
ける限り、アービタ22はこのステートのままである。
第2プロセッサ14が、アクセスリクエストR2(L)
を発生しなく、第3プロセッサ16がアクセスリクエス
ト信号RS3(L)(ブロック27のYes)を発生す
ればアービタ22はステートD(ブロック23)に変わ
る。それ以外(ブロック27のNo)ではアービタ22
はブロック15の示すステートへ戻る。
【0025】第1プロセッサ12も、第2プロセッサ1
4もリクエスト信号を発生せず、第3プロセッサ16が
共用メモリ18へのアクセスのためのリクエスト信号R
3(L)を発生している解く、同期信号RS3(L)は
ローであり、アービタ22はブロック23(ブロック内
はNo,ブロック25はNo,ブロック27はYes)
の示すステートDへ変わる。一旦ステートDになると、
同期アクセスリクエスト信号RS3(L)が発生する限
り、アービタ22はこのステートのままである。第3プ
ロセッサ16がアクセスリクエスト信号の発生を停止す
ると、RS3(L)はハイとなり、アービタ22はブロ
ック15のステートAに変わる。
【0026】プロセッサ12、14、16のいずれも共
用メモリ18へのアクセスのためのリクエスト信号を発
生しないと、リクエスト信号RS1(L)、RS2
(L)、またはRS3(L)のいずれかが発生するまで
(ブロック17、25、27)、ステートA(ブロック
15)のままである。
【0027】4つのステートが無効であり、アービタ2
2は、これらのステートになることは認められていな
い。ステート変数は、共用リソースへのアクセスが許可
されリクエスト中のデバイスの一つを示す。これらの4
つの無効ステートは、ステート変数のうちの2つ以上が
発生している各々の可能なステートから成り、値(ステ
ートE:0、1、1)、(ステートF:1、1、0)ま
たは(ステートG:1、1、1)を有するステート変数
W3(H),W2(H),W1(H)により定められる
と解すべきである。第3図に示すように、ステートE
は、ブロック25に変わり、ステートF、GおよびHは
ブロック27に変わる。
【0028】第3図に示す無効ステートの配置により各
無効ステートはブロック25および27内で決まる入力
リクエスト信号のステータスに応じて有効ステータスの
うちの一つに変わる。NORゲートで先に発生したステ
ート変数および中間仲裁勝利信号の双方を利用すると共
にこれら無効ステートを設置した結果、論理設計に対す
るコスト的に有効かつ効率的な最小解が得られる。
【0029】第4図は、第2図のアービタ22に対し、
第3図のステート図から得られる現在ステート/次のス
テート表である。このステート表は、ステート変数W3
(H),W2(H)およびW1(H)の現在ステート値
をリストアップする第1コラム50を含む。第2コラム
51は、3つの同期入力信号RS3(L),RS2
(L)およびRS1(L)の値をリストアップする第1
コラム50を含む。第2コラム51は、3つの同期入力
信号RS3(L),RS2(L)およびRS1(L)の
値をリストアップし、ステート表の第3コラム52は、
第1コラム50の現在ステート値および第2コラム51
の入力値を前提とするステート変数W3(H),W2
(H)およびW1(H)に対する次のステート値をリス
トアップしている。
【0030】第2コラム51内のxは、どちらでもよい
条件を示す。このことは、コラム51内のxにより表示
される入力信号RS3(L),RS2(L)またはRS
1(L)の値は、アービタ22の作動およびアービタ2
2が入る次のステートに影響を与えることなく1または
0(ハイまたはロー)のいずれかの値をとることができ
ることを意味する。
【0031】上記のように、第2図のアービタ22は中
間仲裁勝利信号RW1(H),RW2(H)およびRW
3(H)を発生するのに3入力NORゲート36、3
8、40の組を利用している。これらの信号RW1
(H),RW2(H),RW3(H)は、ステート変数
W1(H),W2(H),W3(H)を発生するために
フリップフロップの第2組のうちの対応するフリップフ
ロップ30、32、34に対し一連の入力信号を発生
し、かつNORゲートの組のうちの比較的後方のNOR
ゲート38、40に対し一連の入力信号を発生する。更
に、これらのステート変数W1(H),W2(H)およ
びW3(H)は、それぞれのプロセッサ12、14、1
6に対し仲裁の勝利を表示し、NORゲートの組のうち
の比較的先のNORゲート36、38に一連の入力信号
を発生する。このようなアービタ22の設計により、3
つの入力NORゲートと、リクエスト信号周期化ステー
ジの論理回路で仲裁方法を実施できるようになった。
【0032】次の説明は、アービタ22内で具現化され
る論理を解析し、アービタ22の3入力NORゲートア
レイを提供する本発明の新規な設計および原理を述べた
ものである。第2図に示した3入力アービタ22を構成
するため、フリップフロップの第2ステージに対し、D
形のフリップフロップ30、32、34を利用してい
る。D形のフリップフロップの利用により、各フリップ
フロップの入力がハイステートすなわち1になっている
と定める必要が生じた。ステート変数W1(H)への入
力信号は、RW1(H)であり、ステート変数W2
(H)への入力信号はRW2(H)であり、ステート変
数W3(H)への入力信号はRW3(H)である。信号
名の前の符号「−」は否定(NOT)関数を示す。
【0033】第4図のステート表の信号RW1(H),
RW2(H)およびRW3(H)は、従来どおり、入力
信号(RS1(L),RS2(L),RS3(L))お
よびステート変数(W1(H),W2(H),W3
(H)により表された次の最小の標準論理和により表さ
れる。ここでRWN(H)は、符号「=」の後のステー
トメントが真のときハイで、「a」は、論理AND関数
を示し、「a+」は論理OR関数を示す。 1. RW1(H)=W3(H)・−W2(H)・−W1(H)・ −RS1(L)+−W3(H)・−W2(H)・ W1(H)・−RS1(L) =−(W3(H)+W2(H)+RS1(L) +−W3(H)・−W2(H)・W1(H)・ −RS1(L) したがって、RW1(H)=−(W3(H)+W2
(H)+RS1(L))であり、これは3入力NORゲ
ートの使用により実行できる。 2. RW2(H)=−W3(H)・−W2(H)・−W1(H)・ −RS2(L)・RS1(L) =−W3(H)・−W2(H)・−RS2(L)・ −RS1(L)+−W3(H)・W2(H)・ −RS2(L) =−W3(H)・−RS2(L)・(RS1(L)+ W2(H))+−W3(H)・−W2(H)・ W1(H)・−RS2(L)・RS1(L) =−W3(H)・−W2(H)・−RS2(L)・ −RS1(L)+−W3(H)・W2(H)・ RS2(L) =−W3(H)・−RS2(L)・(−W2(H)・ RS1(L)+W2(H) =−W3(H)・−RS2(L)・(RS1(L)+ W2(H))
【0034】従って、RW2(H)に対する標準最小和
の解は、RW2(H)=−W3(H)−RS2(L)
(RS1(L)+2(H))となる。この解は、入力信
号およびステート変数だけで表すとき4つの項(W3
(H),RS2(L),RS1(L)およびW2
(H))に対する論理を必要とし、3入力NORゲート
には適当でない。 3. RW3(H)=−W3(H)・−W2(H)・−W1(H)・ −RS3(L)・RS1(L)・RS2(L) +−W3(H)・−W2(H)・W1(H)・ −RS3(L)・RS1(L)・RS2(L) +−W3(H)・W2(H)・−W1(H)・ RS3(L)・RS2(L) +W3(H)・−W2(H)・−W1(H)・ −RS3(L) +−W3(H)・W2(H)・W1(H)・ −RS2(L)・RS3(L) +W3(H)・W2(H)・W1(H)・ −RS3(L) +W3(H)・W2(H)・−W1(H)・ −RS3(L) +W3(H)・−W2(H)・W1(H)・ −RS3(L) =−W3(H)・−W2(H)・−RS3(L)・ RS1(L)・RS2(L) +−W3(H)・W2(H)・−W1(H)・ −RS3(L)・RS2(L) +W3(H)・−RS3(L) 従って、RW3(H)に対する標準最小和の解は、 RW3(H)=−RS3(L)・RS1(L)・RS2(L)+W2(H) −RS3(L)・RS2(L)+W3(H)−RS3(L) となる。この解は、5つの項(RS3(L),RS2
(L),RS1(L),W3(H)およびW2(H))
に対する論理を必要とするので、3入力NORゲートに
は適当でない。
【0035】RW1(H).RW2(H)およびRW3
(H)にたいする上記解は、入力信号およびステート変
数により表現され、従来の論理回路で使用される積形式
の標準最小和である。RW2(H)およびRW3(H)
に対する従来の最小和の解は、3入力NORゲートで演
算できることは理解できよう。この第2図に示した新し
い効率的な実施法は、上記積形式の公知の最小和に基づ
く。
【0036】本発明の設計原理による下記の論理誘導式
はド・モルガンの論理学の理論を適用したもので、A.
−A=0という事実を利用してアービタ22全体で3入
力NORゲートアレイを使用できる点まで従来の最小解
を簡略化している。ウィリアム・ジェイ・フレッチャ著
「デジタルデザインに対する工学的アプローチ」にはド
・モルガンの論理学理論が完全に解説されている。RW
1(H)に対しては、 RW1(H)=−(W3(H)+W2(H)+RS1(L)) RW1(H)に対する既知の最小解では、3入力NOR
ゲートで得られるので、変更は不要である。RW2
(H)に対しては、 RW2(H)=−W3(H)−RS2(L)・(RS1
(H)+W2(H))
【0037】これは、上記より、着にの最小解であり、
現在の開始点となる。上記式に冗長度を加えると、 RW2(H)=−W3(H)・1RS2(L)・(W3(H)+RS1(L) +W2(H)) W3(H)+RS1(L)+W2(H)をRW1(H)
と置換すると、 RW2(H)=−W3(H)・−RS2(L)・−RW1(H) ド・モルガンの論理学の理論を適用すると、RW2
(H)=−(W3(H)+RS2(L)+RW1
(H))このRW2(H)の解は、3入力NORゲート
の使用により演算できる。RW3(H)に対しては、上
記誘導式から RW3(H)=−RS3(L)・RS2(L)・RS2(L) +W2(H)・−RS3(L)・RS2(L) +W3(H)・−RS3(L) この式に冗長度を加えると、 RW3(H)=−RS3(L)・RS1(L)・RS2(L)+W2(H) ・−RS3(L)・RS2(L) +W3(H)・−RS3(L)+W2(H)・3(H)・ −RS3(L) +W3(H)・RS1(L)・−RS3(L)となる。
【0038】RW1(H)=−W3(H)・−2(H)
・−RS1(L)、RW2(H)=−W3(H)・−R
S2(L)・−RW1(H)であること、A(H)・−
A(H)=0であることを認めることによりRW3
(H)の式により大きい冗長度を加えることができる。
すなわち、 RW3(H)=−RS3(L)・RS1(L)・RS2(L) +W2(H)・W3(H)・−RS3(L)・RS2(L) +W3(H)・−RS3(L)+W2(H)・W3(H)・ −RS3(L) +W3(H)・RS1(L)・−RS3(L) +−RS3(L)・W2(H)・RW1(H) +−RS3(L)・RS1(L)・RW1(H)
【0039】更に大きい冗長度を加えると、 RW3(H)=−RS3(L)・(W3(H)+W2(H) +RS1(L))・(W3(H)+RS2(L) +RW1(H) RW3(H)=−RS3(L)・−RW1(H)・−RW2(H) となる。
【0040】従って、RW3(H)=−(RS3(L)
+RW1(H)+RW2(H)となり、これは3入力N
ORゲートを使用することにより演算できる。上記の設
計法をN個のデバイスが一つの共用メモへのアクセスを
リクエストするアービタに拡張することは可能である。
上記設計法に従えば、N個の入力端を有するアービタに
対する一般解は、次のとおりである。 RW1(H)=−(RS1(L)+W2(H)+...+W(N−1)(H )+WN(H)) RW2(H)=−(RS2(L)+RW1(H)+W3(H)+...+ W(N−1)(H)+WN(H)) : : RW(N−1)(H)=−((RS(N−1)(L)+RW1(H)+ RW2(H)+...RW(N−2)(H)+ RWN2(H)) RWN(H)=−(RSN(L)+RW1(H)+RW2(H)+... +RW(N−1)(H))
【0041】従って、本発明の設計原理に従えば、D形
フリップフロップおよびN個の入力NORゲートを使用
することによりN個の入力端を備えたアービタを構成で
きる。
【0042】第5図は、本発明の設計原理に従って構成
したN個の入力端を有するアービタを示す。FS1
(1),FS1(2),...,FS1(N−1),F
S1(N)と示される第1ステージのN個のフリップフ
ロップ126、127、128、129の入力端には、
非同期のアクセスリクエスト信号R1(L),R2
(L),...R(N)(L)が印加される。FS1
(n)なる項はアービタの第1ステージ内のn番目のフ
リップフロップを表示し、FS2(n)なる項は、アー
ビタのフリップフロップの第2ステージのn番目のフリ
ップフロップを示す。NORゲート130、131、1
32、133は、同様にNR1 130〜NR(N)
133とする。
【0043】共用リソースへのアクセスのための同期し
たリクエストRS1(L),RS2(L),...RS
N(L)は、第1ステージのフリップフロップFS1
1,FS12,...,FS1N126〜129のそれ
ぞれの出力信号である。
【0044】第1ステージのフリップフロップFS11
126への入力信号は、共用リソースへのアクセスを
リクエストする第1デバイスから出力される非同期アク
セスリクエスト信号R1(L)であり、第1ステージの
フリップフロップFS11126の出力信号はRS1
(L)は、NR1と表示されているN入力のNORゲー
トの入力端へ送られる。NORゲートNR1 130の
他のN−1個の入力端は、FS2(2)〜FS2(N)
と表示されている第2ステージのフリップフロップ13
5、136、137の出力端に結合されている。このよ
うにして、ステート変数W2(H)〜WN(H)は、入
力信号としてNORゲートNR1 130に印加され
る。
【0045】NORゲートNR1 130の出力端は、
第2ステージのフリップフロップFS21 134の入
力端およびNORゲートNR2 131〜NRN 13
3の各々の入力端に結合されている。従って、NORゲ
ートNR1 130の出力信号RW1(H)は、フリッ
プフロップFS2(1)134の入力端およびNORゲ
ートNR2 131〜NR(N)133に入力信号とし
て印加される。フリップフロップFS2(1)134の
出力信号は、ステート変数W1(H)である。
【0046】第1ステージのフリップフロップFS1
(2)127への入力信号は、第2デバイスからの非同
期アクセスリクエスト信号RS(L)である。フリップ
フロップFS1(2)127の出力端RS2(L)は、
NORゲートNR2 131の入力端に結合されてい
る。NORゲートNR2 131の一方の入力端はNO
RゲートNR1 130NO出力端に結合されており、
NORゲートNR2 131への他のN−2個の入力端
は、第3ステージのフリップフロップFS2(3)〜F
S2(N)137のそれぞれの出力端に結合されてい
る。NORゲートNR2 131の出力端RW2(H)
はFS2(2)135の入力端およびNORゲートNR
3〜NR(N)33の各々の入力端に結合されている。
従って、FS22 35およびそれぞれのNORゲート
NR3〜NR(N)33のすべては、NR2 31の出
力信号RW2(H)を入力信号として受ける。
【0047】第2ステージのフリップフロップFS2
(2)135の出力端W2(H)は、NORゲートNR
1 130の入力端に結合されている。
【0048】(N−1)個のデバイスまで続けると、非
同期のアクセスリクエスト信号R(N−1)(L)は、
第1ステージの(N−1)フリップフロップFS1(N
−1)128への入力信号として機能する。FS1(N
−1)128の出力端RS(N−1)(L)は、NOR
ゲートNR(N−1)132の入力端に結合されてお
り、NORゲートNR130〜NR(N−2)の出力端
もNR(N−1)132のそれぞれの入力端に結合され
ており、NORゲートの出力信号RW1(H)〜RW
(N−2)(H)をNR(N−1)132への入力信号
として印加する。NR(N−1)132の他の入力端
は、フリップフロップFS2(N)137の出力端に結
合されている。従って、FS2(N)137により出力
されるステート変数WN(H)は、NORゲートNR
(N−1)132への入力信号となる。
【0049】NORゲートNR(N−1)132の出力
端は、フリップフロップFS2(N−1)136の入力
端およびNORゲートNR(N)132の入力端に結合
されているので、NR(N−1)132からの出力信号
RW(N−1)(H)は、FS2(N−1)136およ
びNR(N)133の双方への入力信号となる。フリッ
プフロップFS2(N−1)136の出力端は、NOR
ゲートNR1 30〜NR(N−2)の各々の入力端に
結合されているので、FS2(N−1)136により出
力されるステート変数W(N−1)(H)は、NR1
30〜NR(N−2)へ入力される。
【0050】N番目のデバイスからの非同期のアクセス
リクエスト信号RN(L)はフリップフロップFS1
(N)129へ入力される。FS1(N)129の出力
端RSN(L)は、NORゲートNR(N)133の入
力端に結合されており、他のN−1個の入力端は、NO
RゲートNR1 130〜NR(N−1) 132の出
力端にそれぞれ結合されているので、NORゲート出力
信号RW1(H)〜RW(N−1)(h)はすべてNO
RゲートNR(N)133への入力信号となる。
【0051】NR(N) 133の出力端は、フリップ
フロップFS2(N) 137の入力端に結合されてお
り、FS2N 37の出力端は、NORゲートNR1
30〜NR(N−1)32の入力端に結合されている。
従って、ステート変数WN(H)はNORゲートNR1
30〜NR(N−1) 32への入力信号である。
【0052】上記の説明から、本発明の設計法により構
成されたN個の入力端を有するアービタに対する回路配
線の一般的パターンを認識できる。
【0053】共用リソースへのアクセスをリクエストす
るn番目のデバイスからの非同期のアクセスリクエスト
R(n)(L)は、第1ステージのフリップフロップF
S1(n)へ入力される。
【0054】フリップフロップFS1(n)の出力端
は、N個の入力端を有するNORゲートNR(n)の一
つの入力端に結合されている。従って、FS1(n)か
ら出力される同期アクセスリクエスト信号RS(n)
(L)は、NORゲートNR(n)への入力信号とな
る。(n>1)のとき、NORゲートNR(n)への別
の(n−1)個の入力端は、先のNORゲートNR1〜
NR(n−1)の出力端に結合されている。このよう
に、(n>1)のとき、先のNORゲートからの出力信
号RW1(H)〜RW(n−1)は、NR(n)への入
力信号となる。(n<N)のとき、NR(n)への他の
(N−n)個の入力端は、第2ステージのフリップフロ
ップFS2(n+1)〜FS2(N)の出力端に結合さ
れている。従って、(n<N)のとき、FS2(n+
1)〜FS2(N)から出力されるステート変数W(n
+1)(H)〜W(N)(H)はNR(n)への入力信
号となる。
【0055】(n<N)のとき、NORゲートNR
(n)の出力端は、フリップフロップFS2(n)の入
力端およびNORゲートNR(n+1)〜NR(N)へ
の入力信号となる。
【0056】(n>1)のとき、第2ステージのフFS
2(n)は、先のNORゲートNR1〜NR(n−1)
の入力端に結合された出力端を有する。従って、FS2
(N)の出力信号であるステート変数2(n)(H)
は、NORゲートNR1〜NR(n−1)への入力信号
となる。
【図面の簡単な説明】
【図1】本発明の好ましい実施態様のアービタおよび共
通リソースの各々に結合された複数のデバイスを含むコ
ンピュータシステムを示す図。
【図2】図1のアービタの略図。
【図3】図2のアービタのステート図。
【図4】図2のアービタのための現在ステート/次のス
テート表を示す図。
【図5】本発明に係わるN入力アービタの略図。
【符号の説明】
12、14、16 プロセッサ 18 メモリ 22 アービタ 24、26、28 第1ステージのフリップフロップ 36、38、40 NORゲート 30、32、34 第2ステージのフリップフロップ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステム内のリソース割り
    当ておよび仲裁装置において、一組の入力信号の関数と
    して、かつこれらに応答して一組の出力信号を発生する
    ための論理回路であって、 各々がN個の入力端と一つの出力端を有し、これらN個
    の入力端の一つは上記入力信号の組のうちの一つを印加
    するのに利用されるN個の論理ゲートの一組と、N個の
    ステート素子の一組とから成り、これらステート素子の
    各々は、N個の論理ゲートの対応する一つの出力端に結
    合された入力端と、出力信号の組のうちの一つを発生す
    る出力端とを有し、 N個の論理ゲートのうちの各n番目の論理ゲートに対
    し、n<Nのとき(N−n)個の残りの入力端の各々は
    N個のステート素子のうちのn+1番目からN番目まで
    のステート素子のうちの対応する一つの出力端に結合さ
    れており、n>1のときn−1個の残りの入力端の各々
    は第1番目から(n−1)番目の論理ゲートのうちの対
    応する一つの出力端に結合されており、 出力信号の組は、入力出力信号の組およびN個の論理ゲ
    ートの組の出力信号の関数となっている論理回路。
  2. 【請求項2】 N個の論理ゲートの組のうちの各々のゲ
    ートはNORゲートであり、N個のステート素子の組の
    各々の素子はフリップフロップデバイスである請求項1
    の論理回路。
  3. 【請求項3】 入力信号の組の各々は、共用リソースへ
    アクセスするためのリクエストを表示し、入力信号の組
    の各々は、対応するリクエストが、許可されたことを表
    示する請求項2の論理回路。
  4. 【請求項4】 入力信号の組は、非同期入力信号の一組
    から成り、 更に本回路は、非同期入力信号を同期化するためのN個
    の同期化ステート素子の一組から成り、同期化ステート
    諸氏の各々は入力端および出力端を有し、 非同期入力信号の組のうちの各入力信号は、N個の同期
    化ステート素子の入力端の一つに印加され、N個の同期
    化ステート素子の各々の出力端は、N個の論理ゲートの
    うちの対応する一つのゲートの入力端に結合されている
    請求項1の論理回路。
  5. 【請求項5】 コンピュータシステム内で使用されるリ
    ソース割り当ておよび仲裁用アービタであって、 N個のNORゲートの一組を含み、このNORゲートの
    各々は一つの出力端と、N個の入力端を有し、N個の入
    力端の一つは、仲裁信号のリクエストの入力に使用さ
    れ、 フリップフロップデバイスの一組を含み、各々の
    デバイスは、NORゲートの対応する一つのゲートのう
    ちの出力端に結合された入力端と、仲裁リクエスト許可
    情報を出力するための一つの出力端を有し、 N個のNORゲートのn番目の各々のNORゲートに関
    し、n<Nのとき(N−n)個の他の入力端の各々は
    (n+1)番目からN番目のフリップフロップデバイス
    の対応する一つの出力端に結合され、n>1のときn−
    1個の他の入力端の各々は1番目から(n−1)番目の
    NORゲートの対応する一つの出力端に結合され、N個
    のNORゲートの組へ入力される仲裁信号のリクエスト
    信号の組に対し、ある時刻にはフリップフロップデバイ
    スの一つの出力しか発生されないようになっているアー
    ビタ。
  6. 【請求項6】 N個のフリップフロップデバイスの各々
    はD形フリップフロップデバイスから成る請求項5のア
    ービタ。
  7. 【請求項7】 N=3である請求項5のアービタ。
  8. 【請求項8】 仲裁信号のリクエスト信号は、非同期信
    号であり、更に仲裁信号の非同期リクエストを同期化す
    るためのN個の同期化フリップフロップであるの一組を
    含み、これら同期化フリップフロップの各々は一つの入
    力端と一つの出力端を有し、仲裁信号のリクエスト信号
    の各々はN個の同期化フリップフロップの入力端の対応
    する一つに送られ、N個の同期化フリップフロップの各
    々の出力端は、NORゲートのうちの対応するゲートの
    一つの入力端に結合されている請求項5のアービタ。
JP4167629A 1991-06-28 1992-06-25 論理回路 Pending JPH05197673A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/723,055 US5148112A (en) 1991-06-28 1991-06-28 Efficient arbiter
US07/723055 1991-06-28

Publications (1)

Publication Number Publication Date
JPH05197673A true JPH05197673A (ja) 1993-08-06

Family

ID=24904642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4167629A Pending JPH05197673A (ja) 1991-06-28 1992-06-25 論理回路

Country Status (5)

Country Link
US (1) US5148112A (ja)
EP (1) EP0520837B1 (ja)
JP (1) JPH05197673A (ja)
DE (1) DE69225095T2 (ja)
IE (1) IE922100A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535395A (en) * 1992-10-02 1996-07-09 Compaq Computer Corporation Prioritization of microprocessors in multiprocessor computer systems
US5553310A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems
US5553248A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation System for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
US5682467A (en) * 1994-09-29 1997-10-28 Xerox Corporation Arbitrating apparatus for controlling selective access of multiple bus masters to a printing system video bus
US5524235A (en) * 1994-10-14 1996-06-04 Compaq Computer Corporation System for arbitrating access to memory with dynamic priority assignment
US5539337A (en) * 1994-12-30 1996-07-23 Intel Corporation Clock noise filter for integrated circuits
US6163828A (en) * 1998-05-22 2000-12-19 Lucent Technologies Inc. Methods and apparatus for providing multi-processor access to shared memory
US7245909B2 (en) * 2001-09-20 2007-07-17 Honeywell International, Inc. Telephony control in the flight deck
CN100549993C (zh) * 2005-01-31 2009-10-14 飞思卡尔半导体公司 减少能量消耗的总线仲裁控制器
JP6354172B2 (ja) * 2014-01-20 2018-07-11 富士通株式会社 半導体集積回路及び認証システム
DE102016215362A1 (de) * 2016-08-17 2018-02-22 Robert Bosch Gmbh Quantenzufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl mit einem Quantenzufallszahlengenerator
US11740631B2 (en) * 2019-04-02 2023-08-29 The Raymond Corporation Systems and methods for an arbitration controller to arbitrate multiple automation requests on a material handling vehicle
CN111752876B (zh) * 2020-05-26 2023-03-14 苏州浪潮智能科技有限公司 一种用于接口优先级仲裁的系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4237534A (en) * 1978-11-13 1980-12-02 Motorola, Inc. Bus arbiter
US4620118A (en) * 1982-10-01 1986-10-28 At&T Bell Laboratories Dual port access circuit with automatic asynchronous contention resolving capability
US4594657A (en) * 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
US4641266A (en) * 1983-11-28 1987-02-03 At&T Bell Laboratories Access-arbitration scheme
JPS63502535A (ja) * 1986-02-10 1988-09-22 イーストマン・コダック・カンパニー マルチプロセッサ装置
US4853653A (en) * 1988-04-25 1989-08-01 Rockwell International Corporation Multiple input clock selector
US4894565A (en) * 1988-08-11 1990-01-16 American Microsystems, Inc. Asynchronous digital arbiter
JP2569790B2 (ja) * 1989-03-13 1997-01-08 三菱電機株式会社 アービタ回路

Also Published As

Publication number Publication date
EP0520837B1 (en) 1998-04-15
IE922100A1 (en) 1992-12-30
DE69225095T2 (de) 1998-12-17
US5148112A (en) 1992-09-15
EP0520837A3 (en) 1993-09-08
DE69225095D1 (de) 1998-05-20
EP0520837A2 (en) 1992-12-30

Similar Documents

Publication Publication Date Title
US4503490A (en) Distributed timing system
US5654988A (en) Apparatus for generating a pulse clock signal for a multiple-stage synchronizer
US4237534A (en) Bus arbiter
JPH0210979B2 (ja)
US4663708A (en) Synchronization mechanism for a multiprocessing system
KR100304036B1 (ko) 데이타동기시스템및방법
JPH05197673A (ja) 論理回路
EP0242879B1 (en) Data processor with wait control allowing high speed access
US5537582A (en) Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
EP0261497B1 (en) Semaphore circuit for shared memory cells
JPH05232196A (ja) テスト回路
JPH073940B2 (ja) アービタ回路
US6674306B1 (en) Multiport arbitration using phased locking arbiters
US20050156632A1 (en) Micropipeline stage controller and control scheme
KR0159008B1 (ko) 직접 메모리 억세스에서의 버스사용 중재회로
JP2538874B2 (ja) 共通バス調停方式
US6580303B1 (en) Datapath control circuit with adjustable delay elements
JP3194060B2 (ja) 論理回路装置およびそのテスト方法
Borriello Synthesis of mixed synchronous/asynchronous control logic
JP2668215B2 (ja) マイクロコンピユータ
JP3092181B2 (ja) 高速アービトレーション回路
KR0176655B1 (ko) 멀티 프로세서 사이 중재회로
JPH0697814A (ja) プログラマブル・ロジック・アレイおよびそれを用いたマイクロコンピュータ
JPH11203253A (ja) 共有資源排他アクセス制御方式
JPH0746340B2 (ja) 調停回路