JP4174213B2 - Control circuit - Google Patents
Control circuit Download PDFInfo
- Publication number
- JP4174213B2 JP4174213B2 JP2002003979A JP2002003979A JP4174213B2 JP 4174213 B2 JP4174213 B2 JP 4174213B2 JP 2002003979 A JP2002003979 A JP 2002003979A JP 2002003979 A JP2002003979 A JP 2002003979A JP 4174213 B2 JP4174213 B2 JP 4174213B2
- Authority
- JP
- Japan
- Prior art keywords
- identification number
- processing
- processing request
- request
- dmac
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、複数の処理要求元とそれらの処理要求を処理要求順に順次処理を行うように制御する制御回路に関するものである。
【0002】
【従来の技術】
ディジタル回路は、複数の処理要求元とそれらの処理要求をある順番に従って順次処理を行うように制御する調停回路を含むことが多い。例えば、複数のDMAコントローラ(ダイレクトメモリアクセスコントローラ;Direct Memory Access Controller(以下、DMAC))が存在し、これらがCPU(中央処理装置)を介さすにメモリをアクセスする場合がそれにあたる。複数のDMACからのメモリヘのアクセス要求は調停回路により、ある一つのアクセス要求が選ばれ、アクセスが終われば次の調停に入る。
【0003】
調停にはいくつかの方式がある。まず、固定優先順位による調停は、処理要求元に固定的な優先順位を与え、それを基に調停する方式であり、回路構成は単純である。例えば、DMAC(0)、DMAC(1)、DMAC(2)、DMAC(3)の4つのDMACが存在し、DMAC(0)の優先順位が最も高く、DMAC(1),DMAC(2)と順次優先順位が低くなり、DMAC(3)が最も低いとする優先順位を与えるものとする。
【0004】
すると、複数のDMACからメモリアクセス要求があった場合には、常に優先順位が高いものが選ばれることとなる。したがって、優先順位の低いDMACの要求は、より優先順位の高いDMACの要求がある限り選ばれることはない。
【0005】
このため、固定優先順位による調停は優先順位の低い処理要求元の処理を長時間保留しても問題がないシステムや各処理要求元からの要求頻度が低く、複数同時の要求がきわめて稀なシステムで採用される。
【0006】
これに対して、処理要求元の処理を長時間保留することが許されないシステムでは、ラウンドロビン方式が用いられることが多い。
【0007】
ラウンドロビン方式では、処理要求元に対する優先順位を動的に変化させる。上述した例と同様に、初期の優先順位として、DMAC(0)の優先順位が最も高く、DMAC(1),DMAC(2)と順次優先順位が低くなり、DMAC(3)が最も低いとする優先順位を与えるものとする。
【0008】
すると、複数のDMACからメモリアクセス要求があった場合には、その時の優先順位が高いものが選ばれる。例えばDMAC(1)からのメモリアクセス要求があればそのアクセスが終了後、DMAC(1)の次に優先順位が高いDMAC(2)の優先順位が最も高くなり、DMAC(1)の優先順位が最も低くなるように、即ち優先順位を高い方からDMAC(2),DMAC(3),DMAC(0),DMAC(1)となるように変更し調停を行い、これを繰り返す。
【0009】
この方式ではある処理要求元が要求を出せば、他の処理要求元がいかなる順番で要求を出したとしても必ず、いずれはその要求は処理される。
【0010】
なお、ラウンドロビン方式は処理要求順には処理されない。例えば、最初にDMAC(0)とDMAC(3)からアクセス要求があった場合、DMAC(0)のアクセス要求が処理される。その処理中にさらにDMAC(1)とDMAC(2)から要求があれは、DMAC(0),DMAC(1),DMAC(2),DMAC(3)の順で処理されることになり、最初に発生したDMAC(3)のアクセス要求は最後に処理されることになる。処理要求元が多くなれば、このような処理要求の保留時間が増大することとなる。
【0011】
このような処理要求の保留が許されない場合には、処理要求順に順次処理を行うことが必要となる。
【0012】
図8は、従来のディジタル回路の構成を示すブロック図であり、特にDMAC(0),DMAC(1),DMAC(2),DMAC(3)の4つのDMACのアクセス要求を処理要求順に順次処理する場合に対応する。
【0013】
図に示すように、2(0),2(1),2(2),2(3)は、同一構成のDMAで、それぞれDMAC(0),DMAC(1),DMAC(2),DMAC(3)に対応し、これら各DMAC(n)2(n)(以下、n=0,1,2,3)の処理要求信号req(n)は、調停回路5に接続され、調停回路5は処理要求順となるように選択信号sel(n)を出力し、同時にバスコントローラ(Bus Controller)1に対してアクセス要求信号reqを出力する。
【0014】
そして、3(0),3(1),3(2),3(3)は、それぞれ論理積回路であり、これら各論理積回路3(n)は、各DMAC(n)2(n)のアドレス信号(実際にはその他に信号が必要となるが、説明のためにアドレス信号で代表する)addr(n)に対して上述したsel(n)の論理積をとり、論理和回路4に出力する。なお、選択されていないDMAC(n)2のアドレス信号addr(n)は論理「0」とする。
【0015】
論理和回路4は、各論理積回路3(n)から入力されるアドレス信号addr(n)の論理和を取り、選択されたDMAC(n)2(n)のアドレス信号addr(n)をアドレス信号addrとしてバスコントローラ1に対して出力する。
【0016】
バスコントローラ1は、調停回路5からのアクセス要求信号reqと論理和回路4からのアドレス信号addrに基づいて図示しないメモリへのアクセスを行い、該メモリのアクセスを完了すると、処理終了信号doneを調停回路5に出力する。
【0017】
調停回路5は、この処理終了信号doneが入力されると、選択されていたMAC(n)2(n)に対してdone(n)を出力して、メモリアクセスが終了したことをDMAC(n)2(n)に知らせる。
【0018】
この調停回路5は、リクエストキュー(Request Queue)51と調停制御回路(Arbiter Contorol Logic)52から構成される。リクエストキュー51の内部には図示しないFIFO(ファーストインファーストアウト)メモリが存在し、アクセス要求が行われたDMAC(n)2の要求元識別番号が書き込まれる。ここで、DMAC(0)2(0),DMAC(1)2(1),DMAC(2)2(2),DMAC(3)2(3)の要求元識別番号を、それぞれ0,1,2,3とする。
【0019】
図9,図10は、図8に示した従来のディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートであり、特に、DMAC(0)とDMAC(3)からアクセス要求があり、DMAC(0)のアクセス要求の処理中にさらにDMAC(1)とDMAC(2)から要求があった場合についての動作に対応する。
【0020】
図に示すように、リクエストキュー51のFIFOメモリは初期状態でエンプティで、notempty信号は「Low」であり、調停制御回路52はreqをアサートにしない。DMAC(0)2(0)とDMAC(3)2(3)からのアクセス要求、req0とreq3がアサートされる(clk1)と、FIFOにはそれらDMACの要求元識別番号である「0」と「3」が書き込まれる(clk2)。
【0021】
同時に、notempty信号が「High」となる(clk2)。調停制御回路52はreqをアサートし(clk3)、FIFOoutが「0」なのでsel0を「High」にする(clk3)。従って、addrにはDMAC(0)2(0)がaddr0に出力するAが出力される。
【0022】
バスコントローラ1はreqのアサートで、アドレスAのメモリへのアクセスを実行し、完了すると、処理終了信号doneをアサートする(clk8)。このメモリアクセス中に、clk6のタイミングで、DMAC(1)2(1)がreq1を、clk8のタイミングでDMAC(2)がreq2をアサートするために、リクエストキュー51のFIFOメモリには、それらの要求元識別番号である「1」と「2」がさらに書き込まれている。
【0023】
調停回路5は処理終了信号doneのアサートで、アクセス要求元であるDMAC(0)2(0)のdone0をアサートし(clk9)、DMAC(0)2(0)はreq0をディアサートする(clk10)。
【0024】
また、調停回路5は処理終了信号doneのアサートで、リクエストキュー51のFIFOメモリからデータを一つ取り去り、再び、notempty信号を参照する。notempty信号は「High」なので、保留されているアクセス要求があることを知る。
【0025】
調停回路5は再び、reqをアサートし、FIFOoutが「3」であることからsel3を「High」にし(clk10)、DMAC(3)2(3)のアクセス要求の処理が開始される。
【0026】
以後、同様にして、タイミングチャートに示すように、DMAC(1)2(1)とDMAC(2)2(2)のアクセス要求の処理が行われる。DMAC(2)2(2)のアクセス要求に対するメモリアクセスが終了した時の処理終了信号doneのアサート(clk29)で、リクエストキュー51のFIFOメモリからデータが一つ取り去られると、FIFOメモリはエンプティ状態に戻り、notempty信号が「Low」に戻る(clk30)。調停回路5はリクエストキュー51への新たな要求元識別番号の書き込みを待つ。
【0027】
以上のように、図8に示した従来のディジタル回路は、DMAC(0)2(0),DMAC(1)2(1),DMAC(2)2(2),DMAC(3)2(3)の4つのDMACのアクセス要求を処理要求順に順次処理することができる。
【0028】
【発明が解決しようとする課題】
しかしながら、図8に示した従来のディジタル回路では、複数のDAMCの要求を要求された順番に処理を行うために、リクエストキュー51を含む調停回路5を必要とするのため、以下のような問題点があった。
【0029】
まず、リクエストキュー51は、FIFOメモリとその周辺回路で構成されるが、周辺回路が複雑である。特に、タイミングチャートのclk2のタイミングのように、同時に複数のDMAC(n)2(n)から要求があった場合の制御は複雑である。上記図8に示した従来のディジタル回路では、DMAC(0)2(0)〜DMAC(3)2(3)の4個の同時要求に対応しなければならないという問題点があった。
【0030】
また、仕様の変更や類似システムの再設計で処理要求元(上記従来例では、DMAC(n)2(n))の数が増加した場合、リクエストキュー51を含む調停回路5の変更が必要であり、再設計は容易ではないという問題点があった。
【0031】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、複数の処理要求元は、それぞれ処理要求発生時には、入力される要求識別番号をラッチし、要求識別番号を更新して出力し、ラッチした要求識別番号と現要求識別番号とが等しくなった場合に選択信号を出力して処理を開始させ、また処理要求識別番号制御部は、次に発生される処理要求に与えるべき新要求識別番号を先頭の処理要求元の要求識別番号入力とし要求識別番号出力を次の要求識別番号入力とし、これを数珠繋ぎになった各処理要求元で繰り返し、最後尾の処理要求元の要求識別番号出力により新要求識別番号出力を更新し、さらに処理要求識別番号制御部は、処理終了通知に基づいて現要求識別番号出力を更新することにより、リクエストキューを含む複雑な回路を備えることのない単純な回路構成により、複数の処理要求元からの処理要求を要求された順番に処理することができ、また処理要求元の数が変更された場合にも再設計を容易に行うことができる制御回路を提供することである。
【0032】
【課題を解決するための手段】
本発明は、複数の処理要求手段と、前記複数の処理要求手段からの処理要求に基づく処理を実行する実行手段と、前記複数の処理要求手段からの処理要求を制御するための制御手段とを有し、前記複数の処理要求手段からの処理要求に基づく処理の実行順序を制御する制御回路において、前記複数の処理要求手段及び前記制御手段は信号線を介して数珠繋ぎ状に接続されており、前記制御手段は、前記処理要求に基づく処理が前記実行手段により実行されたことを示す終了信号を、前記実行手段から受信する終了信号受信手段と、前記受信手段が前記終了信号を受信したことに応じて、実行手段が次に処理すべき処理要求を識別するための第1識別番号を更新して前記複数の処理要求手段に出力する第1識別番号出力手段と、前記複数の処理要求手段による新たな処理要求を識別するための第2識別番号を前記複数の処理要求手段のうち前記制御手段の後段の第1処理要求手段へ出力する第2識別番号出力手段と、前記第2識別番号出力手段により出力された後に前記複数の処理要求手段により転送された前記第2識別番号を受信し、該受信した前記第2識別番号に基づいて前記第2識別番号出力手段が送信すべき前記第2識別番号を更新する更新手段とを有し、前記第1処理要求手段は、前記第2識別番号出力手段から出力される前記第2識別番号を受信する第1受信手段と、前記第1処理要求手段にて前記処理要求が発生した場合に前記第1受信手段により受信された前記第2識別番号をラッチする第1ラッチ手段と、前記第1処理要求手段にて前記処理要求が発生した場合に前記第1受信手段により受信される前記第2識別番号を更新して前記複数の処理要求手段のうち前記第1処理要求手段の後段の第2処理要求手段に転送し、前記第1処理要求手段にて処理要求が発生していない場合には前記第1受信手段により受信される前記第2識別番号を更新することなく前記第2処理要求手段に転送する第1転送手段と、前記第1識別番号出力手段により出力された前記第1識別番号を受信する第2受信手段と、前記第1処理要求手段にて前記処理要求が発生した場合において、前記第1ラッチ手段によりラッチされた前記第2識別番号と前記第2受信手段が受信した前記第1識別番号とが一致した場合に前記処理要求に基づく処理を前記実行手段に実行させるための選択信号を出力する第1選択信号出力手段とを有し、前記第2処理要求手段は、前記第1転送手段から転送される前記第2識別番号を受信する第3受信手段と、前記第2処理要求手段にて前記処理要求が発生した場合に前記第3受信手段により受信された前記第2識別番号をラッチする第2ラッチ手段と、前記第2処理要求手段にて前記処理要求が発生した場合に前記第3受信手段により受信される前記第2識別番号を更新して前記複数の処理要求手段のうち前記第2処理要求手段の後段の第3処理要求手段に転送し、前記第2処理要求手段にて処理要求が発生していない場合には前記第3受信手段により受信される前記第2識別番号を更新することなく前記第3処理要求手段に転送する第2転送手段と、前記第1識別番号出力手段により出力された前記第1識別番号を受信する第4受信手段と、前記第2処理要求手段にて前記処理要求が発生した場合において、前記第2ラッチ手段によりラッチされた前記第2識別番号と前記第4受信手段が受信した前記第1識別番号とが一致した場合に前記処理要求に基づく処理を前記実行手段に実行させるための選択信号を出力する第2選択信号出力手段と、を有することを特徴とする。
【0037】
【発明の実施の形態】
〔第1実施形態〕
以下、図面を参照して本発明を説明する。
【0038】
図1は、本発明の第1実施形態を示すディジタル回路の概略構成を示すブロック図であり、図2は、図1に示す処理要求識別番号制御部6の詳細構成を示すブロック図であり、図3は、図1に示すDMAC(0)102(0)〜DMAC(3)102(3)の詳細構成を示すブロック図であり、図8に示した従来のディジタル回路と同一のものには同一の符号を付してある。
【0039】
図8に示した従来のディジタル回路では、上記の説明のように処理要求元の処理要求は処理要求元に対する処理要求元識別番号で管理されていたが、本実施形態では、処理要求元の処理要求は処理要求元に関係なく、処理要求に対して処理要求識別番号を割り当てて、その処理要求識別番号で管理する。処理要求識別番号は、同時に処理要求が発生する最大数か、それ以上を区別できなければならない。
【0040】
また、処理要求識別番号は順序が決められていなければならない。最後の処理要求識別番号の次は最初の処理要求識別番号とする。図1においては、同時に処理要求が発生する最大数は4なので、処理要求識別番号を0,1,2,3とし、順序は0→1→2→3→0→…として説明する。
【0041】
以下、図1〜図3を参照して、本発明のディジタル回路の構成及び動作について説明する。
【0042】
図1において、cur_reqID信号は現処理要求識別番号を表すものであり、この現処理要求識別番号は次に処理すべき処理要求の処理要求識別番号である。
【0043】
また、new_reqID信号は新処理要求識別番号を表すものであり、この新処理要求識別番号は次に発生する処理要求に対して割り当てる処理要求識別番号である。現処理要求識別番号と新処理要求識別番号は最初の処理要求識別番号に初期化され、ともに決められた順序で変化する。
【0044】
cur_reqID信号とnew_reqID信号は、処理要求識別番号制御部6により制御される。
【0045】
処理要求識別番号制御部6は、図2に示すように非常に単純な構成となっている。
【0046】
図2に示すように、処理要求識別番号制御部6において、処理終了信号done入力がアサートされると、セレクタ62は、処理要求識別番号インクリメンタ(request ID Incrementer)61により次の番号に進められた処理要求識別番号を選択し、フリップフロップ(FF)63に出力する。フリップフロップ(FF)63は、この処理要求番号を現処理要求識別番号を示すcur_reqID信号として更新出力する。
【0047】
この現処理要求識別番号を示すnew_reqID信号は、処理要求識別番号制御部6のnew_reqID_outから出力され、各DMAC(n)102(n)を経由して処理要求識別番号制御部6のnew_reqID_inに戻るものであり、上述したように処理要求識別番号制御部6のフリップフロップ64により、各クロック(clk)毎にnew_reqID_inで更新される。
【0048】
また、DMAC(0)102(0)〜DMAC(3)102(3)は同一構成のDMACである。DMAC(n)102(n)は、図3に示すように、図8に示した従来のDMAC(n)2(n)に加えて、アクセス要求req(n)が発生した時に処理要求識別番号(reqID)をラッチするための処理要求識別番号ラッチ部(request ID Latch)21、処理要求識別番号(reqID)を次の番号に進めるための処理要求識別番号インクリメンタ(request ID Incrementer)22、処理要求識別番号ラッチ部21でラッチされた処理要求識別番号req_IDと現処理要求識別番号cur_reqとを比較するための一致回路23、セレクタ24、論理積回路25,27、reqがアサート開始された時に1クロックだけ「High」となる信号を生成するパルス生成回路(pulse gen.)26が付加された構成である。
【0049】
DMAC(n)102(n)は、アクセス要求が発生すると、req(n)信号がアサートされ、reqID_in(n)に入力されるnew_reqID信号(DMAC(0)102(0)の場合)か前のDMAC(n−1)102(n−1)のreqID_out(n−1)信号(DMAC(0)102(0)以外の場合)の処理要求識別番号を処理要求識別番号ラッチ部21にラッチし、同時にreqID_out(n)として、処理要求識別番号インクリメンタ22によりインクリメントされたreqID_in(n)の処理要求識別番号の次の処理要求識別番号をセレクタ24により選択して出力する。
【0050】
これにより、複数のDMACに同時にアクセス要求が発生した時でもそれらの要求に対して異なる処理要求識別番号が割り当てられる。もちろん、DMAC(n)102(n)はアクセス要求が発生した時以外、すなわちパルス生成回路26の出力が「Low」の時には、reqID_out(n)にはreqID_in(n)と同じ処理要求識別番号を出力する。この切り替えは、セレクタ24にて実現される。そして、処理要求識別番号ラッチ部21にラッチされた処理要求識別番号がその時のアクセス要求に割り当てられた処理要求識別番号である。
【0051】
DMAC(n)102(n)は、アクセス要求中に、その要求に割り当てられた処理要求番号(処理要求識別番号ラッチ部21にラッチされた処理要求識別番号)と処理要求識別番号制御部6が出力する現処理要求識別番号cur_reqIDとが一致すると、一致回路23と論理積回路25により、sel(n)を「High」とする。
【0052】
つまり、次に処理すべきアクセス要求が自身のアクセス要求である時に、sel(n)が「High」となる。なお、論理積回路25はアクセス要求中でない時にsel(n)を「Low」に保つためのものである。
【0053】
また、バスコントローラ1は、各DMAC(n)102(n)のsel(n)の論理和回路104による論理和をreqの入力とし、reqがアサートされると、論理和回路4から出力されるaddrに基づいて、図示しないメモリへのアクセスを開始し、該メモリへのアクセスが完了すると、処理終了信号doneをアサートする。この処理終了信号doneは、全てのDMAC102に送られる。
【0054】
そして、各DMAC(n)102(n)は、論理積回路27により、処理終了信号doneと自身のsel(n)との論理積回路27による論理積出力をdone(n)とし、done(n)がアサートされれば、自身のアクセス要求の処理が完了したことを知り、req(n)をディアサートする。
【0055】
図4,図5は、図1〜図3に示した本発明の第1実施形態を示すディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートであり、特に、DMAC(0)102(0)とDMAC(3)102(3)からアクセス要求があり、DMAC(0)のアクセス要求の処理中にさらにDMAC(1)102(1)とDMAC(2)102(2)から要求があった場合(即ち、図9,図10で示した場合と同一の場合)についての本実施形態における動作に対応する。
【0056】
まず、現処理要求識別番号と新処理要求識別番号を示すcur_reqID信号とnew_reqID信号は最初の処理要求識別番号である「0」に初期化される。
【0057】
DMAC(0)102(0)とDMAC(3)102(3)からのアクセス要求、req0とreq3がアサートされる(clk1)と、それぞれの内部の処理要求識別番号ラッチ部21に処理要求識別番号を示すreqID_in(0)信号「0」とreqID_in(3)信号「1」がラッチされる(clk2)。同時に、新処理要求識別信号を示すnew_reqID信号が「2」に更新される(clk2)。
【0058】
DMAC(0)102(0)では現処理要求識別番号を示すcur_reqID信号が「0」で、自身でラッチした処理要求識別番号「0」と等しいので、sel0を「High」にする(clk2)。従って、addrにはDMAC(0)102(0)がaddr0に出力するAが出力される。
【0059】
バスコントローラ1は、sel0が「High」となることでアクセス要求信号reqがアサートされるので、アドレスAのメモリヘのアクセスを実行し、完了すると、処理終了信号doneをアサートする(clk7)。
【0060】
このメモリアクセス中に、clk6のタイミングで、DMAC(1)102(1)はreq1をアサートし、処理要求識別番号「2」をラッチし、処理要求識別番号を示すreqID信号は「3」に更新される。
【0061】
さらに、clk8のタイミングでDMAC(2)102(2)はreq2をアサートし、処理要求識別番号「3」をラッチし、処理要求識別番号を示すreqID_out(2)信号は「0」に更新される。
【0062】
また、DMAC(0)102(0)は、自身の選択信号sel0が「High」で、処理終了信号doneがアサートされたので(clk7)、req0をディアサートする(clk8)。
【0063】
また、処理要求識別番号制御部6は処理終了信号doneのアサートで、現処理要求識別番号を示すcur_reqID信号を「1」に更新する(clk8)。cur_reqID信号が「1」に更新されると、DMAC(3)102(3)でラッチされた処理要求識別番号「1」と現処理要求識別番号を示すcur_reqID信号「1」が等しくなるので、DMAC(3)102(3)はsel3を「High」にする(clk8)。再び、reqがアサートされ、バスコントローラ1によるDMAC(3)102(3)のアクセス要求の処理が開始される。
【0064】
以後、同様にして、タイミングチャートに示すように、DMAC(1)102(1)とDMAC(2)102(2)のアクセス要求の処理が行われる。
【0065】
以上の構成により、リクエストキューを含む複雑な回路(例えば、図8に示した調停回路5)を設けることなく、複数の処理要求元(DMAC)からの処理要求を処理要求順に順次処理することが可能となる。従って、従来より単純な回路構成となり、また、処理要求元の数の変更に対しても、再設計を容易に行うことができる。
【0066】
〔第2実施形態〕
図6は、本発明の第2実施形態を示すディジタル回路の概略構成を示すブロック図であり、図7は、図6に示すDMAC(0)202(0)〜DMAC(3)202(3)の詳細構成を示すブロック図であり、図1,図3と同一のものには同一の符号を付してある。
【0067】
図6,図7に示すように、DMAC(n)202(n)は、図3に示した本発明の第1実施形態のDMAC102に対して、内部のみで使用していた信号req(n)を外部に出力するように構成したものである。
【0068】
また、上記第1実施形態では、各DMAC(n)102(n)の選択信号sel(n)の論理和信号を論理和回路4で生成し、バスコントローラ1のreq信号としていた。このように構成することで、バスコントローラ1のreq信号がアサートされるタイミングで、バスコントローラ1の入力信号addrにもアクセスすべきメモリのアドレスが確定する。
【0069】
パスコントローラ1がメモリをアクセスする場合、通常まず、バスの使用権を得るために、バスリクエスト(bus request)信号をアサートし、バスの使用許可を示すバスグラント(busgrant)信号がアサートされるのを待ってから、メモリのアクセスを開始する。バスリクエスト信号をアサー卜してから、バスグラント(busgrant)信号がアサートされるまでの間はメモリのアドレスは必要ない。
【0070】
このような場合、図6に示すように各DMAC(n)202(n)の選択信号sel(n)の代わりにアクセス要求信号req(n)の論理和信号を論理和回路4で生成し、バスコントローラ1のreq信号にするように構成しても、addr信号の確定はreq信号のアサートに対して1クロック遅れるが、バスコントローラ1は正常に動作する。
【0071】
従って、本実施形態の構成では、上記第1実施形態で示した構成に比べて、バスコントローラ1でのメモリアクセスの開始を早めることができる。
【0072】
また、上記第1実施形態では、処理要求識別番号を0,1,2,3(0→1→2→3→0→…)のような通常にカウントアップするものとしたが、処理要求識別番号はこれに限られるものではなく、使用する処理要求識別番号はDMAC102(202)内の処理要求識別番号インクリメンタ22と処理要求識別番号制御部6内の処理要求識別番号インクリメンタ61の構成による。
【0073】
例えば、通常のカウンタより単純な回路構成となるジョンソンカウンタを用いれば、処理要求識別番号は00B→01B→11B→10B→00B→…(Bはその前の数字が2進数表示であることを示す)とすることができる。さらに、単純な回路構成のリングカウンタを用いれば、0001B→0010B→0100B→1000B→0001B→…とすることができる。
【0074】
また、上記各実施形態では、4個の処理要求元(DMAC)に対して、処理要求識別番号の個数を4個としていたが、この処理要求番号の個数は4個以上であれば個数に制限はない。例えば、処理要求識別番号を0→1→2→3→4→5→6→7→0→…としても一向に構わない。
【0075】
さらに、後述するように、4個の処理要求元に対して、8個の処理要求識別番号を使用した場合、処理要求元を増やすような変更や再設計の際、処理要求元が8個までであれば、非常に容易なものとなる。
【0076】
以下に、処理要求元(DMAC)の数を増加するような変更について説明する。
【0077】
処理要求元(DMAC)の数が増加して、それまで使用していた処理要求識別番号の個数が足りなくなった場合は、DMAC102(202)内の処理要求識別番号インクリメンタ22と処理要求識別番号制御部6内の処理要求識別番号インクリメンタ61を変更する必要がある。
【0078】
新たな処理要求識別番号が必要とするビット数がそれまで使用していた処理要求識別番号のビット数を越えた時には、DMAC102(202)内のラッチ回路21、セレクタ24、一致回路23や論理積回路25,27と処理要求識別番号制御部6内のフリップフロップ(FF)63,64、セレクタ62をそのビット数に合わせる必要がある。また、最後に論理和回路104の入力数を増加した処理要求元の数に合わせる。このように、全ての変更は機械的に行えるものばかりである。
【0079】
さらに、もし、増加した処理要求元の数が、それまで使用していた処理要求識別番号の個数を越えない場合には、単に論理和回路4の入力数を増加した処理要求元の数に合わせるように変更するのみである。
【0080】
以上説明したように本発明は、従来必要であったリクエストキューを含む複雑な回路(例えば、図8に示した調停回路5)を用いることなく、複数の処理要求元からの処理要求を処理要求順に順次処理することを実現できるので、単純な構成で、小規模にすることができる。また、処理要求元の数の変更に対しても再設計を容易に行うことができる。
【0081】
なお、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
【0082】
また、上記実施形態では、本発明を、複数の処理要求元からのメモリアクセス処理要求に基づいてメモリアクセス処理を実行するディジタル回路に適用する場合について説明したが、本発明は、複数の処理要求元とそれらの処理要求を処理要求順に順次処理を行うように制御するディジタル回路であれば、メモリアクセス処理以外の処理を行う回路にも適用可能である。
【0083】
【発明の効果】
以上説明したように、本発明によれば、リクエストキューを含む複雑な回路を用いることなく、単純な回路構成により、複数の処理要求元からの処理要求を処理要求順に順次処理することができ、また、処理要求元の数の変更に対しても再設計を容易に行うことができる効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示すディジタル回路の概略構成を示すブロック図である。
【図2】図1に示す処理要求識別番号制御部の詳細構成を示すブロック図である。
【図3】図1に示すDMAC(0)〜DMAC(3)の詳細構成を示すブロック図である。
【図4】図1〜図3に示した本発明の第1実施形態を示すディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートである。
【図5】図1〜図3に示した本発明の第1実施形態を示すディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートである。
【図6】本発明の第2実施形態を示すディジタル回路の概略構成を示すブロック図である。
【図7】図6に示すDMAC(0)〜DMAC(3)の詳細構成を示すブロック図である。
【図8】従来のディジタル回路の構成を示すブロック図である。
【図9】図8に示した従来のディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートである。
【図10】図8に示した従来のディジタル回路における処理要求処理時の主信号のタイミングを示すタイミングチャートである。
【符号の説明】
1 バスコントローラ(Bus Cntroller)
3(0)〜3(3) 論理積回路
6 処理要求識別番号制御部(Request ID Cntroller)
21 処理要求識別番号ラッチ部(request ID Latch)
22 処理要求識別番号インクリメンタ(request ID Incrementer)
23 一致回路
24 セレクタ
25 論理積回路
26 パルス生成回路
27 論理積回路
61 処理要求識別番号インクリメンタ(request ID Incrementer)
62 セレクタ
63 フリップフロップ(FF)
64 フリップフロップ(FF)
102(0)〜102(3) DMAコントローラ(DMAC)
104 論理和回路
202(0)〜202(3) DMAコントローラ(DMAC)[0001]
BACKGROUND OF THE INVENTION
The present invention controls a plurality of processing request sources and their processing requests to be sequentially processed in the order of processing requests. Control circuit It is about.
[0002]
[Prior art]
Digital circuits often include a plurality of processing request sources and an arbitration circuit that controls the processing requests so that the processing requests are sequentially processed in a certain order. For example, there are a plurality of DMA controllers (direct memory access controllers; hereinafter referred to as DMACs), which access memory via a CPU (central processing unit). An access request to a memory from a plurality of DMACs is selected by the arbitration circuit, and one access request is selected. When the access is completed, the next arbitration is entered.
[0003]
There are several methods for mediation. First, arbitration based on a fixed priority is a scheme in which a fixed priority is given to a processing request source and arbitration is performed based on the fixed priority, and the circuit configuration is simple. For example, there are four DMACs, that is, DMAC (0), DMAC (1), DMAC (2), and DMAC (3), and DMAC (0) has the highest priority, and DMAC (1) and DMAC (2) It is assumed that the priority order is sequentially decreased and the priority order that the DMAC (3) is the lowest is given.
[0004]
Then, when there is a memory access request from a plurality of DMACs, one having a higher priority is always selected. Accordingly, a request for a DMAC with a lower priority is not selected as long as there is a request for a DMAC with a higher priority.
[0005]
For this reason, arbitration with a fixed priority order is a system where there is no problem even if processing of a processing request source having a low priority level is held for a long time, or a system in which the number of requests from each processing request source is low and multiple simultaneous requests are extremely rare Adopted.
[0006]
On the other hand, the round robin method is often used in a system that does not allow a processing request source process to be held for a long time.
[0007]
In the round robin method, the priority order for the processing request source is dynamically changed. As in the example described above, as the initial priority, it is assumed that DMAC (0) has the highest priority, DMAC (1), DMAC (2) sequentially lower priority, and DMAC (3) has the lowest priority. Priority shall be given.
[0008]
Then, when there are memory access requests from a plurality of DMACs, the one with the higher priority at that time is selected. For example, if there is a memory access request from DMAC (1), the DMAC (2) having the second highest priority after DMAC (1) has the highest priority after the access is completed, and the priority of DMAC (1) is the highest. Arbitration is performed so that the lowest priority is obtained, that is, the priority order is changed to DMAC (2), DMAC (3), DMAC (0), and DMAC (1), and this is repeated.
[0009]
In this method, if a processing request source issues a request, the request is always processed regardless of the order in which the other processing request sources issue requests.
[0010]
Note that the round robin method is not processed in the order of processing requests. For example, when there is an access request from DMAC (0) and DMAC (3) first, the DMAC (0) access request is processed. If there are further requests from DMAC (1) and DMAC (2) during the processing, they will be processed in the order of DMAC (0), DMAC (1), DMAC (2), DMAC (3). The DMAC (3) access request generated at the end is processed last. As the number of processing request sources increases, the holding time of such processing requests increases.
[0011]
If such processing requests cannot be held, it is necessary to sequentially perform processing in the order of processing requests.
[0012]
FIG. 8 is a block diagram showing the configuration of a conventional digital circuit. In particular, access requests for four DMACs, DMAC (0), DMAC (1), DMAC (2), and DMAC (3), are sequentially processed in the order of processing requests. Corresponds to the case.
[0013]
As shown in the figure, 2 (0), 2 (1), 2 (2), and 2 (3) are DMAs having the same configuration, and DMAC (0), DMAC (1), DMAC (2), and DMAC, respectively. Corresponding to (3), the processing request signal req (n) of each of these DMAC (n) 2 (n) (hereinafter, n = 0, 1, 2, 3) is connected to the
[0014]
In addition, 3 (0), 3 (1), 3 (2), and 3 (3) are AND circuits, and each of these AND circuits 3 (n) is each DMAC (n) 2 (n). The address signal of the address sel (n) is added to the addr (n) of the address signal (represented by the address signal for the sake of explanation, although other signals are actually required). Output. Note that the address signal addr (n) of the DMAC (n) 2 that is not selected is set to logic “0”.
[0015]
The
[0016]
The
[0017]
When this processing end signal done is input, the
[0018]
The
[0019]
9 and 10 are timing charts showing timings of main signals at the time of processing request processing in the conventional digital circuit shown in FIG. 8. In particular, there are access requests from DMAC (0) and DMAC (3). This corresponds to the operation when there is a further request from DMAC (1) and DMAC (2) during the processing of the DMAC (0) access request.
[0020]
As shown in the figure, the FIFO memory of the
[0021]
At the same time, the notempty signal becomes “High” (clk2). The
[0022]
The
[0023]
The
[0024]
The
[0025]
The
[0026]
Thereafter, similarly, as shown in the timing chart, access request processing of DMAC (1) 2 (1) and DMAC (2) 2 (2) is performed. When one data is removed from the FIFO memory of the
[0027]
As described above, the conventional digital circuit shown in FIG. 8 has DMAC (0) 2 (0), DMAC (1) 2 (1), DMAC (2) 2 (2), DMAC (3) 2 (3 ) Four DMAC access requests can be sequentially processed in the order of processing requests.
[0028]
[Problems to be solved by the invention]
However, the conventional digital circuit shown in FIG. 8 requires the
[0029]
First, the
[0030]
Further, when the number of processing request sources (in the above-described conventional example, DMAC (n) 2 (n)) increases due to specification change or similar system redesign, the
[0031]
The present invention has been made to solve the above-described problems. An object of the present invention is to allow a plurality of processing request sources to latch input request identification numbers when processing requests occur, and When the latched request identification number is equal to the current request identification number, a selection signal is output to start the processing, and the processing request identification number control unit The new request identification number to be given to the request is input as the request identification number of the first processing request source, the request identification number output is input as the next request identification number, and this is repeated at each processing request source connected in a row, and the last processing is performed. The new request identification number output is updated by the request source identification number output, and the processing request identification number control unit updates the current request identification number output based on the processing end notification to With a simple circuit configuration that does not include a complicated circuit, it is possible to process the processing requests from a plurality of processing request sources in the order requested, and even if the number of processing request sources is changed, Easy to design Control circuit Is to provide.
[0032]
[Means for Solving the Problems]
The present invention includes a plurality of processing request means, an execution means for executing processing based on processing requests from the plurality of processing request means, and a control means for controlling processing requests from the plurality of processing request means. And a control circuit for controlling the execution order of processing based on processing requests from the plurality of processing requesting means, wherein the plurality of processing requesting means and the control means are connected via signal lines. Rosary chain And an end signal receiving means for receiving from the execution means an end signal indicating that the processing based on the processing request has been executed by the execution means, and the reception means is the end. First identification number output means for updating a first identification number for identifying a processing request to be processed next by the execution means in response to receiving the signal, and outputting the first identification number to the plurality of processing request means; A second identification number output means for outputting a second identification number for identifying a new process request by the plurality of process request means to a first process request means downstream of the control means among the plurality of process request means; , Receiving the second identification number transferred by the plurality of processing request means after being output by the second identification number output means, and based on the received second identification number, the second identification number output means Updating means for updating the second identification number to be transmitted by And the first processing request means receives the second identification number output from the second identification number output means; When the processing request is generated by the first processing request means First latching means for latching the second identification number received by the first receiving means; and the first receiving means received by the first receiving means when the processing request is generated by the first processing requesting means. 2 When the identification number is updated and transferred to the second process request means subsequent to the first process request means among the plurality of process request means, and no process request is generated in the first process request means Is a first transfer means for transferring the second identification number received by the first receiving means to the second processing request means without updating, and the first identification output by the first identification number output means. Second receiving means for receiving a number; When the processing request is generated by the first processing request unit, Selection for causing the execution means to execute processing based on the processing request when the second identification number latched by the first latch means matches the first identification number received by the second receiving means. First selection signal output means for outputting a signal, wherein the second processing request means is a third receiving means for receiving the second identification number transferred from the first transfer means, When the processing request is generated by the second processing request means Second latch means for latching the second identification number received by the third receiving means; and the second receiving means received by the third receiving means when the processing request is generated by the second processing request means. 2 When the identification number is updated and transferred to the third process request means subsequent to the second process request means among the plurality of process request means, and no process request is generated in the second process request means Is a second transfer means for transferring to the third processing request means without updating the second identification number received by the third receiving means, and the first identification output by the first identification number output means. A fourth receiving means for receiving a number; When the processing request is generated by the second processing request unit, Selection for causing the execution means to execute processing based on the processing request when the second identification number latched by the second latch means matches the first identification number received by the fourth receiving means And a second selection signal output means for outputting a signal.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
[First Embodiment]
The present invention will be described below with reference to the drawings.
[0038]
FIG. 1 is a block diagram showing a schematic configuration of a digital circuit showing a first embodiment of the present invention. FIG. 2 is a block diagram showing a detailed configuration of a processing request identification
[0039]
In the conventional digital circuit shown in FIG. 8, the processing request source processing request is managed by the processing request source identification number for the processing request source as described above, but in this embodiment, the processing request source processing is performed. Regardless of the processing request source, a request is assigned a processing request identification number to the processing request and is managed by the processing request identification number. The processing request identification number must be able to distinguish between the maximum number of processing requests generated at the same time or more.
[0040]
Further, the order of processing request identification numbers must be determined. Next to the last processing request identification number is the first processing request identification number. In FIG. 1, since the maximum number of processing requests that can be generated simultaneously is 4, the processing request identification numbers are 0, 1, 2, 3, and the order is 0 → 1 → 2 → 3 → 0 →.
[0041]
The configuration and operation of the digital circuit of the present invention will be described below with reference to FIGS.
[0042]
In FIG. 1, the cur_reqID signal represents the current processing request identification number, and this current processing request identification number is the processing request identification number of the processing request to be processed next.
[0043]
The new_reqID signal represents a new process request identification number, and this new process request identification number is a process request identification number assigned to a process request to be generated next. The current process request identification number and the new process request identification number are initialized to the first process request identification number, and both change in a predetermined order.
[0044]
The cur_reqID signal and the new_reqID signal are controlled by the processing request identification
[0045]
The processing request identification
[0046]
As shown in FIG. 2, when the processing end signal done input is asserted in the processing request identification
[0047]
The new_reqID signal indicating the current process request identification number is output from new_reqID_out of the process request identification
[0048]
DMAC (0) 102 (0) to DMAC (3) 102 (3) are DMACs having the same configuration. As shown in FIG. 3, the DMAC (n) 102 (n) is a processing request identification number when an access request req (n) is generated in addition to the conventional DMAC (n) 2 (n) shown in FIG. A processing request identification number latch unit (request ID Latch) 21 for latching (reqID), a processing request identification number incrementer (request ID incrementer) 22 for advancing the processing request identification number (requestID) to the next number, and
[0049]
When an access request occurs, the DMAC (n) 102 (n) asserts the req (n) signal, and the new_reqID signal (in the case of DMAC (0) 102 (0)) input to reqID_in (n) Latch the processing request identification number of the reqID_out (n-1) signal of DMAC (n-1) 102 (n-1) (in the case other than DMAC (0) 102 (0)) in the processing request identification
[0050]
Thus, even when access requests are simultaneously generated for a plurality of DMACs, different processing request identification numbers are assigned to these requests. Of course, the DMAC (n) 102 (n) has the same processing request identification number as reqID_in (n) for reqID_out (n) except when an access request is generated, that is, when the output of the
[0051]
The DMAC (n) 102 (n) has a processing request number assigned to the request (processing request identification number latched in the processing request identification number latch unit 21) and the processing request identification
[0052]
That is, when the next access request to be processed is its own access request, sel (n) becomes “High”. The AND
[0053]
In addition, the
[0054]
Then, each DMAC (n) 102 (n) uses the
[0055]
FIGS. 4 and 5 are timing charts showing timings of main signals at the time of processing request processing in the digital circuit showing the first embodiment of the present invention shown in FIGS. 1 to 3, and in particular, DMAC (0) 102. There are access requests from (0) and DMAC (3) 102 (3), and further requests from DMAC (1) 102 (1) and DMAC (2) 102 (2) during the access request processing of DMAC (0). This corresponds to the operation in the present embodiment for the case (that is, the same case as shown in FIGS. 9 and 10).
[0056]
First, the cur_reqID signal and new_reqID signal indicating the current process request identification number and the new process request identification number are initialized to “0” which is the first process request identification number.
[0057]
When access requests from DMAC (0) 102 (0) and DMAC (3) 102 (3) and req0 and req3 are asserted (clk1), the processing request identification number is stored in each internal processing request identification
[0058]
In DMAC (0) 102 (0), the cur_reqID signal indicating the current processing request identification number is “0”, which is equal to the processing request identification number “0” latched by itself, so sel0 is set to “High” (clk2). Therefore, A output from DMAC (0) 102 (0) to addr0 is output to addr.
[0059]
Since the access request signal req is asserted when sel0 becomes “High”, the
[0060]
During this memory access, at the timing of clk6, DMAC (1) 102 (1) asserts req1, latches the processing request identification number “2”, and updates the reqID signal indicating the processing request identification number to “3”. Is done.
[0061]
Further, at the timing of clk8, DMAC (2) 102 (2) asserts req2, latches the processing request identification number “3”, and the reqID_out (2) signal indicating the processing request identification number is updated to “0”. .
[0062]
The DMAC (0) 102 (0) deasserts req0 (clk8) because its selection signal sel0 is “High” and the processing end signal done is asserted (clk7).
[0063]
The processing request identification
[0064]
Thereafter, similarly, as shown in the timing chart, access request processing of DMAC (1) 102 (1) and DMAC (2) 102 (2) is performed.
[0065]
With the above configuration, processing requests from a plurality of processing request sources (DMAC) can be sequentially processed in the order of processing requests without providing a complicated circuit including a request queue (for example, the
[0066]
[Second Embodiment]
FIG. 6 is a block diagram showing a schematic configuration of a digital circuit showing a second embodiment of the present invention, and FIG. 7 shows DMAC (0) 202 (0) to DMAC (3) 202 (3) shown in FIG. FIG. 4 is a block diagram showing the detailed configuration of FIG. 1, and the same components as those in FIG. 1 and FIG.
[0067]
As shown in FIGS. 6 and 7, the DMAC (n) 202 (n) is a signal req (n) used only inside the
[0068]
In the first embodiment, the logical sum signal of the selection signal sel (n) of each DMAC (n) 102 (n) is generated by the
[0069]
When the
[0070]
In such a case, as shown in FIG. 6, the
[0071]
Therefore, in the configuration of the present embodiment, the start of memory access in the
[0072]
In the first embodiment, the process request identification number is normally counted up as 0, 1, 2, 3 (0 → 1 → 2 → 3 → 0 →...). The number is not limited to this, and the processing request identification number to be used depends on the configuration of the processing request
[0073]
For example, when a Johnson counter having a simpler circuit configuration than a normal counter is used, the processing request identification number is 00B → 01B → 11B → 10B → 00B →... (B indicates that the previous number is a binary number display. ). Further, if a ring counter having a simple circuit configuration is used, 0001B → 0010B → 0100B → 1000B → 0001B →.
[0074]
In each of the above embodiments, the number of processing request identification numbers is four for four processing request sources (DMACs). However, the number of processing request numbers is limited to four if the number is four or more. There is no. For example, the processing request identification number may be set as 0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 0 →.
[0075]
Further, as will be described later, when eight process request identification numbers are used for four process request sources, the number of process request sources is limited to eight when changing or redesigning to increase the process request sources. If so, it will be very easy.
[0076]
Hereinafter, a change that increases the number of processing request sources (DMAC) will be described.
[0077]
When the number of processing request sources (DMAC) increases and the number of processing request identification numbers used so far becomes insufficient, the processing request
[0078]
When the number of bits required by the new processing request identification number exceeds the number of bits of the processing request identification number used so far, the
[0079]
Furthermore, if the increased number of processing request sources does not exceed the number of processing request identification numbers used so far, the number of inputs of the
[0080]
As described above, according to the present invention, processing requests from a plurality of processing request sources can be processed without using a complicated circuit (for example, the
[0081]
The present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device.
[0082]
In the above-described embodiment, the case where the present invention is applied to a digital circuit that executes memory access processing based on memory access processing requests from a plurality of processing request sources has been described. Any digital circuit that controls the original and their processing requests so as to sequentially process them in the order of processing requests can be applied to a circuit that performs processing other than memory access processing.
[0083]
【The invention's effect】
As described above, according to the present invention, processing requests from a plurality of processing request sources can be sequentially processed in the order of processing requests by using a simple circuit configuration without using a complicated circuit including a request queue. In addition, there is an effect that redesign can be easily performed even when the number of processing request sources is changed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a digital circuit showing a first embodiment of the present invention.
FIG. 2 is a block diagram showing a detailed configuration of a processing request identification number control unit shown in FIG.
3 is a block diagram showing a detailed configuration of DMAC (0) to DMAC (3) shown in FIG. 1. FIG.
4 is a timing chart showing the timing of a main signal during processing request processing in the digital circuit showing the first embodiment of the present invention shown in FIGS. 1 to 3; FIG.
FIG. 5 is a timing chart showing the timing of a main signal at the time of processing request processing in the digital circuit showing the first embodiment of the present invention shown in FIGS. 1 to 3;
FIG. 6 is a block diagram showing a schematic configuration of a digital circuit showing a second embodiment of the present invention.
7 is a block diagram showing a detailed configuration of DMAC (0) to DMAC (3) shown in FIG. 6;
FIG. 8 is a block diagram showing a configuration of a conventional digital circuit.
9 is a timing chart showing the timing of a main signal at the time of processing request processing in the conventional digital circuit shown in FIG.
10 is a timing chart showing the timing of the main signal at the time of processing request processing in the conventional digital circuit shown in FIG. 8. FIG.
[Explanation of symbols]
1 Bus controller (Bus Controller)
3 (0) -3 (3) AND circuit
6 Process Request Identification Number Control Unit (Request ID Controller)
21 Processing request identification number latch part (request ID Latch)
22 Process Request Identification Number Incrementer (request ID Incrementer)
23 Matching circuit
24 selector
25 AND circuit
26 Pulse generation circuit
27 AND circuit
61 Process Request Identification Number Incrementer (request ID Incrementer)
62 Selector
63 Flip-flop (FF)
64 Flip-flop (FF)
102 (0) to 102 (3) DMA controller (DMAC)
104 OR circuit
202 (0) to 202 (3) DMA controller (DMAC)
Claims (4)
前記複数の処理要求手段からの処理要求に基づく処理を実行する実行手段と、
前記複数の処理要求手段からの処理要求を制御するための制御手段とを有し、前記複数の処理要求手段からの処理要求に基づく処理の実行順序を制御する制御回路において、
前記複数の処理要求手段及び前記制御手段は信号線を介して数珠繋ぎ状に接続されており、
前記制御手段は、
前記処理要求に基づく処理が前記実行手段により実行されたことを示す終了信号を、前記実行手段から受信する終了信号受信手段と、
前記受信手段が前記終了信号を受信したことに応じて、実行手段が次に処理すべき処理要求を識別するための第1識別番号を更新して前記複数の処理要求手段に出力する第1識別番号出力手段と、
前記複数の処理要求手段による新たな処理要求を識別するための第2識別番号を前記複数の処理要求手段のうち前記制御手段の後段の第1処理要求手段へ出力する第2識別番号出力手段と、
前記第2識別番号出力手段により出力された後に前記複数の処理要求手段により転送された前記第2識別番号を受信し、該受信した前記第2識別番号に基づいて前記第2識別番号出力手段が送信すべき前記第2識別番号を更新する更新手段とを有し、
前記第1処理要求手段は、
前記第2識別番号出力手段から出力される前記第2識別番号を受信する第1受信手段と、
前記第1処理要求手段にて前記処理要求が発生した場合に前記第1受信手段により受信された前記第2識別番号をラッチする第1ラッチ手段と、
前記第1処理要求手段にて前記処理要求が発生した場合に前記第1受信手段により受信される前記第2識別番号を更新して前記複数の処理要求手段のうち前記第1処理要求手段の後段の第2処理要求手段に転送し、前記第1処理要求手段にて処理要求が発生していない場合には前記第1受信手段により受信される前記第2識別番号を更新することなく前記第2処理要求手段に転送する第1転送手段と、
前記第1識別番号出力手段により出力された前記第1識別番号を受信する第2受信手段と、
前記第1処理要求手段にて前記処理要求が発生した場合において、前記第1ラッチ手段によりラッチされた前記第2識別番号と前記第2受信手段が受信した前記第1識別番号とが一致した場合に前記処理要求に基づく処理を前記実行手段に実行させるための選択信号を出力する第1選択信号出力手段とを有し、
前記第2処理要求手段は、
前記第1転送手段から転送される前記第2識別番号を受信する第3受信手段と、
前記第2処理要求手段にて前記処理要求が発生した場合に前記第3受信手段により受信された前記第2識別番号をラッチする第2ラッチ手段と、
前記第2処理要求手段にて前記処理要求が発生した場合に前記第3受信手段により受信される前記第2識別番号を更新して前記複数の処理要求手段のうち前記第2処理要求手段の後段の第3処理要求手段に転送し、前記第2処理要求手段にて処理要求が発生していない場合には前記第3受信手段により受信される前記第2識別番号を更新することなく前記第3処理要求手段に転送する第2転送手段と、
前記第1識別番号出力手段により出力された前記第1識別番号を受信する第4受信手段と、
前記第2処理要求手段にて前記処理要求が発生した場合において、前記第2ラッチ手段によりラッチされた前記第2識別番号と前記第4受信手段が受信した前記第1識別番号とが一致した場合に前記処理要求に基づく処理を前記実行手段に実行させるための選択信号を出力する第2選択信号出力手段と、を有することを特徴とする制御回路。A plurality of processing request means;
Execution means for executing processing based on processing requests from the plurality of processing request means;
A control circuit for controlling processing requests from the plurality of processing requesting units, and for controlling a processing execution order based on the processing requests from the plurality of processing requesting units,
The plurality of processing request means and the control means are connected in a daisy chain via a signal line,
The control means includes
An end signal receiving means for receiving, from the execution means, an end signal indicating that the processing based on the processing request has been executed by the execution means;
In response to receipt of the end signal by the receiving means, a first identification number for updating a first identification number for identifying a processing request to be processed next by the execution means and outputting the first identification number to the plurality of processing request means. Number output means;
A second identification number output means for outputting a second identification number for identifying a new process request by the plurality of process request means to a first process request means downstream of the control means among the plurality of process request means; ,
The second identification number output means receives the second identification number transferred by the plurality of processing request means after being output by the second identification number output means, and the second identification number output means is based on the received second identification number. Updating means for updating the second identification number to be transmitted ,
The first process request means includes
First receiving means for receiving the second identification number output from the second identification number output means;
First latch means for latching the second identification number received by the first receiving means when the processing request is generated by the first processing request means ;
When the processing request is generated by the first processing requesting unit, the second identification number received by the first receiving unit is updated, and a subsequent stage of the first processing requesting unit among the plurality of processing requesting units. To the second processing request means, and when the processing request is not generated by the first processing request means, the second identification number received by the first receiving means is updated without updating the second identification number. First transfer means for transferring to the processing request means;
Second receiving means for receiving the first identification number output by the first identification number output means;
In the case where the processing request by the first processing request unit occurs, when the first identification number said the latched second identification number the second receiving means has received matches by the first latch means And a first selection signal output means for outputting a selection signal for causing the execution means to execute processing based on the processing request.
The second processing request means includes
Third receiving means for receiving the second identification number transferred from the first transferring means;
Second latch means for latching the second identification number received by the third receiving means when the processing request is generated by the second processing request means ;
When the second processing request means generates the processing request, the second identification number received by the third receiving means is updated, and the second processing request means subsequent to the second processing request means. To the third processing request means, and when the second processing request means does not generate a processing request, the third identification number received by the third receiving means is updated without updating the third identification number. Second transfer means for transferring to the processing request means;
Fourth receiving means for receiving the first identification number output by the first identification number output means;
When the processing request is generated by the second processing request unit, the second identification number latched by the second latch unit matches the first identification number received by the fourth receiving unit. And a second selection signal output means for outputting a selection signal for causing the execution means to execute processing based on the processing request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002003979A JP4174213B2 (en) | 2002-01-11 | 2002-01-11 | Control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002003979A JP4174213B2 (en) | 2002-01-11 | 2002-01-11 | Control circuit |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003208397A JP2003208397A (en) | 2003-07-25 |
JP2003208397A5 JP2003208397A5 (en) | 2005-07-28 |
JP4174213B2 true JP4174213B2 (en) | 2008-10-29 |
Family
ID=27643427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002003979A Expired - Fee Related JP4174213B2 (en) | 2002-01-11 | 2002-01-11 | Control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4174213B2 (en) |
-
2002
- 2002-01-11 JP JP2002003979A patent/JP4174213B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003208397A (en) | 2003-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100932359B1 (en) | Switch matrix system with multiple bus arbitrations per cycle with high frequency mediator | |
US6907478B2 (en) | Systems and methods optimizing data transfer throughput of a system on chip | |
US8838862B2 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
US5822595A (en) | Method and apparatus for providing an interrupt handler employing a token window scheme | |
US6763448B1 (en) | Microcomputer and microcomputer system | |
WO2005119465A1 (en) | Data processing unit and bus arbitration unit | |
JP2010282405A (en) | Data processing system | |
US7296175B2 (en) | System on a chip bus with automatic pipeline stage insertion for timing closure | |
JP3954011B2 (en) | Method and computer system for communicating between subsystems | |
US9984014B2 (en) | Semiconductor device | |
US7073003B2 (en) | Programmable fixed priority and round robin arbiter for providing high-speed arbitration and bus control method therein | |
JP4174213B2 (en) | Control circuit | |
JPH06110829A (en) | Bus use request arbiter | |
US7529960B2 (en) | Apparatus, system and method for generating self-generated strobe signal for peripheral device | |
US5548797A (en) | Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal | |
US7673091B2 (en) | Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system | |
JP4182246B2 (en) | Bus sharing system and bus sharing method | |
JP2008059047A (en) | Information processing system and control method therefor | |
JP2000132505A (en) | Bus access method and device therefor, and device and system using the bus access method and device | |
JP4245852B2 (en) | Direct memory access device | |
KR100487218B1 (en) | Apparatus and method for interfacing an on-chip bus | |
JP4124579B2 (en) | Bus control system | |
JP2002342266A (en) | Data processor | |
JP2007172105A (en) | Interruption arbitration system and interruption arbitration method | |
JP2005157929A (en) | Semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080331 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080513 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080709 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080805 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080818 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130822 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |