JP2011141580A - アクセス制御装置、データ処理装置、アクセス制御方法およびプログラム - Google Patents
アクセス制御装置、データ処理装置、アクセス制御方法およびプログラム Download PDFInfo
- Publication number
- JP2011141580A JP2011141580A JP2010000285A JP2010000285A JP2011141580A JP 2011141580 A JP2011141580 A JP 2011141580A JP 2010000285 A JP2010000285 A JP 2010000285A JP 2010000285 A JP2010000285 A JP 2010000285A JP 2011141580 A JP2011141580 A JP 2011141580A
- Authority
- JP
- Japan
- Prior art keywords
- permission
- unit
- value
- signal
- data processing
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Abstract
【課題】クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、データ転送効率を向上させる。
【解決手段】アクノリッジ信号供給部220は、データ転送を許可するクライアントを検出するための許可対象検出情報とクライアントからの要求状態信号とに基づいて、許可対象検出情報より特定されるクライアントのデータ転送を許可する許可信号を供給するか否かを決定する。許可クライアント検出部210は、データ転送が行われている期間において、データ転送を許可するクライアントを検出するための許可対象検出情報の値を順次更新する。
【選択図】図1
【解決手段】アクノリッジ信号供給部220は、データ転送を許可するクライアントを検出するための許可対象検出情報とクライアントからの要求状態信号とに基づいて、許可対象検出情報より特定されるクライアントのデータ転送を許可する許可信号を供給するか否かを決定する。許可クライアント検出部210は、データ転送が行われている期間において、データ転送を許可するクライアントを検出するための許可対象検出情報の値を順次更新する。
【選択図】図1
Description
本発明は、アクセス制御装置に関し、特に複数のデータ処理部に関するアクセス制御を行うアクセス制御装置、データ処理装置およびアクセス制御方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
近年、電子機器の発達とともに、コンピュータ内の各装置におけるデータの処理速度が著しく向上している。このように、各装置におけるデータの処理速度が向上するにつれ、データを蓄積するメモリと、データを処理する装置(クライアント)との間を接続するバスにおけるデータ転送の効率を向上させることが求められている。このため、例えば、複数のクライアントとメモリとの間を接続するバスにおけるデータ転送の効率を向上させるデータ処理装置が多数提案されている。
このようなデータ処理装置として、例えば、バスに接続されているクライアントを順次特定するためのカウンタ値を用いて、データ転送を行うクライアントを、ラウンドロビン方式により検出するバス制御装置が提案されている(例えば、特許文献1参照。)。このバス制御装置は、クライアントを識別するための識別子を各クライアントに割り当て、カウンタ値を順次更新する。そして、このバス制御装置は、そのカウンタ値の更新を行いながら、更新後のカウンタ値を全てのクライアントに順次供給する。
そして、供給されたカウンタ値により特定される識別子が割り当てられたクライアントがメモリアクセスを要求している場合にそのクライアントについてメモリアクセスを許可するとともに、メモリアクセスを実行している間、カウンタ値の更新を停止させる。すなわち、メモリアクセスを要求しているクライアントが、供給されたカウンタ値に対応するクライアントである場合には、そのクライアントについてメモリアクセスが許可され、そのメモリアクセスが実行される。一方、メモリアクセスを要求しているクライアントが、供給されたカウンタ値に対応するクライアントでない場合には、そのクライアントについてメモリアクセスが許可されない。
上述の従来技術によれば、クライアントが割り当てられている識別子を特定するためのカウンタ値のみを供給するため、ポーリング動作に係る処理を軽減することができる。しかしながら、上述の従来技術では、メモリアクセスが許可されたクライアントがそのメモリアクセスの動作を実行している間、カウンタ値の更新を停止させる。このため、メモリアクセスの動作の実行中には、次のメモリアクセスの許可対象となるクライアントを決定することができず、複数のクライアントにより連続してメモリアクセス動作が行われるような場合には、データ転送効率が悪くなるおそれがある。
本発明はこのような状況に鑑みてなされたものであり、データ転送効率を向上させることを目的とする。
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、バスを介してデータ保持部との間でデータ転送を行う複数のデータ処理部について、上記複数のデータ処理部のうちのいずれか1つのデータ処理部を上記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から上記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、上記候補とされたデータ処理部に上記データ転送を許可する許可信号を供給するか否かを決定する決定部と、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が上記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を上記候補の対象として更新する更新部とを具備するアクセス制御装置、データ処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、データ転送が行われている期間において、次のデータ転送の許可対象の候補を更新させることにより、次のデータ転送の許可対象のデータ処理部を検出させるという作用をもたらす。
また、この第1の側面において、上記更新部は、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間が終了するまでの間、所定の順序に従って上記更新を繰り返し行い、当該更新により上記候補の対象となったデータ処理部が上記要求信号を出力している場合に上記更新を停止させるようにしてもよい。これにより、データ転送が行われている期間が終了するまでの間に所定の順序に従って更新を繰り返し行い、候補の対象となったデータ処理部が要求信号を出力している場合に更新を停止させるという作用をもたらす。
また、この第1の側面において、上記更新部は、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間において、当該更新により上記候補の対象となったデータ処理部が上記要求信号を出力していなかった場合において、当該期間の経過後も上記更新を繰り返し行い、上記候補の対象となったデータ処理部が上記要求信号を出力している場合に上記更新を停止させるようにしてもよい。これにより、データ転送が行われている期間において候補の対象となったデータ処理部が要求信号を出力していなかった場合には、当該期間の経過後も更新を繰り返させるという作用をもたらす。
また、この第1の側面において、上記複数のデータ処理部が複数のグループに分類され、上記更新部は、上記グループを単位として上記グループごとに1つのデータ処理部を特定し、上記特定されたデータ処理部を上記候補として上記グループごとに上記更新を行い、上記複数のデータ処理部から出力された上記要求信号に基づいて、上記更新部により上記グループごとに更新された複数の候補のうちから1つの候補を選択する選択部をさらに具備し、上記決定部は、上記選択部により選択された上記候補となる上記データ処理部から上記要求信号が出力されたか否かに基づいて、当該データ処理部に上記許可信号を供給するか否かを決定するようにしてもよい。これにより、複数のデータ処理部が分類された複数のグループごとに更新された複数の候補から1つの次のデータ転送の許可対象の候補を選択させるという作用をもたらす。この場合において、上記グループのそれぞれには、読み出し動作または書き込み動作のうち、同一の動作を行う上記データ処理部のみが含まれるように上記複数のグループへの分類が行われるようにしてもよい。これにより、読み出し動作または書き込み動作のうち、同一の動作を行うデータ処理部のみが含まれるように複数のグループへの分類が行われるという作用をもたらす。この場合において、上記複数のグループのうちの1つのグループを特定するためのグループ情報を保持するグループ情報保持部と、上記1つのグループを順次変更して上記グループ情報を更新するグループ更新部とをさらに具備し、上記選択部は、上記グループ情報により特定されるグループに属する上記データ処理部から上記要求信号が供給されている場合には当該グループに係る候補を上記1つの候補として選択し、上記グループ情報により特定されるグループに属する上記データ処理部から上記要求信号が供給されてない場合には当該グループ以外の他のグループの候補を上記1つの候補として選択するようにしてもよい。これにより、グループ情報により特定されるグループに属するデータ処理部から要求信号が供給されてない場合に他のグループのデータ処理部を候補として選択させるという作用をもたらす。
また、この第1の側面において、上記更新部は、上記次のデータ転送の許可対象の候補として、読み出し動作または書き込み動作のうちの同一の動作を行う上記データ処理部を連続して選択するようにしてもよい。これにより、データ転送の許可対象の候補として、読み出し動作または書き込み動作のうちの同一の動作を行うデータ処理部を連続して選択させるという作用をもたらす。
また、この第1の側面において、上記更新部は、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間が終了するまでの間、上記更新を繰り返し行うようにしてもよい。これにより、データ転送が行われている期間の開始から終了するまでの間、データ転送の許可対象の候補の更新を繰り返させるという作用をもたらす。
また、この第1の側面において、上記更新部は、上記次のデータ転送の許可対象の候補が上記決定により供給された許可信号に基づいて上記データ転送を行っている上記データ処理部である場合において、当該データ処理部が当該データ転送を要求するための上記要求信号を出力している場合には当該データ処理部以外の他のデータ処理部を上記候補の対象として更新するようにしもよい。これにより、データ転送の許可対象の候補がデータ転送を行っているとともにその行っているデータ転送を要求するための要求信号を出力している場合には、他のデータ処理部を候補の対象として更新させるという作用をもたらす。
また、この第1の側面において、上記データ処理部は、上記データ転送が行われている期間において、当該データ転送が終了する所定期間前に上記要求信号の出力を終了し、上記決定部は、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間において当該データ転送を行っているデータ処理部による上記要求信号の出力の終了時から、上記データ転送が行われている期間の終了時までの間に上記次のデータ転送の許可対象の候補とされたデータ処理部に上記データ転送を許可する許可信号を供給するか否かを決定するようにしてもよい。これにより、要求信号の出力が終了した時からデータ転送が行われている期間において、要求信号の出力が終了した時からデータ転送の終了時までの間に次のデータ転送の許可対象の候補とされたデータ処理部にデータ転送を許可する許可信号を供給するか否かを決定させるという作用をもたらす。
また、この第1の側面において、上記更新部は、上記次のデータ転送の許可対象の候補となるデータ処理部を特定するための特定情報を保持する特定情報保持部と、上記特定される特定情報を順次変更して上記特定情報を更新する特定情報更新部と、上記更新を行なうか否か決定し、当該決定により候補となるデータ処理部を特定するための特定情報を上記特定情報保持部に保持させる特定情報決定部とを備えるようにしてもよい。これにより、順次変更される特定情報に基づいて、次のデータ転送の許可対象の候補にデータ転送を許可する許可信号を供給するか否かを決定させるという作用をもたらす。
また、本発明の第2の側面は、データを保持するデータ保持部と、上記データ保持部との間でデータ転送を行う複数のデータ処理部と、上記データ保持部と上記複数のデータ処理部との間を接続するバスと、上記複数のデータ処理部のうちのいずれか1つのデータ処理部を上記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から上記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、上記候補とされたデータ処理部に上記データ転送を許可する許可信号を供給するか否かを決定する決定部と、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が上記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を上記候補の対象として更新する更新部とを具備するデータ処理装置である。これにより、データ転送が行われている期間において、次のデータ転送の許可対象の候補を更新させることにより、次のデータ転送の許可対象のデータ処理部を検出させるという作用をもたらす。
本発明によれば、データ転送効率を向上させることができるという優れた効果を奏し得る。
以下、本発明を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(データ処理制御:クライアントのデータ転送動作と並行して、次にデータ転送を行うクライアントを検出する例)
2.第2の実施の形態(データ処理制御:読み出し動作または書き込み動作のうちの同一の動作を行うクライアントを連続して選択するように許可対象検出情報を設定する例)
3.第3の実施の形態(データ処理制御:複数の許可クライアント検出部を設ける例)
1.第1の実施の形態(データ処理制御:クライアントのデータ転送動作と並行して、次にデータ転送を行うクライアントを検出する例)
2.第2の実施の形態(データ処理制御:読み出し動作または書き込み動作のうちの同一の動作を行うクライアントを連続して選択するように許可対象検出情報を設定する例)
3.第3の実施の形態(データ処理制御:複数の許可クライアント検出部を設ける例)
<1.第1の実施の形態>
[データ処理装置100の機能構成例]
図1は、本発明の第1の実施の形態におけるデータ処理装置100の機能構成例を示すブロック図である。このデータ処理装置100は、DRAM(Dynamic Random Access Memory)110と、バス120と、リフレッシュコントローラ130と、第1乃至第7クライアント141乃至147と、アービタ200とを備える。
[データ処理装置100の機能構成例]
図1は、本発明の第1の実施の形態におけるデータ処理装置100の機能構成例を示すブロック図である。このデータ処理装置100は、DRAM(Dynamic Random Access Memory)110と、バス120と、リフレッシュコントローラ130と、第1乃至第7クライアント141乃至147と、アービタ200とを備える。
なお、本発明の第1の実施の形態では、リフレッシュコントローラ130もクライアントの1つとして考え、リフレッシュコントローラ130および第1乃至第7クライアント141乃至147をクライアントと称することとする。また、本発明の第1の実施の形態では、DRAM110へのデータ転送の要求に関する信号(クライアントがアービタ200に供給する信号)を要求状態信号と称することとする。また、DRAM110へのデータ転送の許可に関する信号(アービタ200からクライアントに供給される信号)を許可状態信号と称することとする。
DRAM110は、第1乃至第7クライアント141乃至147との間でデータの読出し、および、データの書込みを行うための記憶装置である。なお、DRAM110は、特許請求の範囲に記載のデータ保持部の一例である。
バス120は、DRAM110と第1乃至第7クライアント141乃至147との間を相互に接続するバスである。また、このバス120は、DRAM110とリフレッシュコントローラ130との間を相互に接続する。
リフレッシュコントローラ130は、DRAM110の素子に定期的に電荷を補充するリフレッシュ動作を制御するものである。このリフレッシュコントローラ130は、REQ[0]線159を介して、リフレッシュ動作の要求に関する要求状態信号(第0要求状態信号)をアービタ200に供給する。ここで、第0要求状態信号は、リフレッシュコントローラ130がリフレッシュ動作の許可を要求しているか否かを示す1ビットの信号である。なお、リフレッシュ動作の許可を要求している状態における第0要求状態信号のビットの値は「1」であり、許可を要求していない状態における第0要求状態信号のビットの値は「0」であるものとする。このリフレッシュコントローラ120は、例えば、DRAM110にリフレッシュ動作が必要な場合には、第0要求状態信号を「0」から「1」に遷移させる。なお、「1」の値の要求状態信号は、特許請求の範囲に記載の要求信号の一例である。
また、このリフレッシュコントローラ130には、ACK[0]線169を介して、リフレッシュ動作の許可に関する信号(第0許可状態信号)がアービタ200から供給される。ここで、第0許可状態信号は、リフレッシュコントローラ120のリフレッシュ動作が許可されたか否かを示す1ビットの信号である。なお、リフレッシュ動作が許可された状態における第0許可状態信号のビットの値は「1」であり、リフレッシュ動作が許可されていない状態における第0許可状態信号のビットの値は「0」であるものとする。このリフレッシュコントローラ130は、例えば、ACK[0]線169を介して第0許可状態信号の「1」が供給された場合には、リフレッシュ動作をDRAM110に実行させるためのリフレッシュ命令を、バス120を介してDRAM110に供給する。なお、リフレッシュコントローラ130は、特許請求の範囲に記載のデータ処理部の一例である。
第1乃至第7クライアント141乃至147は、バス120を介してDRAM110へデータのデータ転送を行うものである。なお、第2クライアント乃至第7クライアント142乃至147の構成および動作は、第1クライアント141と同一である。このため、ここでは、主に第1クライアント141について説明し、第2乃至第7クライアント142乃至147の説明の一部を省略する。なお、「1」の値の許可状態信号は、特許請求の範囲に記載の許可信号の一例である。
第1クライアント141は、DRAM110との間でデータ転送を行う必要がある場合には、REQ[1]線151を介して、第1クライアント141のメモリアクセス要求に関する要求状態信号(第1要求状態信号)をアービタ200に供給する。ここで、第1要求状態信号は、第1クライアント141がデータ転送の許可を要求しているか否かを示す1ビットの信号である。なお、データ転送の許可を要求している状態における第1要求状態信号のビットの値は「1」であり、許可を要求していない状態における第1要求状態信号のビットの値は「0」であるものとする。この第1クライアント141は、例えば、DRAM110との間でデータ転送を行う必要が生じた場合には、第1要求状態信号を「0」から「1」に遷移させる。
また、この第1クライアント141には、ACK[1]線161を介して、データ転送の許可に関する許可状態信号(第1許可状態信号)がアービタ200から供給される。ここで、第1許可状態信号は、第1クライアント141のデータ転送が許可されたか否かを示す1ビットの信号である。なお、データ転送が許可された状態における第1許可状態信号のビットの値は「1」であり、データ転送が許可されていない状態における第1許可状態信号のビットの値は「0」であるものとする。この第1クライアント141は、例えば、ACK[1]線161を介して第1許可状態信号の「1」が供給された場合には、バス120を介してDRAM110との間でデータ転送を行う。
なお、第2乃至第7クライアント142乃至147の動作は、第1クライアント141と同様のものである。すなわち、第2クライアント142はREQ[2]線152を介して第2要求状態信号を供給し、第3クライアント143はREQ[3]線153を介して第3要求状態信号を供給する。また、第4クライアント144はREQ[4]線154を介して第4要求状態信号を供給し、第5クライアント145はREQ[5]線155を介して第5要求状態信号を供給する。また、第6クライアント146はREQ[6]線156を介して第6要求状態信号を供給し、第7クライアント147はREQ[7]線157を介して第7要求状態信号を供給する。
また、第2クライアント142にはACK[2]線162を介して第2許可状態信号が供給され、第3クライアント143にはACK[3]線163を介して第3許可状態信号が供給される。また、第4クライアント144にはACK[4]線164を介して第4許可状態信号が供給され、第5クライアント145にはACK[5]線165を介して第5許可状態信号が供給される。また、第6クライアント146にはACK[6]線166を介して第6許可状態信号が供給され、第7クライアント147にはACK[7]線167を介して第7許可状態信号が供給される。なお、第1乃至第7クライアント141乃至147は、特許請求の範囲に記載のデータ処理部の一例である。
アービタ200は、リフレッシュコントローラ130および第1乃至第7クライアント141乃至147におけるバス120の各クライアントがバス120を介してDRAM110へのアクセスを行う場合におけるアクセス制御を行うアクセス制御部である。このアービタ200は、どのクライアントがバス120を使用するかを決めるバス調停(バスアービトレーション)を行う。このアービタ200は、REQ線150を介して供給された第0乃至第7要求状態信号(リクエスト信号)に基づいて次のサイクルのアクノリッジ信号を生成する。ここで、サイクルとは、アービタ200におけるクロック信号の周期(クロックサイクル)であり、たとえば、図3で示すクロック信号の経過時間がサイクルを示している。また、アクノリッジ信号とは、リフレッシュコントローラ130および第1乃至第7クライアント141乃至147におけるデータ転送の許可に関する信号である。そして、このアービタ200は、生成したアクノリッジ信号を、ACK線160を介してリフレッシュコントローラ130および第1乃至第7クライアント141乃至147に供給する。ここで、REQ線150は、REQ[0]線159およびREQ[1]乃至[7]線151乃至157の信号線により構成される複数の信号線である。また、ACK線160は、ACK[0]線169およびACK[1]乃至[7]線161乃至167の信号線により構成される複数の信号線である。なお、アービタ200は、特許請求の範囲に記載のアクセス制御装置の一例である。
アービタ200は、許可クライアント検出部210およびアクノリッジ信号供給部220を備える。
このアービタ200は、リフレッシュコントローラ130および第1乃至第7クライアント141乃至147から供給される第0乃至第7要求状態信号を、8ビットの信号(リクエスト信号)として用いる。本発明の第1の実施の形態においては、リクエスト信号の最下位(0番目)のビット(LSB:Least Significant Bit)を第0要求状態信号とし、1番目のビットを第1要求状態信号とし、2番目のビットを第2要求状態信号とする。また、リクエスト信号の3番目のビットを第3要求状態信号とし、リクエスト信号の4番目のビットを第4要求状態信号とし、5番目のビットを第5要求状態信号とする。また、6番目のビットを第6要求状態信号とし、最上位(7番目)のビット(MSB:Most Significant Bit)を第7要求状態信号とする。
また、アービタ200は、リフレッシュコントローラ130および第1乃至第7クライアント141乃至147に供給する第0乃至第7許可状態信号を、8ビットの信号(アクノリッジ信号)として生成し、各ビットを第0乃至第7許可状態信号として供給する。なお、本発明の第1の実施の形態においては、アクノリッジ信号の最下位(0番目)のビット(LSB)を第0許可状態信号とし、1番目のビットを第1許可状態信号とし、2番目のビットを第2許可状態信号とし、3番目のビットを第3許可状態信号とする。また、アクノリッジ信号の4番目のビットを第4許可状態信号とし、5番目のビットを第5許可状態信号とし、6番目のビットを第6許可状態信号とし、最上位(7番目)のビット(MSB)を第7許可状態信号とする。なお、バス120は複数のデータ転送を同時に行えないため、このアクノリッジ信号において「1」の値となるビットの数は、最大で1つである。
許可クライアント検出部210は、次にデータ転送が許可されるクライアントを検出するものである。この許可クライアント検出部210は、データ転送を許可するクライアントを検出するための許可対象検出情報の値を順次更新し、この許可対象検出情報、リクエスト信号およびアクノリッジ信号に基づいて、次にデータ転送が許可されるクライアントを検出する。ここで、許可対象検出情報は、各クライアントに個別に割り当てられている識別子を指定するための情報であり、データ転送を許可するクライアントを検出する際に用いられる情報である。この許可クライアント検出部210は、許可対象検出情報の値と同一の識別子が割り当てられたクライアント(次のデータ転送の許可対象の候補)が要求信号を出力しているか否かに基づいて、次にデータ転送が許可されるクライアントか否か検出する。そして、この許可クライアント検出部210は、次にデータ転送が許可されるクライアントを検出した場合には、許可対象検出情報の更新を一時停止することによってクライアントの検出を一時停止する。なお、許可対象検出情報は、特許請求の範囲に記載の特定情報の一例である。また、許可対象検出情報により指定されるクライアントは、特許請求の範囲に記載のデータ転送の許可対象の候補の一例である。
また、許可クライアント検出部210は、アクノリッジ信号供給部220がクライアントにデータ転送を許可した場合には、そのデータ転送の終了を待たずに、次にデータ転送が許可されるクライアントの検出を許可対象検出情報の更新の再開により開始する。すなわち、この許可クライアント検出部210は、第1乃至第7クライアント141乃至147のいずれかにおけるデータ転送動作と並行して、次にデータ転送を行うクライアントを検出する。
ただし、この許可クライアント検出部210は、データ転送が行われている期間において、許可対象検出情報により特定される次のデータ転送の許可対象の候補となるクライアントが要求状態信号を供給している場合には、許可対象検出情報の更新を停止する。一方、この許可クライアント検出部210は、許可対象検出情報により特定される次のデータ転送の許可対象の候補となるクライアントが要求状態信号を供給していない場合には、許可対象検出情報を更新する。
この許可クライアント検出部210は、許可対象検出情報を、信号線219を介してアクノリッジ信号供給部220に供給する。なお、この許可クライアント検出部210については、図2を参照して詳細に説明する。また、許可クライアント検出部210は、特許請求の範囲に記載の更新部の一例である。
アクノリッジ信号供給部220は、データ転送の許可を要求しているクライアントのうちいずれか1つのクライアントに対してデータ転送を許可するか否かを決定するものである。このアクノリッジ信号供給部220は、許可対象検出情報およびリクエスト信号に基づいて、アクノリッジ信号を供給する。例えば、許可対象検出情報により特定されるクライアントの要求状態信号のビットの値が「1」であるとともにデータ転送が許可されたクライアントがない場合を想定する。この場合には、アクノリッジ信号供給部220は、その許可対象検出情報より特定されるクライアントのデータ転送を許可する。すなわち、このアクノリッジ信号供給部220は、許可対象検出情報より特定されたクライアントが「1」の値の要求信号を供給したか否かに基づいて、「1」の値の許可状態信号をその特定されたクライアントに供給するか否かを決定する。
一方、許可対象検出情報より特定されるクライアントの要求状態信号の値が「1」であるが既に他のクライアントにデータ転送を許可している場合を想定する。この場合には、アクノリッジ信号供給部220は、そのデータ転送の終了とともに許可対象検出情報より特定されるクライアントのデータ転送を許可する。また、このアクノリッジ信号供給部220は、リフレッシュコントローラ130からビットの値が「1」の第0要求状態信号が供給された場合には、次にデータ転送が許可されるクライアントとして、リフレッシュコントローラ130を優先的に決定する。
このアクノリッジ信号供給部220は、生成したアクノリッジ信号の各ビットを、ACK線160を介してリフレッシュコントローラ130および第1乃至第7クライアント141乃至147に供給する。なお、このアクノリッジ信号供給部220については、図2を参照して詳細に説明する。なお、アクノリッジ信号供給部220は、特許請求の範囲に記載の決定部の一例である。
このように、許可クライアント検出部210およびアクノリッジ信号供給部220を設けることによって、クライアントのデータ転送動作と並行して、次にデータ転送を行うクライアントを効率的に検出することができる。
[許可クライアント検出部210およびアクノリッジ信号供給部220の機能構成例]
図2は、本発明の第1の実施の形態における許可クライアント検出部210およびアクノリッジ信号供給部220の機能構成例を示すブロック図である。なお、本発明の第1の実施の形態では、クライアントを識別するための識別子を各クライアントに付与する。また、本発明の第1の実施の形態においては、第1クライアント141には識別子「1」が割り当てられ、第2クライアント142には識別子「2」が割り当てられ、第3クライアント143には識別子「3」が割り当てられるものとする。また、第4クライアント144には識別子「4」が割り当てられ、第5クライアント145には識別子「5」が割り当てられ、第6クライアント146には識別子「6」が割り当てられ、第7クライアント147には識別子「7」が割り当てられるものとする。
図2は、本発明の第1の実施の形態における許可クライアント検出部210およびアクノリッジ信号供給部220の機能構成例を示すブロック図である。なお、本発明の第1の実施の形態では、クライアントを識別するための識別子を各クライアントに付与する。また、本発明の第1の実施の形態においては、第1クライアント141には識別子「1」が割り当てられ、第2クライアント142には識別子「2」が割り当てられ、第3クライアント143には識別子「3」が割り当てられるものとする。また、第4クライアント144には識別子「4」が割り当てられ、第5クライアント145には識別子「5」が割り当てられ、第6クライアント146には識別子「6」が割り当てられ、第7クライアント147には識別子「7」が割り当てられるものとする。
また、本発明の第1の実施の形態では、許可対象検出情報として、「1」乃至「7」を示す3ビットのビット列(すなわち、「1」乃至「7」を示す「001」乃至「111」のビット列)を用いる場合を例にして説明する。
許可クライアント検出部210は、カウントアップ値供給部211と、加算器212と、更新情報生成部213と、許可対象検出情報決定部214と、許可対象検出情報選択部215と、許可対象検出情報保持部216とを備える。
カウントアップ値供給部211は、許可対象検出情報の値を1つ繰り上げるためのカウントアップ値を供給するものである。すなわち、このカウントアップ値供給部211は、許可対象検出情報のビット列に加算するビット列(すなわち、「1」の値を示す「001」)をカウントアップ値として保持し、保持しているカウントアップ値を加算器212に順次供給する。
加算器212は、信号線219を介して供給される許可対象検出情報の値と、カウントアップ値供給部211から供給されるカウントアップ値とを加算するものであり、その加算された値(加算対象となった値+1)を更新情報生成部213に供給する。
更新情報生成部213は、次のサイクルの許可対象検出情報の値(許可対象検出情報の更新値(更新情報))を生成するものである。この更新情報生成部213は、加算器212により加算された値(加算値)が許可対象検出情報の値の最大値「7」を超えている場合には、その加算値を許可対象検出情報の値の最小値「1」に変換する。また、この更新情報生成部213は、その加算値が許可対象検出情報の値の最大値「7」を超えていない場合には、その加算値を更新情報の値とする。すなわち、この更新情報生成部213は、その加算値が「8」である場合には、更新情報の値を「1」にする。また、この更新情報生成部213は、その加算値が「1」乃至「7」である場合には、更新情報の値をその加算値(「1」乃至「7」)とする。この更新情報生成部213は、生成した更新情報を許可対象検出情報選択部215に供給する。
ここで、カウントアップ値供給部211、加算器212および更新情報生成部213における処理の一例について説明する。カウントアップ値供給部211、加算器212および更新情報生成部213における処理は、例えば、次の式1により表すことができる。
i=((i+1−i0)mod N)+i0 ・・・式1
i=((i+1−i0)mod N)+i0 ・・・式1
ここで、式1の左辺のiは、更新情報である。また、式1の右辺のiは、信号線219を介して供給される許可対象検出情報である。「1」は、カウントアップ値供給部211から供給されるカウントアップ値である。また、i0は、許可対象検出情報の値の最小値(許可対象検出情報最小値)である。このi0は、本発明の第1の実施の形態では、「1」である。また、Nは、許可対象検出情報の値の最大値(許可対象検出情報最大値)である。このNは、本発明の第1の実施の形態では、「7」である。
例えば、信号線219を介して供給される許可対象検出情報が「7」である場合を想定する。この場合には、加算器212により、カウントアップ値「1」が加算され、加算値「8」が生成される。これは、式1の右辺の「i+1」に相当する処理内容である。次に、更新情報生成部213により、加算値「8」から許可対象検出情報最小値(i0)の値「1」が減算され、その減算された値「7」を許可対象検出情報最大値(N)の値「7」で除算して剰余が求められる。そして、その剰余の値「0」に許可対象検出情報最小値(i0)の値「1」が加算され、更新情報(更新値「1」)が生成される。
次に、信号線219を介して供給される許可対象検出情報が「2」である場合を想定する。この場合には、加算器212により、カウントアップ値「1」が加算され、加算値「3」が生成される。次に、更新情報生成部213により、加算値「3」から許可対象検出情報最小値(i0)の値「1」が減算され、その減算された値「2」を許可対象検出情報最大値(N)の値「7」で除算して剰余が求められる。そして、その剰余の値「2」に許可対象検出情報最小値(i0)の値「1」が加算され、更新情報(更新値「3」)が生成される。なお、カウントアップ値供給部211、加算器212および更新情報生成部213は、特許請求の範囲に記載の特定情報更新部の一例である。
許可対象検出情報決定部214は、次のサイクルの許可対象検出情報を決定するものである。この許可対象検出情報決定部214は、ACK線160を介して供給されるアクノリッジ信号、REQ線150を介して供給されるリクエスト信号および信号線219を介して供給される許可対象検出情報に基づいて、次のサイクルの許可対象検出情報を決定する。ここで、許可対象検出情報(i)により特定されるクライアントの要求状態信号の値(リクエスト信号におけるi番目のビットの値(REQ[i]値))が「0」である場合について説明する。この場合において、許可対象検出情報決定部214は、更新情報を選択させるための命令(許可対象検出情報更新命令)を許可対象検出情報選択部215に供給する。次に、REQ[i]値が「1」である場合について説明する。この場合において、この許可対象検出情報決定部214は、許可対象検出情報(i)により特定されるクライアントに関する許可状態信号の値(アクノリッジ信号のi番目のビットの値(ACK[i]値))を参照して、次のサイクルの許可対象検出情報を決定する。
具体的には、許可対象検出情報決定部214は、REQ[i]値が「1」であり、かつ、ACK[i]値が「0」である場合には、現サイクルの許可対象検出情報を選択させるための命令(許可対象検出情報待機命令)を許可対象検出情報選択部215に供給する。なお、このREQ[i]値が「1」であるとともにACK[i]値が「0」である場合とは、次にデータ転送が許可されるクライアントとして許可対象検出情報(i)により特定されるクライアントが検出された場合である。また、この許可対象検出情報決定部214は、REQ[i]値が「1」であるとともにACK[i]値が「1」である場合には、許可対象検出情報更新命令を許可対象検出情報選択部215に供給する。
ここで、REQ[i]値およびACK[i]値が、ともに「1」である場合について詳細に説明する。REQ[i]値は、本発明の第1の実施の形態において、データ転送が終了する1つ前のサイクルで「1」から「0」に遷移する。また、ACK[i]値は、データ転送が終了したサイクル(例えば、図3で示すACK[4]線164の経過時間「11」)で「1」から「0」に遷移する。すなわち、REQ[i]値およびACK[i]値がともに「1」である場合の最前のサイクルは、許可対象検出情報(i)が示すクライアントがデータ転送を開始したサイクルまたはデータ転送の待ちをしているサイクルである。例えば、図3で示す例では、ACK[4]線164の経過時間「4」である。また、REQ[i]値およびACK[i]値がともに「1」である場合の最後のサイクルは、データ転送が終了する1つ前のサイクルである。例えば、図3で示す例では、ACK[4]線164の経過時間「10」である。REQ[i]値とACK[i]値とがともに「1」の場合に許可対象検出情報更新命令を供給することで、許可対象検出情報(i)より特定されるクライアントのデータ転送の開始とともに、次にデータ転送を許可するクライアントの検出を開始することができる。
なお、この許可対象検出情報決定部214は、例えば、3ビットのエンコードされた許可対象検出情報を8ビットの信号にデコードして、リクエスト信号およびアクノリッジ信号との論理積(and)を行う回路により実現することができる。
許可対象検出情報選択部215は、許可対象検出情報決定部214から供給される許可対象検出情報更新命令または許可対象検出情報待機命令に基づいて、次のサイクルの許可対象検出情報を選択するものである。この許可対象検出情報選択部215は、許可対象検出情報更新命令が供給された場合には、更新情報生成部213から供給される更新情報を次のサイクルの許可対象検出情報として選択する。また、この許可対象検出情報選択部215は、許可対象検出情報待機命令が供給された場合には、許可対象検出情報保持部216から信号線219を介して供給される現サイクルの許可対象検出情報を次のサイクルの許可対象検出情報として選択する。この許可対象検出情報選択部215は、選択した許可対象検出情報を許可対象検出情報保持部216に供給する。
許可対象検出情報保持部216は、許可対象検出情報選択部215が選択した許可対象検出情報を保持するものである。この許可対象検出情報保持部216は、保持した許可対象検出情報を、信号線219を介して、加算器212、許可対象検出情報決定部214、許可対象検出情報選択部215およびアクノリッジ信号更新値生成部221に供給する。
また、アクノリッジ信号供給部220は、アクノリッジ信号更新値生成部221と、リフレッシュ許可信号供給部222と、アクノリッジ信号決定部223と、アクノリッジ信号選択部224と、アクノリッジ信号保持部225とを備える。
アクノリッジ信号更新値生成部221は、次のサイクルのアクノリッジ信号になる可能性がある値であるアクノリッジ信号の更新値(更新アクノリッジ信号)を生成するものである。このアクノリッジ信号更新値生成部221は、REQ線150を介して供給されるリクエスト信号のREQ[i]値が「1」である場合には、アクノリッジ信号のACK[i]値が「1」であり、他のビットは全て「0」の値である更新アクノリッジ信号を生成する。また、このアクノリッジ信号更新値生成部221は、リクエスト信号のREQ[i]値が「0」である場合には、全てのビットが「0」の値である更新アクノリッジ信号を生成する。例えば、このアクノリッジ信号更新値生成部221は、「2」の値の許可対象検出情報と、2番目のビットの値が「1」のリクエスト信号とが供給されると、2番目のビットの値が「1」であり、他のビットは全て「0」の値である更新アクノリッジ信号を生成する。またこのアクノリッジ信号更新値生成部221は、「2」の値の許可対象検出情報と、2番目のビットの値が「0」のリクエスト信号とが供給されると、全てのビットが「0」の値である更新アクノリッジ信号を生成する。このアクノリッジ信号更新値生成部221は、生成した更新アクノリッジ信号をアクノリッジ信号選択部224に供給する。
なお、このアクノリッジ信号更新値生成部221は、例えば、信号線219を介して供給される許可対象検出情報の3ビットのエンコードされた値を8ビットの値にデコードして、リクエスト信号との論理積(and)を行う回路により実現することができる。
リフレッシュ許可信号供給部222は、リフレッシュコントローラ130にリフレッシュ動作を許可させるアクノリッジ信号(リフレッシュ許可信号)を供給するものである。すなわち、このリフレッシュ許可信号は、0番目のビットの値が「1」であり、他のビットは全て「0」の値であるアクノリッジ信号である。このリフレッシュ許可信号供給部222は、リフレッシュ許可信号をアクノリッジ信号選択部224に供給する。
アクノリッジ信号決定部223は、ACK線160を介して供給されるアクノリッジ信号と、REQ線150を介して供給されるリクエスト信号とに基づいて、次のサイクルのアクノリッジ信号を決定するものである。まず、このアクノリッジ信号決定部223は、要求状態信号の値が「1」であるとともに許可状態信号の値が「1」であるクライアントがあるか否かを検出する。このアクノリッジ信号決定部223は、両方の信号とも値が「1」であるクライアントを検出した場合には、現サイクルのアクノリッジ信号を選択させるための命令(ACK待機命令)をアクノリッジ信号選択部224に供給する。
また、このアクノリッジ信号決定部223は、両方の信号とも値が「1」であるクライアントが検出されない場合には、リクエスト信号の0番目のビットの値に基づいて次のサイクルのアクノリッジ信号を決定する。この場合においてリクエスト信号の0番目のビットの値が「1」であると、アクノリッジ信号決定部223は、リフレッシュ許可信号を選択させるための命令(第1ACK更新命令)をアクノリッジ信号選択部224に供給する。また、この場合においてリクエスト信号の0番目のビットの値が「0」であると、アクノリッジ信号決定部223は、更新アクノリッジ信号を選択させるための命令(第2ACK更新命令)をアクノリッジ信号選択部224に供給する。
アクノリッジ信号選択部224は、アクノリッジ信号決定部223から供給されるACK待機命令、第1ACK更新命令または第2ACK更新命令に基づいて、次のサイクルのアクノリッジ信号を選択するものである。このアクノリッジ信号選択部224は、ACK待機命令が供給された場合には、アクノリッジ信号保持部225からACK線160を介して供給される現サイクルのアクノリッジ信号を、次のサイクルのアクノリッジ信号として選択する。また、このアクノリッジ信号選択部224は、第1ACK更新命令が供給された場合には、リフレッシュ許可信号供給部222から供給されるリフレッシュ許可信号を、次のサイクルのアクノリッジ信号として選択する。また、このアクノリッジ信号選択部224は、第2ACK更新命令が供給された場合には、アクノリッジ信号更新値生成部221から供給される更新アクノリッジ信号を、次のサイクルのアクノリッジ信号として選択する。このアクノリッジ信号選択部224は、選択したアクノリッジ信号をアクノリッジ信号保持部225に供給する。
アクノリッジ信号保持部225は、アクノリッジ信号選択部224が選択したアクノリッジ信号を保持するものである。このアクノリッジ信号保持部225は、保持したアクノリッジ信号を、ACK線160を介して、許可対象検出情報決定部214、アクノリッジ信号選択部224およびアクノリッジ信号決定部223に供給する。また、アクノリッジ信号保持部225は、保持したアクノリッジ信号の各ビットを、リフレッシュコントローラ130および第1乃至第7クライアント141乃至147に供給する。
このように、現サイクルのリクエスト信号、現サイクルの許可対象検出情報および現サイクルのアクノリッジ信号に基づいて、次のサイクルの許可対象検出情報および次のサイクルのアクノリッジ信号を生成することができる。
[アクノリッジ信号供給部によるアクノリッジ信号発生例]
図3は、本発明の第1の実施の形態におけるアクノリッジ信号供給部220によるアクノリッジ信号発生例を示すタイミングチャートである。ここでは、横軸をアービタ200の動作におけるクロック信号として、許可対象検出情報(i)219の値と、REQ[0]線159における第0要求状態信号の変化と、REQ[3]線153における第3要求状態信号の変化とが示されている。また、ここでは、REQ[4]線154における第4要求状態信号の変化と、REQ[7]線157における第7要求状態信号の変化と、ACK[0]線169における第0許可状態信号の変化とが示されている。さらに、ここでは、ACK[3]線163における第3許可状態信号の変化と、ACK[4]線164における第4許可状態信号の変化と、ACK[7]線167における第7許可状態信号の変化とが示されている。
図3は、本発明の第1の実施の形態におけるアクノリッジ信号供給部220によるアクノリッジ信号発生例を示すタイミングチャートである。ここでは、横軸をアービタ200の動作におけるクロック信号として、許可対象検出情報(i)219の値と、REQ[0]線159における第0要求状態信号の変化と、REQ[3]線153における第3要求状態信号の変化とが示されている。また、ここでは、REQ[4]線154における第4要求状態信号の変化と、REQ[7]線157における第7要求状態信号の変化と、ACK[0]線169における第0許可状態信号の変化とが示されている。さらに、ここでは、ACK[3]線163における第3許可状態信号の変化と、ACK[4]線164における第4許可状態信号の変化と、ACK[7]線167における第7許可状態信号の変化とが示されている。
また、ここでは、経過時間として、クロックのサイクル数で経過時間をカウントした値が示されている。
なお、本発明の第1の実施の形態では、リードデータおよびライトデータを転送する期間は、クロック数で8サイクルを想定する。さらに、リードアクセスからライトアクセスへの切り替えおよびライトアクセスからリードアクセスへの切り替えには、クロック数で2サイクルの待ち時間が生じるものとする。また、リードアクセスおよびライトアクセスからリフレッシュ動作への切り替えにはクロック数で2サイクルの待ち時間が生じ、リフレッシュ動作からリードアクセスおよびライトアクセスへの切り替えにもクロック数で2サイクルの待ち時間が生じるものとする。
また、本発明の第1の実施の形態では、便宜上、クライアントは、「1」の値の許可状態信号の供給が開始されてから終了するまでの期間において、DARM110へのアクセスに関する命令を、バス120を介してDRAM110に供給するものとする。
なお、本発明の第1の実施の形態では、リードアクセスの次にリードアクセスが続く動作の際およびライトアクセスの次にライトアクセスが続く動作の際には、待ち時間は0サイクルで次の動作が実行できるものとする。
この例では、便宜上、REQ[1]線151、REQ[2]線152、REQ[5]線155およびREQ[6]線156における値は、「0」であることを想定して説明する。このため、REQ[1]線151、REQ[2]線152、REQ[5]線155およびREQ[6]線156については、図3への図示およびその説明を省略する。
同様に、この例では、ACK[1]線161、ACK[2]線162、ACK[5]線165およびACK[6]線166における値は、「0」であることを想定して説明する。このため、ACK[1]線161、ACK[2]線162、ACK[5]線165およびACK[6]線166については、図3への図示およびその説明を省略する。
また、図3では、REQ[0]線159の第0要求状態信号が経過時間「26」において「0」から「1」に遷移し、REQ[3]線153の第3要求状態信号が経過時間「6」において「0」から「1」に遷移することを想定する。また、REQ[4]線154の第4要求状態信号が経過時間「2」において「0」から「1」に遷移し、REQ[7]線157の第7要求状態信号が経過時間「4」において「0」から「1」に遷移するものとする。
また、図3では、REQ[3]線153の経過時間「6」におけるデータ転送要求は、リードアクセスに関するデータ転送要求であるものとする。また、REQ[4]線154の経過時間「2」におけるデータ転送要求も、リードアクセスに関するデータ転送要求であることとする。また、REQ[7]線157の経過時間「4」におけるデータ転送要求は、ライトアクセスに関するデータ転送要求であることとする。
また、経過時間「0」における許可対象検出情報の値は第1クライアント141を特定する「1」であることを想定する。
なお、経過時間「0」において、アクノリッジ信号供給部220が供給するアクノリッジ信号は、8ビットの全ての値が「0」であることを想定する。
この図3では、許可クライアント検出部210およびアクノリッジ信号供給部220が供給する許可対象検出情報およびアクノリッジ信号に注目して説明する。
まず、経過時間「0」において、許可クライアント検出部210が供給する許可対象検出情報およびアクノリッジ信号供給部220が供給するアクノリッジ信号について説明する。許可対象検出情報保持部216は、保持している値「1」を、信号線219を介して、加算器212、許可対象検出情報決定部214、許可対象検出情報選択部215およびアクノリッジ信号更新値生成部221に供給する。また、アクノリッジ信号保持部225は、保持している8ビットの全ての値が「0」であるアクノリッジ信号を、ACK線160を介して、許可対象検出情報決定部214、アクノリッジ信号選択部224およびアクノリッジ信号決定部223に供給する。さらに、アクノリッジ信号保持部225は、保持している8ビットの全ての値が「0」であるアクノリッジ信号の各ビットを、リフレッシュコントローラ130および第1乃至第7クライアント141乃至147に供給する。
次に、経過時間「0」における許可クライアント検出部210の許可対象検出情報決定動作について説明する。最初に、加算器212は、カウントアップ値供給部211から供給されるカウントアップ値「1」を許可対象検出情報「1」に加算した加算値「2」を更新情報生成部213に供給する。続いて、更新情報生成部213は、加算値「2」に基づいて、更新情報「2」を生成し、その生成した更新情報「2」を許可対象検出情報選択部215に供給する。また、許可対象検出情報保持部216に保持されている値「1」が供給された許可対象検出情報決定部214は、更新情報生成部213における更新情報の生成と同時に、経過時間「1」における許可対象検出情報を決定する。ここで、経過時間「0」において、REQ[1]線151の第1要求状態信号は「0」であるため、許可対象検出情報決定部214は、許可対象検出情報更新命令を許可対象検出情報選択部215に供給する。そして、許可対象検出情報選択部215は、更新情報生成部213で生成された更新情報「2」と、信号線219を介して供給された現サイクルの許可対象検出情報「1」とのうち、更新情報「2」を選択する。続いて、この許可対象検出情報選択部215は、その選択した更新情報「2」を次のサイクルの許可対象検出情報として許可対象検出情報保持部216に供給する。このようにして、経過時間「0」において、経過時間「1」における許可対象検出情報「2」が生成され、その生成された許可対象検出情報「2」が許可対象検出情報保持部216に保持される。
次に、経過時間「0」におけるアクノリッジ信号供給部220のアクノリッジ信号決定動作について説明する。最初に、アクノリッジ信号更新値生成部221は、許可対象検出情報「1」と8ビットの全ての値が「0」であるリクエスト信号に基づいて、全てのビットが「0」の値である更新アクノリッジ信号を生成する。また、アクノリッジ信号決定部223は、8ビットの全ての値が「0」であるリクエスト信号と、8ビットの全ての値が「0」であるアクノリッジ信号とに基づいて、経過時間「1」におけるアクノリッジ信号を決定する。このアクノリッジ信号決定部223は、リクエスト信号とアクノリッジ信号とに基づいて、要求状態信号および許可状態信号の両方とも値が「1」であるクライアントは存在しないと決定する。さらに、リクエスト信号の0番目のビットの値が「0」であるため、アクノリッジ信号決定部223は、第2ACK更新命令をアクノリッジ信号選択部224に供給する。そして、アクノリッジ信号選択部224は、アクノリッジ信号更新値生成部221から供給された全てのビットが「0」の値である更新アクノリッジ信号を選択して、その選択したアクノリッジ信号をアクノリッジ信号保持部225に供給する。このようにして、経過時間「0」において、経過時間「1」におけるアクノリッジ信号が生成され、その生成されたアクノリッジ信号がアクノリッジ信号保持部225に保持される。
経過時間「1」における動作は、経過時間「0」と同様の動作であるため、説明を省略する。経過時間「1」において、経過時間「2」における許可対象検出情報が「3」の値に決定される。
また、経過時間「2」においては、REQ[4]線154の第4要求状態信号が「0」から「1」に遷移する。この経過時間「2」において、許可対象検出情報「3」より特定されるクライアントに関するREQ[3]線153の第3要求状態信号は「0」であるため、許可対象検出情報決定部214は、許可対象検出情報更新命令を許可対象検出情報選択部215に供給する。このようにして、経過時間「2」において、経過時間「3」における許可対象検出情報「4」が決定され、その決定された許可対象検出情報「4」が許可対象検出情報保持部216に保持される。なお、アクノリッジ信号供給部220の動作は、経過時間「0」と同様の動作である。
また、経過時間「3」において、許可対象検出情報「4」により特定されるクライアントに関するREQ[4]線154の第4要求状態信号は「1」である。このため、許可対象検出情報決定部214は、アクノリッジ信号の第4許可状態信号の値(ACK[4]線164における値)も参照して次のサイクルの許可対象検出情報を決定する。この経過時間「3」においてACK[4]線164における値は「0」であるため、許可対象検出情報決定部214は、許可対象検出情報待機命令を許可対象検出情報選択部215に供給する。これにより、経過時間「4」における許可対象検出情報「4」が決定され、その決定された許可対象検出情報「4」が許可対象検出情報保持部216に保持される。
この経過時間「3」において、アクノリッジ信号更新値生成部221は、許可対象検出情報「4」と4番目のビットの値(REQ[4]線154の値)が「1」であるリクエスト信号とに基づいて、4番目のビットの値が「1」の更新アクノリッジ信号を生成する。また、アクノリッジ信号決定部223は、4番目のビットの値(REQ[4]線154における値)が「1」であるリクエスト信号と、8ビットの全ての値が「0」であるアクノリッジ信号とに基づいて、経過時間「4」におけるアクノリッジ信号を決定する。このアクノリッジ信号決定部223は、この2つの信号から、要求状態信号および許可状態信号の両方とも値が「1」であるクライアントは存在しないと判断する。さらに、リクエスト信号の4番目のビットの値(REQ[4]線154における値)が「1」であるため、アクノリッジ信号決定部223は、第2ACK更新命令をアクノリッジ信号選択部224に供給する。そして、アクノリッジ信号選択部224は、アクノリッジ信号更新値生成部221から供給された4番目のビットの値が「1」である更新アクノリッジ信号を選択して、その選択したアクノリッジ信号をアクノリッジ信号保持部225に供給する。このようにして、経過時間「3」において、経過時間「4」におけるアクノリッジ信号(4番目のビットの値が「1」)が決定され、その決定されたアクノリッジ信号がアクノリッジ信号保持部225に保持される。
また、経過時間「4」においては、ACK[4]線164の第4許可状態信号が「1」であるため、第4クライアント144は、DRAM110とのデータ転送(リードアクセス)を開始する。この経過時間「4」の直前にライトアクセスはないことにより待ち時間は不要であるため、第4クライアント144は、経過時間「4」から経過時間「11」までの8サイクルの期間においてリードアクセスを行う。
また、経過時間「4」において、許可対象検出情報の値は「4」であり、リクエスト信号の値は4番目のビットの値(REQ[4]線154における値)および7番目のビットの値(REQ[7]線157における値)が「1」である。また、アクノリッジ信号は4番目のビットの値(REQ[4]線154における値)が「1」である。すなわち、許可対象検出情報「4」より特定されるクライアントの第4要求状態信号および第4許可状態信号が両方とも「1」であるため、許可対象検出情報決定部214は、許可対象検出情報更新命令を許可対象検出情報選択部215に供給する。これにより、経過時間「5」における許可対象検出情報「5」が決定され、その決定された許可対象検出情報「5」が許可対象検出情報保持部216に保持される。
また、経過時間「4」において、アクノリッジ信号決定部223は、REQ[4]線154における値が「1」であるとともに、ACK[4]線164における値が「1」であるため、ACK待機命令をアクノリッジ信号選択部224に供給する。これにより、経過時間「4」において、経過時間「5」におけるアクノリッジ信号(4番目のビットの値が「1」)が決定され、その決定されたアクノリッジ信号がアクノリッジ信号保持部225に保持される。
なお、経過時間「5」および「6」における許可クライアント検出部210の動作は、経過時間「0」と同様の動作であるため、ここでの説明を省略する。すなわち、経過時間「6」において、経過時間「7」における許可対象検出情報が「7」の値に決定される。また、経過時間「5」および「6」におけるアクノリッジ信号供給部220の動作は、経過時間「4」と同様の動作であるため、ここでの説明を省略する。
また、経過時間「7」において、許可対象検出情報は「7」、リクエスト信号は3番目のビットの値(REQ[3]線153の値)と4番目のビットの値(REQ[4]線154の値)と7番目のビットの値(REQ[7]線157の値)とが「1」である。また、アクノリッジ信号は4番目のビットの値(ACK[4]線164における値)が「1」である。すなわち、許可対象検出情報「7」により特定されるクライアントの第7要求状態信号の値が「1」であるが、第7許可状態信号が「0」であるため、許可対象検出情報決定部214は、許可対象検出情報待機命令を許可対象検出情報選択部215に供給する。これにより、経過時間「8」における許可対象検出情報「7」が決定され、その決定された許可対象検出情報「7」が許可対象検出情報保持部216に保持される。なお、この経過時間「7」におけるアクノリッジ信号供給部220の動作は、経過時間「4」と同様の動作であるため、ここでの説明を省略する。
そして、経過時間「10」まで、許可対象検出情報は「7」の値となり、アクノリッジ信号は4番目のビットの値(ACK[4]線164における値)が「1」の値となる。
また、経過時間「10」において、第4クライアント144は、REQ[4]線154の第4要求状態信号を「1」から「0」に遷移させて、リードアクセスが次のサイクルで完了することを通知する。これにより、経過時間「11」におけるリクエスト信号は、3番目のビットの値(REQ[3]線153における値)および7番目のビットの値(REQ[7]線157における値)が「1」になる。
また、経過時間「11」において、許可クライアント検出部210は、許可対象検出情報を「7」のまま許可対象検出情報保持部216に保持する。次に、経過時間「11」におけるアクノリッジ信号供給部220のアクノリッジ信号決定動作について説明する。アクノリッジ信号更新値生成部221は、許可対象検出情報「7」と、3番目のビットおよび7番目のビットの値が「1」であるリクエスト信号に基づいて、7番目のビットの値(ACK[7]線167における値)が「1」である更新アクノリッジ信号を生成する。また、アクノリッジ信号決定部223は、要求状態信号と許可状態信号の両方とも値が「1」であるクライアントが検出されないと判断する。これにより、アクノリッジ信号決定部223は、リクエスト信号の0番目のビットの値に基づいて次のサイクルのアクノリッジ信号を決定する。経過時間「11」において、リクエスト信号の0番目のビットの値(REQ[0]線159における値)は「0」であるため、アクノリッジ信号決定部223は、第2ACK更新命令をアクノリッジ信号選択部224に供給する。これにより、経過時間「11」において、経過時間「12」におけるアクノリッジ信号(7番目のビットの値が「1」)が決定され、その決定されたアクノリッジ信号がアクノリッジ信号保持部225に保持される。
また、経過時間「12」においては、ACK[7]線167の第7許可状態信号が「1」であるため、第7クライアント147は、DRAM110とのデータ転送(ライトアクセス)を開始する。ここで、経過時間「12」の直前におけるDRAM110の動作はリードアクセスであり、第7クライアント147によるDRAM110の動作はライトアクセスであることから、DRAM110において2サイクルの待ち時間が必要となる。そこで、第7クライアント147は、経過時間「12」および「13」において、ライトアクセスに関する命令の供給を開始しないで待機する。そして、第7クライアント147は、経過時間「14」においてライトアクセスに関する命令の供給を開始し、経過時間「21」までの8サイクルの期間においてDRAM110との間でライトアクセスを行う。
なお、経過時間「12」から経過時間「21」までの許可クライアント検出部210およびアクノリッジ信号供給部220の動作は、信号の値が異なるものの経過時間「11」までにおいて説明した動作と同様のものであるため、ここでの説明を省略する。
また、経過時間「21」において、経過時間「22」の許可対象検出情報の値は「3」と決定され、アクノリッジ信号は3番目のビットの値(ACK[3]線163における値)が「1」と決定される。
また、経過時間「22」において、ACK[3]線163の第3許可状態信号が「1」であるため、第3クライアント143は、DRAM110とのデータ転送(リードアクセス)を開始する。ここで、経過時間「22」の直前におけるDRAM110の動作はライトアクセスであり、第3クライアント143によるDRAM110の動作はリードアクセスであることから、DRAM110において2サイクルの待ち時間が必要となる。そこで、第3クライアント143は、経過時間「22」および「23」において、リードアクセスに関する命令の供給を開始しないで待機する。そして、第3クライアント143は、経過時間「24」においてリードアクセスに関する命令の供給を開始し、経過時間「31」までの8サイクルの期間においてDRAM110との間でリードアクセスを行う。
なお、経過時間「22」から経過時間「30」までの許可クライアント検出部210およびアクノリッジ信号供給部220の動作は、信号の値が異なるものの経過時間「11」までにおいて説明した動作と同様のものであるため、ここでの説明を省略する。
そして、経過時間「30」において、経過時間「31」の許可対象検出情報の値は「7」と決定され、アクノリッジ信号は3番目のビットの値(ACK[3]線163における値)が「1」と決定される。また、経過時間「30」において、第3クライアント143は、REQ[3]線153の第3要求状態信号を「1」から「0」に遷移させて、リードアクセスが次のサイクルで完了することを通知する。これにより、経過時間「31」におけるリクエスト信号は、0番目のビットの値(REQ[0]線159における値)および7番目のビットの値(REQ[7]線157における値)が「1」になる。
また、経過時間「31」において、許可クライアント検出部210は、許可対象検出情報を「7」のまま許可対象検出情報保持部216に保持する。次に、経過時間「31」におけるアクノリッジ信号供給部220のアクノリッジ信号決定動作について説明する。最初に、アクノリッジ信号更新値生成部221は、7番目のビットの値(ACK[7]線167における値)が「1」である更新アクノリッジ信号を生成する。また、アクノリッジ信号決定部223は、要求状態信号と許可状態信号の両方とも値が「1」であるクライアントが検出されないと判断する。これにより、アクノリッジ信号決定部223は、リクエスト信号の0番目のビットの値に基づいて次のサイクルのアクノリッジ信号を決定する。経過時間「31」において、リクエスト信号の0番目のビットの値(REQ[0]線159における値)は「1」であるため、アクノリッジ信号決定部223は、第1ACK更新命令をアクノリッジ信号選択部224に供給する。そして、アクノリッジ信号選択部224は、リフレッシュ許可信号供給部222から供給されたリフレッシュ許可信号を選択して、その選択したリフレッシュ許可信号をアクノリッジ信号保持部225に供給する。このようにして、経過時間「31」において、経過時間「32」におけるアクノリッジ信号(0番目のビットの値が「1」)が生成され、その生成されたアクノリッジ信号がアクノリッジ信号保持部225に保持される。
また、経過時間「32」において、ACK[0]線169の第0許可状態信号が「1」であるため、リフレッシュコントローラ130は、DRAM110にリフレッシュ命令の供給を開始する。ここで、経過時間「32」の直前におけるDRAM110の動作はリードアクセスであり、リフレッシュコントローラ130によるDRAM110の動作はリフレッシュであることから、DRAM110において2サイクルの待ち時間が必要となる。そこで、リフレッシュコントローラ130は、経過時間「32」および「33」において、リフレッシュに関する命令の供給を開始しないで待機する。そして、リフレッシュコントローラ130は、経過時間「34」においてリフレッシュに関する命令の供給を開始し、経過時間「41」までの8サイクルの期間においてリフレッシュ動作をDRAM110に行わせる。
なお、経過時間「32」から経過時間「43」までの許可クライアント検出部210およびアクノリッジ信号供給部220の動作は、信号の値が異なるもののこれまでにおいて説明した動作と同様のものであるため、説明を省略する。
このように、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、クライアントの検出を待つサイクルを減少させることができる。
[データ処理装置の効果例]
図4は、本発明の第1の実施の形態において、DRAM110から読み出されるデータ(リードデータ)とDRAM110に書き込まれるデータ(ライトデータ)とのバス120を介した転送例を示すタイミングチャートである。ここでは、データ転送の終了を待たずに次にデータ転送を許可するクライアントを検出するデータ処理装置100と、データ転送の終了を待ってから次にデータ転送を許可するクライアントを検出するデータ処理装置(従来の装置)との違いを説明する。
図4は、本発明の第1の実施の形態において、DRAM110から読み出されるデータ(リードデータ)とDRAM110に書き込まれるデータ(ライトデータ)とのバス120を介した転送例を示すタイミングチャートである。ここでは、データ転送の終了を待たずに次にデータ転送を許可するクライアントを検出するデータ処理装置100と、データ転送の終了を待ってから次にデータ転送を許可するクライアントを検出するデータ処理装置(従来の装置)との違いを説明する。
図4(a)には、本発明の第1の実施の形態のデータ処理装置100による転送データの例が示されている。この図4(a)には、横軸をアービタ200の動作におけるクロック信号として、許可対象検出情報(i)219の値と、REQ[3]線153における第3要求状態信号の変化とが示されている。また、ここでは、REQ[4]線154における第4要求状態信号の変化と、REQ[7]線157における第7要求状態信号の変化と、ACK[3]線163における第3許可状態信号の変化とが示されている。さらに、ここでは、ACK[4]線164における第4許可状態信号の変化と、ACK[7]線167における第7許可状態信号の変化とが示されている。また、ここでは、バス120を介して転送されるリードデータおよびライトデータが示されている。
この図4では、許可クライアント検出部210およびアクノリッジ信号供給部220による処理については、図3において示す例と同様であるため、ここでの説明を省略する。この図4では、バス120を介して転送されるデータに着目して説明する。
なお、本発明の第1の実施の形態では、便宜上、許可状態信号がクライアントに供給される期間と、そのクライアントからDRAM110に命令が発行される期間と、DRAM110からデータが伝送されるまでの期間とにおける遅延は考慮しないことにする。すなわち、この図4(a)において、「1」の値の許可状態信号がクライアントに供給されると、DRAM110は、その許可状態信号が供給されたサイクルにおいて、その許可状態信号に基づいてデータ転送の待ちまたはデータ転送を行うことにする。そして、DRAM110がデータ転送を行う場合には、その許可状態信号が供給されたサイクルにおいて、データがバス120を介して転送されることにする。
ここで、本発明の第1の実施の形態によりバス120を介して転送されるデータについて、図4(a)のバス120を用いて説明する。まず、経過時間「4」乃至「11」においては、第7クライアント147によるリードアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110から読み出されたリードデータがデータ転送される。その後、経過時間「12」および「13」においては、直前のリードアクセスとのバス使用の衝突を防ぐため、第4クライアント144によるライトアクセスに関する命令をDRAM110にデータ転送することの待ち時間が発生する。続いて、経過時間「14」乃至「21」においては、第7クライアント147によるライトアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110に書き込まれるライトデータがデータ転送される。
その後、経過時間「22」および「23」においては、直前のライトアクセスとのバス使用の衝突を防ぐため、第3クライアント143によるリードアクセスに関する命令をDRAM110にデータ転送することの待ち時間が発生する。そして、経過時間「24」および「31」においては、第3クライアント143によるリードアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110からリードデータがデータ転送される。
図4(b)には、データ転送の終了を待ってから、次にデータ転送を許可するクライアントを検出する従来の装置による転送データの例が示されている。この図4(b)には、横軸をアービタ200の動作におけるクロック信号として、許可対象検出情報(i)360の値と、ACK[3]線383における第3許可状態信号の変化とが示されている。さらに、ここには、ACK[4]線384における第4許可状態信号の変化と、ACK[7]線387における第7許可状態信号の変化と、バス390を介して転送されるリードデータおよびライトデータとが示されている。
なお、この図4(b)では、リクエスト信号における「0」から「1」への遷移のタイミングは、図4(a)において示したリクエスト信号と同様のものとする。また、この図4(b)における従来の装置は、アービタ200以外は本発明の第1の実施の形態におけるデータ処理装置100と同一の構成を想定して説明する。すなわち、ACK[3]線383はACK[3]線163に対応し、ACK[4]線384はACK[4]線164に対応し、ACK[7]線387はACK[7]線167に対応するものとする。また、バス390はバス120に対応するものとする。
この図4(b)における従来の装置のアービタは、バス390を介してデータ転送が行われている期間は、許可対象検出情報の値の更新を行わないものとする。
ここで、従来の装置における許可対象検出情報およびアクノリッジ信号について簡単に説明する。経過時間「0」乃至「3」においては、従来の装置における許可対象検出情報およびアクノリッジ信号は、本発明の第1の実施の形態と同様である。その後、経過時間「4」において、従来の装置のアービタは、許可対象検出情報「7」により特定されるクライアントのデータ転送が終了していないため、経過時間「5」における許可対象検出情報の値を現サイクルの値と同一の「7」にする。この動作は、経過時間「11」まで継続して行われる。
そして、経過時間「11」では、従来の装置のアービタは、許可対象検出情報「7」により特定されるクライアントからデータ転送の終了を示す「0」の値の要求状態信号を受け取り(図示はせず)、経過時間「12」の許可対象検出情報の値を「1」に決定する。これにより、従来の装置のアービタでは、次にデータを転送するクライアントの検出が再開される。
その後、経過時間「15」において、許可対象検出情報の値が「4」であり、この許可対象検出情報「4」より特定されるクライアントの要求状態信号が「1」である。このため、許可対象検出情報の値の更新が中断されるとともに、4番目のビットの値が「1」のアクノリッジ信号が生成される。そして、経過時間「23」において許可対象検出情報「4」により特定されるクライアントのデータ転送が終了するまで、「4」の値の許可対象検出情報が供給される。これと同時に、4番目のビットの値(ACK[4]線384の値)が「1」のアクノリッジ信号が供給される。
そして、経過時間「23」において、経過時間「11」と同様にして、次にデータを転送するクライアントの検出が再開される。その後、経過時間「29」において、許可対象検出情報の値の更新が中断されるとともに、3番目のビットの値が「1」のアクノリッジ信号が生成される。そして、経過時間「30」において3番目のビットの値(ACK[3]線383の値)が「1」のアクノリッジ信号が供給される。
すなわち、図4(b)のバス390に示すように、従来の装置によれば、経過時間「4」乃至「11」においては、許可対象検出情報「7」より特定されるクライアントによるリードアクセスに関する命令がDRAM110にデータ転送される。また、この命令のデータ転送とともに、経過時間「4」乃至「11」においては、DRAM110から読み出されたリードデータがデータ転送される。その後、経過時間「12」乃至「15」においては、アービタが次にデータ転送を許可するクライアントを検出している状態であるため、この経過時間「12」乃至「15」におけるバス390を介したデータ転送は行われない。そして、経過時間「16」乃至「23」においては、第4クライアント144によるライトアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110から読み出されたライトデータがデータ転送される。その後、経過時間「24」乃至「29」においては、アービタが次にデータ転送を許可するクライアントを検出している状態であるため、この経過時間「24」乃至「29」におけるバス390を介したデータ転送は行われない。そして、経過時間「30」および「31」においては、第3クライアント143によるリードアクセスの最初の2サイクル分が行われる。
このように、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、バスの使用効率を向上させることができる。
[アービタの動作例]
図5は、本発明の第1の実施の形態における許可クライアント検出部210の許可クライアント検出処理手順例を示すフローチャートである。
図5は、本発明の第1の実施の形態における許可クライアント検出部210の許可クライアント検出処理手順例を示すフローチャートである。
なお、この図5および図6において示す許可対象検出情報(i)、許可対象検出情報最小値(i0)、REQ[i]値、ACK[i]値および許可対象検出情報最大値(N)は、図2において示したものと同一であるため、ここでの説明を省略する。
まず、許可対象検出情報保持部216における許可対象検出情報(i)が許可対象検出情報最小値(i0)に初期化される(ステップS901)。このステップS901は、例えば、データ処理装置100の電源を投入直後などにおいて行われる。
次に、許可対象検出情報決定部214によって、許可対象検出情報保持部216に保持されている許可対象検出情報(i)により特定されるクライアントの要求状態信号の値(REQ[i]値)が「1」であるか否かが判断される(ステップS902)。そして、REQ[i]値が「1」でないと判断された場合には、ステップS904に進む。
一方、REQ[i]値が「1」であると判断された場合には(ステップS902)、許可対象検出情報(i)より特定されるクライアントの許可状態信号の値(ACK[i]値)が「1」であるか否かが判断される(ステップS903)。このステップS903は、許可対象検出情報決定部214によって行われる。そして、ACK[i]値が「1」でないと判断された場合には(ステップS903)、ステップS905に進む。ここで、ACK[i]値が「1」でないと判断された場合とは、次にデータ転送が許可されるクライアントが検出されたことにより、現サイクルの許可対象検出情報(i)が許可対象検出情報保持部216に保持された場合を意味する。
一方、ACK[i]値が「1」であると判断された場合には(ステップS903)、更新情報生成部213が生成した更新情報(((i+1−i0)mod N)+i0)が許可対象検出情報保持部216に保持される(ステップS904)。このステップS904は、許可対象検出情報選択部215によって行われる。
その後、許可クライアント検出処理を継続して行うか否かが判断され(ステップS905)、許可クライアント検出処理を継続する場合には、ステップS902に戻る。この場合に、許可対象検出情報保持部216に保持された許可対象検出情報(i)を出力させる。なお、許可クライアント検出処理を継続する場合とは、例えば、次のサイクルに進む場合を意味する。また、バス制御を終了する場合とは、例えば、データ処理装置100の電源を落とした時を意味する。なお、ステップS902、ステップS903、ステップS904およびステップS905は、特許請求の範囲に記載の更新手順の一例である。
図6は、本発明の第1の実施の形態におけるアクノリッジ信号供給部220のアクノリッジ信号供給処理手順例を示すフローチャートである。
まず、アクノリッジ信号保持部225におけるアクノリッジ信号(ACK)が全てのビットが「0」の値であるアクノリッジ信号に初期化される(ステップS911)。このステップS911は、例えば、データ処理装置100の電源を投入直後などにおいて行われる。
次に、アクノリッジ信号決定部223によって、変数(j)が「0」に初期化される(ステップS912)。続いて、アクノリッジ信号決定部223によって、変数(j)が示すクライアントの要求状態信号の値(REQ[j]値)と、変数(j)が示すクライアントの許可状態信号の値(ACK[j]値)とが両方とも「1」であるか否かが判断される(ステップS913)。そして、REQ[j]値とACK[j]値とが両方とも「1」であると判断された場合には(ステップS913)、ステップS919に進む。なお、このREQ[j]値とACK[j]値とが両方とも「1」であると判断された場合には、現サイクルのアクノリッジ信号(ACK)がアクノリッジ信号保持部225に保持される。
一方、REQ[j]値とACK[j]値との少なくとも一方が「1」でないと判断された場合には(ステップS913)、変数(j)と許可対象検出情報最大値(N)とが同じ値であるか否かが判断される(ステップS914)。そして、変数(j)と許可対象検出情報最大値(N)とが同じ値でないと判断された場合には(ステップS914)、変数(j)の値に「1」の値が加算されることによって変数(j)の値が更新され(ステップS915)、ステップS913に戻る。
一方、変数(j)と許可対象検出情報最大値(N)とが同じ値であると判断された場合には(ステップS914)、リクエスト信号の0番目のビットの値(REQ[0]値)が「1」であるか否かが判断される(ステップS916)。このステップS916は、アクノリッジ信号決定部223によって行われる。そして、リクエスト信号の0番目のビットの値(REQ[0]値)が「1」であると判断された場合には、0番目のビットの値(ACK[0]値)が「1」であるアクノリッジ信号がアクノリッジ信号保持部225に保持される(ステップS917)。
一方、リクエスト信号の0番目のビットの値(REQ[0]値)が「1」でないと判断された場合には(ステップS916)、アクノリッジ信号更新値生成部221が生成した更新アクノリッジ信号が許可対象検出情報保持部216に保持される(ステップS918)。すなわち、アクノリッジ信号が、REQ[i]の値をACK[i]の値にしたアクノリッジ信号に更新される。なお、ステップS918は、特許請求の範囲に記載の決定手順の一例である。
そして、アクノリッジ信号供給処理を継続するか否かが判断され(ステップS919)、アクノリッジ信号供給処理を継続する場合には、ステップS912に戻る。この場合に、許可対象検出情報保持部216に保持されたアクノリッジ信号を出力させる。なお、アクノリッジ信号供給処理を継続する場合とは、次のサイクルに進む時を意味する。また、アクノリッジ信号供給処理を終了する場合とは、データ処理装置100の電源を落とした時を意味する。
このように、本発明の第1の実施の形態では、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、データ転送効率を向上させることができる。
また、図2において示すように、許可クライアント検出部210およびアクノリッジ信号供給部220は、カウンタ回路、セレクタ回路、論理積回路、固定値発生回路およびレジスタなどの簡単な回路により構成することができる。
<2.第2の実施の形態>
本発明の第1の実施の形態では、クライアントからの要求が、読み出し、または、書き込みの何れの要求であっても、同じように行う例を示した。しかしながら、上述したように、読み出し処理と書き込み処理との間の切り替えを、先の処理から2サイクル以内に行う場合には、データの衝突回避のため、2サイクルの待ち時間を要する。そこで、この時間を軽減させることが重要である。
本発明の第1の実施の形態では、クライアントからの要求が、読み出し、または、書き込みの何れの要求であっても、同じように行う例を示した。しかしながら、上述したように、読み出し処理と書き込み処理との間の切り替えを、先の処理から2サイクル以内に行う場合には、データの衝突回避のため、2サイクルの待ち時間を要する。そこで、この時間を軽減させることが重要である。
そこで、本発明の第2の実施の形態では、DRAM110におけるデータ転送動作の切り替え動作を軽減する例について図7乃至9を用いて説明する。
[データ処理装置100の機能構成例]
図7は、本発明の第2の実施の形態におけるデータ処理装置100の機能構成例を示すブロック図である。このデータ処理装置100は、DRAM110と、バス120と、リフレッシュコントローラ130と、第1乃至第3クライアント410、420、および430と、アービタ200とを備える。なお、第1乃至第3クライアント410、420、および430以外の構成は、図1において示した構成と同様のものであるため、同一の符号を付してここでの詳細な説明を省略する。
図7は、本発明の第2の実施の形態におけるデータ処理装置100の機能構成例を示すブロック図である。このデータ処理装置100は、DRAM110と、バス120と、リフレッシュコントローラ130と、第1乃至第3クライアント410、420、および430と、アービタ200とを備える。なお、第1乃至第3クライアント410、420、および430以外の構成は、図1において示した構成と同様のものであるため、同一の符号を付してここでの詳細な説明を省略する。
なお、この本発明の第2の実施の形態では、図1のREQ[0]線159をREQ[0]線459として、図1のACK[0]線169をACK[0]線469として示す。また、図1のREQ線150をREQ線450として、図1のACK線150をACK線450として示す。
第1乃至第3クライアント410、420、および430は、本発明の第1の実施の形態における第1クライアント141と同様に、バス120を介してDRAM110へデータの読み書きをそれぞれ行うものである。この第1乃至第3クライアント410、420、および430は、第1乃至第3ライト制御部411、421および431と、第1乃至第3リード制御部412、422および432とを備える。
なお、第2乃至第3クライアント420および430における動作は、第1クライアント410と同一である。また、第2乃至第3ライト制御部421および431における動作は、第1ライト制御部411と同一である。そのため、ここでは、主に第1ライト制御部411について説明し、第2乃至第3ライト制御部421および431の説明の一部を省略する。
また、第2乃至第3リード制御部422および432における動作は、第1リード制御部412と同一である。そのため、ここでは、主に第1リード制御部412について説明し、第2乃至第3リード制御部422および432の説明の一部を省略する。
第1ライト制御部411は、第1クライアント410におけるライトアクセスを制御するものである。この第1ライト制御部411は、第1クライアント410がDRAM110に対してライトアクセスを行う必要がある場合には、REQ[1]線451を介して、第1クライアント410のライトアクセスの要求に関する信号をアービタ200に供給する。なお、このライトアクセスの要求に関する信号(第1ライト要求状態信号)は、第1クライアント410がライトアクセスの許可を要求しているか否かを示す1ビットの信号であり、図1の要求状態信号と同様の信号である。また、第1ライト制御部411には、ACK[1]線461を介して、ライトアクセスの許可に関する信号(第1ライト許可状態信号)がアービタ200から供給される。なお、この第1ライト許可状態信号は、第1ライト制御部411のライトアクセスが許可されたか否かを示す1ビットの信号であり、図1の許可状態信号と同様の信号である。
なお、第2乃至第3ライト制御部421および431における動作は、第1ライト制御部411と同様のものである。すなわち、第2ライト制御部421は、REQ[2]線452を介して第2ライト要求状態信号を供給する。第3ライト制御部431は、REQ[3]線453を介して第3ライト要求状態信号を供給する。また、第2ライト制御部421には、ACK[2]線462を介して、第2ライト許可状態信号がアービタ200から供給される。第3ライト制御部431には、ACK[3]線463を介して、第3ライト許可状態信号がアービタ200から供給される。
第1リード制御部412は、第1クライアント410におけるリードアクセスを制御するものである。この第1リード制御部412第1クライアント410がDRAM110に対してリードアクセスを行う必要がある場合には、REQ[4]線454を介して、第1クライアント410のリードアクセスの要求に関する信号をアービタ200に供給する。なお、このリードアクセスの要求に関する信号(第1リード要求状態信号)は、第1クライアント410がリードアクセスの許可を要求しているか否かを示す1ビットの信号であり、図1の要求状態信号と同様の信号である。また、第1リード制御部412には、ACK[4]線464を介して、リードアクセスの許可に関する信号(第1リード許可状態信号)がアービタ200から供給される。なお、この第1リード許可状態信号は、第1リード制御部412のリードアクセスが許可されたか否かを示す1ビットの信号であり、図1の許可状態信号と同様の信号である。
なお、第2乃至第3リード制御部422および432における動作は、第1リード制御部412と同様のものである。すなわち、第2リード制御部422は、REQ[5]線455を介して第2リード要求状態信号を供給する。第3リード制御部432は、REQ[6]線456を介して第3ライト要求状態信号を供給する。また、第2リード制御部422には、ACK[5]線465を介して、第2リード許可状態信号がアービタ200から供給される。第3リード制御部432には、ACK[6]線466を介して、第3リード許可状態信号がアービタ200から供給される。
この図7におけるアービタ200は、図1のアービタ200と同様の機能である。しかしながら、本発明の第2の実施の形態では、許可対象検出情報の値、リクエスト信号のビット数およびアクノリッジ信号のビット数などが本発明の第1の実施の形態と異なるため、これらについて説明する。本発明の第2の実施の形態では、検出対象のクライアントは、第1乃至第3ライト制御部411、421、431と、第1乃至第3リード制御部412、422、432との合計6個のクライアントである。そのため、本発明の第2の実施の形態では、許可対象検出情報の値は、「1」から「6」までの値となる。また、DRAM110に対するクライアントは、第1乃至第3ライト制御部411、421、431と、第1乃至第3リード制御部412、422、432と、リフレッシュコントローラ130との合計7個である。このため、本発明の第2の実施の形態では、リクエスト信号およびアクノリッジ信号のビット数は「7」になる。
なお、リクエスト信号について、本発明の第2の実施の形態では、最下位(0番目)のビット(LSB)を第0要求状態信号とし、1番目のビットを第1ライト要求状態信号とし、2番目のビットを第2ライト要求状態信号とする。また、リクエスト信号の3番目のビットを第3ライト要求状態信号とし、4番目のビットを第1リード要求状態信号とし、5番目のビットを第2リード要求状態信号とし、6番目のビット(MSB)を第3リード要求状態信号とする。すなわち、1乃至6番目のビットは、許可対象検出情報より特定されるクライアントの許可状態信号となる。
また、アクノリッジ信号についても、本発明の第2の実施の形態では、最下位(0番目)のビット(LSB)を第0許可状態信号とし、1番目のビットを第1ライト許可状態信号とし、2番目のビットを第2ライト許可状態信号とする。また、アクノリッジ信号の3番目のビットを第3ライト許可状態信号とし、4番目のビットを第1リード許可状態信号とし、5番目のビットを第2リード許可状態信号とし、6番目のビット(MSB)を第3リード許可状態信号とする。すなわち、1乃至6番目のビットは、許可対象検出情報より特定されるクライアントの許可状態信号となる。
このように、クライアントにライト制御部およびリード制御部を設けることにより、クライアントのライト動作およびリード動作のそれぞれに対する許可を供給することができる。
[許可対象検出情報の値の遷移例]
図8は、本発明の第2の実施の形態における許可クライアント検出部210による許可対象検出情報の遷移例を模式的に示す図である。
図8は、本発明の第2の実施の形態における許可クライアント検出部210による許可対象検出情報の遷移例を模式的に示す図である。
図8に示す例では、許可対象検出情報の遷移により特定されるクライアントを楕円511乃至516内に示す。なお、楕円511乃至516内には、各クライアントの識別子(1)乃至(6)と、各クライアントの名称(ライト(1)乃至(3)、リード(1)乃至(3))とを関連付けて示す。すなわち、楕円511に対応するクライアントは、第1ライト制御部411(識別子(1)、ライト(1))であり、楕円512に対応するクライアントは、第2ライト制御部421(識別子(2)、ライト(2))である。また、楕円513に対応するクライアントは、第3ライト制御部431(識別子(3)、ライト(3))であり、楕円514に対応するクライアントは、第1リード制御部412(識別子(4)、リード(1))である。さらに、楕円515に対応するクライアントは、第2リード制御部422(識別子(5)、リード(2))であり、楕円516に対応するクライアントは、第3リード制御部432(識別子(6)、リード(3))である。
また、図8では、許可対象検出情報の遷移順序を楕円511乃至516を結ぶ矢印により表す。すなわち、この図8では、許可対象検出情報の値は1ずつカウントアップされ、「6」の後は「1」に戻ることが示されている。
このように、複数のデータ転送要求がアービタ200に供給されている場合には、読み出し動作または書き込み動作のうちの同一の動作を行うクライアントを連続して選択するように許可対象検出情報を設定する。これにより、アクセスの切り替えの待ち時間の発生を抑えることができ、バスの使用効率を向上させることができる。
[アクノリッジ信号供給部によるアクノリッジ信号発生例]
図9は、本発明の第2の実施の形態におけるアクノリッジ信号供給部220によるアクノリッジ信号発生例を示すタイミングチャートである。
図9は、本発明の第2の実施の形態におけるアクノリッジ信号供給部220によるアクノリッジ信号発生例を示すタイミングチャートである。
ここでは、横軸をアービタ200の動作におけるクロック信号として、許可対象検出情報(i)510の値と、REQ[0]線459における第0要求状態信号の変化と、REQ[1]線451における第1ライト要求状態信号の変化とが示されている。また、ここでは、REQ[4]線454における第1リード要求状態信号の変化と、REQ[6]線456における第3リード要求状態信号の変化と、ACK[0]線469における第0許可状態信号の変化とが示されている。さらに、ここでは、ACK[1]線461における第1ライト許可状態信号の変化と、ACK[4]線464における第1リード要求状態信号の変化と、ACK[6]線466における第3リード許可状態信号の値の変化とが示されている。また、ここでは、バス120を介して転送されるデータが示されている。
この図9では、便宜上、REQ[2]線452、REQ[3]線453、REQ[5]線455における値は「0」であることを想定し、図9への図示およびその説明を省略する。また、ACK[2]線462、ACK[3]線463、ACK[5]線465における値も「0」であることを想定し、図9への図示およびその説明を省略する。
また、図9では、REQ[0]線459の第0要求状態信号の値は経過時間「26」において「0」から「1」に遷移し、REQ[1]線451の第1ライト要求状態信号は経過時間「4」において「0」から「1」に遷移することを想定する。また、REQ[4]線454の第1リード要求状態信号は経過時間「2」において「0」から「1」に遷移し、REQ[6]線456の第3リード要求状態信号は経過時間「6」および「21」において「0」から「1」に遷移するものとする。
また、経過時間「0」における許可対象検出情報の値は「1」を想定し、アクノリッジ信号は7ビットの全ての値が「0」であることを想定する。また、バス120を介するデータ転送に関する条件については、図4と同様のものを想定する。
なお、許可クライアント検出部210およびアクノリッジ信号供給部220の動作については、各信号の値は異なるが、図3において示した動作と同様であるため、ここでの詳細な説明を省略する。
ここで、本発明の第2の実施の形態によりバス120を介して転送されるデータについて、図9のバス120を用いて説明する。まず、経過時間「4」乃至「11」においては、第1リード制御部412によるリードアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110から読み出されたリードデータがデータ転送される。その後、経過時間「12」乃至「19」においては、第3リード制御部432によるリードアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110から読み出されたリードデータがデータ転送される。
そして、経過時間「20」および「21」においては、直前のリードアクセスとのバス使用の衝突を防ぐため、第1ライト制御部411によるライトアクセスに関する命令をDRAM110にデータ転送することの待ち時間が発生する。その後、経過時間「22」乃至「29」においては、第1ライト制御部411によるライトアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110に書き込まれるライトデータがデータ転送される。
そして、経過時間「30」および「31」においては、直前のライトアクセスとのバス使用の衝突を防ぐため、リフレッシュコントローラ130によるリフレッシュに関する命令をDRAM110にデータ転送することの待ち時間が発生する。その後、経過時間「32」乃至「39」においては、リフレッシュコントローラ130によるリフレッシュに関する命令がDRAM110にデータ転送されるとともに、DRAM110においてリフレッシュ動作が行われる。
このように、本発明の第2の実施の形態では、読み出し動作または書き込み動作のうちの同一の動作を行うクライアントを連続して選択するように許可対象検出情報を設定ことによって、データ転送効率を向上させることができる。
ここで、この本発明の第2の実施の形態と、本発明の第1の実施の形態との差異について説明する。この本発明の第2の実施の形態では、データ転送の許可を要求する信号の値が「0」から「1」に遷移する順序が、最初に第1リード制御部412、2番目に第1ライト制御部411、そして3番目に第3リード制御部432である。すなわち、最初にリードアクセスに関する要求、2番目にライトアクセスに関する要求、3番目にリードアクセスに関する要求の順序である。この順序は、図3において示した本発明の第1の実施の形態における要求の順序と同様である。
この要求の順序に対して、本発明の第2の実施の形態におけるデータ転送の順序は、最初が第1リード制御部412のリードアクセスであり、2番目が第3リード制御部432のリードアクセスであり、3番目が第1ライト制御部411のライトアクセスである。この順序は、本発明の第1の実施の形態における、最初がリードアクセスであり、2番目がライトアクセスであり、3番目がリードアクセスである順序とは異なる。すなわち、本発明の第2の実施の形態では、リードアクセスを連続させることによって、アクセスの切り替えの待ち時間の発生が抑えられている。
このように、同じデータアクセスが連続して実行されるように許可対象検出情報を設定することによって、アクセスの切り替えの待ち時間の発生を抑えることができる。すなわち、同じアクセスを連続して実行する割合を上昇させることによって、バスの使用効率を向上させることができる。
なお、本発明の第1および第2の実施の形態においては、許可対象検出情報の値がデータを転送する期間(データ転送期間)である8サイクルより少ない場合を想定した。すなわち、本発明の第1および第2の実施の形態においては、許可対象検出情報の値が比較的に小さい装置を想定して説明した。しかしながら、クライアントの数によっては、許可対象検出情報の数が大きくなることが考えられる。この許可対象検出情報の数が大きくなればなるほど、許可対象検出情報の値の更新に関する待ち時間が長くなることによるデータ転送の遅延が生じる可能性がある。
次に、許可対象検出情報の数が大きい場合において発生するデータ転送の遅延の例について図10および11を用いて説明する。
[課題の例における許可対象検出情報の値の遷移例]
図10は、許可対象検出情報の数が大きい場合における許可対象検出情報の遷移例を模式的に示すイメージ図である。
図10は、許可対象検出情報の数が大きい場合における許可対象検出情報の遷移例を模式的に示すイメージ図である。
この許可対象検出情報の数が大きい場合においては、データ転送期間は8サイクルであり、許可対象検出情報の値は「1」乃至「12」であることを想定する。また、この許可対象検出情報の数が大きい場合においては、本発明の第2の実施の形態において許可対象検出情報の数が大きい場合を想定して説明する。さらに、この場合において、データ処理装置100は、図7の第1乃至第3クライアント410.420、430の代わりに、第1乃至第6クライアントを備えることとする。なお、これに伴い、第1乃至第6クライアントは、第1乃至第6ライト制御部(ライト(1)乃至(6))と、第1乃至第6リード制御部(リード(1)乃至(6))とを備えることとする。
図10に示す例では、許可対象検出情報の遷移により特定されるクライアントを楕円531乃至542内に示す。なお、楕円531乃至542内には、各クライアントの識別子(1)乃至(12)と、各クライアントの名称(ライト(1)乃至(6)、リード(1)乃至(6))とを関連付けて示す。
また、図10では、許可対象検出情報の遷移順序を楕円531乃至542を結ぶ矢印により表す。すなわち、この図10では、許可対象検出情報の値は1ずつカウントアップされ、「12」の後は「1」に戻ることが示されている。
[アクノリッジ信号供給部によるアクノリッジ信号発生例]
図11は、許可対象検出情報の数が大きい場合におけるアクノリッジ信号供給部220によるアクノリッジ信号発生例を示すタイミングチャートである。
図11は、許可対象検出情報の数が大きい場合におけるアクノリッジ信号供給部220によるアクノリッジ信号発生例を示すタイミングチャートである。
なお、ここでは、第1乃至第6ライト制御部(ライト(1)乃至(6))から供給されるライトアクセスの許可の要求の信号を、第1乃至第6ライト要求状態信号と示す。また、第1乃至第6リード制御部(リード(1)乃至(6))から供給されるリードアクセスの許可の要求の信号を、第1乃至第6リード要求状態信号と示す。なお、第1乃至第6ライト制御部(ライト(1)乃至(6))に供給されるライトアクセスの許可に関する信号を、第1乃至第6ライト許可状態信号と示す。また、第1乃至第6リード制御部(リード(1)乃至(6))に供給されるリードアクセスの許可に関する信号を、第1乃至第6ライト許可状態信号と示す。
また、ここでは、リフレッシュコントローラ130の第0要求状態信号をアービタ200に供給する線をREQ[0]線549と示し、アービタ200からリフレッシュコントローラ130に第0許可状態信号を供給する線をACK[0]線559と示す。また、第1ライト制御部についても、第1ライト要求状態信号に関する線をREQ[1]線541と示し、第1ライト許可状態信号に関する線をACK[1]線551と示す。同様に、第2ライト制御部の線をREQ[2]線542およびACK[2]線552と示し、第3リード制御部の線をREQ[9]線543およびACK[9]線553と示す。
また、13ビットのリクエスト信号およびアクノリッジ信号における各ビットと許可状態信号との関係は、本発明の第2の実施の形態と同様のものとする。すなわち、最下位(0番目)のビット(LSB)は第0許可状態信号であり、1番目乃至12番目のビットは、許可対象検出情報の値により特定されるクライアントの許可状態信号である。
図11では、横軸をアービタ200の動作におけるクロック信号として、許可対象検出情報(i)530の値と、REQ[0]線549における第0要求状態信号の変化と、REQ[1]線541における第1ライト要求状態信号の変化とが示されている。また、ここでは、REQ[2]線542における第2ライト要求状態信号の変化と、REQ[9]線543における第3リード要求状態信号の変化と、ACK[0]線559における第0許可状態信号の変化とが示されている。さらに、ここでは、ACK[1]線551における第1ライト許可状態信号の変化と、ACK[2]線552における第2ライト要求状態信号の変化と、ACK[9]線553における第3リード許可状態信号の変化とが示されている。また、ここでは、バス560を介して転送されるリードデータおよびライトデータが示されている。
また、図11では、REQ[0]線549の第0要求状態信号が経過時間「32」において「0」から「1」に遷移し、REQ[1]線541の第1ライト要求状態信号が経過時間「2」において「0」から「1」に遷移することを想定する。また、REQ[2]線542の第2ライト要求状態信号が経過時間「17」において「0」から「1」に遷移し、REQ[9]線543の第3リード要求状態信号が経過時間「23」において「0」から「1」に遷移することを想定する。
なお、許可クライアント検出部210およびアクノリッジ信号供給部220の動作については、各信号の値は異なるが、図3において示した動作と同様であるため、ここでの詳細な説明を省略する。
ここで、データ転送期間より許可対象検出情報の数が大きい場合においてバス560を介して転送されるデータについて、図11のバス560を用いて説明する。まず、経過時間「13」乃至「20」において、第1ライト制御部によるライトアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110に書き込まれるライトデータがデータ転送される。続いて、経過時間「27」乃至「34」において、第2ライト制御部によるライトアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110に書き込まれるライトデータがデータ転送される。
そして、経過時間「35」および「36」においては、直前のライトアクセスとのバス使用の衝突を防ぐため、リフレッシュコントローラ130によるリフレッシュに関する命令をDRAM110にデータ転送することの待ち時間が発生する。続いて、経過時間「37」乃至「43」においては、リフレッシュコントローラ130によるリフレッシュに関する命令がDRAM110にデータ転送されるとともに、DRAM110においてリフレッシュ動作が行われる。
ここで、許可対象検出情報の数が大きい場合において発生するデータ転送の遅延について説明する。経過時間「2」において第1ライト要求状態信号が「0」から「1」に遷移してから経過時間「13」においてデータ転送が開始されるまで、11サイクルが経過している。これは、許可対象検出情報の値が「3」の時に第1ライト要求状態信号が「0」から「1」に遷移したため、許可対象検出情報の値が「2」になるまで11サイクルの待ち時間が発生したことが原因である。すなわち、許可対象検出情報の数が大きいほど、許可対象検出情報の値が一巡するための期間が長くなる。
このように、本発明の第1および第2の実施の形態では、許可対象検出情報の数が大きい場合においてデータ転送の遅延が発生する可能性がある。そこで、本発明の第3の実施の形態では、許可対象検出情報の数が大きい場合において発生するデータ転送の遅延を軽減させる例について図12乃至20を用いて説明する。
<3.第3の実施の形態>
[データ処理装置の機能構成例]
図12は、本発明の第3の実施の形態におけるデータ処理装置100の機能構成例を示すブロック図である。
[データ処理装置の機能構成例]
図12は、本発明の第3の実施の形態におけるデータ処理装置100の機能構成例を示すブロック図である。
このデータ処理装置100は、DRAM110と、バス120と、リフレッシュコントローラ(Refr)130と、第1乃至第6クライアント(第1乃至第6C)410、420、430および440と、アービタ600とを備える。
なお、DRAM110と、バス120と、リフレッシュコントローラ(Refr)130とについては、図1において示した各構成と同様であるため、同一の符号を付してここでの詳細な説明を省略する。また、第1乃至第6クライアント(第1乃至第6C)410、420、430および440については、図7において示した第1クライアント410と同様のものであるため、ここでの詳細な説明を省略する。なお、第1乃至第6ライト制御部(第1乃至第6WC)411、421、431および441についても、図7において示した第1ライト制御部411と同様のものであるため、ここでの詳細な説明を省略する。また、第1乃至第6リード制御部(第1乃至第6RC)412、422、432および442についても、図7において示した第1リード制御部412と同様のものであるため、ここでの詳細な説明を省略する。
なお、本発明の第3の実施の形態では、第1乃至第6ライト制御部(第1乃至第6WC)411、421、431および441をグループ1のクライアントと示す。また、第1乃至第6リード制御部(第1乃至第6WC)412、422、432および442をグループ2のクライアントと示す。
また、識別子「1」乃至「6」は第1乃至第6ライト制御部(第1乃至第6WC)411、421、431および441を示し、識別子「7」乃至「12」は第1乃至第6ライト制御部(WC)411、421、431および441を示すものとする。
アービタ600は、図1のアービタ200と同様に、各クライアントがバス120を介してDRAM110へのアクセスを行う場合におけるアクセス制御を行うアクセス制御部である。このアービタ600は、第1許可クライアント検出部610と、第2許可クライアント検出部620と、アクノリッジ信号供給部630とを備える。
第1および第2許可クライアント検出部610および620は、図1の許可クライアント検出部210と同様に、次にデータ転送が許可されるクライアントを検出するものである。第1許可クライアント検出部610は、グループ1のクライアントを特定する識別子「1」乃至「6」を指定する許可対象検出情報(グループ1許可対象検出情報)を保持する。また、第2許可クライアント検出部620は、グループ2のクライアントを特定する識別子「7」乃至「12」を指定する許可対象検出情報(グループ2許可対象検出情報)を保持する。すなわち、この本発明の第3の実施の形態では、第1許可クライアント検出部610は、「1」乃至「6」の値の許可対象検出情報を保持し、第2許可クライアント検出部620は、「7」乃至「12」の値の許可対象検出情報を保持する。第1許可クライアント検出部610は、グループ1許可対象検出情報を、信号線710を介してアクノリッジ信号供給部630に供給する。また、第2許可クライアント検出部620は、グループ2許可対象検出情報を、信号線720を介してアクノリッジ信号供給部630に供給する。なお、この第1および第2許可クライアント検出部610および620の許可対象検出情報については、図14を用いて説明する。
アクノリッジ信号供給部630は、図1のアクノリッジ信号供給部220と同様に、データ転送の許可を要求しているクライアントのうちいずれか1つのクライアントに対してデータ転送を許可するか否かを決定するものである。このアクノリッジ信号供給部630は、第1グループ許可対象検出情報および第2グループ許可対象検出情報のいずれかの許可対象検出情報とリクエスト信号とに基づいて、アクノリッジ信号を供給する。このアクノリッジ信号供給部630は、生成したアクノリッジ信号の各ビットを、ACK線660を介して各クライアントに供給する。なお、このアクノリッジ信号供給部630については、図13を用いて詳細に説明する。
このように、複数の許可クライアント検出部を設けることによって、複数のクライアントを複数のグループに分類することができる。これにより、1つのグループにおけるクライアントの個数を小さくするとともに、1つのグループにおける許可対象検出情報の数を少なくすることができる。
なお、本発明の第3の実施の形態では、第1および第2許可クライアント検出部610および620の2つの許可クライアント検出部を備える例について説明したが、本発明はこれに限定されるものではない。本発明の第3の実施の形態では、許可クライアント検出部の数を多くすればするほど、1つのグループに分類される許可対象検出情報の数を少なくすることができる。そのため、例えば、4つの許可クライアント検出部を儲けてクライアントを4つに分類し、それぞれの許可クライアント検出部における許可対象検出情報の数を4つにする場合なども考えられる。
[アクノリッジ信号供給部の機能構成例]
図13は、本発明の第3の実施の形態におけるアクノリッジ信号供給部630の機能構成例を示すブロック図である。
図13は、本発明の第3の実施の形態におけるアクノリッジ信号供給部630の機能構成例を示すブロック図である。
アクノリッジ信号供給部630は、アクノリッジ信号更新値生成部221と、リフレッシュ許可信号供給部222と、アクノリッジ信号決定部223と、アクノリッジ信号選択部224と、アクノリッジ信号保持部225とを備える。また、このアクノリッジ信号供給部630は、グループ情報保持部631と、グループ決定部632と、グループ選択部633と、グループ情報管理部634と、回数制限情報保持部635と、回数制限情報管理部636とを備える。
なお、アクノリッジ信号更新値生成部221、リフレッシュ許可信号供給部222およびアクノリッジ信号決定部223は、図1において示した各構成と同様であるため、同符号を付してここでの説明を省略する。また、アクノリッジ信号選択部224およびアクノリッジ信号保持部225は、図1において示した各構成と同様であるため、同符号を付してここでの説明を省略する。
グループ情報保持部631は、第1グループ許可対象検出情報または第2グループ許可対象検出情報、どちらの許可対象検出情報をアクノリッジ信号更新値生成部221に供給するかを決定するためのグループ情報を保持するものである。ここで、「1」の値のグループ情報は第1グループ許可対象検出情報を示し、「2」の値のグループ情報は第2グループ許可対象検出情報を示すものとする。このグループ情報保持部631は、その保持しているグループ情報をグループ決定部632に供給する。
グループ決定部632は、グループ情報およびリクエスト信号に基づいて、第1グループ許可対象検出情報または第2グループ許可対象検出情報、どちらの許可対象検出情報をアクノリッジ信号更新値生成部221に供給するかを決定するものである。このグループ決定部632は、REQ線650を介して供給されるリクエスト信号に基づいて、グループ情報保持部631から供給されたグループ情報の値を変更するか否か決定し、その決定したグループ情報を供給する。このグループ決定部632は、グループ情報保持部631から供給されたグループ情報が示すグループのいずれかのクライアントの要求状態信号の値が「1」である場合には、グループ情報の値を変更しない。また、このグループ決定部632は、グループ情報保持部631から供給されたグループ情報が示すグループの全てのクライアントの要求状態信号の値が「0」である場合には、グループ情報の値を変更する。また、このグループ情報の値を変更する場合において、0番目のビットの値が「1」のリクエスト信号が供給されると、グループ決定部632はグループ情報の値を変更しない。
このグループ決定部632は、グループ情報の値を変更しないと判断した場合には、グループ情報保持部631から供給されたグループ情報と同じ値のグループ情報をグループ選択部633およびグループ情報管理部634に供給する。また、このグループ決定部632は、グループ情報の値を変更すると判断した場合には、グループ情報保持部631から供給されたグループ情報を変更したグループ情報をグループ選択部633およびグループ情報管理部634に供給する。また、このグループ決定部632は、グループ情報の値を変更すると判断した場合には、更新に関する情報(グループ更新通知情報)を回数制限情報管理部636に供給する。
例えば、「1」の値のグループ情報(グループ情報「1」)が供給されるとともに、グループ1に属するいずれかのクライアントの許可要求信号が「1」であるリクエスト信号が供給された場合を想定する。この場合には、グループ決定部632は、グループ情報の値を変更しないで、グループ情報「1」を供給する。また、このグループ決定部632は、グループ情報「1」が供給されるとともに、グループ1に属するクライアントの許可要求信号が全て「0」のリクエスト信号が供給された場合には、グループ情報の値を変更し、グループ情報「2」を供給する。
グループ選択部633は、グループ決定部632から供給されたグループ情報に基づいて、第1グループ許可対象検出情報または第2グループ許可対象検出情報、どちらかの許可対象検出情報をアクノリッジ信号更新値生成部221に供給するものである。このグループ選択部633は、例えば、グループ情報「1」が供給された場合には、信号線710を介して供給される第1グループ許可対象検出情報をアクノリッジ信号更新値生成部221に供給する。また、このグループ選択部633は、グループ情報「2」が供給された場合には、信号線720を介して供給される第2グループ許可対象検出情報をアクノリッジ信号更新値生成部221に供給する。なお、グループ決定部632およびグループ選択部633は、特許請求の範囲に記載の選択部の一例である。
グループ情報管理部634は、グループ決定部632から供給されるグループ情報および回数制限情報管理部636から供給されるグループ更新命令情報に基づいて、グループ情報保持部631に保持されるグループ情報を管理するものである。ここで、グループ更新命令情報とは、グループ決定部632から供給されたグループ情報を更新させ、その更新された値のグループ情報をグループ情報保持部631に保持させるための情報である。例えば、このグループ情報管理部634は、グループ決定部632からグループ情報「1」が供給され、回数制限情報管理部636からグループ更新命令情報が供給されない場合には、グループ情報「1」をグループ情報保持部631に保持させる。また、このグループ情報管理部634は、グループ決定部632からグループ情報「1」が供給され、回数制限情報管理部636からグループ更新命令情報が供給された場合には、グループ情報「2」をグループ情報保持部631に保持させる。このグループ情報管理部634は、グループ情報をグループ情報保持部631に供給する。なお、グループ情報管理部634は、特許請求の範囲に記載のグループ更新部の一例である。
回数制限情報保持部635は、同じグループに属するクライアントが連続してデータ転送を行う回数の制限値の情報(回数制限情報)を保持するものである。この回数制限情報保持部635は、保持している回数制限情報を回数制限情報管理部636に供給する。
回数制限情報管理部636は、アクノリッジ信号選択部224が選択したアクノリッジ信号と、アクノリッジ信号決定部223がアクノリッジ信号選択部224に供給する命令とに基づいて回数制限情報を管理するものである。この回数制限情報管理部636は、例えば、アクノリッジ信号決定部223がACK待機命令または第1ACK更新命令を供給した場合には、回数制限情報を更新しない。また、この回数制限情報管理部636は、アクノリッジ信号決定部223が第2ACK更新命令を供給するとともに、アクノリッジ信号選択部224が選択したアクノリッジ信号の全てのビットの値が「0」である場合には、回数制限情報を更新しない。
また、この回数制限情報管理部636は、第2ACK更新命令が供給されるとともに、アクノリッジ信号選択部224が選択したアクノリッジ信号のいずれかのビットにおける値が「1」である場合には、回数制限情報の値が「1」であるか否かを判断する。回数制限情報の値が「1」でない場合には、回数制限情報の値から「1」の値を減算して回数制限情報を更新する。一方、回数制限情報の値が「1」である場合は、現在の状態が、同一のグループに属するクライアントが連続してデータ転送を行える最後の回である。このため、回数制限情報の値が「1」である場合には、グループ更新命令情報を供給するとともに、回数制限情報の値を、更新するグループの回数制限情報の最大値に更新する。この回数制限情報管理部636は、更新の管理が終了した回数制限情報を回数制限情報保持部635に供給する。
このように、グループ情報および回数制限情報を用いることにより、複数の許可対象検出情報を用いて、データ転送の許可を要求しているクライアントのうちいずれか1つのクライアントに対してデータ転送を許可することができる。
[許可対象検出情報の値の遷移例]
図14は、本発明の第3の実施の形態における許可対象検出情報の遷移例を模式的に示すイメージ図である。
図14は、本発明の第3の実施の形態における許可対象検出情報の遷移例を模式的に示すイメージ図である。
図14(a)には、第1許可クライアント検出部610におけるグループ1許可対象検出情報の遷移により特定されるクライアントが楕円711乃至716内に示されている。なお、楕円711乃至716内には、各クライアントの識別子(1)乃至(6)と、各クライアントの名称(ライト(1)乃至(6))とを関連付けて示す。また、図14(a)では、グループ1許可対象検出情報の遷移順序を楕円711乃至716を結ぶ矢印により表す。すなわち、この図14(a)では、グループ1許可対象検出情報の値は1ずつカウントアップされ、「6」の後は「1」に戻ることが示されている。
図14(b)には、第2許可クライアント検出部620におけるグループ2許可対象検出情報の遷移により特定されるクライアントが楕円721乃至726内に示されている。なお、楕円721乃至726内には、各クライアントの識別子(7)乃至(12)と、各クライアントの名称(リード(1)乃至(6))とを関連付けて示す。また、図14(b)では、グループ2許可対象検出情報の遷移順序を楕円721乃至726を結ぶ矢印により表す。すなわち、この図14(b)では、グループ2許可対象検出情報の値は1ずつカウントアップされ、「12」の後は「7」に戻ることが示されている。
このように、クライアントをリード動作のクライアントとライト動作のクライアントとに分類し、そのグループごとにデータ転送を許可するクライアントを検出することにより、1つのグループの許可対象検出情報の数を小さくすることができる。
なお、本発明の第3の実施の形態では、クライアントのアクセス動作ごとにクライアントを分類する例について説明したが、本発明はこれに限定されるものではない。本発明の第3の実施の形態では、グループの分類方法は、1つのグループにおける許可対象検出情報の数が分類前より少なくなるのであれば、何であってもよい。例えば、図1において示した本発明の第1の実施の形態における第1乃至第6クライアント141乃至147を、2つのグループに分類することも考えられる。
また、本発明の第3の実施の形態では、クライアントが重複しないようにグループに分類する例について説明したが、本発明はこれに限定されるものではない。例えば、特定のクライアントが複数のグループに属するように分類することにより、そのクライアントの許可対象検出情報のアクノリッジ信号供給部630への供給頻度を、他のクライアントと比較して増やすことができる。
[アクノリッジ信号供給部によるアクノリッジ信号発生例]
図15は、本発明の第3の実施の形態におけるアクノリッジ信号供給部630によるアクノリッジ信号発生例を示すタイミングチャートである。
図15は、本発明の第3の実施の形態におけるアクノリッジ信号供給部630によるアクノリッジ信号発生例を示すタイミングチャートである。
この本発明の第3の実施の形態では、第1許可クライアント検出部610の許可対象検出情報(第1グループ許可対象検出情報)「1」乃至「6」を示す変数をsとする。また、第2許可クライアント検出部620の許可対象検出情報(第2グループ許可対象検出情報)「7」乃至「12」を示す変数をtとする。また、グループ情報保持部631から供給されるグループ情報を示す変数をgとし、回数制限情報保持部635から供給される回数制限情報を示す変数をkとする。
なお、この本発明の第3の実施の形態では、グループ1の回数制限情報の値の最大値を「6」とし、グループ2の回数制限情報の値の最大値も「6」とする。
REQ[0]乃至[9]線659、651、653および656とクライアントとの関係については、図11のREQ[0]乃至[9]線549、541、542および543と同様であるため、ここでの説明を省略する。また、ACK[0]乃至[9]線669、661、663および669についても、図11のACK[0]乃至[9]線559、551、552および553と同様であるため、ここでの説明を省略する。
また、13ビットのリクエスト信号およびアクノリッジ信号における各ビットと許可状態信号との関係は、本発明の第2の実施の形態と同様のものとする。すなわち、最下位(0番目)のビット(LSB)は第0許可状態信号であり、1番目乃至12番目のビットは、許可対象検出情報の値より特定されるクライアントの許可状態信号である。
ここでは、横軸をアービタ200の動作におけるクロック信号として、第1グループ許可対象検出情報(s)710の値と、第2グループ許可対象検出情報(t)720の値と、グループ情報(g)750の値と、回数制限情報(k)760の値とが示されている。また、ここでは、REQ[0]線659における第0要求状態信号の変化と、REQ[1]線651における第1ライト要求状態信号の変化と、REQ[2]線653における第2ライト要求状態信号の変化とが示されている。さらに、ここでは、REQ[9]線656における第3リード要求状態信号の変化と、ACK[0]線669における第0許可状態信号の変化と、ACK[1]線661における第1ライト許可状態信号の変化とが示されている。また、ここでは、ACK[2]線663における第2ライト許可状態信号の変化と、ACK[9]線669における第3リード許可信号の値の変化と、バス120を介して転送されるリードデータおよびライトデータとが示されている。
この図15では、REQ[0]乃至[9]線659、651、653および656において値が「0」から「1」に遷移するタイミングは、図11のREQ[0]乃至[9]線549、541、542および543と同様であるため、ここでの説明を省略する。また、第1許可クライアント検出部610および第2許可クライアント検出部620の動作については、各信号の値は異なるが、図3において示した許可クライアント検出部210の動作と同様のものであるため、ここでの説明を省略する。なお、アクノリッジ信号供給部630におけるアクノリッジ信号更新値生成部221およびリフレッシュ許可信号供給部222の動作については、各信号の値は異なるが、図3において示した各部と同様のものであるため、ここでの説明を省略する。アクノリッジ信号供給部630におけるアクノリッジ信号選択部224、アクノリッジ信号保持部225およびアクノリッジ信号決定部223の動作についても、図3において示した各部と同様のものであるため、ここでの説明を省略する。
まず、経過時間「0」におけるアクノリッジ信号供給部630の動作について説明する。グループ情報保持部631は、保持しているグループ情報「1」をグループ決定部632に供給する。そして、グループ決定部632は、グループ1に属する全てのクライアントの許可要求信号が「0」であることからグループ情報を変更し、グループ情報「2」をグループ情報管理部634およびグループ選択部633に供給する。また、グループ決定部632は、グループ更新通知情報を回数制限情報管理部636に供給する。
続いて、グループ選択部633は、グループ決定部632から供給されたグループ情報「2」に基づいて、第2許可クライアント検出部620から供給された第2グループ許可対象検出情報「7」を選択する。そして、グループ選択部633は、その選択した第2グループ許可対象検出情報「7」をアクノリッジ信号更新値生成部221に供給する。アクノリッジ信号更新値生成部221は、許可対象検出情報「7」とリクエスト信号(全てのビットの値が「0」)から、全てのビットの値が「0」の更新アクノリッジ信号を生成する。そして、アクノリッジ信号決定部223およびアクノリッジ信号選択部224により、更新アクノリッジ信号が選択され、この更新アクノリッジ信号がアクノリッジ信号保持部225および回数制限情報管理部636に供給される。
続いて、回数制限情報管理部636は、まず、グループ更新通知情報に基づいて、回数制限情報保持部635から供給された回数制限情報「6」を、グループ2の回数制限情報の最大値に更新する。そして、この回数制限情報管理部636は、全てのビット(13ビット)が「0」のアクノリッジ信号(更新アクノリッジ信号)と第2ACK更新命令とに基づいて、回数制限情報を更新しないと判断し、回数制限情報「6」を回数制限情報保持部635に供給する。
これらにより、経過時間「0」において、経過時間「2」におけるグループ情報「2」、回数制限情報「6」およびアクノリッジ信号(全てのビットの値が「0」)が決定される。また、図3の許可クライアント検出部210と同様の動作により、第1許可クライアント検出部610では経過時間「2」における第1グループ許可対象検出情報「2」が決定される。そして、第2許可クライアント検出部620では、経過時間「2」における第2グループ許可対象検出情報「8」が決定される。
経過時間「1」における動作は、経過時間「0」と同様の動作であるため、説明を省略する。この経過時間「1」において、経過時間「2」におけるグループ情報「1」、回数制限情報「6」、アクノリッジ信号(全てのビットの値が「0」)、第1グループ許可対象検出情報「3」および第2グループ許可対象検出情報「9」が決定される。
また、経過時間「2」においては、REQ[1]線651の第1ライト要求状態信号の値が「0」から「1」に遷移する。グループ決定部632は、供給されたグループ情報「1」が示すグループ1の第1ライト制御部411の第1ライト許可要求信号が「1」のため、グループ情報を更新しないで、グループ情報「1」をグループ情報管理部634とグループ選択部633とに供給する。
続いて、グループ選択部633は、グループ決定部632から供給されたグループ情報「1」に基づいて、第1許可クライアント検出部610から供給された第1グループ許可対象検出情報「3」を選択する。そして、グループ選択部633は、その選択した第1グループ許可対象検出情報「3」をアクノリッジ信号更新値生成部221に供給する。アクノリッジ信号更新値生成部221は、第1グループ許可対象検出情報「3」とリクエスト信号(1番目のビットの値のみが「1」)から、全てのビットの値が「0」の更新アクノリッジ信号を生成する。そして、アクノリッジ信号決定部223およびアクノリッジ信号選択部224により、更新アクノリッジ信号が選択され、この更新アクノリッジ信号がアクノリッジ信号保持部225および回数制限情報管理部636に供給される。
続いて、回数制限情報管理部636は、全てのビットの値が「0」のアクノリッジ信号(更新アクノリッジ信号)および第2ACK更新命令に基づいて、回数制限情報保持部635から供給された回数制限情報「6」を更新しないと判断する。そして、この回数制限情報管理部636は、回数制限情報「6」を回数制限情報保持部635に供給する。これらにより、経過時間「2」において、経過時間「3」におけるグループ情報「1」、回数制限情報「6」およびアクノリッジ信号(全てのビットの値が「0」)が決定される。また、図9の許可クライアント検出部210と同様の動作により、第1許可クライアント検出部610では経過時間「3」における第1グループ許可対象検出情報「4」が決定される。また、第2許可クライアント検出部620では、経過時間「3」における第2グループ許可対象検出情報「10」が決定される。
経過時間「3」乃至「5」における第1許可クライアント検出部610、第2許可クライアント検出部620およびアクノリッジ信号供給部630の動作は、経過時間「2」と同様の動作であるため、説明を省略する。
また、経過時間「6」において、第1グループ許可対象検出情報「1」より特定される第1ライト制御部411の第1ライト要求状態信号の値が「1」である。このため、、第1許可クライアント検出部610では、経過時間「7」の第1グループ許可対象検出情報の値を「1」に決定する。また、グループ決定部632およびグループ選択部633は、経過時間「2」と同様の動作により、第1許可クライアント検出部610から供給された第1グループ許可対象検出情報「1」を選択する。そして、その選択した第1グループ許可対象検出情報「1」をアクノリッジ信号更新値生成部221に供給する。アクノリッジ信号更新値生成部221は、許可対象検出情報「1」とリクエスト信号(1番目のビットの値のみが「1」)から、1番目のビットの値が「1」の更新アクノリッジ信号を生成する。
そして、アクノリッジ信号決定部223およびアクノリッジ信号選択部224により、更新アクノリッジ信号が選択され、この更新アクノリッジ信号がアクノリッジ信号保持部225および回数制限情報管理部636に供給される。続いて、回数制限情報管理部636は、1番目のビットが「1」のアクノリッジ信号(更新アクノリッジ信号)および第2ACK更新命令に基づいて、回数制限情報保持部635から供給された回数制限情報「6」から「1」の値を減算して回数制限情報を更新する。そして、この回数制限情報管理部636は、「6」から「1」の値を減算した回数制限情報「5」を回数制限情報保持部635に供給する。
これらにより、経過時間「6」において、経過時間「7」におけるグループ情報「1」、回数制限情報「5」、アクノリッジ信号(1番目のビットの値が「1」)、第1グループ許可対象検出情報「1」および第2グループ許可対象検出情報「8」が決定される。
また、経過時間「7」において、グループ決定部632は、グループ情報を更新しないと判断し、グループ情報「1」をグループ情報管理部634およびグループ選択部633に供給する。アクノリッジ信号決定部223およびアクノリッジ信号選択部224は、現サイクルのアクノリッジ信号をアクノリッジ信号保持部225および回数制限情報管理部636に供給する。回数制限情報管理部636は、1番目のビットの値が「1」のアクノリッジ信号およびACK待機命令に基づいて、回数制限情報を更新しないと判断し、回数制限情報「5」を回数制限情報保持部635に供給する。このように、経過時間「7」において、経過時間「8」におけるグループ情報「1」、回数制限情報「5」、アクノリッジ信号(1番目のビットの値が「1」)が決定される。
なお、経過時間「8」乃至「27」における第1許可クライアント検出部610、第2許可クライアント検出部620およびアクノリッジ信号供給部630の動作は、経過時間「7」までに説明した動作と略同様の動作であるため、説明を省略する。
また、経過時間「28」において、グループ決定部632は、供給されたグループ情報「1」が示すグループ1のクライアントの要求状態信号が全て「0」なため、グループ情報「2」をグループ情報管理部634およびグループ選択部633に供給する。また、グループ決定部632は、グループ更新通知情報を回数制限情報管理部636に供給する。 続いて、グループ選択部633は、グループ決定部632から供給されたグループ情報「2」に基づいて、第2グループ許可対象検出情報「9」をアクノリッジ信号更新値生成部221に供給する。アクノリッジ信号更新値生成部221は、許可対象検出情報「9」とリクエスト信号(9ビットの値が「1」)から、9番目のビットの値が「1」の更新アクノリッジ信号を生成する。そして、アクノリッジ信号決定部223およびアクノリッジ信号選択部224により、更新アクノリッジ信号が選択され、この更新アクノリッジ信号がアクノリッジ信号保持部225および回数制限情報管理部636に供給される。
続いて、回数制限情報管理部636は、まず、グループ更新通知情報に基づいて、回数制限情報保持部635から供給された回数制限情報「5」をグループ2のの回数制限情報の最大値「6」に更新する。そして、この回数制限情報管理部636は、9番目のビットの値が「1」のアクノリッジ信号および第2ACK更新命令に基づいて、更新した回数制限情報「6」から「1」の値を減算して回数制限情報を更新する。そして、この回数制限情報管理部636は、「6」から「1」の値を減算した回数制限情報「5」を回数制限情報保持部635に供給する。これらにより、経過時間「28」において、経過時間「29」におけるグループ情報「2」、回数制限情報「5」およびアクノリッジ信号(9番目のビットの値が「1」)が決定される。
なお、経過時間「29」乃至「37」における第1許可クライアント検出部610、第2許可クライアント検出部620およびアクノリッジ信号供給部630の動作は、経過時間「28」までに説明した動作と略同様の動作であるため、ここでの説明を省略する。
また、経過時間「38」において、グループ決定部632は、0番目のビットの値が「1」の値のリクエスト信号が供給されているため、グループ情報を更新しないで、グループ情報「2」をグループ情報管理部634およびグループ選択部633に供給する。また、アクノリッジ信号決定部223は第1ACK更新命令を供給し、アクノリッジ信号選択部224は、0番目のビットの値が「1」のアクノリッジ信号(リフレッシュ許可信号)をアクノリッジ信号保持部225および回数制限情報管理部636に供給する。回数制限情報管理部636は、第1ACK更新命令に基づいて、回数制限情報保持部635から供給された回数制限情報「5」を更新しないと判断する。そして、この回数制限情報管理部636は、回数制限情報「5」を回数制限情報保持部635に供給する。これらにより、経過時間「38」において、経過時間「39」におけるグループ情報「2」、回数制限情報「5」およびアクノリッジ信号(0番目のビットの値が「1」)が決定される。
また、経過時間「39」において、グループ決定部632は、0番目のビットの値が「1」の値のリクエスト信号が供給されているため、グループ情報を更新しないで、グループ情報「2」をグループ情報管理部634およびグループ選択部633に供給する。また、アクノリッジ信号決定部223はACK待機命令を供給し、アクノリッジ信号選択部224は、現サイクルのアクノリッジ信号(0番目のビットの値が「1」)をアクノリッジ信号保持部225および回数制限情報管理部636に供給する。回数制限情報管理部636は、ACK待機命令に基づいて、回数制限情報保持部635から供給された回数制限情報「5」を更新しないと判断する。そして、この回数制限情報管理部636は、回数制限情報「5」を回数制限情報保持部635に供給する。これらにより、経過時間「39」において、経過時間「40」におけるグループ情報「2」、回数制限情報「5」およびアクノリッジ信号(0番目のビットの値が「1」)が決定される
なお、経過時間「40」乃至「43」における第1許可クライアント検出部610、第2許可クライアント検出部620およびアクノリッジ信号供給部630の動作は、経過時間「39」までに説明した動作と略同様の動作であるため、ここでの説明を省略する。
ここで、本発明の第3の実施の形態によりバス120を介して転送されるデータについて、図15のバス120を用いて説明する。まず、経過時間「7」乃至「14」において、第1ライト制御部411によるライトアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110に書き込まれるライトデータがデータ転送される。その後、経過時間「21」乃至「28」において、第2ライト制御部421によるライトアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110に書き込まれるライトデータがデータ転送される。
続いて、経過時間「29」乃至「30」において、直前のライトアクセスとのバス使用の衝突を防ぐため、第3リード制御部432によるリードアクセスに関する命令をDRAM110にデータ転送することの待ち時間が発生する。そして、経過時間「31」乃至「38」において、第3リード制御部432によるリードアクセスに関する命令がDRAM110にデータ転送されるとともに、DRAM110から読み出されたリードデータがデータ転送される。
続いて、経過時間「39」乃至「40」において、直前のリードアクセスとのバス使用の衝突を防ぐため、リフレッシュコントローラ130によるリフレッシュに関する命令をDRAM110にデータ転送することの待ち時間が発生する。そして、経過時間「41」乃至「43」において、リフレッシュコントローラ130によるリフレッシュに関する命令がDRAM110にデータ転送されるとともに、DRAM110においてリフレッシュ動作が行われる。
ここで、本発明の第3の実施の形態について、図11において示した1つの許可クライアント検出部を設ける場合と比較して説明する。本発明の第3の実施の形態と、図11において示したデータ転送期間より許可対象検出情報の数が大きい場合との違いは、アービタが異なるだけで、リクエスト信号および許可対象検出情報の数などは同一である。図11において示した場合では、経過時間「13」乃至「20」において、第1ライト制御部によるライトアクセスが行われる。一方、本発明の第3の実施の形態では、経過時間「7」乃至「14」において第1ライト制御部411によるライトアクセスが行われる。すなわち、図11および図15に示した条件においては、第1および第2許可クライアント検出部610および620を設けることによって、6サイクル分のデータ転送の遅延が軽減される。
このように、複数の許可クライアント検出部を設けることによって、データ転送の遅延を軽減させることができる。
[アービタの動作例]
図16は、本発明の第3の実施の形態における第1許可クライアント検出部610の許可クライアント検出処理手順例を示すフローチャートである。
図16は、本発明の第3の実施の形態における第1許可クライアント検出部610の許可クライアント検出処理手順例を示すフローチャートである。
この図16乃至20において、sは、第1許可クライアント検出部610における許可対象検出情報(第1グループ許可対象検出情報)である。また、s0は、第1グループ許可対象検出情報の値の最小値(第1グループ許可対象検出情報最小値)である。また、REQ[s]値は、第1グループ許可対象検出情報(s)により特定されるクライアントの要求状態信号の値である。また、ACK[s]値は、第1グループ許可対象検出情報(s)により特定されるクライアントに供給される許可状態信号の値である。また、Mは、第1グループ許可対象検出情報の値の最大値(第1グループ許可対象検出情報最大値)である。
すなわち、本発明の第3の実施の形態においては、第1グループ第1グループ許可対象検出情報(s)は、「1」乃至「6」の値のうちいずれかの値である。また、第1グループ許可対象検出情報最小値(s0)の値は、「1」である。第1グループ許可対象検出情報最大値(M)の値は、「6」である。
なお、この第1許可クライアント検出部610の許可クライアント検出処理手順例は、図5において示した許可クライアント検出部210の許可クライアント検出処理手順例と同様であるため、ここでの説明を省略する。ステップS921はステップS901に、ステップS922はステップS902に、ステップS923はステップS903に、ステップS924はステップS904に、ステップS925はステップS905にそれぞれ対応する。
図17は、本発明の第3の実施の形態における第2許可クライアント検出部620の許可クライアント検出処理手順例を示すフローチャートである。
この図16乃至20において、tは、第2許可クライアント検出部620における許可対象検出情報(第2グループ許可対象検出情報)である。また、t0は、第2グループ許可対象検出情報の値の最小値(第2グループ許可対象検出情報最小値)である。また、REQ[t]値は、第2グループ許可対象検出情報(t)により特定されるクライアントの要求状態信号の値である。また、ACK[t]値は、第2グループ許可対象検出情報(t)により特定されるクライアントに供給される許可状態信号の値である。また、Pは、第2グループ許可対象検出情報の値の最大値(第2グループ許可対象検出情報最大値)である。
すなわち、本発明の第3の実施の形態においては、第2グループ許可対象検出情報(t)は、「7」乃至「12」の値のうちいずれかの値である。また、第2グループ許可対象検出情報最小値(t0)の値は、「7」である。第2グループ許可対象検出情報最大値(P)の値は、「12」である。
なお、この第2許可クライアント検出部620の許可クライアント検出処理手順例は、図5において示した許可クライアント検出部210の許可クライアント検出処理手順例と同様であるため、ここでの説明を省略する。ステップS931はステップS901に、ステップS932はステップS902に、ステップS933はステップS903に、ステップS934はステップS904に、ステップS935はステップS905にそれぞれ対応する。
図18は、本発明の第1の実施の形態におけるアクノリッジ信号供給部630のアクノリッジ信号供給処理手順例を示すフローチャートである。
この図18乃至20において、gは、グループ情報保持部631に保持されるグループ情報である。また、kは、回数制限情報保持部635に保持される回数制限情報である。また、L[1]は、グループ1の回数制限情報の最大値(第1グループ回数最大値)である。L[2]は、グループ2の回数制限情報の最大値(第2グループ回数最大値)である。
すなわち、本発明の第3の実施の形態においては、グループ情報(g)は、「1」および「2」の値のうちいずれかの値である。また、回数制限情報(k)は、「1」乃至「6」の値のうちいずれかの値である。第1グループ回数最大値(L[1])は「6」であり、第2グループ回数最大値L[2]は「6」である。
まず、アクノリッジ信号保持部225におけるアクノリッジ信号(ACK)と、回数制限情報保持部635における回数制限情報(k)と、グループ情報保持部631におけるグループ情報が初期化される(ステップS941)。これにより、アクノリッジ信号(ACK)は全てのビットの値が「0」にされ、グループ情報(g)の値は「1」にされ、回数制限情報(k)は第1グループ回数最大値(L[1])の値の「6」にされる。このステップS911は、例えば、データ処理装置100の電源を投入直後などにおいて行われる。
次に、アクノリッジ信号決定部223によって、変数(j)が「0」に初期化される(ステップS912)。続いて、アクノリッジ信号決定部223によって、変数(j)が示すクライアントの要求状態信号の値(REQ[j]値)と、変数(j)が示すクライアントの許可状態信号の値(ACK[j]値)とが両方とも「1」であるか否かが判断される(ステップS913)。そして、REQ[j]値とACK[j]値とが両方とも「1」であると判断された場合(ステップS913)には、ステップS919に進む。なお、このREQ[j]値とACK[j]値とが両方とも「1」であると判断された場合には、現サイクルのアクノリッジ信号(ACK)がアクノリッジ信号保持部225に保持される。
一方、REQ[j]値とACK[j]値との少なくとも一方が「1」でないと判断された場合には(ステップS913)、変数(j)と第2グループ許可対象検出情報最大値(P)とが同じ値であるか否かが判断される(ステップS944)。すなわち、このステップS913において、変数(j)が、第1グループ許可対象検出情報と第2グループ許可対象検出情報とのうちの最も大きい値になったか否かが判断される。そして、変数(j)と第2グループ許可対象検出情報最大値(P)とが同じ値でないと判断された場合(ステップS944)には、変数(j)の値に「1」の値が加算されることによって変数(j)の値が更新され(ステップS915)、ステップS913に戻る。
一方、変数(j)と第2グループ許可対象検出情報最大値(P)とが同じ値であると判断された場合には(ステップS944)、リクエスト信号の0番目のビットの値(REQ[0]値)が「1」であるか否かが判断される(ステップS916)。なお、このステップS916は、アクノリッジ信号決定部223によって行われる。そして、リクエスト信号の0番目のビットの値(REQ[0]値)が「1」と判断された場合(ステップS916)には、0番目のビットの値(ACK[0]値)が「1」のアクノリッジ信号がアクノリッジ信号保持部225に保持される(ステップS917)。
一方、リクエスト信号の0番目のビットの値(REQ[0]値)が「1」でないと判断された場合には(ステップS916)、更新アクノリッジ信号を生成するACK更新値生成処理が行われる(ステップS950)。なお、このステップS950については、図19を用いて詳細に説明する。続いて、回数制限情報(k)を更新する回数制限情報更新処理が行われる(ステップS970)。なお、このステップS960については、図20を用いて詳細に説明する。
そして、アクノリッジ信号供給処理を継続するか否かが判断され(ステップS919)、アクノリッジ信号供給処理を継続する場合には、ステップS912に戻る。この場合に、許可対象検出情報保持部216に保持されたアクノリッジ信号を出力させる。なお、アクノリッジ信号供給処理を継続する場合とは、次のサイクルに進む時を意味する。また、アクノリッジ信号供給処理を終了する場合とは、データ処理装置100の電源を落とした時を意味する。
図19は、本発明の第3の実施の形態におけるアクノリッジ信号供給部630のACK更新値生成処理(ステップS950)の処理手順例を示すフローチャートである。
まず、グループ決定部632によって、グループ情報保持部631から供給されたグループ情報の値が「1」であるか否かが判断される(ステップS951)。そして、グループ情報が「1」であると判断された場合には(ステップS951)、変数(a)が「1」(第1グループ許可対象検出情報最小値)に初期化される(ステップS952)。続いて、グループ決定部632によって、変数(a)が示すクライアントの要求状態信号の値(REQ[a]値)が「1」であるか否かが判断される(ステップS953)。そして、REQ[a]値が「1」であると判断された場合には(ステップS953)、アクノリッジ信号保持部225に保持されているアクノリッジ信号が、REQ[a]の値をACK[a]の値にしたアクノリッジ信号に更新される(ステップS954)。
一方、REQ[a]値が「1」でないと判断された場合には(ステップS953)、変数(a)と第1グループ許可対象検出情報最大値(M)とが同じ値であるか否かが判断される(ステップS955)。そして、変数(a)と第1グループ許可対象検出情報最大値(M)とが同じ値でないと判断された場合には(ステップS955)、変数(a)の値に「1」の値が加算されることによって変数(a)の値が更新され(ステップS956)、ステップS953に戻る。
一方、変数(a)と第1グループ許可対象検出情報最大値(M)とが同じ値であると判断された場合には(ステップS955)、グループ情報および回数制限情報が更新される(ステップS957)。すなわち、グループ決定部632によってグループ情報が「2」に更新されるとともに、回数制限情報管理部636によって回数制限情報が第2グループ回数最大値L[2]の「6」に更新され(ステップS957)、ステップS961に進む。
一方、グループ情報が「1」でないと判断された場合には(ステップS951)、変数(b)が「M+1」(第2グループ許可対象検出情報最小値)に初期化される(ステップS958)。続いて、グループ決定部632によって、変数(b)が示すクライアントの要求状態信号の値(REQ[b]値)が「1」であるか否かが判断される(ステップS959)。そして、REQ[b]値が「1」であると判断された場合には(ステップS959)、アクノリッジ信号保持部225に保持されているアクノリッジ信号が、REQ[b]の値をACK[b]の値にしたアクノリッジ信号に更新される(ステップS961)。
一方、REQ[b]値が「1」でないと判断された場合には(ステップS959)、変数(b)と第2グループ許可対象検出情報最大値(P)とが同じ値であるか否かが判断される(ステップS962)。そして、変数(b)と第2グループ許可対象検出情報最大値(P)とが同じ値でないと判断された場合には(ステップS962)、変数(B)の値に「1」の値が加算されることによって変数(b)の値が更新され(ステップS963)、ステップS959に戻る。
一方、変数(b)と第2グループ許可対象検出情報最大値(P)とが同じ値であると判断された場合には(ステップS962)、グループ情報および回数制限情報が更新される(ステップS964)。すなわち、グループ決定部632によってグループ情報が「1」に更新されるとともに、回数制限情報管理部636によって回数制限情報が第1グループ回数最大値L[1]の「6」に更新され(ステップS964)、ステップS954に進む。
図20は、本発明の第3の実施の形態におけるアクノリッジ信号供給部630の回数制限情報更新処理(ステップS970)の処理手順例を示すフローチャートである。
まず、回数制限情報管理部636により、変数(c)が「1」(第1グループ許可対象検出情報最小値)に初期化される(ステップS971)。続いて、回数制限情報管理部636によって、変数(c)が示すクライアントの許可状態信号の値(ACK[c]値)が「1」であるか否かが判断される(ステップS972)。そして、ACK[c]値が「1」でないと判断された場合には(ステップS972)、変数(c)と第2グループ許可対象検出情報最大値(P)とが同じ値であるか否かが判断される(ステップS973)。そして、変数(c)と第2グループ許可対象検出情報最大値(P)とが同じ値でないと判断された場合には(ステップS973)、変数(c)の値に「1」の値が加算されることによって変数(c)の値が更新され(ステップS974)、ステップS972に戻る。
一方、変数(c)と第2グループ許可対象検出情報最大値(P)とが同じ値であると判断された場合には(ステップS973)、回数制限情報更新処理を終了する。
一方、ACK[c]値が「1」であると判断された場合には(ステップS972)、回数制限情報(k)の値が「1」であるか否かが判断される(ステップS975)。回数制限情報(k)の値が「1」でないと判断された場合には、回数制限情報(k)の値から「1」の値が減算されることによって回数制限情報(k)の値が更新され(ステップS976)、回数制限情報更新処理を終了する。
一方、回数制限情報(k)の値が「1」であると判断された場合には(ステップS975)、グループ情報管理部634によって、グループ情報が更新される(ステップS977)。続いて、回数制限情報管理部636によって、回数制限情報がその更新されたグループの回数制限情報の最大値(k[g])に更新され(ステップS978)、回数制限情報更新処理を終了する。
このように、本発明の第3の実施の形態では、複数のクライアントを複数のグループに分類し、複数の許可クライアント検出部を設けることによって、データ転送効率を向上させることができる。
このように、本発明の実施の形態によれば、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、データ転送効率を向上させることができる。
ここで、本発明の実施の形態の効果について、待ち行列方式(FIFO(First-In First-Out))のアービタを備えるデータ処理装置と比較して説明する。
まず、待ち行列方式のアービタを備えるデータ処理装置について簡単に説明する。この装置は、共有データバスに接続された複数のクライアントからのバス要求を記憶する待ち行列部を備えるアービタによりデータ転送を行うクライアントを決定するデータ処理装置(例えば、米国特許第6671761号明細書参照。)である。このデータ処理装置では、複数のバス要求を待ち行列部に順次記憶する。そして、このデータ処理装置は、基本的に待ち行列の先頭からバス要求を処理することによってバス調停(バスを使用するクライアントの決定)を行う。このデータ処理装置では、複数のバス要求を待ち行列内に記憶しておくことができるため、特にバスの輻輳が大きいときに、データ転送が終了した時点で次に実行すべきデータ転送(クライアント)は既に決まっている可能性が高くなる。このため、このデータ処理装置では、データ転送の切り替えに伴う待ち時間(例えば、図4(b)において示した従来の装置に関するタイミングチャートの経過時間「12」乃至「15」)の発生を抑えることが可能になる。
しかしながら、このデータ処理装置は、回路規模が大きくなりやすいという問題がある。例えば、バスクライアントの数が多い場合には、同時に多くのバス要求が発生する可能性があるため、バス要求を記憶するための待ち行列部のキューの数を多くする必要がある。また、このデータ処理装置は、複数のバス要求が同時に発生した場合において待ち行列の最後尾に登録するバス要求を決めるために、バス要求の優先順位付けを行う回路が必要となる。すなわち、これらのキューの数の増加および優先順位付けを行う回路の追加のため、このデータ処理装置は複雑なアルゴリズムを実現する複雑な回路になる。
さらに、このデータ処理装置では、DRAMへのアクセス制御を行う場合において、バス効率が低下する問題が生じる。DRAMへのアクセス制御を行う場合においては、本発明の第2の実施の形態において示したように、リードアクセスとライトアクセスとの間の切り替えを少なくして待ち時間を減らした方がバス効率は上昇する。この並び替えをを行う回路を優先順位付けを行う回路に加えると、データ処理装置のアルゴリズムはさらに複雑になり、それに伴い回路もさらに複雑になる。
本発明の実施の形態は、例えば、図4(a)において示したように、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、データ転送の切り替えに伴う待ち時間の発生を抑えることを可能にしている。また、図8および図15において示したように、同じアクセスを連続して実行する割合を上昇させることによって、リードアクセスとライトアクセスとの間の切り替えを少なくして待ち時間を減らすことを可能にしている。さらに、図2および図20において示したように、許可クライアント検出部210およびアクノリッジ信号供給部220は、カウンタ回路、セレクタ回路、論理積回路、固定値発生回路およびレジスタなどの簡単な回路により構成することができる。
すなわち、本発明の実施の形態によれば、待ち行列方式のデータ処理装置のように複雑な回路を用いることなく、データ転送効率を向上させることができる。要するに、本発明の実施の形態によれば、待ち行列方式の装置と比較して、同等の効果を簡単な回路および簡単なアルゴリズムで実現することができる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。
100 データ処理装置
110 DRAM
120 バス
130 リフレッシュコントローラ
141〜147 第1乃至第7クライアント
200 アービタ
210 許可クライアント検出部
211 カウントアップ値供給部
212 加算器
213 更新情報生成部
214 許可対象検出情報決定部
215 許可対象検出情報選択部
216 許可対象検出情報保持部
220 アクノリッジ信号供給部
221 アクノリッジ信号更新値生成部
222 リフレッシュ許可信号供給部
223 アクノリッジ信号決定部
224 アクノリッジ信号選択部
225 アクノリッジ信号保持部
410 第1クライアント
411 第1ライト制御部
412 第1リード制御部
420 第2クライアント
421 第2ライト制御部
422 第2リード制御部
430 第3クライアント
431 第3ライト制御部
432 第3リード制御部
600 アービタ
610 第1許可クライアント検出部
620 第2許可クライアント検出部
630 アクノリッジ信号供給部
631 グループ情報保持部
632 グループ決定部
633 グループ選択部
634 グループ情報管理部
635 回数制限情報保持部
636 回数制限情報管理部
110 DRAM
120 バス
130 リフレッシュコントローラ
141〜147 第1乃至第7クライアント
200 アービタ
210 許可クライアント検出部
211 カウントアップ値供給部
212 加算器
213 更新情報生成部
214 許可対象検出情報決定部
215 許可対象検出情報選択部
216 許可対象検出情報保持部
220 アクノリッジ信号供給部
221 アクノリッジ信号更新値生成部
222 リフレッシュ許可信号供給部
223 アクノリッジ信号決定部
224 アクノリッジ信号選択部
225 アクノリッジ信号保持部
410 第1クライアント
411 第1ライト制御部
412 第1リード制御部
420 第2クライアント
421 第2ライト制御部
422 第2リード制御部
430 第3クライアント
431 第3ライト制御部
432 第3リード制御部
600 アービタ
610 第1許可クライアント検出部
620 第2許可クライアント検出部
630 アクノリッジ信号供給部
631 グループ情報保持部
632 グループ決定部
633 グループ選択部
634 グループ情報管理部
635 回数制限情報保持部
636 回数制限情報管理部
Claims (10)
- バスを介してデータ保持部との間でデータ転送を行う複数のデータ処理部について、前記複数のデータ処理部のうちのいずれか1つのデータ処理部を前記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から前記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、前記候補とされたデータ処理部に前記データ転送を許可する許可信号を供給するか否かを決定する決定部と、
前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が前記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を前記候補の対象として更新する更新部と
を具備するアクセス制御装置。 - 前記更新部は、前記決定により供給された許可信号に基づいて前記データ転送が行われている期間が終了するまでの間、所定の順序に従って前記更新を繰り返し行い、当該更新により前記候補の対象となったデータ処理部が前記要求信号を出力している場合に前記更新を停止させる請求項1記載のアクセス制御装置。
- 前記更新部は、前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該更新により前記候補の対象となったデータ処理部が前記要求信号を出力していなかった場合には当該期間の経過後も前記更新を繰り返し行い、前記候補の対象となったデータ処理部が前記要求信号を出力している場合には前記更新を停止させる請求項1記載のアクセス制御装置。
- 前記複数のデータ処理部が複数のグループに分類され、
前記更新部は、前記グループを単位として前記グループごとに1つのデータ処理部を特定し、前記特定されたデータ処理部を前記候補として前記グループごとに前記更新を行い、
前記複数のデータ処理部から出力された前記要求信号に基づいて、前記更新部により前記グループごとに更新された複数の候補のうちから1つの候補を選択する選択部をさらに具備し、
前記決定部は、前記選択部により選択された前記候補となる前記データ処理部から前記要求信号が出力されたか否かに基づいて、当該データ処理部に前記許可信号を供給するか否かを決定する
請求項1記載のアクセス制御装置。 - 読み出し動作または書き込み動作のうち、同一の動作を行う前記データ処理部が同一のグループに含まれるように前記複数のデータ処理部が前記複数のグループに分類される請求項4に記載のアクセス制御装置。
- 前記複数のグループのうちの1つのグループを特定するためのグループ情報を保持するグループ情報保持部と、
前記1つのグループを順次変更して前記グループ情報を更新するグループ更新部とをさらに具備し、
前記選択部は、前記グループ情報により特定されるグループに属する前記データ処理部から前記要求信号が供給されている場合には当該グループに係る候補を前記1つの候補として選択し、前記グループ情報により特定されるグループに属する前記データ処理部から前記要求信号が供給されてない場合には当該グループ以外の他のグループの候補を前記1つの候補として選択する
請求項4記載のアクセス制御装置。 - 前記更新部は、前記次のデータ転送の許可対象の候補として、読み出し動作または書き込み動作のうちの同一の動作を行う前記データ処理部を連続して選択する請求項1記載のアクセス制御装置。
- データを保持するデータ保持部と、
前記データ保持部との間でデータ転送を行う複数のデータ処理部と、
前記データ保持部と前記複数のデータ処理部との間を接続するバスと、
前記複数のデータ処理部のうちのいずれか1つのデータ処理部を前記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から前記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、前記候補とされたデータ処理部に前記データ転送を許可する許可信号を供給するか否かを決定する決定部と、
前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が前記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を前記候補の対象として更新する更新部と
を具備するデータ処理装置。 - バスを介してデータ保持部との間でデータ転送を行う複数のデータ処理部について、前記複数のデータ処理部のうちのいずれか1つのデータ処理部を前記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から前記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、前記候補とされたデータ処理部に前記データ転送を許可する許可信号を供給するか否かを決定する決定手順と、
前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が前記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を前記候補の対象として更新する更新手順と
を具備するアクセス制御方法。 - バスを介してデータ保持部との間でデータ転送を行う複数のデータ処理部について、前記複数のデータ処理部のうちのいずれか1つのデータ処理部を前記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から前記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、前記候補とされたデータ処理部に前記データ転送を許可する許可信号を供給するか否かを決定する決定手順と、
前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が前記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を前記候補の対象として更新する更新手順と
をコンピュータに実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010000285A JP2011141580A (ja) | 2010-01-05 | 2010-01-05 | アクセス制御装置、データ処理装置、アクセス制御方法およびプログラム |
US12/958,632 US20110167184A1 (en) | 2010-01-05 | 2010-12-02 | Access control apparatus, data processing apparatus, access control method, and program |
CN2010106242097A CN102147777A (zh) | 2010-01-05 | 2010-12-29 | 访问控制装置、数据处理装置、访问控制方法和程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010000285A JP2011141580A (ja) | 2010-01-05 | 2010-01-05 | アクセス制御装置、データ処理装置、アクセス制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011141580A true JP2011141580A (ja) | 2011-07-21 |
Family
ID=44225372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010000285A Abandoned JP2011141580A (ja) | 2010-01-05 | 2010-01-05 | アクセス制御装置、データ処理装置、アクセス制御方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110167184A1 (ja) |
JP (1) | JP2011141580A (ja) |
CN (1) | CN102147777A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988773B (zh) * | 2015-02-10 | 2021-03-09 | 恩智浦美国有限公司 | 硬件接口组件和用于硬件接口组件的方法 |
US11245707B2 (en) * | 2018-03-31 | 2022-02-08 | Ricoh Company, Ltd. | Communication terminal, communication system, communication control method, and recording medium |
US10901655B2 (en) * | 2018-09-27 | 2021-01-26 | Western Digital Technologies, Inc. | Non-volatile storage system with command response piggybacking |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5179705A (en) * | 1988-03-23 | 1993-01-12 | Dupont Pixel Systems, Ltd. | Asynchronous arbiter state machine for arbitrating between operating devices requesting access to a shared resource |
US5345577A (en) * | 1989-10-13 | 1994-09-06 | Chips & Technologies, Inc. | Dram refresh controller with improved bus arbitration scheme |
US6125425A (en) * | 1996-03-29 | 2000-09-26 | Intel Corporation | Memory controller performing a mid transaction refresh and handling a suspend signal |
US5784582A (en) * | 1996-10-28 | 1998-07-21 | 3Com Corporation | Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline |
US6249847B1 (en) * | 1998-08-14 | 2001-06-19 | Compaq Computer Corporation | Computer system with synchronous memory arbiter that permits asynchronous memory requests |
US6892266B2 (en) * | 2000-11-15 | 2005-05-10 | Texas Instruments Incorporated | Multicore DSP device having coupled subsystem memory buses for global DMA access |
JP4743999B2 (ja) * | 2001-05-28 | 2011-08-10 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置 |
JP3732139B2 (ja) * | 2001-10-29 | 2006-01-05 | 三菱電機株式会社 | メモリ制御回路及びメモリバスの調停方法 |
JP3527725B2 (ja) * | 2002-03-15 | 2004-05-17 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末、操作装置、通信システム、及び、通信制御方法 |
CN1744593B (zh) * | 2004-08-30 | 2010-04-28 | 普天信息技术研究院 | 一种传输链路的选择方法 |
KR100648832B1 (ko) * | 2005-05-24 | 2006-11-24 | 한국전자통신연구원 | 패킷 전송상태 확인 방법 |
KR100640722B1 (ko) * | 2005-10-05 | 2006-11-01 | 삼성전자주식회사 | 반도체 제어장치, 반도체 장치, 및 이들을 구비하는 시스템 |
JP4895355B2 (ja) * | 2006-03-24 | 2012-03-14 | 株式会社メガチップス | メモリ制御装置 |
JP2009116702A (ja) * | 2007-11-07 | 2009-05-28 | Toshiba Corp | 半導体集積回路 |
JP5208549B2 (ja) * | 2008-03-25 | 2013-06-12 | 株式会社東芝 | 通信装置、システム、送信方法及びプログラム |
-
2010
- 2010-01-05 JP JP2010000285A patent/JP2011141580A/ja not_active Abandoned
- 2010-12-02 US US12/958,632 patent/US20110167184A1/en not_active Abandoned
- 2010-12-29 CN CN2010106242097A patent/CN102147777A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20110167184A1 (en) | 2011-07-07 |
CN102147777A (zh) | 2011-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017054483A (ja) | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 | |
US20200218662A1 (en) | Data caching device and control method therefor, data processing chip, and data processing system | |
JP2009015832A (ja) | アクセス間調停回路、半導体装置およびアクセス間調停方法 | |
US8601192B2 (en) | Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device | |
US20120239873A1 (en) | Memory access system and method for optimizing SDRAM bandwidth | |
JP2013142947A (ja) | 記憶制御装置、記憶装置および記憶制御装置の制御方法 | |
JP4752882B2 (ja) | メモリアクセスシステム、メモリ制御装置、メモリ制御方法、および、プログラム | |
JP6146128B2 (ja) | データ処理装置 | |
JP2010027032A (ja) | Fifo装置及びfifoバッファへのデータ格納方法 | |
JP2006195714A (ja) | リソース管理装置 | |
JP2021119386A (ja) | データ転送装置およびデータ転送方法 | |
JP2011141580A (ja) | アクセス制御装置、データ処理装置、アクセス制御方法およびプログラム | |
JP2017517065A (ja) | 再構成可能フェッチパイプライン | |
JP5217786B2 (ja) | リクエスト調停装置及びリクエスト調停方法 | |
JP5625766B2 (ja) | アービトレーション回路、および、その制御方法 | |
JP6004463B2 (ja) | 記憶装置及びその制御方法 | |
WO2015165055A1 (zh) | 存储数据的方法、内存控制器和中央处理器 | |
JP2009116702A (ja) | 半導体集積回路 | |
JP2012226491A (ja) | メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法 | |
CN116107635A (zh) | 命令分发器、命令分发方法、调度器、芯片、板卡、设备 | |
JP2012128627A (ja) | データ転送システム | |
JP5146284B2 (ja) | データ転送装置及びデータ転送方法 | |
JP2010218323A (ja) | メモリ制御装置およびメモリアクセス制御方法 | |
US20180113772A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
JP2008269348A (ja) | メモリ制御装置およびメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121126 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20130416 |