JP2008242651A - アービトレーション装置 - Google Patents

アービトレーション装置 Download PDF

Info

Publication number
JP2008242651A
JP2008242651A JP2007080046A JP2007080046A JP2008242651A JP 2008242651 A JP2008242651 A JP 2008242651A JP 2007080046 A JP2007080046 A JP 2007080046A JP 2007080046 A JP2007080046 A JP 2007080046A JP 2008242651 A JP2008242651 A JP 2008242651A
Authority
JP
Japan
Prior art keywords
shared resource
request
unit
resource use
bit
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.)
Granted
Application number
JP2007080046A
Other languages
English (en)
Other versions
JP4958596B2 (ja
Inventor
Yukito Takeda
幸人 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
System Solutions Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Sanyo Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd, Sanyo Semiconductor Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2007080046A priority Critical patent/JP4958596B2/ja
Publication of JP2008242651A publication Critical patent/JP2008242651A/ja
Application granted granted Critical
Publication of JP4958596B2 publication Critical patent/JP4958596B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】アービトレーション装置の規模の増大化を抑えて実現する。
【解決手段】共有資源と前記共有資源に接続された複数の信号処理装置からの共有資源使用要求を調停するアービトレーション装置において、前記複数の信号処理装置と一対一に対応し、前記共有資源使用要求を登録し格納する複数のシフトレジスタと、前記複数のシフトレジスタの各先頭ビットのいずれか一つに登録された前記共有資源使用要求を選択するリクエスト選択部と、前記リクエスト選択部により選択された前記共有資源使用要求を出した前記信号処理装置に対し前記共有資源の使用許可を与えるリクエスト許可部と、を有する。
【選択図】図1

Description

本発明は、アービトレーション装置に関する。
アービトレーション装置とは、共有バスを介して共有資源とアクセス可能に接続された複数のバス・マスタからの複数の共有資源使用要求を予め定められた優先度に従って調停し、共有バスを介した共有資源の使用許可を与えるバス・マスタを決定するものである。例えば、アービトレーション装置は、マルチプロセッサ環境下において複数のCPU(バス・マスタ)が共有バスを介して共通メモリ(共有資源)を使用する場合や、システムバスにCPU(共有資源)と複数の周辺機器(バス・マスタ)とが接続され、複数の周辺機器がシステムバスを介してCPUを使用する場合等に必要となる。
図7は、従来のアービトレーション装置500の構成を示した図である。アービトレーション装置500は、チャネル番号CH1〜CHnが各々付与されたN個の装置20−1〜20nからの共有資源使用要求REQ1〜REQnの調停を行って、共有資源10の使用許可を与えるものである。尚、優先度設定レジスタ525にはチャネル番号CH1〜CHn毎に優先度が予め設定されている。アービトレーション装置500は、優先度設定レジスタ525に設定された優先度に従って、以下のように共有資源使用要求REQ1〜REQnの調停を行う。
リクエスト検出部510は、共有資源使用要求REQ1〜REQnを受付ける。アクセス要求調整部520は、受付された共有資源使用要求REQ1〜REQnを調整して、対応するチャネル番号CH1〜CHnを調整結果に応じて待ち行列レジスタ530に書き込む。尚、待ち行列レジスタ530は、FIFO(First In First Out)方式のシフトレジスタで構成される。待ち行列レジスタ530の最上位のユニットに格納されるデータQ1は、現在共有資源10に対してアクセス権が与えられるチャネル番号を表しており、最上位のユニットより下位のユニットに順番に格納されるデータQ2〜Qnは待機中のチャネル番号を表している。尚、データQnは第n番目の処理待ち順位が与えられたチャネル番号を表す。
バス・アクノリッジセレクト部540は、待ち行列レジスタ530の最上位のユニットに格納されたデータQ1に対応した装置20−1〜20−nに対し、共有資源使用許可ACK1〜ACKnを出力する。これにより、共有資源使用許可ACK1〜ACKnを受け取った装置20−1〜20−nは、共有バス15を介して共有資源10へのアクセスが可能となる。
尚、アクセス要求調整部520は、優先度設定レジスタ525に設定された優先度を用いて処理を行うリクエスト競合調停部5201と優先度選択部5202を具備する。アクセス要求調整部520は、原則として、共有資源使用要求REQ1〜REQnを受付けた順に待ち行列レジスタ530にチャネル番号の登録を行う。一方、複数の共有資源使用要求REQ1〜REQnを同時に受付けた場合、即ち、複数の共有資源使用要求REQ1〜REQnが競合した場合には、リクエスト競合調停部5201が、優先度選択部5202からの優先度のデータを参照して、優先度順に待ち行列レジスタ530にチャネル番号の登録を行う。これにより、アクセス要求調整部520は、複数の共有資源使用要求REQ1〜REQnが競合した場合に、予め定められた優先度に応じて共有資源使用要求REQ1〜REQnの調停を行う。
以上のように、従来のアービトレーション装置は、複数の共有資源使用要求の競合が発生したときには、FIFO方式の待ち行列レジスタへ登録を行う前に優先度の判定を行う。さらに、競合した複数の共有資源使用要求を判定された優先度順にソーティングした後に、待ち行列レジスタの最後列ビットから順番に登録を行っている。
特開2004−302633号公報
ところで、従来のアービトレーション装置において、複数の共有資源使用要求の競合が発生したときの優先度の判定や優先度順にソーティングする処理をハードウェアにより実現しようとした場合、装置規模の増大化や処理遅延を招くので、その実現が極めて困難であった。
例えば、n個のデータのソーティング処理は、低速アルゴリズム(バブルソート等)の場合にはO(nの2乗)、高速アルゴリズム(クイックソート等)の場合にはO(nlogn)といった膨大な計算量となることが知られている。それ故に、アービトレーション装置において、複数の共有資源使用要求のソーティング処理等をデジタル回路により実現しようとした場合、回路規模の増大化の問題が顕著となる。また、ソーティング処理の膨大な計算量に起因して、競合した複数の共有資源使用要求を受け付けてから待ち行列レジスタへの全ての登録が完了するまでに多くの処理時間を必要とする。従って、デジタル回路のクロック信号の周波数を高くしようとすると、1マシンサイクル内で、ソーティング処理等を実行し、且つ、待ち行列レジスタへ登録することは極めて困難となる。
さらに、競合した複数の共有資源使用要求を優先度順に待ち行列レジスタに1つずつ登録していく場合、待ち行列レジスタへの登録を待つ残りの共有資源使用要求のための保持回路を備える必要がある。この保持回路が回路規模の増大化の要因となる。例えば、N個のバス・マスタが存在する場合、M個(M≦N)の共有資源使用要求が同時に発生する可能性がある。このとき、優先度の最も高い1つの共有資源使用要求を待ち行列レジスタに登録すると、残りのM−1個の共有資源使用要求の登録が完了するまでの間、それら残りのM−1の共有資源使用要求を保持しておくための保持回路が必要となる。また、残りのM−1個の共有資源使用要求の登録が完了するまでの間に、新たに最大N−M個の競合した共有資源使用要求が発生する可能性もある。従って、それらの新たに競合した共有資源使用要求を保持するための保持回路が必要となる。
前述した課題を解決するための主たる本発明は、共有資源と前記共有資源に接続された複数の信号処理装置からの共有資源使用要求を調停するアービトレーション装置において、前記複数の信号処理装置と一対一に対応し、前記共有資源使用要求を登録し格納する複数のシフトレジスタと、前記複数のシフトレジスタの各先頭ビットのいずれか一つに登録された前記共有資源使用要求を選択するリクエスト選択部と、前記リクエスト選択部により選択された前記共有資源使用要求を出した前記信号処理装置に対し前記共有資源の使用許可を与えるリクエスト許可部と、を有することとする。
本発明によれば、装置規模の増大化を抑えつつ高速で動作が可能なアービトレーション装置を提供することができる。
<<第1実施形態>>>
===アービトレーション装置の構成===
図1を用いて、本発明の第1実施形態に係るアービトレーション装置100の構成を説明する。
アービトレーション装置100は、チャネル番号CH1〜CHnが各々付与されたN個の装置20−1〜20−n(バス・マスタ)からの共有資源使用要求REQ1〜REQnの調停を行って、共有資源10の使用許可を与えるものである。アービトレーション装置100は、リクエスト検出部110、リクエスト登録部120、FIFOレジスタユニット130、シフト制御部140、優先度設定部160、リクエスト選択部170、リクエスト許可部180を有する。これらの機能はハードウェアを用いて実現される。
リクエスト検出部110は、N個の装置20−1〜20−nからの共有資源使用要求REQ1〜REQnを受付ける。共有資源使用要求REQ1〜REQnは、例えば、共有資源10の使用の要求を出したことを示す“L”の1ビット相当の1パルスとして表現される。リクエスト検出部110は、シフト制御部140から供給されたシステムクロックCLKのエッジが発生するタイミングで当該1パルスを取り込み、対応したチャネル番号CH1〜CHnを1ビットの“H”として出力する。即ち、リクエスト検出部110は、共有資源使用要求REQ1〜REQnとチャネル番号CH1〜CHnとを対応づけたテーブル情報(不図示)を有している。そして、当該テーブル情報を参照して該当するチャネル番号CH1〜CHnを1ビットの“H”として出力する。
リクエスト登録部120は、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを、シフト制御部140から供給されたシステムクロックCLKのエッジが発生するタイミングにより、FIFOレジスタユニット130のうち対応するFIFOレジスタ135−1〜135−nに出力する。
FIFOレジスタユニット130は、N個の装置20−1〜20−n(N個のバス・マスタ)それぞれに対応したN個のFIFOレジスタ135−1〜135−nを有する。即ち、装置20−1に対してFIFOレジスタ135−1が設けられ、装置20−2に対してFIFOレジスタ135−2が設けられ、装置20−nに対してFIFOレジスタ135−nが設けられる、というように、装置20−1〜20−nとFIFOレジスタ135−1〜135−nは1対1の関係にある。
FIFOレジスタ135−1〜135−nは、最初に入力したデータから最初に出力するFIFO(First In First Out)方式を採用した「キュー(待ち行列)」と呼ばれるデータ構造体をハードウェアにより具現化したものである。
具体的には、FIFOレジスタ135−1〜135−nは、リクエスト登録部120から出力されたチャネル番号CH1〜CHnを、シフト制御部140から供給されたシステムクロックCLKのエッジが発生するタイミングで、最後列ビットLSB(Least Significant Bit)から先頭ビットMSB(Most Significant Bit)に向けてシフトするNビットのシフトレジスタによって構成される。FIFOレジスタユニット130は、最大N個のチャネル番号CH1〜CHnを保持することができる。
シフト制御部140は、N個のFIFOレジスタ135−1〜135−nそれぞれに対して、シフト動作を制御するシステムクロックCLKを供給する。尚、システムクロックCLKは、シフト制御部140のシフト動作を含めたアービトレーション装置100全てのハードウェア動作のタイミングを同期させるクロックとして用いられる。
優先度設定部160は、共有資源使用要求REQ1〜REQnに対して予め優先度を設定する。本実施形態の場合、共有資源使用要求REQ1〜REQnが競合した場合に備え、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnそれぞれに優先度1〜nを付与した優先度テーブルを用いて設定する。尚、優先度nはn番目の優先度を表している。
リクエスト選択部170は、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnに基づいて、共有バス15の使用権を占有させる許可を与える共有資源使用要求REQ1〜REQnを選択する。具体的には、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnのうち、“H”を示す先頭ビットMSB1〜MSBnに対応した共有資源使用要求REQ1〜REQnを選択する。
共有資源使用要求REQ1〜REQnが競合した場合、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnのうち、“H”を示す先頭ビットMSB1〜MSBnが2ビット以上現れる。このとき、リクエスト選択部170は、優先度設定部160に設定された優先度1〜nに従って、“H”を示す先頭ビットMSB1〜MSBnに対応した共有資源使用要求REQ1〜REQnを選択する。
リクエスト許可部180は、リクエスト選択部170において選択された共有資源使用要求REQ1〜REQnに対応した装置20−1〜20−nに対し、共有資源10の使用権を一定期間占有させる許可を与える共有資源使用許可ACK1〜ACKnを出力する。これにより、共有資源使用許可ACK1〜ACKnを受け取った装置20−1〜20−nは、共有バス15を介して共有資源10へのアクセスが可能となる。
尚、リクエスト許可部180は、共有資源使用許可ACK1〜ACKnを出力する間に、シフト制御部140に対してFIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnのシフト動作を禁止させるためのWAIT信号を出力する。共有資源使用要求REQ1〜REQnが競合した場合に、共有資源使用要求REQ1〜REQn全てに共有資源使用許可が与えられるまでの間、先頭ビットMSB1〜MSBnに保持しておく必要があるからである。具体的には、シフト制御部140は、WAIT信号が発生した場合、先頭ビットMSB1〜MSBnに対応するレジスタのみシステムクロックCLKを固定させるか、若しくは、前段のレジスタからのデータ入力を制限することによって実現できる。
===アービトレーション装置の動作===
図2に示す具体例を用いて、アービトレーション装置100の動作を説明する。
図2に示す具体例は、4つの装置20−1、20−2、20−3、20−4が共有バス15を介して共有資源10と接続される。従って、この場合、FIFOレジスタユニット130は、4つの装置20−1、20−2、20−3、20−4に対応して4つのFIFOレジスタ135−1、135−2、135−3、135−4を具備している。また、4つの装置20−1、20−2、20−3、20−4より発生する共有資源使用要求REQ1、REQ2、REQ3、REQ4の優先度は、高いものから順にREQ1、REQ2、REQ3、REQ4とする。
また、図2に示す記号の説明として、「t1〜t12」はシステムクロックCLKの1周期を表し、REQに示す「1〜4」は4つの装置20−1〜20−4より発生した共有資源使用要求REQ1〜REQ4を表し、SETに示す「1〜4」は4つのFIFOレジスタ135−1〜135−4に登録されるチャネル番号CH1〜CH4を表し、ACKに示す「1〜4」は4つの装置20−1〜20−4に許可を与えたことを示す共有資源使用許可ACK1〜ACK4を表す。
1周期目t1では、装置20−2からの共有資源使用要求REQ2が発生する。
2周期目t2では、装置20−1からの共有資源使用要求REQ1、装置20−3からの共有資源使用要求REQ3が新たに発生する。また、1周期目t1で発生した共有資源使用要求REQ2に対応するチャネル番号CH2が、FIFOレジスタ135−2の最後列ビットLSBに格納される。
3周期目t3では、共有資源使用要求REQ2に対応するチャネル番号CH2は、FIFOレジスタ135−2の最後列ビットLSBから2番目のビットにシフトされる。また、2周期目t2に発生した共有資源使用要求REQ1、REQ3に対応したチャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBに格納される。このとき、共有資源使用要求REQ1、REQ3は優先度の判定が行われることなく、チャネル番号CH1、CH3をFIFOレジスタ135−1、135−3の最後列ビットLSBに格納する。
4周期目t4では、チャネル番号CH2がFIFOレジスタ135−2の最後列ビットLSBから2番目のビットから3番目のビットにシフトされ、チャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBから2番目のビットにシフトさる。
5周期目t5では、チャネル番号CH2がFIFOレジスタ135−2の最後列ビットLSBから3番目のビットから先頭ビットMSBにシフトされ、チャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBから2番目のビットから3番目のビットにシフトさる。また、装置20−4からの共有資源使用要求REQ4が新たに発生する。即ち、チャネル番号CH2は、FIFOレジスタ135−2の先頭ビットMSBに格納されており、リクエスト選択部170によって選択される。
6周期目t6では、リクエスト選択部170によって選択されたチャネル番号CH2がFIFOレジスタ135−2から削除される。そして、チャネル番号CH2に対応する共有資源使用要求REQ2を発生した装置20−2に対し、リクエスト許可部180は共有資源使用許可ACK2を出力する。これにより、装置20−2は共有バス15を介した共有資源10の使用許可が与えられる。このとき、チャネル番号CH1、CH3は、それぞれ最後列ビットLSBから3番目のビットから先頭ビットMSBへのシフトが行われず、また、5周期目t5に発生した共有資源使用要求REQ4に対応したチャネル番号CH4が、FIFOレジスタ135−4の最後列ビットLSBに格納される。チャネル番号CH1、CH3のシフトを行われないことにより、リクエスト許可部180は装置20−2に対して確実に共有資源使用許可ACK2を出力することができる。
7周期目t7では、チャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBから3番目のビットから先頭ビットMSBにシフトされ、チャネル番号CH4が最後列ビットLSBから最後列ビットLSBから2番目のビットにシフトされる。これにより、チャネル番号CH1、CH3はFIFOレジスタ135−1、135−3の先頭ビットMSBに格納されているので、リクエスト選択部170は、チャネル番号CH1、CH3を優先度に従って選択する。しかし、7周期目t7の時点では、共有資源10は装置20−2についての処理を行っているので、リクエスト選択部170は、チャネル番号CH1又はチャネル番号CH3の選択を行わない。
8周期目t8では、チャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBに保持されるとともに、チャネル番号CH4は、最後列ビットLSBから2番目のビットから3番目のビットにシフトされる。チャネル番号CH1、CH3については、7周期目t7と同様に、共有資源10は装置20−2についての処理を行っているので、リクエスト選択部170は、チャネル番号CH1又はチャネル番号CH3の優先度に基づく選択を行わない。
9周期目t9では、共有資源10は装置20−2についての処理を終了する。これにより、リクエスト選択部170は、チャネル番号CH1に対応する共有資源使用要求REQ1とチャネル番号CH3に対応する共有資源使用要求REQ3が競合していることを識別し、チャネル番号CH1とチャネル番号CH3のうち優先度の高いチャネル番号CH1を選択する。尚、9周期目t9の時点では、チャネル番号CH1とチャネル番号CH3が先頭ビットMSBに保持されているので、チャネル番号CH4は最後列ビットLSBから3番目のビットから先頭ビットMSBにシフトされず、最後列ビットLSBから3番目のビットに保持される。
10周期目t10では、リクエスト選択部170によって選択されたチャネル番号CH1がFIFOレジスタ135−1から削除されるとともに、10周期目t10では、装置20−2からの共有資源使用要求REQ2が新たに発生する。そして、チャネル番号CH1に対応する共有資源使用要求REQ1を発生した装置20−1に対し、リクエスト許可部180は共有資源使用許可ACK1を出力する。これにより、装置20−1は共有バス15を介した共有資源10の使用許可が与えられる。尚、チャネル番号CH3は、先頭ビットMSBに保持され、チャネル番号CH4は最後列ビットLSBから3番目のビットに保持される。
11周期目t11では、共有資源10は装置20−1についての処理を行っているので、チャネル番号CH3は先頭ビットMSBに保持され、チャネル番号CH4は最後列ビットLSBから3番目のビットに保持されるとともに、共有資源使用要求REQ2に対応するチャネル番号CH2が、FIFOレジスタ135−2の最後列ビットLSBに格納される。
12周期目t12では、共有資源10は装置20−1についての処理を終了する。これにより、リクエスト選択部170は、先頭ビットMSBに格納されるチャネル番号CH3を選択する。
第1実施形態では、アービトレーション装置100は、複数の装置20−1〜20−nから競合した共有資源使用要求REQ1〜REQnを受付けた場合、優先度の判定を行うことなく、FIFOレジスタユニット130に登録を行う。即ち、アービトレーション装置100において、図7に示す従来のアービトレーション装置500とは異なり、競合した共有資源使用要求REQ1〜REQnをFIFOレジスタユニット130に登録する前に、優先度を判定しその結果に基づいてソーティング処理を行うためのハードウェア構成が不要となる。これにより、アービトレーション装置100を装置規模の増大化を抑えつつ構成することができる。
また、第1実施形態では、競合した共有資源使用要求REQ1〜REQnの優先度判定は、リクエスト選択部170によってFIFOレジスタ135−1〜135−nの先頭ビットMSBに格納されたチャネル番号に対して、予め設定しておいた優先度に基づいて行われる。したがって、第1実施形態によれば共有資源使用要求REQ1〜REQnが競合した場合、それらの優先度の判定を好適に行うことができる。
<<<第2実施形態>>>
===アービトレーション装置の構成===
図3を用いて、本発明の第2実施形態に係るアービトレーション装置200の構成を説明する。尚、図1に示した本発明の第1実施形態に係るアービトレーション装置100と同じ構成のものについては同じ符号を付して説明を省略する。
アービトレーション装置200においては、アービトレーション装置100と異なり、空き状態監視部150が設けられる。空き状態監視部150は、FIFOレジスタユニット130の全ビット(N×Nビット)に“H”のデータが格納されない第1の空き状態(全ビットがオール“L”の状態)であるか否かを監視する。そして、第1の空き状態であることを識別した場合には、リクエスト登録部120に第1のEMPTY信号を出力する。
空き状態監視部150は、N個のFIFOレジスタ135−1〜135−nの全ビット(N×Nビット)の論理和を演算するOR素子152を設け、OR素子152の出力を第1のEMPTY信号とすることができる。尚、第1のEMPTY信号が“L”の場合、FIFOレジスタユニット130は第1の空き状態であることを表す。一方、第1のEMPTY信号が“H”の場合、FIFOレジスタユニット130の全ビットのうち少なくとも1ビットには“H”のデータが格納されており、FIFOレジスタユニット130は第1の空き状態ではないことを表す。
第1実施形態において、リクエスト登録部120はリクエスト検出部110から出力されたチャネル番号CH1〜CHnを、FIFOレジスタ135−1〜135−nの最後列ビットLSBに格納するものである。しかし、FIFOレジスタユニット130が第1の空き状態の場合であっても、チャネル番号CH1〜CHnを最後列ビットLSBに格納してしまうと、共有資源使用要求REQ1〜REQnが許可されるまでに最後列ビットLSBから先頭ビットMSBへ転送するのに要する待ち時間が発生する。
そこで、第2の実施形態におけるリクエスト登録部120は、空き状態監視部150から“L”の第1のEMPTY信号が入力された場合、即ち、第1の空き状態である場合、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを、最後列ビットLSBではなく先頭ビットMSBに格納するためのスイッチ回路122−1〜122−nを設ける。
スイッチ回路122−1〜122−nは、空き状態監視部150から“L”の第1のEMPTY信号が入力された場合、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを先頭ビットMSBに格納する。一方、空き状態監視部150から“H”の第1のEMPTY信号が入力された場合、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを最後列ビットLSBに格納する。
===アービトレーション装置の動作===
図4に示す具体例を用いて、アービトレーション装置200の動作を説明する。尚、図4に示す記号は、図2に示す記号と同じ内容を表すものであるため説明を省略する。以下では、図4に示す動作例の中で、空き状態監視部150の動作に係るものについて説明する。
1周期目t1では、装置20−2からの共有資源使用要求REQ2が発生する。このとき、FIFOレジスタユニット130は、全ビットに“H”のデータ(チャネル番号CH1〜CH4)が格納されておらず、第1の空き状態(全ビットがオール“L”)である。そこで、空き状態監視部150は、“L”の第1のEMPTY信号を出力する。これにより、リクエスト登録部120は、“L”の第1のEMPTY信号に基づいて、先頭ビットMSBの経路を選択する。
2周期目t2では、1周期目t1に発生した共有資源使用要求REQ2に対応するチャネル番号CH2が、“L”の第1のEMPTY信号に基づいて、FIFOレジスタ135−2の先頭ビットMSBに格納されるとともに、装置20−1、20−3からの共有資源使用要求REQ1、REQ3からの共有資源使用要求が新たに発生する。即ち、チャネル番号CH2は、FIFOレジスタ135−2の先頭ビットMSBに格納されており、リクエスト選択部170によって選択される。このとき、FIFOレジスタ135は第1の空き状態ではなくなるので、空き状態監視部150は“H”の第1のEMPTY信号を出力する。
3周期目t3では、リクエスト登録部120は、“H”の第1のEMPTY信号に基づいて、2周期目t2で発生した共有資源使用要求REQ1、REQ3に対応するチャネル番号CH1、CH3はFIFOレジスタ135−1、135−3の最後列ビットLSBに格納される。
また、3周期目t3では、リクエスト選択部170によって選択されたチャネル番号CH2がFIFOレジスタ135−2から削除される。そして、チャネル番号CH2に対応する共有資源使用要求REQ1を発生した装置20−2に対し、リクエスト許可部180は共有資源使用許可ACK2を出力する。これにより、装置20−2は共有バス15を介した共有資源10の使用許可が与えられる。
4周期目t4以降では、5周期目t5において装置20−4から発生した共有資源使用要求REQ4は、“H”の第1のEMPTY信号に基づいて、つぎの6周期目t7においてFIFOレジスタ135−4の最後列ビットLSBに格納される。また、10周期目t10において装置20−2から発生した共有資源使用要求REQ2は、“H”の第1のEMPTY信号に基づいて、つぎの11周期目t11においてFIFOレジスタ135−2の最後列ビットLSBに格納される。その他は、第1実施形態におけるアービトレーション装置100と基本的には同様の動作である。
第2実施形態では、アービトレーション装置200は、FIFOレジスタユニット130が第1の空き状態の場合に、チャネル番号CH1〜CHnを、最後列ビットLSBではなく先頭ビットMSBに格納する。この結果、アービトレーション装置200は、無駄な待ち時間を与えることなく、FIFOレジスタユニット130の先頭ビットMSBに格納されたチャネル番号CH1〜CHnを選択できる。言い換えると、アービトレーション装置200は、第1の空き状態の場合に、アービトレーション装置100よりも速く共有資源使用許可ACK1〜ACKnを出力できるようになる。
<<<第3実施形態>>>
===アービトレーション装置の構成===
図5を用いて、本発明の第3実施形態に係るアービトレーション装置300の構成を説明する。尚、図3に示したアービトレーション装置200と同じ構成のものについては同じ符号を付して説明を省略する。
上記の本発明の第1実施形態並びに第2実施形態では、N個の装置20−1〜20−nは、共有バス15を介した共有資源10の使用権をシステムクロックCLKの2周期以上占有する場合として説明した。これに対し、本発明の第3実施形態では、N個の装置20−1〜20−nが、共有バス15を介した共有資源10の使用権をシステムクロックCLKの1周期で開放する場合として説明する。
アービトレーション装置300は、空き状態監視部150からリクエスト登録部120に対し、第1のEMPTY信号に加えて第2のEMPTY信号を出力する。
第2のEMPTY信号は、FIFOレジスタ135−1〜135−nそれぞれの先頭ビットMSBのうちいずれかに“H”のデータが格納され、且つ、FIFOレジスタ135−1〜135−nそれぞれの先頭ビットMSB以外のN×(N−1)ビットに“H”のデータが格納されていない第2の空き状態である場合を示すステータス信号である。
リクエスト登録部120は、空き状態監視部150から第2のEMPTY信号が出力された場合、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを、FIFOレジスタ135−1〜135−nの先頭ビットMSBから2番目のビットに格納する。これにより、新たに受け付けた共有資源使用要求REQ1〜REQnに対して、無駄な待ち時間を生じさせることなく許可を与えることができる。
以上のような仕組みを実現すべく、空き状態監視部150は、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBn以外の全ビットの論理和を演算するNOR素子154と、NOR素子154の出力とOR素子152の出力との論理積を演算するNAND素子158を有する。AND素子158の出力が第2のEMPTY信号となり、第2のEMPTY信号が“L”の場合、FIFOレジスタユニット130は第2の空き状態であることを示す。
また、リクエスト登録部120は、空き状態監視部150から入力された第1のEMPTY信号及び第2のEMPTY信号に基づいて、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを、先頭ビットMSB、先頭ビットMSBから2番目のビット、若しくは、最後列ビットLSBのいずれかに格納するためのスイッチ回路124−1〜124−nを有する。
具体的には、空き状態監視部150から“L”の第1のEMPTY信号が入力された場合、スイッチ回路124−1〜124−nは、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを先頭ビットMSBに格納する経路を選択する。
空き状態監視部150から“H”の第1のEMPTY信号が入力され、且つ、“H”の第2のEMPTY信号が入力された場合、スイッチ回路124−1〜124nは、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを最後列ビットLSBに格納する経路を選択する。
空き状態監視部150から“H”の第1のEMPTY信号が入力され、且つ、“L”の第2のEMPTY信号が入力された場合、スイッチ回路124−1〜124−nは、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを先頭ビットMSBから2番目のビットに格納する経路を選択する。
===アービトレーション装置の動作の具体例===
図6に示す具体例を用いて、アービトレーション装置300の動作を説明する。尚、図6に示す記号は、図4に示す記号と同じ内容を表すものであるため説明を省略する。
図6に示すアービトレーション装置300の動作を説明する。
1周期目t1では、装置20−2からの共有資源使用要求REQ2が発生する。このとき、FIFOレジスタユニット130の全ビットに“H”のデータ(チャネル番号CH1〜CH4)が格納されていない。従って、FIFOレジスタユニット130は、第1の空き状態(全ビットがオール“L”)であるが、第2の空き状態ではない場合である。そこで、空き状態監視部150は、“L”の第1のEMPTY信号並びに“H”の第2のEMPTY信号を出力する。これにより、リクエスト登録部120は、先頭ビットMSBの経路を選択する。
2周期目t2では、装置20−1からの共有資源使用要求REQ1からの共有資源使用要求が新たに発生すると共に、1周期目t1において発生した共有資源使用要求REQ2に対応するチャネル番号CH2が、空き状態監視部150から出力される“L”の第1のEMPTY信号及び“H”の第2のEMPTY信号に基づいて、FIFOレジスタ135−2の先頭ビットMSBに格納される。即ち、チャネル番号CH2は、FIFOレジスタ135−2の先頭ビットMSBに格納されており、リクエスト選択部170によって選択される。尚、FIFOレジスタ135−1、135−2、135−3、135−4の先頭ビットMSB以外の全ビットには“H”のデータが格納されていない。従って、2周期目t2では、FIFOレジスタユニット130は第1の空き状態ではないが第2の空き状態となり、空き状態監視部150は“H”の第1のEMPTY信号及び“L”の第2のEMPTY信号を出力する。
3周期目t3では、2周期目t2において発生した共有資源使用要求REQ1に対応するチャネル番号CH1は、空き状態監視部150から出力される“H”の第1のEMPTY信号及び“L”の第2のEMPTY信号に基づいて、FIFOレジスタ135−1の2番目のビットに格納される。従って、3周期目t3では、FIFOレジスタユニット130は第1の空き状態でもなく第2の空き状態でもなくなり、空き状態監視部150は“H”の第1のEMPTY信号及び“H”の第2のEMPTY信号を出力する。
また、3周期目t3では、リクエスト選択部170によって選択されたチャネル番号CH2がFIFOレジスタ135−2から削除される。そして、チャネル番号CH2に対応する共有資源使用要求REQ1を発生した装置20−2に対し、リクエスト許可部180は共有資源使用許可ACK2を出力する。これにより、装置20−2は共有バス15を介した共有資源10の使用許可が与えられる。
4周期目t4では、チャネル番号CH1がFIFOレジスタ135−1の最後列ビットLSBから3番目のビットから先頭ビットMSBにシフトされ、リクエスト選択部170によって選択される。このとき、共有資源10は装置20−2についての処理を終了する。
5周期目t5では、チャネル番号CH1がFIFOレジスタ135−1から削除され、共有資源使用要求REQ1を発生した装置20−1に対し共有資源使用許可ACK1が出力される。これにより、共有資源10は装置20−1についての処理を開始する。
第3実施形態では、アービトレーション装置300の場合には、共有資源使用要求REQ1がFIFOレジスタ135−1に登録されてから許可を与えられるまでに2周期を要すため、装置20−1についての処理を速やかに開始することができる。
以上、本発明の実施形態について説明したが、前述した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るとともに、その等価物も含まれるものである。
本発明の第1実施形態に係るアービトレーション装置の構成を示した図である。 本発明の第1実施形態に係るアービトレーション装置の動作を説明するための図である。 本発明の第2実施形態に係るアービトレーション装置の構成を説明するための図である。 本発明の第2実施形態に係るアービトレーション装置の動作を説明するための図である。 本発明の第3実施形態に係るアービトレーション装置の構成を説明するための図である。 本発明の第3実施形態に係るアービトレーション装置の動作を説明するための図である。 従来のアービトレーション装置の構成を示した図である。
符号の説明
10 共有資源
15 共有バス
20−1、20−2、20−3、20−4、20−n 装置
110 リクエスト検出部
120 リクエスト登録部
122a、124a スイッチ回路
130 FIFOレジスタユニット
135−1、135−2、135−3、135−4、135−n FIFOレジスタ
140 シフト制御部
150 状態監視部
152、154 OR素子
156 NOR素子
158 AND素子
160 優先度設定部
170 リクエスト選択部
180 リクエスト許可部
100、200、300、500 アービトレーション装置
510 リクエスト検出部
520 アクセス要求調整部
525 優先度設定レジスタ
530 行列レジスタ
540 バス・アクノリッジセレクト部
5201 リクエスト競合調停部
5202 優先度選択部

Claims (3)

  1. 共有資源と前記共有資源に接続された複数の信号処理装置からの共有資源使用要求を調停するアービトレーション装置において、
    前記複数の信号処理装置と一対一に対応し、前記共有資源使用要求を登録し格納する複数のシフトレジスタと、
    前記複数のシフトレジスタの各先頭ビットのいずれか一つに登録された前記共有資源使用要求を選択するリクエスト選択部と、
    前記リクエスト選択部により選択された前記共有資源使用要求を出した前記信号処理装置に対し前記共有資源の使用許可を与えるリクエスト許可部と、
    を有することを特徴とするアービトレーション装置。
  2. 請求項1に記載のアービトレーション装置において、
    前記複数の信号処理装置からの前記共有資源使用要求それぞれに対して優先度を設定した優先度設定部を有しており、
    前記リクエスト選択部は、前記複数のシフトレジスタの各先頭ビットに複数の前記共有資源使用要求が登録されたとき、前記優先度設定部に設定された優先度に基づいて前記各先頭ビットに登録された前記複数の共有資源使用要求のうちの1つに対して前記共有資源の使用許可を与えること、
    を特徴とするアービトレーション装置。
  3. 請求項1に記載のアービトレーション装置において、
    前記複数のシフトレジスタの各ビットに前記共有資源使用要求が登録されているか否かを監視する空き状態監視部と、
    前記複数の信号処理装置からの前記共有資源使用要求を受け付けて、当該共有資源使用要求を出した前記信号処理装置に対応する前記シフトレジスタに当該共有資源使用要求を登録する共有資源使用要求登録部と、
    を有し、
    前記共有資源使用要求登録部は、前記空き状態監視部の監視結果に基づいて、前記共有資源使用要求を前記シフトレジスタの先頭ビットまたは前記シフトレジスタの先頭ビット以外のビットに選択的に格納すること、
    を特徴とするアービトレーション装置。
JP2007080046A 2007-03-26 2007-03-26 アービトレーション装置 Expired - Fee Related JP4958596B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007080046A JP4958596B2 (ja) 2007-03-26 2007-03-26 アービトレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007080046A JP4958596B2 (ja) 2007-03-26 2007-03-26 アービトレーション装置

Publications (2)

Publication Number Publication Date
JP2008242651A true JP2008242651A (ja) 2008-10-09
JP4958596B2 JP4958596B2 (ja) 2012-06-20

Family

ID=39913951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007080046A Expired - Fee Related JP4958596B2 (ja) 2007-03-26 2007-03-26 アービトレーション装置

Country Status (1)

Country Link
JP (1) JP4958596B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013038589A1 (ja) * 2011-09-14 2015-03-23 パナソニックIpマネジメント株式会社 資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63180239A (ja) * 1987-01-22 1988-07-25 Matsushita Electric Ind Co Ltd アクセス競合調停回路
JPH0435540A (ja) * 1990-05-31 1992-02-06 Fujitsu Ltd バス調停装置
JP2000035943A (ja) * 1998-07-21 2000-02-02 Nec Corp 共通バス調停装置及びプログラムを記憶した記憶媒体
JP2001067308A (ja) * 1999-08-27 2001-03-16 Nec Software Shikoku Ltd バス調停回路
JP2004302633A (ja) * 2003-03-28 2004-10-28 Digital Electronics Corp バスアクセス制御装置
JP2005316866A (ja) * 2004-04-30 2005-11-10 Mitsubishi Electric Corp バス装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63180239A (ja) * 1987-01-22 1988-07-25 Matsushita Electric Ind Co Ltd アクセス競合調停回路
JPH0435540A (ja) * 1990-05-31 1992-02-06 Fujitsu Ltd バス調停装置
JP2000035943A (ja) * 1998-07-21 2000-02-02 Nec Corp 共通バス調停装置及びプログラムを記憶した記憶媒体
JP2001067308A (ja) * 1999-08-27 2001-03-16 Nec Software Shikoku Ltd バス調停回路
JP2004302633A (ja) * 2003-03-28 2004-10-28 Digital Electronics Corp バスアクセス制御装置
JP2005316866A (ja) * 2004-04-30 2005-11-10 Mitsubishi Electric Corp バス装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013038589A1 (ja) * 2011-09-14 2015-03-23 パナソニックIpマネジメント株式会社 資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム

Also Published As

Publication number Publication date
JP4958596B2 (ja) 2012-06-20

Similar Documents

Publication Publication Date Title
US7761617B2 (en) Multi-threaded DMA
US7734856B2 (en) Method for operating a plurality of arbiters and arbiter system
US10838883B2 (en) System and method of accelerating arbitration by approximating relative ages
US10241946B2 (en) Multi-channel DMA system with command queue structure supporting three DMA modes
US20100325327A1 (en) Programmable arbitration device and method therefor
JP2010282405A (ja) データ処理システム
JP4499008B2 (ja) Dma転送システム
US20200026674A1 (en) Arbitration circuitry
KR20120036300A (ko) 데이터 공간 아비터
US7395360B1 (en) Programmable chip bus arbitration logic
US7814253B2 (en) Resource arbiter
JP2016173798A (ja) 半導体装置
US7509482B2 (en) Orderly processing ready entries from non-sequentially stored entries using arrival order matrix reordered upon removal of processed entries
JP4958596B2 (ja) アービトレーション装置
US8140728B1 (en) Data packet arbitration system
JP2004038967A (ja) バスの使用頻度を制御できる方法及び装置
JP5677007B2 (ja) バス調停装置、バス調停方法
US6249855B1 (en) Arbiter system for central processing unit having dual dominoed encoders for four instruction issue per machine cycle
WO1999059048A9 (en) Transpose table biased arbitration scheme
JP2006251875A (ja) バス調停装置及びバス調停方法
WO2006042108A1 (en) Multi-threaded direct memory access
JP2008059047A (ja) 情報処理システム及びこの制御方法
KR20090128851A (ko) 버스 중재 방법 및 장치
US20150067213A1 (en) Bus access arbiter and method of bus arbitration
US20050060459A1 (en) Methods, circuits, and computer program products for variable bus arbitration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100225

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111226

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: 20120228

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: 20120319

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees