(57)【特許請求の範囲】
【請求項１】
複数の処理要求手段と、
前記複数の処理要求手段からの処理要求に基づく処理を実行する実行手段と、
前記複数の処理要求手段からの処理要求を制御するための制御手段とを有し、前記複数の処理要求手段からの処理要求に基づく処理の実行順序を制御する制御回路において、
前記複数の処理要求手段及び前記制御手段は信号線を介して数珠繋ぎ状に接続されており、
前記制御手段は、
前記処理要求に基づく処理が前記実行手段により実行されたことを示す終了信号を、前記実行手段から受信する終了信号受信手段と、
前記受信手段が前記終了信号を受信したことに応じて、実行手段が次に処理すべき処理要求を識別するための第１識別番号を更新して前記複数の処理要求手段に出力する第１識別番号出力手段と、
前記複数の処理要求手段による新たな処理要求を識別するための第２識別番号を前記複数の処理要求手段のうち前記制御手段の後段の第１処理要求手段へ出力する第２識別番号出力手段と、
前記第２識別番号出力手段により出力された後に前記複数の処理要求手段により転送された前記第２識別番号を受信し、該受信した前記第２識別番号に基づいて前記第２識別番号出力手段が送信すべき前記第２識別番号を更新する更新手段とを有し、
前記第１処理要求手段は、
前記第２識別番号出力手段から出力される前記第２識別番号を受信する第１受信手段と、
前記第１処理要求手段にて前記処理要求が発生した場合に前記第１受信手段により受信された前記第２識別番号をラッチする第１ラッチ手段と、
前記第１処理要求手段にて前記処理要求が発生した場合に前記第１受信手段により受信される前記第２識別番号を更新して前記複数の処理要求手段のうち前記第１処理要求手段の後段の第２処理要求手段に転送し、前記第１処理要求手段にて処理要求が発生していない場合には前記第１受信手段により受信される前記第２識別番号を更新することなく前記第２処理要求手段に転送する第１転送手段と、
前記第１識別番号出力手段により出力された前記第１識別番号を受信する第２受信手段と、
前記第１処理要求手段にて前記処理要求が発生した場合において、前記第１ラッチ手段によりラッチされた前記第２識別番号と前記第２受信手段が受信した前記第１識別番号とが一致した場合に前記処理要求に基づく処理を前記実行手段に実行させるための選択信号を出力する第１選択信号出力手段とを有し、
前記第２処理要求手段は、
前記第１転送手段から転送される前記第２識別番号を受信する第３受信手段と、
前記第２処理要求手段にて前記処理要求が発生した場合に前記第３受信手段により受信された前記第２識別番号をラッチする第２ラッチ手段と、
前記第２処理要求手段にて前記処理要求が発生した場合に前記第３受信手段により受信される前記第２識別番号を更新して前記複数の処理要求手段のうち前記第２処理要求手段の後段の第３処理要求手段に転送し、前記第２処理要求手段にて処理要求が発生していない場合には前記第３受信手段により受信される前記第２識別番号を更新することなく前記第３処理要求手段に転送する第２転送手段と、
前記第１識別番号出力手段により出力された前記第１識別番号を受信する第４受信手段と、
前記第２処理要求手段にて前記処理要求が発生した場合において、前記第２ラッチ手段によりラッチされた前記第２識別番号と前記第４受信手段が受信した前記第１識別番号とが一致した場合に前記処理要求に基づく処理を前記実行手段に実行させるための選択信号を出力する第２選択信号出力手段と、を有することを特徴とする制御回路。
【請求項２】
前記第１選択信号出力手段又は前記第２選択信号出力手段により出力される選択信号に基づいて、前記実行手段に処理を開始させることを特徴とする請求項１記載の制御回路。
【請求項３】
前記制御手段は、前記第１識別番号と前記第２識別番号とを、同じ値に初期化することを特徴とする請求項１又は２に記載の制御回路。
【請求項４】
前記実行手段は、前記複数の処理要求手段からの処理要求に基づいてメモリアクセス処理を実行することを特徴とする請求項１〜３のいずれか１項に記載の制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の処理要求元とそれらの処理要求を処理要求順に順次処理を行うように制御する制御回路に関するものである。
【０００２】
【従来の技術】
ディジタル回路は、複数の処理要求元とそれらの処理要求をある順番に従って順次処理を行うように制御する調停回路を含むことが多い。例えば、複数のＤＭＡコントローラ（ダイレクトメモリアクセスコントローラ；Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ（以下、ＤＭＡＣ））が存在し、これらがＣＰＵ（中央処理装置）を介さすにメモリをアクセスする場合がそれにあたる。複数のＤＭＡＣからのメモリヘのアクセス要求は調停回路により、ある一つのアクセス要求が選ばれ、アクセスが終われば次の調停に入る。
【０００３】
調停にはいくつかの方式がある。まず、固定優先順位による調停は、処理要求元に固定的な優先順位を与え、それを基に調停する方式であり、回路構成は単純である。例えば、ＤＭＡＣ（０）、ＤＭＡＣ（１）、ＤＭＡＣ（２）、ＤＭＡＣ（３）の４つのＤＭＡＣが存在し、ＤＭＡＣ（０）の優先順位が最も高く、ＤＭＡＣ（１），ＤＭＡＣ（２）と順次優先順位が低くなり、ＤＭＡＣ（３）が最も低いとする優先順位を与えるものとする。
【０００４】
すると、複数のＤＭＡＣからメモリアクセス要求があった場合には、常に優先順位が高いものが選ばれることとなる。したがって、優先順位の低いＤＭＡＣの要求は、より優先順位の高いＤＭＡＣの要求がある限り選ばれることはない。
【０００５】
このため、固定優先順位による調停は優先順位の低い処理要求元の処理を長時間保留しても問題がないシステムや各処理要求元からの要求頻度が低く、複数同時の要求がきわめて稀なシステムで採用される。
【０００６】
これに対して、処理要求元の処理を長時間保留することが許されないシステムでは、ラウンドロビン方式が用いられることが多い。
【０００７】
ラウンドロビン方式では、処理要求元に対する優先順位を動的に変化させる。上述した例と同様に、初期の優先順位として、ＤＭＡＣ（０）の優先順位が最も高く、ＤＭＡＣ（１），ＤＭＡＣ（２）と順次優先順位が低くなり、ＤＭＡＣ（３）が最も低いとする優先順位を与えるものとする。
【０００８】
すると、複数のＤＭＡＣからメモリアクセス要求があった場合には、その時の優先順位が高いものが選ばれる。例えばＤＭＡＣ（１）からのメモリアクセス要求があればそのアクセスが終了後、ＤＭＡＣ（１）の次に優先順位が高いＤＭＡＣ（２）の優先順位が最も高くなり、ＤＭＡＣ（１）の優先順位が最も低くなるように、即ち優先順位を高い方からＤＭＡＣ（２），ＤＭＡＣ（３），ＤＭＡＣ（０），ＤＭＡＣ（１）となるように変更し調停を行い、これを繰り返す。
【０００９】
この方式ではある処理要求元が要求を出せば、他の処理要求元がいかなる順番で要求を出したとしても必ず、いずれはその要求は処理される。
【００１０】
なお、ラウンドロビン方式は処理要求順には処理されない。例えば、最初にＤＭＡＣ（０）とＤＭＡＣ（３）からアクセス要求があった場合、ＤＭＡＣ（０）のアクセス要求が処理される。その処理中にさらにＤＭＡＣ（１）とＤＭＡＣ（２）から要求があれは、ＤＭＡＣ（０），ＤＭＡＣ（１），ＤＭＡＣ（２），ＤＭＡＣ（３）の順で処理されることになり、最初に発生したＤＭＡＣ（３）のアクセス要求は最後に処理されることになる。処理要求元が多くなれば、このような処理要求の保留時間が増大することとなる。
【００１１】
このような処理要求の保留が許されない場合には、処理要求順に順次処理を行うことが必要となる。
【００１２】
図８は、従来のディジタル回路の構成を示すブロック図であり、特にＤＭＡＣ（０），ＤＭＡＣ（１），ＤＭＡＣ（２），ＤＭＡＣ（３）の４つのＤＭＡＣのアクセス要求を処理要求順に順次処理する場合に対応する。
【００１３】
図に示すように、２（０），２（１），２（２），２（３）は、同一構成のＤＭＡで、それぞれＤＭＡＣ（０），ＤＭＡＣ（１），ＤＭＡＣ（２），ＤＭＡＣ（３）に対応し、これら各ＤＭＡＣ（ｎ）２（ｎ）（以下、ｎ＝０，１，２，３）の処理要求信号ｒｅｑ（ｎ）は、調停回路５に接続され、調停回路５は処理要求順となるように選択信号ｓｅｌ（ｎ）を出力し、同時にバスコントローラ（Ｂｕｓ  Ｃｏｎｔｒｏｌｌｅｒ）１に対してアクセス要求信号ｒｅｑを出力する。
【００１４】
そして、３（０），３（１），３（２），３（３）は、それぞれ論理積回路であり、これら各論理積回路３（ｎ）は、各ＤＭＡＣ（ｎ）２（ｎ）のアドレス信号（実際にはその他に信号が必要となるが、説明のためにアドレス信号で代表する）ａｄｄｒ（ｎ）に対して上述したｓｅｌ（ｎ）の論理積をとり、論理和回路４に出力する。なお、選択されていないＤＭＡＣ（ｎ）２のアドレス信号ａｄｄｒ（ｎ）は論理「０」とする。
【００１５】
論理和回路４は、各論理積回路３（ｎ）から入力されるアドレス信号ａｄｄｒ（ｎ）の論理和を取り、選択されたＤＭＡＣ（ｎ）２（ｎ）のアドレス信号ａｄｄｒ（ｎ）をアドレス信号ａｄｄｒとしてバスコントローラ１に対して出力する。
【００１６】
バスコントローラ１は、調停回路５からのアクセス要求信号ｒｅｑと論理和回路４からのアドレス信号ａｄｄｒに基づいて図示しないメモリへのアクセスを行い、該メモリのアクセスを完了すると、処理終了信号ｄｏｎｅを調停回路５に出力する。
【００１７】
調停回路５は、この処理終了信号ｄｏｎｅが入力されると、選択されていたＭＡＣ（ｎ）２（ｎ）に対してｄｏｎｅ（ｎ）を出力して、メモリアクセスが終了したことをＤＭＡＣ（ｎ）２（ｎ）に知らせる。
【００１８】
この調停回路５は、リクエストキュー（Ｒｅｑｕｅｓｔ  Ｑｕｅｕｅ）５１と調停制御回路（Ａｒｂｉｔｅｒ  Ｃｏｎｔｏｒｏｌ  Ｌｏｇｉｃ）５２から構成される。リクエストキュー５１の内部には図示しないＦＩＦＯ（ファーストインファーストアウト）メモリが存在し、アクセス要求が行われたＤＭＡＣ（ｎ）２の要求元識別番号が書き込まれる。ここで、ＤＭＡＣ（０）２（０），ＤＭＡＣ（１）２（１），ＤＭＡＣ（２）２（２），ＤＭＡＣ（３）２（３）の要求元識別番号を、それぞれ０，１，２，３とする。
【００１９】
図９，図１０は、図８に示した従来のディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートであり、特に、ＤＭＡＣ（０）とＤＭＡＣ（３）からアクセス要求があり、ＤＭＡＣ（０）のアクセス要求の処理中にさらにＤＭＡＣ（１）とＤＭＡＣ（２）から要求があった場合についての動作に対応する。
【００２０】
図に示すように、リクエストキュー５１のＦＩＦＯメモリは初期状態でエンプティで、ｎｏｔｅｍｐｔｙ信号は「Ｌｏｗ」であり、調停制御回路５２はｒｅｑをアサートにしない。ＤＭＡＣ（０）２（０）とＤＭＡＣ（３）２（３）からのアクセス要求、ｒｅｑ０とｒｅｑ３がアサートされる（ｃｌｋ１）と、ＦＩＦＯにはそれらＤＭＡＣの要求元識別番号である「０」と「３」が書き込まれる（ｃｌｋ２）。
【００２１】
同時に、ｎｏｔｅｍｐｔｙ信号が「Ｈｉｇｈ」となる（ｃｌｋ２）。調停制御回路５２はｒｅｑをアサートし（ｃｌｋ３）、ＦＩＦＯｏｕｔが「０」なのでｓｅｌ０を「Ｈｉｇｈ」にする（ｃｌｋ３）。従って、ａｄｄｒにはＤＭＡＣ（０）２（０）がａｄｄｒ０に出力するＡが出力される。
【００２２】
バスコントローラ１はｒｅｑのアサートで、アドレスＡのメモリへのアクセスを実行し、完了すると、処理終了信号ｄｏｎｅをアサートする（ｃｌｋ８）。このメモリアクセス中に、ｃｌｋ６のタイミングで、ＤＭＡＣ（１）２（１）がｒｅｑ１を、ｃｌｋ８のタイミングでＤＭＡＣ（２）がｒｅｑ２をアサートするために、リクエストキュー５１のＦＩＦＯメモリには、それらの要求元識別番号である「１」と「２」がさらに書き込まれている。
【００２３】
調停回路５は処理終了信号ｄｏｎｅのアサートで、アクセス要求元であるＤＭＡＣ（０）２（０）のｄｏｎｅ０をアサートし（ｃｌｋ９）、ＤＭＡＣ（０）２（０）はｒｅｑ０をディアサートする（ｃｌｋ１０）。
【００２４】
また、調停回路５は処理終了信号ｄｏｎｅのアサートで、リクエストキュー５１のＦＩＦＯメモリからデータを一つ取り去り、再び、ｎｏｔｅｍｐｔｙ信号を参照する。ｎｏｔｅｍｐｔｙ信号は「Ｈｉｇｈ」なので、保留されているアクセス要求があることを知る。
【００２５】
調停回路５は再び、ｒｅｑをアサートし、ＦＩＦＯｏｕｔが「３」であることからｓｅｌ３を「Ｈｉｇｈ」にし（ｃｌｋ１０）、ＤＭＡＣ（３）２（３）のアクセス要求の処理が開始される。
【００２６】
以後、同様にして、タイミングチャートに示すように、ＤＭＡＣ（１）２（１）とＤＭＡＣ（２）２（２）のアクセス要求の処理が行われる。ＤＭＡＣ（２）２（２）のアクセス要求に対するメモリアクセスが終了した時の処理終了信号ｄｏｎｅのアサート（ｃｌｋ２９）で、リクエストキュー５１のＦＩＦＯメモリからデータが一つ取り去られると、ＦＩＦＯメモリはエンプティ状態に戻り、ｎｏｔｅｍｐｔｙ信号が「Ｌｏｗ」に戻る（ｃｌｋ３０）。調停回路５はリクエストキュー５１への新たな要求元識別番号の書き込みを待つ。
【００２７】
以上のように、図８に示した従来のディジタル回路は、ＤＭＡＣ（０）２（０），ＤＭＡＣ（１）２（１），ＤＭＡＣ（２）２（２），ＤＭＡＣ（３）２（３）の４つのＤＭＡＣのアクセス要求を処理要求順に順次処理することができる。
【００２８】
【発明が解決しようとする課題】
しかしながら、図８に示した従来のディジタル回路では、複数のＤＡＭＣの要求を要求された順番に処理を行うために、リクエストキュー５１を含む調停回路５を必要とするのため、以下のような問題点があった。
【００２９】
まず、リクエストキュー５１は、ＦＩＦＯメモリとその周辺回路で構成されるが、周辺回路が複雑である。特に、タイミングチャートのｃｌｋ２のタイミングのように、同時に複数のＤＭＡＣ（ｎ）２（ｎ）から要求があった場合の制御は複雑である。上記図８に示した従来のディジタル回路では、ＤＭＡＣ（０）２（０）〜ＤＭＡＣ（３）２（３）の４個の同時要求に対応しなければならないという問題点があった。
【００３０】
また、仕様の変更や類似システムの再設計で処理要求元（上記従来例では、ＤＭＡＣ（ｎ）２（ｎ））の数が増加した場合、リクエストキュー５１を含む調停回路５の変更が必要であり、再設計は容易ではないという問題点があった。
【００３１】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、複数の処理要求元は、それぞれ処理要求発生時には、入力される要求識別番号をラッチし、要求識別番号を更新して出力し、ラッチした要求識別番号と現要求識別番号とが等しくなった場合に選択信号を出力して処理を開始させ、また処理要求識別番号制御部は、次に発生される処理要求に与えるべき新要求識別番号を先頭の処理要求元の要求識別番号入力とし要求識別番号出力を次の要求識別番号入力とし、これを数珠繋ぎになった各処理要求元で繰り返し、最後尾の処理要求元の要求識別番号出力により新要求識別番号出力を更新し、さらに処理要求識別番号制御部は、処理終了通知に基づいて現要求識別番号出力を更新することにより、リクエストキューを含む複雑な回路を備えることのない単純な回路構成により、複数の処理要求元からの処理要求を要求された順番に処理することができ、また処理要求元の数が変更された場合にも再設計を容易に行うことができる制御回路を提供することである。
【００３２】
【課題を解決するための手段】
本発明は、複数の処理要求手段と、前記複数の処理要求手段からの処理要求に基づく処理を実行する実行手段と、前記複数の処理要求手段からの処理要求を制御するための制御手段とを有し、前記複数の処理要求手段からの処理要求に基づく処理の実行順序を制御する制御回路において、前記複数の処理要求手段及び前記制御手段は信号線を介して数珠繋ぎ状に接続されており、前記制御手段は、前記処理要求に基づく処理が前記実行手段により実行されたことを示す終了信号を、前記実行手段から受信する終了信号受信手段と、前記受信手段が前記終了信号を受信したことに応じて、実行手段が次に処理すべき処理要求を識別するための第１識別番号を更新して前記複数の処理要求手段に出力する第１識別番号出力手段と、前記複数の処理要求手段による新たな処理要求を識別するための第２識別番号を前記複数の処理要求手段のうち前記制御手段の後段の第１処理要求手段へ出力する第２識別番号出力手段と、前記第２識別番号出力手段により出力された後に前記複数の処理要求手段により転送された前記第２識別番号を受信し、該受信した前記第２識別番号に基づいて前記第２識別番号出力手段が送信すべき前記第２識別番号を更新する更新手段とを有し、前記第１処理要求手段は、前記第２識別番号出力手段から出力される前記第２識別番号を受信する第１受信手段と、前記第１処理要求手段にて前記処理要求が発生した場合に前記第１受信手段により受信された前記第２識別番号をラッチする第１ラッチ手段と、前記第１処理要求手段にて前記処理要求が発生した場合に前記第１受信手段により受信される前記第２識別番号を更新して前記複数の処理要求手段のうち前記第１処理要求手段の後段の第２処理要求手段に転送し、前記第１処理要求手段にて処理要求が発生していない場合には前記第１受信手段により受信される前記第２識別番号を更新することなく前記第２処理要求手段に転送する第１転送手段と、前記第１識別番号出力手段により出力された前記第１識別番号を受信する第２受信手段と、前記第１処理要求手段にて前記処理要求が発生した場合において、前記第１ラッチ手段によりラッチされた前記第２識別番号と前記第２受信手段が受信した前記第１識別番号とが一致した場合に前記処理要求に基づく処理を前記実行手段に実行させるための選択信号を出力する第１選択信号出力手段とを有し、前記第２処理要求手段は、前記第１転送手段から転送される前記第２識別番号を受信する第３受信手段と、前記第２処理要求手段にて前記処理要求が発生した場合に前記第３受信手段により受信された前記第２識別番号をラッチする第２ラッチ手段と、前記第２処理要求手段にて前記処理要求が発生した場合に前記第３受信手段により受信される前記第２識別番号を更新して前記複数の処理要求手段のうち前記第２処理要求手段の後段の第３処理要求手段に転送し、前記第２処理要求手段にて処理要求が発生していない場合には前記第３受信手段により受信される前記第２識別番号を更新することなく前記第３処理要求手段に転送する第２転送手段と、前記第１識別番号出力手段により出力された前記第１識別番号を受信する第４受信手段と、前記第２処理要求手段にて前記処理要求が発生した場合において、前記第２ラッチ手段によりラッチされた前記第２識別番号と前記第４受信手段が受信した前記第１識別番号とが一致した場合に前記処理要求に基づく処理を前記実行手段に実行させるための選択信号を出力する第２選択信号出力手段と、を有することを特徴とする。
【００３７】
【発明の実施の形態】
〔第１実施形態〕
以下、図面を参照して本発明を説明する。
【００３８】
図１は、本発明の第１実施形態を示すディジタル回路の概略構成を示すブロック図であり、図２は、図１に示す処理要求識別番号制御部６の詳細構成を示すブロック図であり、図３は、図１に示すＤＭＡＣ（０）１０２（０）〜ＤＭＡＣ（３）１０２（３）の詳細構成を示すブロック図であり、図８に示した従来のディジタル回路と同一のものには同一の符号を付してある。
【００３９】
図８に示した従来のディジタル回路では、上記の説明のように処理要求元の処理要求は処理要求元に対する処理要求元識別番号で管理されていたが、本実施形態では、処理要求元の処理要求は処理要求元に関係なく、処理要求に対して処理要求識別番号を割り当てて、その処理要求識別番号で管理する。処理要求識別番号は、同時に処理要求が発生する最大数か、それ以上を区別できなければならない。
【００４０】
また、処理要求識別番号は順序が決められていなければならない。最後の処理要求識別番号の次は最初の処理要求識別番号とする。図１においては、同時に処理要求が発生する最大数は４なので、処理要求識別番号を０，１，２，３とし、順序は０→１→２→３→０→…として説明する。
【００４１】
以下、図１〜図３を参照して、本発明のディジタル回路の構成及び動作について説明する。
【００４２】
図１において、ｃｕｒ＿ｒｅｑＩＤ信号は現処理要求識別番号を表すものであり、この現処理要求識別番号は次に処理すべき処理要求の処理要求識別番号である。
【００４３】
また、ｎｅｗ＿ｒｅｑＩＤ信号は新処理要求識別番号を表すものであり、この新処理要求識別番号は次に発生する処理要求に対して割り当てる処理要求識別番号である。現処理要求識別番号と新処理要求識別番号は最初の処理要求識別番号に初期化され、ともに決められた順序で変化する。
【００４４】
ｃｕｒ＿ｒｅｑＩＤ信号とｎｅｗ＿ｒｅｑＩＤ信号は、処理要求識別番号制御部６により制御される。
【００４５】
処理要求識別番号制御部６は、図２に示すように非常に単純な構成となっている。
【００４６】
図２に示すように、処理要求識別番号制御部６において、処理終了信号ｄｏｎｅ入力がアサートされると、セレクタ６２は、処理要求識別番号インクリメンタ（ｒｅｑｕｅｓｔ  ＩＤ  Ｉｎｃｒｅｍｅｎｔｅｒ）６１により次の番号に進められた処理要求識別番号を選択し、フリップフロップ（ＦＦ）６３に出力する。フリップフロップ（ＦＦ）６３は、この処理要求番号を現処理要求識別番号を示すｃｕｒ＿ｒｅｑＩＤ信号として更新出力する。
【００４７】
この現処理要求識別番号を示すｎｅｗ＿ｒｅｑＩＤ信号は、処理要求識別番号制御部６のｎｅｗ＿ｒｅｑＩＤ＿ｏｕｔから出力され、各ＤＭＡＣ（ｎ）１０２（ｎ）を経由して処理要求識別番号制御部６のｎｅｗ＿ｒｅｑＩＤ＿ｉｎに戻るものであり、上述したように処理要求識別番号制御部６のフリップフロップ６４により、各クロック（ｃｌｋ）毎にｎｅｗ＿ｒｅｑＩＤ＿ｉｎで更新される。
【００４８】
また、ＤＭＡＣ（０）１０２（０）〜ＤＭＡＣ（３）１０２（３）は同一構成のＤＭＡＣである。ＤＭＡＣ（ｎ）１０２（ｎ）は、図３に示すように、図８に示した従来のＤＭＡＣ（ｎ）２（ｎ）に加えて、アクセス要求ｒｅｑ（ｎ）が発生した時に処理要求識別番号（ｒｅｑＩＤ）をラッチするための処理要求識別番号ラッチ部（ｒｅｑｕｅｓｔ  ＩＤ  Ｌａｔｃｈ）２１、処理要求識別番号（ｒｅｑＩＤ）を次の番号に進めるための処理要求識別番号インクリメンタ（ｒｅｑｕｅｓｔ  ＩＤ  Ｉｎｃｒｅｍｅｎｔｅｒ）２２、処理要求識別番号ラッチ部２１でラッチされた処理要求識別番号ｒｅｑ＿ＩＤと現処理要求識別番号ｃｕｒ＿ｒｅｑとを比較するための一致回路２３、セレクタ２４、論理積回路２５，２７、ｒｅｑがアサート開始された時に１クロックだけ「Ｈｉｇｈ」となる信号を生成するパルス生成回路（ｐｕｌｓｅ  ｇｅｎ．）２６が付加された構成である。
【００４９】
ＤＭＡＣ（ｎ）１０２（ｎ）は、アクセス要求が発生すると、ｒｅｑ（ｎ）信号がアサートされ、ｒｅｑＩＤ＿ｉｎ（ｎ）に入力されるｎｅｗ＿ｒｅｑＩＤ信号（ＤＭＡＣ（０）１０２（０）の場合）か前のＤＭＡＣ（ｎ−１）１０２（ｎ−１）のｒｅｑＩＤ＿ｏｕｔ（ｎ−１）信号（ＤＭＡＣ（０）１０２（０）以外の場合）の処理要求識別番号を処理要求識別番号ラッチ部２１にラッチし、同時にｒｅｑＩＤ＿ｏｕｔ（ｎ）として、処理要求識別番号インクリメンタ２２によりインクリメントされたｒｅｑＩＤ＿ｉｎ（ｎ）の処理要求識別番号の次の処理要求識別番号をセレクタ２４により選択して出力する。
【００５０】
これにより、複数のＤＭＡＣに同時にアクセス要求が発生した時でもそれらの要求に対して異なる処理要求識別番号が割り当てられる。もちろん、ＤＭＡＣ（ｎ）１０２（ｎ）はアクセス要求が発生した時以外、すなわちパルス生成回路２６の出力が「Ｌｏｗ」の時には、ｒｅｑＩＤ＿ｏｕｔ（ｎ）にはｒｅｑＩＤ＿ｉｎ（ｎ）と同じ処理要求識別番号を出力する。この切り替えは、セレクタ２４にて実現される。そして、処理要求識別番号ラッチ部２１にラッチされた処理要求識別番号がその時のアクセス要求に割り当てられた処理要求識別番号である。
【００５１】
ＤＭＡＣ（ｎ）１０２（ｎ）は、アクセス要求中に、その要求に割り当てられた処理要求番号（処理要求識別番号ラッチ部２１にラッチされた処理要求識別番号）と処理要求識別番号制御部６が出力する現処理要求識別番号ｃｕｒ＿ｒｅｑＩＤとが一致すると、一致回路２３と論理積回路２５により、ｓｅｌ（ｎ）を「Ｈｉｇｈ」とする。
【００５２】
つまり、次に処理すべきアクセス要求が自身のアクセス要求である時に、ｓｅｌ（ｎ）が「Ｈｉｇｈ」となる。なお、論理積回路２５はアクセス要求中でない時にｓｅｌ（ｎ）を「Ｌｏｗ」に保つためのものである。
【００５３】
また、バスコントローラ１は、各ＤＭＡＣ（ｎ）１０２（ｎ）のｓｅｌ（ｎ）の論理和回路１０４による論理和をｒｅｑの入力とし、ｒｅｑがアサートされると、論理和回路４から出力されるａｄｄｒに基づいて、図示しないメモリへのアクセスを開始し、該メモリへのアクセスが完了すると、処理終了信号ｄｏｎｅをアサートする。この処理終了信号ｄｏｎｅは、全てのＤＭＡＣ１０２に送られる。
【００５４】
そして、各ＤＭＡＣ（ｎ）１０２（ｎ）は、論理積回路２７により、処理終了信号ｄｏｎｅと自身のｓｅｌ（ｎ）との論理積回路２７による論理積出力をｄｏｎｅ（ｎ）とし、ｄｏｎｅ（ｎ）がアサートされれば、自身のアクセス要求の処理が完了したことを知り、ｒｅｑ（ｎ）をディアサートする。
【００５５】
図４，図５は、図１〜図３に示した本発明の第１実施形態を示すディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートであり、特に、ＤＭＡＣ（０）１０２（０）とＤＭＡＣ（３）１０２（３）からアクセス要求があり、ＤＭＡＣ（０）のアクセス要求の処理中にさらにＤＭＡＣ（１）１０２（１）とＤＭＡＣ（２）１０２（２）から要求があった場合（即ち、図９，図１０で示した場合と同一の場合）についての本実施形態における動作に対応する。
【００５６】
まず、現処理要求識別番号と新処理要求識別番号を示すｃｕｒ＿ｒｅｑＩＤ信号とｎｅｗ＿ｒｅｑＩＤ信号は最初の処理要求識別番号である「０」に初期化される。
【００５７】
ＤＭＡＣ（０）１０２（０）とＤＭＡＣ（３）１０２（３）からのアクセス要求、ｒｅｑ０とｒｅｑ３がアサートされる（ｃｌｋ１）と、それぞれの内部の処理要求識別番号ラッチ部２１に処理要求識別番号を示すｒｅｑＩＤ＿ｉｎ（０）信号「０」とｒｅｑＩＤ＿ｉｎ（３）信号「１」がラッチされる（ｃｌｋ２）。同時に、新処理要求識別信号を示すｎｅｗ＿ｒｅｑＩＤ信号が「２」に更新される（ｃｌｋ２）。
【００５８】
ＤＭＡＣ（０）１０２（０）では現処理要求識別番号を示すｃｕｒ＿ｒｅｑＩＤ信号が「０」で、自身でラッチした処理要求識別番号「０」と等しいので、ｓｅｌ０を「Ｈｉｇｈ」にする（ｃｌｋ２）。従って、ａｄｄｒにはＤＭＡＣ（０）１０２（０）がａｄｄｒ０に出力するＡが出力される。
【００５９】
バスコントローラ１は、ｓｅｌ０が「Ｈｉｇｈ」となることでアクセス要求信号ｒｅｑがアサートされるので、アドレスＡのメモリヘのアクセスを実行し、完了すると、処理終了信号ｄｏｎｅをアサートする（ｃｌｋ７）。
【００６０】
このメモリアクセス中に、ｃｌｋ６のタイミングで、ＤＭＡＣ（１）１０２（１）はｒｅｑ１をアサートし、処理要求識別番号「２」をラッチし、処理要求識別番号を示すｒｅｑＩＤ信号は「３」に更新される。
【００６１】
さらに、ｃｌｋ８のタイミングでＤＭＡＣ（２）１０２（２）はｒｅｑ２をアサートし、処理要求識別番号「３」をラッチし、処理要求識別番号を示すｒｅｑＩＤ＿ｏｕｔ（２）信号は「０」に更新される。
【００６２】
また、ＤＭＡＣ（０）１０２（０）は、自身の選択信号ｓｅｌ０が「Ｈｉｇｈ」で、処理終了信号ｄｏｎｅがアサートされたので（ｃｌｋ７）、ｒｅｑ０をディアサートする（ｃｌｋ８）。
【００６３】
また、処理要求識別番号制御部６は処理終了信号ｄｏｎｅのアサートで、現処理要求識別番号を示すｃｕｒ＿ｒｅｑＩＤ信号を「１」に更新する（ｃｌｋ８）。ｃｕｒ＿ｒｅｑＩＤ信号が「１」に更新されると、ＤＭＡＣ（３）１０２（３）でラッチされた処理要求識別番号「１」と現処理要求識別番号を示すｃｕｒ＿ｒｅｑＩＤ信号「１」が等しくなるので、ＤＭＡＣ（３）１０２（３）はｓｅｌ３を「Ｈｉｇｈ」にする（ｃｌｋ８）。再び、ｒｅｑがアサートされ、バスコントローラ１によるＤＭＡＣ（３）１０２（３）のアクセス要求の処理が開始される。
【００６４】
以後、同様にして、タイミングチャートに示すように、ＤＭＡＣ（１）１０２（１）とＤＭＡＣ（２）１０２（２）のアクセス要求の処理が行われる。
【００６５】
以上の構成により、リクエストキューを含む複雑な回路（例えば、図８に示した調停回路５）を設けることなく、複数の処理要求元（ＤＭＡＣ）からの処理要求を処理要求順に順次処理することが可能となる。従って、従来より単純な回路構成となり、また、処理要求元の数の変更に対しても、再設計を容易に行うことができる。
【００６６】
〔第２実施形態〕
図６は、本発明の第２実施形態を示すディジタル回路の概略構成を示すブロック図であり、図７は、図６に示すＤＭＡＣ（０）２０２（０）〜ＤＭＡＣ（３）２０２（３）の詳細構成を示すブロック図であり、図１，図３と同一のものには同一の符号を付してある。
【００６７】
図６，図７に示すように、ＤＭＡＣ（ｎ）２０２（ｎ）は、図３に示した本発明の第１実施形態のＤＭＡＣ１０２に対して、内部のみで使用していた信号ｒｅｑ（ｎ）を外部に出力するように構成したものである。
【００６８】
また、上記第１実施形態では、各ＤＭＡＣ（ｎ）１０２（ｎ）の選択信号ｓｅｌ（ｎ）の論理和信号を論理和回路４で生成し、バスコントローラ１のｒｅｑ信号としていた。このように構成することで、バスコントローラ１のｒｅｑ信号がアサートされるタイミングで、バスコントローラ１の入力信号ａｄｄｒにもアクセスすべきメモリのアドレスが確定する。
【００６９】
パスコントローラ１がメモリをアクセスする場合、通常まず、バスの使用権を得るために、バスリクエスト（ｂｕｓ  ｒｅｑｕｅｓｔ）信号をアサートし、バスの使用許可を示すバスグラント（ｂｕｓｇｒａｎｔ）信号がアサートされるのを待ってから、メモリのアクセスを開始する。バスリクエスト信号をアサー卜してから、バスグラント（ｂｕｓｇｒａｎｔ）信号がアサートされるまでの間はメモリのアドレスは必要ない。
【００７０】
このような場合、図６に示すように各ＤＭＡＣ（ｎ）２０２（ｎ）の選択信号ｓｅｌ（ｎ）の代わりにアクセス要求信号ｒｅｑ（ｎ）の論理和信号を論理和回路４で生成し、バスコントローラ１のｒｅｑ信号にするように構成しても、ａｄｄｒ信号の確定はｒｅｑ信号のアサートに対して１クロック遅れるが、バスコントローラ１は正常に動作する。
【００７１】
従って、本実施形態の構成では、上記第１実施形態で示した構成に比べて、バスコントローラ１でのメモリアクセスの開始を早めることができる。
【００７２】
また、上記第１実施形態では、処理要求識別番号を０，１，２，３（０→１→２→３→０→…）のような通常にカウントアップするものとしたが、処理要求識別番号はこれに限られるものではなく、使用する処理要求識別番号はＤＭＡＣ１０２（２０２）内の処理要求識別番号インクリメンタ２２と処理要求識別番号制御部６内の処理要求識別番号インクリメンタ６１の構成による。
【００７３】
例えば、通常のカウンタより単純な回路構成となるジョンソンカウンタを用いれば、処理要求識別番号は００Ｂ→０１Ｂ→１１Ｂ→１０Ｂ→００Ｂ→…（Ｂはその前の数字が２進数表示であることを示す）とすることができる。さらに、単純な回路構成のリングカウンタを用いれば、０００１Ｂ→００１０Ｂ→０１００Ｂ→１０００Ｂ→０００１Ｂ→…とすることができる。
【００７４】
また、上記各実施形態では、４個の処理要求元（ＤＭＡＣ）に対して、処理要求識別番号の個数を４個としていたが、この処理要求番号の個数は４個以上であれば個数に制限はない。例えば、処理要求識別番号を０→１→２→３→４→５→６→７→０→…としても一向に構わない。
【００７５】
さらに、後述するように、４個の処理要求元に対して、８個の処理要求識別番号を使用した場合、処理要求元を増やすような変更や再設計の際、処理要求元が８個までであれば、非常に容易なものとなる。
【００７６】
以下に、処理要求元（ＤＭＡＣ）の数を増加するような変更について説明する。
【００７７】
処理要求元（ＤＭＡＣ）の数が増加して、それまで使用していた処理要求識別番号の個数が足りなくなった場合は、ＤＭＡＣ１０２（２０２）内の処理要求識別番号インクリメンタ２２と処理要求識別番号制御部６内の処理要求識別番号インクリメンタ６１を変更する必要がある。
【００７８】
新たな処理要求識別番号が必要とするビット数がそれまで使用していた処理要求識別番号のビット数を越えた時には、ＤＭＡＣ１０２（２０２）内のラッチ回路２１、セレクタ２４、一致回路２３や論理積回路２５，２７と処理要求識別番号制御部６内のフリップフロップ（ＦＦ）６３，６４、セレクタ６２をそのビット数に合わせる必要がある。また、最後に論理和回路１０４の入力数を増加した処理要求元の数に合わせる。このように、全ての変更は機械的に行えるものばかりである。
【００７９】
さらに、もし、増加した処理要求元の数が、それまで使用していた処理要求識別番号の個数を越えない場合には、単に論理和回路４の入力数を増加した処理要求元の数に合わせるように変更するのみである。
【００８０】
以上説明したように本発明は、従来必要であったリクエストキューを含む複雑な回路（例えば、図８に示した調停回路５）を用いることなく、複数の処理要求元からの処理要求を処理要求順に順次処理することを実現できるので、単純な構成で、小規模にすることができる。また、処理要求元の数の変更に対しても再設計を容易に行うことができる。
【００８１】
なお、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
【００８２】
また、上記実施形態では、本発明を、複数の処理要求元からのメモリアクセス処理要求に基づいてメモリアクセス処理を実行するディジタル回路に適用する場合について説明したが、本発明は、複数の処理要求元とそれらの処理要求を処理要求順に順次処理を行うように制御するディジタル回路であれば、メモリアクセス処理以外の処理を行う回路にも適用可能である。
【００８３】
【発明の効果】
以上説明したように、本発明によれば、リクエストキューを含む複雑な回路を用いることなく、単純な回路構成により、複数の処理要求元からの処理要求を処理要求順に順次処理することができ、また、処理要求元の数の変更に対しても再設計を容易に行うことができる効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示すディジタル回路の概略構成を示すブロック図である。
【図２】図１に示す処理要求識別番号制御部の詳細構成を示すブロック図である。
【図３】図１に示すＤＭＡＣ（０）〜ＤＭＡＣ（３）の詳細構成を示すブロック図である。
【図４】図１〜図３に示した本発明の第１実施形態を示すディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートである。
【図５】図１〜図３に示した本発明の第１実施形態を示すディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートである。
【図６】本発明の第２実施形態を示すディジタル回路の概略構成を示すブロック図である。
【図７】図６に示すＤＭＡＣ（０）〜ＤＭＡＣ（３）の詳細構成を示すブロック図である。
【図８】従来のディジタル回路の構成を示すブロック図である。
【図９】図８に示した従来のディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートである。
【図１０】図８に示した従来のディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートである。
【符号の説明】
１  バスコントローラ（Ｂｕｓ  Ｃｎｔｒｏｌｌｅｒ）
３（０）〜３（３）  論理積回路
６  処理要求識別番号制御部（Ｒｅｑｕｅｓｔ  ＩＤ  Ｃｎｔｒｏｌｌｅｒ）
２１  処理要求識別番号ラッチ部（ｒｅｑｕｅｓｔ  ＩＤ  Ｌａｔｃｈ）
２２  処理要求識別番号インクリメンタ（ｒｅｑｕｅｓｔ  ＩＤ  Ｉｎｃｒｅｍｅｎｔｅｒ）
２３  一致回路
２４  セレクタ
２５  論理積回路
２６  パルス生成回路
２７  論理積回路
６１  処理要求識別番号インクリメンタ（ｒｅｑｕｅｓｔ  ＩＤ  Ｉｎｃｒｅｍｅｎｔｅｒ）
６２  セレクタ
６３  フリップフロップ（ＦＦ）
６４  フリップフロップ（ＦＦ）
１０２（０）〜１０２（３）  ＤＭＡコントローラ（ＤＭＡＣ）
１０４  論理和回路
２０２（０）〜２０２（３）  ＤＭＡコントローラ（ＤＭＡＣ）
【図１】
0004174213.tif 000002
【図２】
0004174213.tif 000003
【図３】
0004174213.tif 000004
【図４】
0004174213.tif 000005
【図５】
0004174213.tif 000006
【図６】
0004174213.tif 000007
【図７】
0004174213.tif 000008
【図８】
0004174213.tif 000009
【図９】
0004174213.tif 000010
【図１０】
0004174213.tif 000011