説明

リソース管理装置

【課題】共有リソースへのアクセス要求の調停を一定の時間間隔で行うシステムのアクセス効率及びアクセスレイテンシを改善する。
【解決手段】複数のマスタ100,101,102と共有リソース106との間に、アクセス要求調停部103と、データ量管理部104と、リソース制御部105とを設ける。データ量管理部104は、複数のマスタ100,101,102と共有リソース106との間のアクセスデータ量を管理する。アクセス要求調停部103は、一定間隔の調停タイミングでいずれかのマスタにアクセス許可を発行する定時調停に加えて、アクセスデータ量に応じて決定されるマスタに任意タイミングでアクセス許可を発行する常時調停とを実行する。定時調停にて規定のデータ量を下回るアクセス要求が受け付けられた場合、残りのアクセス機会が常時調停で利用可能になる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のマスタが少なくとも1つの共有リソースへのアクセス要求をそれぞれ発行するシステムにおいて、各マスタから共有リソースへのアクセス要求を調停するためのリソース管理装置に関するものである。
【背景技術】
【0002】
システムLSIの内部では、マイクロプロセッサ、DSP(Digital Signal Processor)、DMA(Direct Memory Access)コントローラ等の複数のマスタが、メモリ、周辺I/O(input/output)コントローラ等の共有リソースにアクセスする。ここで、各マスタから共有リソースへのアクセス要求を効率的に調停するためのリソース管理装置が必要である。
【0003】
ある従来技術によれば、予めテーブル形式で持っている各マスタの優先順位情報をもとに、リソース管理装置が一定時間毎にアクセス要求の調停を行う。複数パターンの優先順位情報が当該テーブルに格納されており、調停を行う一定時間毎にパターンが順に切り替えられる。各マスタは優先順位パターンの中で最優先に設定されている回数分のアクセス許可を受けることができ、各マスタの最低アクセスバンド幅を保証することが可能である(特許文献1参照)。
【0004】
ところが、各マスタのアクセス要求の発生タイミングに時間的な偏りが生じた場合、アクセス要求の存在しない調停タイミングではいずれのマスタにもアクセス許可が発行されず、アクセス許可を与える機会が無駄に失われてしまう。また、その結果として他の調停タイミングに多数のアクセス要求が集中した場合には、低い優先順位を持つマスタのアクセス待ち時間が増大する。
【0005】
そこで、他の従来技術によれば、一定間隔の調停タイミングで各マスタから共有リソースへのアクセス要求の調停を行いつつ、調停履歴をもとに調停動作の開始タイミングを一定間隔の調停タイミングからシフトさせる。具体的には、ある調停タイミングにいずれのマスタのアクセス要求も存在しなかった場合には、当該調停タイミングを過ぎて発行されたアクセス要求に対して、次の調停タイミングを待たずにアクセス許可を発行するのである(特許文献2参照)。
【特許文献1】特開2004−246862号公報
【特許文献2】特開2006−195714号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
例えば、デジタルテレビジョン放送の録音・録画システムや携帯電話では、短期間に多量のデータを要求するマスタもあれば、少量のデータを頻繁に要求するマスタもある。同一のマスタが、ある時には多量のデータを、またある時には少量のデータをそれぞれ要求することもある。
【0007】
共有リソースへのアクセス要求の調停を一定の時間間隔で行う上記従来の両リソース管理装置において、調停タイミングの間隔をTとし、この時間Tのうちに共有リソースが規定量、例えば32バイトのデータを転送できるものする。ここで、特定のマスタがいずれの調停タイミングでも16バイトのデータしか要求せず、その都度当該特定マスタにアクセス許可が与えられると、各調停タイミングにおける残り16バイト分のアクセス機会が無駄に失われてしまう。また、全マスタのアクセス要求量が常に32バイトであるとの前提で上記優先順位情報を設定する場合には、当該特定マスタのアクセスバンド幅を保証するために当該特定マスタへの最優先順位設定回数を必要以上に増やさざるを得ず、他のマスタのアクセス待ち時間の増大につながる。
【0008】
本発明の目的は、共有リソースへのアクセス要求の調停を一定の時間間隔で行うシステムにおいて、各マスタのアクセス要求量が一律でない点を考慮してアクセス効率及びアクセスレイテンシを改善することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明では、複数のマスタと共有リソースとの間のアクセスデータ量を管理するデータ量管理部を設け、アクセス要求調停部は、一定間隔の調停タイミングでいずれかのマスタにアクセス許可を発行する定時調停に加えて、アクセスデータ量に応じて決定されるマスタに任意タイミングでアクセス許可を発行する常時調停とを実行することとした。
【0010】
具体的に説明すると、データ量管理部は、複数のマスタの各々について管理するアクセス可能量をそれぞれ初期化した後、定時調停の場合にはアクセスが許可されたマスタのアクセス可能量を規定のデータ量だけ増したうえで当該アクセス可能量を当該マスタのアクセス要求量と同量だけ減らし、常時調停の場合にはアクセスが許可されたマスタのアクセス可能量を当該マスタのアクセス要求量と同量だけ減らすように動作する。アクセス要求調停部は、常時調停にて、データ量管理部が管理するアクセス可能量を上回らないアクセス要求量を提示しているマスタにアクセス許可を発行する。
【発明の効果】
【0011】
本発明によれば、定時調停にて規定のデータ量を下回るアクセス要求が受け付けられた場合、残りのアクセス機会が常時調停で利用可能になるので、各マスタのアクセス要求量が一律でないシステムのアクセス効率及びアクセスレイテンシが改善される。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について、図面を用いて説明する。
【0013】
図1は、本発明に係るリソース管理装置を含むシステムの構成例を示している。図1において、100、101、102はマスタ、103はアクセス要求調停部、104はデータ量管理部、105はリソース制御部、106は共有リソースである。
【0014】
各マスタ100〜102は、マイクロプロセッサ、DSP、DMAコントローラなどのうちのいずれかである。共有リソース106は、メモリ、周辺I/Oコントローラなどのうちのいずれかである。なお、以下の説明ではマスタ100、101、102を適宜マスタA、B、Cという。
【0015】
マスタA,B,Cと共有リソース106との間に介在したアクセス要求調停部103、データ量管理部104及びリソース制御部105がリソース管理装置を構成する。アクセス要求調停部103は、共有リソース106へアクセスしようとするマスタA,B,Cのアクセス要求を調停する。リソース制御部105は、アクセス要求調停部103によりアクセスが許可されたマスタと共有リソース106との間のデータの受け渡しを制御する。データ量管理部104は、この間のマスタA,B,Cと共有リソース106との間のアクセスデータ量を管理する。156は共有リソース106からデータ量管理部104へ発行される割り込み信号であり、157はデータ量管理部104へのプログラム入力であり、158はアクセス要求調停部103へのプログラム入力である。
【0016】
詳細に説明すると、マスタA,B,Cのアクセス要求(REQ)160,161,162は、アクセス要求調停部103により調停される。アクセス要求調停部103は、マスタA,B,Cのうちのいずれにアクセス許可(ACK)163,164,165を発行するかを決定する。アクセス許可(ACK)を受けたマスタは、アクセス要求量の情報を含むアクセスコマンド(COM)166,167,168をアクセス要求調停部103へ発行する。これを受けて、アクセス要求調停部103は、アクセス許可マスタのアクセスコマンド159をリソース制御部105へ伝達する。この後、アクセス許可を受けたマスタは転送データバス180,181,182を介してリソース制御部105との間でデータの授受を行い、リソース制御部105はリソース転送データバス190を介して共有リソース106との間でデータの授受を行う。リソース制御部105は、共有リソース106へのアクセスを当該共有リソース106の特性に基づいて、例えば共有リソース106がメモリであれば当該メモリの種別やアクセスモード種別に基づいて制御する。
【0017】
データ量管理部104は、上記アクセスデータ量管理の一環としてマスタA,B,Cの各々についてアクセス可能量を管理しており、マスタ毎のアクセス可能量153,154,155をアクセス要求調停部103に知らせる。
【0018】
アクセス要求調停部103は、一定間隔の調停タイミングでアクセス許可を発行する定時調停と、任意タイミングでアクセス許可を発行する常時調停とを実行する。定時調停では、マスタA,B,Cのうち前述の優先順位パターンを用いて決定したマスタにアクセス許可が発行される。常時調停では、マスタA,B,Cのうちデータ量管理部104が管理するアクセス可能量を上回らないアクセス要求量を提示しているマスタにアクセス許可が発行される。
【0019】
アクセス要求調停部103からデータ量管理部104へ供給される調停タイミング信号170は、定時調停における一定間隔のタイミングを表している。また、アクセス許可マスタのID150と、アクセス許可マスタのアクセス要求量151と、アクセス許可が定時調停と常時調停とのうちいずれに基づいて発行されたかを示す調停タイプ152とがアクセス要求調停部103からデータ量管理部104へ供給される。データ量管理部104は、定時調停の場合にはアクセスが許可されたマスタのアクセス可能量を規定のデータ量だけ増したうえで当該アクセス可能量を当該マスタのアクセス要求量と同量だけ減らし、常時調停の場合にはアクセスが許可されたマスタのアクセス可能量を当該マスタのアクセス要求量と同量だけ減らすように動作する。
【0020】
図2は、図1中のアクセス要求調停部103の内部構成例を示している。図2に示すとおり、アクセス要求調停部103は、定時調停部200と、調停タイミング生成部201と、3つのANDゲート230,231,232を伴った調停要求生成部202と、常時調停部203と、調停結果選択部204とから構成される。
【0021】
調停タイミング生成部201は、クロック信号210を分周することにより調停タイミング信号170を生成する。この調停タイミング信号170は、定時調停部200とデータ量管理部104とに供給される。
【0022】
定時調停部200は、調停タイミング信号170と、各マスタのアクセス要求160,161,162及びアクセスコマンド166,167,168とを受け取り、調停タイミング信号170で示される一定間隔の調停タイミングで各マスタのアクセス要求160,161,162を優先順位情報に従って調停する。この定時調停により得られた、マスタへのアクセス許可、アクセス許可を受けたマスタのID、アクセス許可を受けたマスタのアクセスコマンドは、調停結果選択部204へ発行される。
【0023】
調停要求生成部202は、3つの比較器220,221,222を備え、データ量管理部104から得られるマスタ毎のアクセス可能量153,154,155と、各マスタのアクセスコマンド166,167,168より得られるアクセス要求量とをそれぞれ比較し、アクセス要求量がアクセス可能量以下であるマスタについて、常時調停部203に対して調停要求を発行する。ANDゲート230,231,232は、各マスタのアクセス要求160,161,162と調停要求生成部202からの調停要求との双方が発行されているマスタを対象として調停を行うように常時調停部203を制御する。
【0024】
常時調停部203は、調停タイミング信号170に依存しない任意のタイミングで、調停要求生成部202からANDゲート230,231,232を介して受け取った調停要求を処理する。この常時調停により得られた、マスタへのアクセス許可、アクセス許可を受けたマスタのID、アクセス許可を受けたマスタのアクセスコマンドは、調停結果選択部204へ発行される。なお、常時調停部203は、ANDゲート230,231,232を介して複数の調停要求を同時に受け取った場合には、後述のとおり、所定の優先ルールに従って単一のアクセス許可マスタを決定する。
【0025】
調停結果選択部204は、定時調停部200のみから調停結果を受け取った場合には、この調停結果をもとに、アクセス許可163,164,165のうちのいずれか1つをアクセス許可マスタへ発行するとともに、アクセス許可マスタのID150と、アクセス許可マスタのアクセス要求量151と、定時調停「1」を示す調停タイプ152とをデータ量管理部104へ、アクセス許可マスタのアクセスコマンド159をリソース制御部105へそれぞれ発行する。一方、常時調停部203のみから調停結果を受け取った場合には、調停結果選択部204は、この調停結果をもとに、アクセス許可163,164,165のうちのいずれか1つをアクセス許可マスタへ発行するとともに、アクセス許可マスタのID150と、アクセス許可マスタのアクセス要求量151と、常時調停「0」を示す調停タイプ152とをデータ量管理部104へ、アクセス許可マスタのアクセスコマンド159をリソース制御部105へそれぞれ発行する。
【0026】
定時調停と常時調停とのタイミングが重なった場合には、いずれを有効化すべきかを決定して調停結果を選択する必要がある。そのため、調停結果選択部204は、定時調停と常時調停とのうちいずれを有効とすべきかを指定するためのプログラム入力(調停結果選択信号)158を受ける。ただし、常に定時調停を優先させることとしても、また常に常時調停を優先させることとしてもよい。
【0027】
図3は、図1中のデータ量管理部104の内部構成例を示している。図3に示すとおり、データ量管理部104は、アクセス可能量レジスタ300,301,302と、アクセスマスタ判定部303と、アクセス可能量演算部304とから構成される。
【0028】
アクセス可能量レジスタ300,301,302は、各マスタのアクセス可能量153,154,155を管理する。これらのアクセス可能量レジスタ300,301,302は、例えば共有リソース106からの割り込み信号156や、プログラム入力(レジスタ初期化信号)157に応答して初期化され得るようになっている。
【0029】
アクセスマスタ判定部303は、例えば3つのANDゲート310,311,312を備え、アクセス要求調停部103から得られたアクセス許可マスタのID150に基づいてアクセス許可マスタの判定を行い、当該アクセス許可マスタに対応するアクセス可能量レジスタ300,301,302へのデータロード信号を生成する。
【0030】
アクセス可能量演算部304は、入力選択部320と、加算器321と、調停タイプ選択部322と、減算器323とを備え、アクセス許可マスタのID150に基づきアクセス可能量レジスタ300,301,302から有効となるアクセス可能量を選択し、演算を行う。アクセス許可の調停タイプ152が「1」の場合、つまりアクセス許可が定時調停に基づいて行われた場合、1アクセス許可において規定されたデータ量(例えば32バイト)を現在のアクセス可能量に加算し、その結果からアクセス許可マスタのアクセス要求量151を減算し、次サイクルでのアクセス可能量として該当するアクセス可能量レジスタ300,301,302へ供給する。アクセス許可の調停タイプ152が「0」の場合、つまりアクセス許可が常時調停に基づいて任意タイミングで行われた場合、現在のアクセス可能量からアクセス許可マスタのアクセス要求量151を減算して、次サイクルでのアクセス可能量として該当するアクセス可能量レジスタ300,301,302へ供給する。
【0031】
以上のように構成された本実施形態のリソース管理装置の具体的な動作例を示す。以後の具体例においては、アクセス要求調停部103での調停タイミングに基づくアクセス許可によって、当該マスタは32バイトのアクセス許可を受ける、つまり図3中の「規定のデータ量」が32バイトであるものとする。
【0032】
図4は、図1に示したリソース管理装置の第1の動作例を示している。ここでは、クロック信号210を5分周した調停タイミング信号170が得られるものとする。
【0033】
図4によれば、マスタA,B,Cのアクセス可能量153,154,155が全て「0」に初期化された状態で、T10において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が32バイトであるので、T10におけるマスタAのアクセス可能量153は0(=0+32−32)バイトとなる。
【0034】
次に、T11において、定時調停によりマスタBがアクセス許可164を受ける。このアクセス許可において、マスタBは32バイト分のアクセス許可を受けるが、マスタBのアクセス要求量167が8バイトであるので、T11におけるマスタBのアクセス可能量154は24(=0+32−8)バイトとなる。
【0035】
次に、T12において、マスタBよりアクセス要求161が発行される。マスタBのアクセス要求量167が8バイト、マスタBのアクセス可能量154が24バイトを示しているので、調停要求生成部202によりアクセス要求量167がアクセス可能量154以下であると判定される結果、T12は調停タイミングではないが、常時調停によりマスタBに対してアクセス許可164が発行される。この際、マスタBのアクセス可能量154は24バイトから16(=24−8)バイトに減少する。
【0036】
同様に、T13においてもマスタBのアクセス要求量167がアクセス可能量154の値以下であるので、T13は調停タイミング以外であるが常時調停によりマスタBに対してアクセス許可164が発行され、マスタBのアクセス可能量154は0(=16−16)バイトとなる。
【0037】
次に、T14において、定時調停によりマスタCがアクセス許可165を受ける。このアクセス許可において、マスタCは32バイト分のアクセス許可を受けるが、マスタCのアクセス要求量168が24バイトであるので、T14におけるマスタCのアクセス可能量155は8(=0+32−24)バイトとなる。
【0038】
次サイクルのT15において、マスタCはアクセス要求162を発行するが、アクセス要求量168が16バイトでマスタCのアクセス可能量155は8バイトを示しているので、T15においてはマスタCへのアクセス許可165は発行されず、次の調停タイミングであるT16まで待たされる。
【0039】
T16において、マスタCは32バイト分のアクセス許可165を受けるが、アクセス要求量168が16バイト、現在のアクセス可能量155が8バイトを示しているので、T16におけるマスタCのアクセス可能量155は24(=8+32−16)バイトとなる。
【0040】
なお、T15にてマスタCへのアクセス許可165が発行されるようにしてもよい。すなわち、T15においてマスタCのアクセス可能量155は8バイトを示しているので、マスタCの16バイトのアクセス要求量168を各々8バイト分の2つのアクセスに分割し、一方の8バイトアクセスのみをT15にて早期に許可するのである。残りの8バイトアクセスは、例えばT16にて許可される。
【0041】
さて、各マスタのアクセス可能量153,154,155が累積により過大になると、常時調停部203の正確な動作が損なわれかねない。そこで、アクセス可能量153,154,155を一定の条件下で初期化することが望ましい。
【0042】
図5は、図1に示したリソース管理装置の第2の動作例を示している。これは、3回の調停タイミング毎にアクセス可能量153,154,155を初期化するものである。
【0043】
図5によれば、T20において、定時調停によりマスタAがアクセス許可163を受ける。T20での調停タイミングに基づく調停を1回目の調停とする。
【0044】
次に、T21において、定時調停によりマスタBがアクセス許可164を受ける。このアクセス許可において、マスタBは32バイト分のアクセス許可を受けるが、マスタBのアクセス要求量167が16バイトであるので、T21におけるマスタBのアクセス可能量154は16バイトとなる。
【0045】
次に、T22において、定時調停によりマスタCがアクセス許可165を受ける。このアクセス許可において、マスタCは32バイト分のアクセス許可を受けるが、マスタCのアクセス要求量168が8バイトであるので、T22におけるマスタCのアクセス可能量155は24バイトとなる。
【0046】
T22ではT20から数えて3回目の調停タイミングとなるので、T22においてアクセス許可を与えられないマスタであるマスタA、マスタBのアクセス可能量153,154は初期値である0バイトになる。
【0047】
次に、T23において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が16バイトであるので、T23におけるマスタAのアクセス可能量153は16バイトとなる。
【0048】
次に、T24において、マスタAよりアクセス要求160が発行される。マスタAのアクセス要求量166が8バイト、マスタAのアクセス可能量153が16バイトを示しているので、調停要求生成部202によりアクセス要求量166がアクセス可能量153以下であると判定される結果、T24は調停タイミングではないが、常時調停によりマスタAに対してアクセス許可163が発行される。この際、マスタAのアクセス可能量153は16バイトから0バイトに減少する。
【0049】
次に、T25において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が16バイトであるので、T25におけるマスタAのアクセス可能量153は16バイトとなる。
【0050】
次に、T26において、定時調停によりマスタBがアクセス許可164を受ける。このアクセス許可において、マスタBは32バイト分のアクセス許可を受けるが、マスタBのアクセス要求量167が32バイトであるので、T26におけるマスタBのアクセス可能量154は0バイトとなる。
【0051】
T26ではT23から数えて3回目の調停タイミングとなるので、T26においてアクセス許可を与えられないマスタであるマスタA、マスタCのアクセス可能量153,155は0バイトへと初期化される。
【0052】
図6は、図1に示したリソース管理装置の第3の動作例を示している。これは、共有リソース106からの割り込み信号156によりアクセス可能量153,154,155を初期化するものである。
【0053】
図6によれば、T30において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が8バイトであるので、T30におけるマスタAのアクセス可能量153は24バイトとなる。
【0054】
次に、T31において、定時調停によりマスタBがアクセス許可164を受ける。このアクセス許可において、マスタBは32バイト分のアクセス許可を受けるが、マスタBのアクセス要求量167が16バイトであるので、T31におけるマスタBのアクセス可能量154は16バイトとなる。
【0055】
次に、T32において、定時調停によりマスタCがアクセス許可165を受ける。このアクセス許可において、マスタCは32バイト分のアクセス許可を受けるが、マスタCのアクセス要求量168が8バイトであるので、T32におけるマスタCのアクセス可能量155は24バイトとなる。
【0056】
T33において、共有リソース106からアクセス可能量レジスタ300,301,302に対して割り込み信号156が発行される。この割り込み信号156によりアクセス可能量153,154,155は任意の値から初期化されて0バイトとなる。
【0057】
図7は、図1に示したリソース管理装置の第4の動作例を示している。これは、アクセス可能量153,154,155のうちのいずれかが閾値(例えば96バイト)を上回った場合に、当該アクセス可能量を初期化するものである。
【0058】
図7によれば、T40において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が8バイトであるので、T40におけるマスタAのアクセス可能量153は24バイトとなる。
【0059】
同様に、T41、T42、T43において、定時調停によりマスタAがアクセス許可163を受けるが、1回のアクセス許可におけるマスタAのアクセス要求量166は8バイトであるので、T43においてマスタAのアクセス可能量153は96バイトとなる。
【0060】
次に、T44において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可においても、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が8バイトであり、アクセス可能量153は96バイトである。すなわち、マスタAのアクセス可能量153の更新値が閾値である96バイトを越えることとなり、マスタAのアクセス可能量153は初期化され、0バイトとなる。
【0061】
図8は、図1に示したリソース管理装置の第5の動作例を示している。これは、プログラム入力157によりアクセス可能量153,154,155を初期化するものである。
【0062】
図8によれば、T50において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が8バイトであるので、T50におけるマスタAのアクセス可能量153は24バイトとなる。
【0063】
次に、T51において、定時調停によりマスタBがアクセス許可164を受ける。このアクセス許可において、マスタBは32バイト分のアクセス許可を受けるが、マスタBのアクセス要求量167が16バイトであるので、T51におけるマスタBのアクセス可能量154は16バイトとなる。
【0064】
次に、T52において、定時調停によりマスタCがアクセス許可165を受ける。このアクセス許可において、マスタCは32バイト分のアクセス許可を受けるが、マスタCのアクセス要求量168が8バイトであるので、T52におけるマスタCのアクセス可能量155は24バイトとなる。
【0065】
T53において、プログラム入力157からアクセス可能量レジスタ300,301,302に対してレジスタ初期化信号が発行され、アクセス可能量153,154,155は任意の値から初期化されて0バイトとなる。アクセス可能量レジスタ300,301,302のうちの初期化対象をプログラム入力157で指定するようにしてもよい。
【0066】
なお、以上の説明ではアクセス可能量153,154,155を0バイトに初期化するものとしたが、初期値を0以外の値に変更してもよい。
【0067】
図9は、図1に示したリソース管理装置の第6の動作例を示している。これは、定時調停と常時調停とのタイミングが重なった場合に定時調停を優先させるものである。
【0068】
図9によれば、T60において、マスタAがアクセス許可163を受ける。当該アクセス許可は定時調停部200による調停の結果与えられたアクセス許可であり、マスタAは32バイト分のアクセス許可を受ける。マスタAのアクセス要求量166が8バイトであるので、T60におけるマスタAのアクセス可能量153は24バイトとなる。
【0069】
T61において、マスタAはアクセス要求調停部103に対してアクセス要求160を発行する。T61は調停タイミングであり定時調停部200による調停が実施され、マスタAに対するアクセス許可が調停結果選択部204に発行される。また、T61においてマスタAのアクセス要求量166は8バイト、アクセス可能量153は24バイトであるので、アクセス要求量166はアクセス可能量153以下である。したがって、常時調停部203に対して調停要求が発行され、マスタAに対するアクセス許可が調停結果選択部204に発行される。調停結果選択部204では、定時調停部200及び常時調停部203の双方からの調停結果のうち、定時調停部200からの調停結果を有効とする。マスタAに対してはアクセス許可163を発行し、データ量管理部104に対しては、アクセス許可マスタのID150、アクセス許可マスタのアクセス要求量151、当該調停結果が定時調停部200により行われたことを示すアクセス許可の調停タイプ152をそれぞれ発行する。データ量管理部104では、当該調停が定時調停部200により行われたことに基づき、T61におけるアクセス可能量153を(アクセス可能量+32バイト−アクセス要求量)とする。
【0070】
図10は、図1に示したリソース管理装置の第7の動作例を示している。これは、定時調停と常時調停とのタイミングが重なった場合に常時調停を優先させるものである。
【0071】
図10によれば、T70において、マスタAがアクセス許可163を受ける。当該アクセス許可は定時調停部200による調停の結果与えられたアクセス許可であり、マスタAは32バイト分のアクセス許可を受ける。マスタAのアクセス要求量166が8バイトであるので、T70におけるマスタAのアクセス可能量153は24バイトとなる。
【0072】
T71において、マスタAはアクセス要求調停部103に対してアクセス要求160を発行する。T71は調停タイミングであり定時調停部200による調停が実施され、マスタAに対するアクセス許可が調停結果選択部204に発行される。また、T71において、マスタAのアクセス要求量166は8バイト、アクセス可能量153は24バイトであるので、アクセス要求量166はアクセス可能量153以下である。したがって、常時調停部203に対して調停要求が発行され、マスタAに対するアクセス許可が調停結果選択部204に発行される。調停結果選択部204では、定時調停部200及び常時調停部203の双方からの調停結果のうち、常時調停部203からの調停結果を有効とする。マスタAに対してはアクセス許可163を発行し、データ量管理部104に対してはアクセス許可マスタのID150、アクセス許可マスタのアクセス要求量151、当該調停結果が常時調停部203により行われたことを示すアクセス許可の調停タイプ152をそれぞれ発行する。データ量管理部104では、当該調停が常時調停部203により行われたことに基づき、T71におけるアクセス可能量153を(アクセス可能量−アクセス要求量)とする。
【0073】
図11は、図1に示したリソース管理装置の第8の動作例を示している。これは、定時調停と常時調停とのタイミングが重なった場合に、いずれの調停結果を有効とすべきかをプログラム入力158により決定するものである。
【0074】
図11によれば、T80において、調停結果選択部204にて常時調停部203の結果が選択されるように、調停結果選択信号を「0」とするプログラム入力158が与えられる。
【0075】
T81において、マスタAがアクセス許可163を受ける。当該アクセス許可は定時調停部200による調停の結果与えられたアクセス許可であり、マスタAは32バイト分のアクセス許可を受ける。マスタAのアクセス要求量166が8バイトであるので、T81におけるマスタAのアクセス可能量153は24バイトとなる。
【0076】
T82において、マスタAはアクセス要求調停部103に対してアクセス要求160を発行する。T82は調停タイミングであり定時調停部200による調停が実施され、マスタAに対するアクセス許可が調停結果選択部204に発行される。また、T82において、マスタAのアクセス要求量166は8バイト、アクセス可能量153は24バイトであるので、アクセス要求量166はアクセス可能量153以下である。したがって、常時調停部203に対して調停要求が発行され、マスタAに対するアクセス許可が調停結果選択部204に発行される。調停結果選択部204では、定時調停部200及び常時調停部203の双方からの調停結果のうちプログラム入力157での設定に従い、常時調停部203からの調停結果を有効とする。マスタAに対してはアクセス許可163を発行し、データ量管理部104に対してはアクセス許可マスタのID150、アクセス許可マスタのアクセス要求量151、当該調停結果が常時調停部203により行われたことを示すアクセス許可の調停タイプ152をそれぞれ発行する。データ量管理部104では、当該調停が常時調停部203により行われたことに基づき、T82におけるアクセス可能量153を(アクセス可能量−アクセス要求量)とする。次の調停タイミングも同様であり、アクセス可能量153が8バイトとなる。
【0077】
T83において、調停結果選択部204にて定時調停部200の結果が選択されるように、調停結果選択信号を「1」とするプログラム入力158が与えられる。
【0078】
T84において、マスタAはアクセス要求調停部103に対してアクセス要求160を発行する。T84は調停タイミングであり定時調停部200による調停が実施され、マスタAに対するアクセス許可が調停結果選択部204に発行される。また、T84において、マスタAのアクセス要求量166は8バイト、アクセス可能量153は8バイトであるので、常時調停部203に対して調停要求が発行され、マスタAに対するアクセス許可が調停結果選択部204に発行される。調停結果選択部204では、定時調停部200及び常時調停部203の双方からの調停結果のうちプログラム入力158での設定に従い、定時調停部200からの調停結果を有効とする。マスタAに対してはアクセス許可163を発行し、データ量管理部104に対してはアクセス許可マスタのID150、アクセス許可マスタのアクセス要求量151、当該調停結果が定時調停部200により行われたことを示すアクセス許可の調停タイプ152をそれぞれ発行する。データ量管理部104では、当該調停が定時調停部200により行われたことに基づき、T84におけるアクセス可能量153を(アクセス可能量+32バイト−アクセス要求量)とする。
【0079】
図12は、図1に示したリソース管理装置の第9の動作例を示している。これは、常時調停部203に対して複数の調停要求が同時に発行された際に固定優先順位に従った調停を行うものである。なお、常時調停部203における固定優先順位は、マスタAが最も高く、マスタCが最も低いものとする。また、ここではクロック信号210を6分周した調停タイミング信号170が得られるものとする。
【0080】
図12によれば、T90において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が16バイトであるので、T90におけるマスタAのアクセス可能量153は16バイトとなる。
【0081】
同様に、T91、T92において、マスタB、マスタCがそれぞれ定時調停によりアクセス許可164,165を受けたことに従い、マスタBのアクセス可能量154は16バイト、マスタCのアクセス可能量155は16バイトとなる。
【0082】
T93において、マスタA、マスタB、マスタCからそれぞれアクセス要求160,161,162がアクセス要求調停部103に対して発行される。T93は調停タイミングに該当しないため、定時調停部200による調停は行われず、常時調停部203による調停のみが行われる。マスタAにおいて、アクセス要求量166は8バイトでありアクセス可能量153は16バイトであるので、常時調停部203に対する調停要求が発行される。同様にマスタB、マスタCにおいてもそれぞれのアクセス要求量167,168がアクセス可能量154,155以下であるので、常時調停部203に対する調停要求が発行される。常時調停部203に対する複数の調停要求は固定優先順位に従い調停されるため、T93においてはマスタAに対するアクセス許可163が発行される。
【0083】
T94において、マスタA、マスタB、マスタCからそれぞれアクセス要求160,161,162がアクセス要求調停部103に対して発行される。T94は調停タイミングに該当しないため、定時調停部200による調停は行われず、常時調停部203による調停のみが行われる。マスタAにおいて、アクセス要求量166は8バイトであるがアクセス可能量153は0バイトであるので、常時調停部203に対する調停要求は発行されない。マスタB、マスタCにおいてはそれぞれのアクセス要求量167,168がアクセス可能量154,155以下であるので、常時調停部203に対する調停要求が発行され、固定優先順位に従って、T94においてはマスタBに対するアクセス許可164が発行される。
【0084】
T95において、マスタA、マスタCからそれぞれアクセス要求160,162がアクセス要求調停部103に対して発行される。T95は調停タイミングに該当しないため、定時調停部200による調停は行われず、常時調停部203による調停のみが行われる。マスタAにおいてはアクセス要求量166がアクセス可能量153を超えるため常時調停部203に対する調停要求は発行されない。マスタCにおいてはアクセス要求量168がアクセス可能量155以下であるので、常時調停部203に対する調停要求が発行され、固定優先順位に従って、T95においてはマスタCに対するアクセス許可165が発行される。
【0085】
図13は、図1に示したリソース管理装置の第10の動作例を示している。これは、常時調停部203に対して複数の調停要求が同時に発行された際にラウンドロビン方式で調停を行うものである。
【0086】
図13によれば、T100において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が16バイトであるので、T100におけるマスタAのアクセス可能量153は16バイトとなる。
【0087】
同様に、T101、T102において、マスタB、マスタCがそれぞれ定時調停によりアクセス許可164,165を受けたことに従い、マスタBのアクセス可能量154は16バイト、マスタCのアクセス可能量155は16バイトとなる。
【0088】
T103において、マスタA、マスタB、マスタCからそれぞれアクセス要求160,161,162がアクセス要求調停部103に対して発行される。T103は調停タイミングに該当しないため、定時調停部200による調停は行われず、常時調停部203による調停のみが行われる。マスタAにおいて、アクセス要求量166は8バイト、アクセス可能量153は16バイトであるので、常時調停部203に対する調停要求が発行される。同様にマスタB、マスタCにおいてもそれぞれのアクセス要求量167,168がアクセス可能量154,155以下であるので、常時調停部203に対する調停要求が発行される。常時調停部203に対する複数の調停要求はラウンドロビン方式に従い調停されるため、T103においてはマスタAに対するアクセス許可163が発行される。
【0089】
T104において、マスタA、マスタB、マスタCからそれぞれアクセス要求160,161,162がアクセス要求調停部103に対して発行される。T104は調停タイミングに該当しないため、定時調停部200による調停は行われず、常時調停部203による調停のみが行われる。マスタA、マスタB、マスタCにおいてはそれぞれのアクセス要求量166,167,168がアクセス可能量153,154,155以下であるので、常時調停部203に対する調停要求が発行される。T103における調停勝者はマスタAであったため、ラウンドロビン方式に従ってT104においてはマスタBに対するアクセス許可164が発行される。
【0090】
同様に、T105においても、マスタA、マスタB、マスタCからそれぞれアクセス要求160,161,162がアクセス要求調停部103に対して発行され、T104における調停勝者はマスタBであったため、ラウンドロビン方式に従ってT105においてはマスタCに対するアクセス許可165が発行される。
【0091】
以後同様に、T106においてマスタA、T107においてマスタBに対してそれぞれアクセス許可163,164が発行される。
【0092】
T108において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が16バイトであるので、T108におけるマスタAのアクセス可能量153は16バイトとなる。
【0093】
T109において、マスタA、マスタCからそれぞれアクセス要求160,162がアクセス要求調停部103に対して発行される。T109は調停タイミングに該当しないため、定時調停部200による調停は行われず、常時調停部203による調停のみが行われる。マスタA、マスタCにおいてはそれぞれのアクセス要求量166,168がアクセス可能量153,155以下であるので、常時調停部203に対する調停要求が発行される。T107における調停勝者はマスタBであったため、ラウンドロビン方式に従ってT109においてはマスタCに対するアクセス許可165が発行される。
【0094】
図14は、図1に示したリソース管理装置の第11の動作例を示している。これは、常時調停部203に対して複数の調停要求が同時に発行された際に、アクセス可能量が最も多いマスタに対してアクセス許可を発行するものである。
【0095】
図14によれば、T110において、定時調停によりマスタAがアクセス許可163を受ける。このアクセス許可において、マスタAは32バイト分のアクセス許可を受けるが、マスタAのアクセス要求量166が24バイトであるので、T110におけるマスタAのアクセス可能量153は8バイトとなる。
【0096】
同様に、T111、T112において、マスタB、マスタCがそれぞれ定時調停によりアクセス許可164,165を受けたことに従い、マスタBのアクセス可能量154は16バイト、マスタCのアクセス可能量155は24バイトとなる。
【0097】
T113において、マスタA、マスタB、マスタCからそれぞれアクセス要求160,161,162がアクセス要求調停部103に対して発行される。T113は調停タイミングに該当しないため、定時調停部200による調停は行われず、常時調停部203による調停のみが行われる。マスタAにおいて、アクセス要求量166は8バイト、アクセス可能量153は8バイトであるので、常時調停部203に対する調停要求が発行される。同様にマスタB、マスタCにおいてもそれぞれのアクセス要求量167,168がアクセス可能量154,155以下であるので、常時調停部203に対する調停要求が発行される。常時調停部203に対する複数の調停要求に対して、アクセス可能量が最も多いマスタに対してアクセス許可を与えるため、T113においてはアクセス可能量が24バイトであるマスタCに対するアクセス許可165が発行される。
【0098】
T114において、マスタA、マスタBからそれぞれアクセス要求160,161がアクセス要求調停部103に対して発行される。T114は調停タイミングに該当しないため、定時調停部200による調停は行われず、常時調停部203による調停のみが行われる。マスタA、マスタBにおいてはそれぞれのアクセス要求量166,167がアクセス可能量153,154以下であるので、常時調停部203に対する調停要求が発行される。マスタA、マスタBのうちマスタBのアクセス可能量がマスタAのアクセス可能量より多いので、T114においてはマスタBに対するアクセス許可164が発行される。
【0099】
T115においては、マスタAのみのアクセス要求160がアクセス要求調停部103に対して発行されるため、常時調停部203によりマスタAに対するアクセス許可163が発行される。
【0100】
なお、図1においては3個のマスタA,B,Cを用いたが、マスタは任意個数であってもよい。また、マスタA,B,Cに1個の共有リソース106を接続した構成となっているが、リソースの個数は任意であってよい。
【0101】
また、図3において、3個のアクセス可能量レジスタ300,301,302を用いたが、マスタ数に合わせてレジスタ数を変更してよい。また、アクセス可能量演算部304を1つだけ有する構成となっているが、マスタ毎にアクセス可能量演算部を有する構成としてもよい。
【産業上の利用可能性】
【0102】
以上説明してきたとおり、本発明に係るリソース管理装置は、各マスタのアクセス要求量が一律でないシステムのアクセス効率及びアクセスレイテンシが改善されるので、デジタルテレビジョン放送の録音・録画システム等に特に有用である。
【図面の簡単な説明】
【0103】
【図1】本発明に係るリソース管理装置を含むシステムの構成例を示すブロック図である。
【図2】図1中のアクセス要求調停部の内部構成例を示すブロック図である。
【図3】図1中のデータ量管理部の内部構成例を示すブロック図である。
【図4】図1に示したリソース管理装置の第1の動作例を示すタイミングチャート図である。
【図5】図1に示したリソース管理装置の第2の動作例を示すタイミングチャート図である。
【図6】図1に示したリソース管理装置の第3の動作例を示すタイミングチャート図である。
【図7】図1に示したリソース管理装置の第4の動作例を示すタイミングチャート図である。
【図8】図1に示したリソース管理装置の第5の動作例を示すタイミングチャート図である。
【図9】図1に示したリソース管理装置の第6の動作例を示すタイミングチャート図である。
【図10】図1に示したリソース管理装置の第7の動作例を示すタイミングチャート図である。
【図11】図1に示したリソース管理装置の第8の動作例を示すタイミングチャート図である。
【図12】図1に示したリソース管理装置の第9の動作例を示すタイミングチャート図である。
【図13】図1に示したリソース管理装置の第10の動作例を示すタイミングチャート図である。
【図14】図1に示したリソース管理装置の第11の動作例を示すタイミングチャート図である。
【符号の説明】
【0104】
100,101,102 マスタ
103 アクセス要求調停部
104 データ量管理部
105 リソース制御部
106 共有リソース
150 アクセス許可マスタのID
151 アクセス許可マスタのアクセス要求量
152 アクセス許可の調停タイプ
153,154,155 マスタ毎のアクセス可能量
156 割り込み信号
157 データ量管理部へのプログラム入力(レジスタ初期化信号)
158 アクセス要求調停部へのプログラム入力(調停結果選択信号)
159 アクセス許可マスタのアクセスコマンド(アクセス要求量)
160,161,162 各マスタのアクセス要求
163,164,165 各マスタへのアクセス許可
166,167,168 各マスタのアクセスコマンド(アクセス要求量)
170 調停タイミング信号
180,181,182 各マスタの転送データバス
190 リソース転送データバス
200 定時調停部
201 調停タイミング生成部
202 調停要求生成部
203 常時調停部
204 調停結果選択部
210 クロック信号
220,221,222 比較器
230,231,232 ANDゲート
300,301,302 マスタ毎のアクセス可能量レジスタ
303 アクセスマスタ判定部
304 アクセス可能量演算部
310,311,312 ANDゲート
320 入力選択部
321 加算器
322 調停タイプ選択部
323 減算器

【特許請求の範囲】
【請求項1】
複数のマスタが少なくとも1つのリソースを共有するシステムにおけるリソース管理装置であって、
前記複数のマスタのアクセス要求を調停するアクセス要求調停部と、
前記複数のマスタと前記リソースとの間のアクセスデータ量を管理するデータ量管理部と、
前記アクセス要求調停部によりアクセスが許可されたマスタと前記リソースとの間のデータの受け渡しを制御するリソース制御部とを備え、
前記アクセス要求調停部は、一定間隔の調停タイミングで前記複数のマスタのうちのいずれかにアクセス許可を発行する定時調停と、前記複数のマスタのうち前記アクセスデータ量に応じて決定されるマスタに任意タイミングでアクセス許可を発行する常時調停とを実行することを特徴とするリソース管理装置。
【請求項2】
請求項1記載のリソース管理装置において、
前記データ量管理部は、前記複数のマスタの各々について管理するアクセス可能量をそれぞれ初期化した後、前記定時調停の場合にはアクセスが許可されたマスタのアクセス可能量を規定のデータ量だけ増したうえで当該アクセス可能量を当該マスタのアクセス要求量と同量だけ減らし、前記常時調停の場合にはアクセスが許可されたマスタのアクセス可能量を当該マスタのアクセス要求量と同量だけ減らすように動作し、
前記アクセス要求調停部は、前記常時調停にて、前記データ量管理部が管理するアクセス可能量を上回らないアクセス要求量を提示しているマスタにアクセス許可を発行することを特徴とするリソース管理装置。
【請求項3】
請求項2記載のリソース管理装置において、
前記データ量管理部は、前記複数のマスタのアクセス可能量が過大にならないように、前記複数のマスタのアクセス可能量のうちのいくつかを一定の条件下で再度初期化することを特徴とするリソース管理装置。
【請求項4】
請求項3記載のリソース管理装置において、
前記データ量管理部は、前記定時調停が所定回数だけ実行されるつど、最後の定時調停にてアクセスが許可されたマスタ以外のマスタのアクセス可能量を再度初期化することを特徴とするリソース管理装置。
【請求項5】
請求項3記載のリソース管理装置において、
前記データ量管理部は、前記リソースから発行された割り込み信号に基づいて前記複数のマスタのアクセス可能量の全てを再度初期化することを特徴とするリソース管理装置。
【請求項6】
請求項3記載のリソース管理装置において、
前記データ量管理部は、前記複数のマスタのアクセス可能量のうちのいずれかが所定の閾値を上回ったときに当該アクセス可能量を再度初期化することを特徴とするリソース管理装置。
【請求項7】
請求項3記載のリソース管理装置において、
前記データ量管理部は、前記複数のマスタのアクセス可能量のうちのいくつかを任意タイミングで初期化するためのプログラム入力を受けることを特徴とするリソース管理装置。
【請求項8】
請求項1記載のリソース管理装置において、
前記アクセス要求調停部は、前記定時調停と前記常時調停とのタイミングが重なった場合には、前記定時調停を有効化することを特徴とするリソース管理装置。
【請求項9】
請求項1記載のリソース管理装置において、
前記アクセス要求調停部は、前記定時調停と前記常時調停とのタイミングが重なった場合には、前記常時調停を有効化することを特徴とするリソース管理装置。
【請求項10】
請求項1記載のリソース管理装置において、
前記アクセス要求調停部は、前記定時調停と前記常時調停とのタイミングが重なった場合に前記定時調停と前記常時調停とのうちいずれを有効とすべきかを指定するためのプログラム入力を受けることを特徴とするリソース管理装置。
【請求項11】
請求項2記載のリソース管理装置において、
前記アクセス要求調停部は、前記常時調停にて、前記データ量管理部が管理するアクセス可能量を上回らないアクセス要求量を提示しているマスタが複数存在する場合には、所定の優先ルールに従って決定した単一のマスタに対してアクセス許可を発行することを特徴とするリソース管理装置。
【請求項12】
請求項11記載のリソース管理装置において、
前記優先ルールは、前記複数のマスタ間の固定された優先順位に基づくルールであることを特徴とするリソース管理装置。
【請求項13】
請求項11記載のリソース管理装置において、
前記優先ルールは、前記複数のマスタ間の優先順位を順次変更するラウンドロビン方式のルールであることを特徴とするリソース管理装置。
【請求項14】
請求項11記載のリソース管理装置において、
前記優先ルールは、前記複数のマスタのアクセス可能量の多少に応じて逐次決定される前記複数のマスタ間の優先順位に基づくルールであることを特徴とするリソース管理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate