JP2004234635A - バス調停装置 - Google Patents
バス調停装置 Download PDFInfo
- Publication number
- JP2004234635A JP2004234635A JP2003404202A JP2003404202A JP2004234635A JP 2004234635 A JP2004234635 A JP 2004234635A JP 2003404202 A JP2003404202 A JP 2003404202A JP 2003404202 A JP2003404202 A JP 2003404202A JP 2004234635 A JP2004234635 A JP 2004234635A
- Authority
- JP
- Japan
- Prior art keywords
- slot
- reserved
- remaining
- slot number
- slots
- 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.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】 バス帯域幅(スロット数)の不足により処理が破綻するか否かを予め判定できるバス調停装置を提供する。
【解決手段】 スロット割付周期レジスタ10は所定のスロット数で規定されるスロット割付周期を記憶する。予約スロットレジスタ21はリアルタイム処理を実行するVCE3に予め割り当てる予約スロット数を記憶する。予約スロットレジスタ22はリアルタイム処理を実行するACE4に予め割り当てる予約スロット数を記憶する。残余予約スロットレジスタ20は、スロット割付周期から、VCE3及びACE4の予約スロット数を差し引いた結果を記憶する。残余予約スロットレジスタ20を外部からモニタすることで、スロット数の不足により、これから実行しようとする処理が破綻するか否かを予め判定できる。
【選択図】 図2
【解決手段】 スロット割付周期レジスタ10は所定のスロット数で規定されるスロット割付周期を記憶する。予約スロットレジスタ21はリアルタイム処理を実行するVCE3に予め割り当てる予約スロット数を記憶する。予約スロットレジスタ22はリアルタイム処理を実行するACE4に予め割り当てる予約スロット数を記憶する。残余予約スロットレジスタ20は、スロット割付周期から、VCE3及びACE4の予約スロット数を差し引いた結果を記憶する。残余予約スロットレジスタ20を外部からモニタすることで、スロット数の不足により、これから実行しようとする処理が破綻するか否かを予め判定できる。
【選択図】 図2
Description
本発明は、バスに接続される複数のモジュール間の調停を行うバス調停装置に関する。
第3世代携帯電話の登場などにより、動画や音声といった複数のリアルタイム処理やメールなどの非リアルタイム処理を実現するシステムが求められている。 このシステムは、バスに接続された複数のモジュール、および、モジュール間のデータ転送を調停するバス調停装置、を具備している。
なお、モジュールとは、処理を実行するハードウェアである。また、バスに接続されたモジュールの1つは、プロセッサである。
さて、リアルタイム処理とは、定められた処理の実行に時間制限を持つ処理である。一方、非リアルタイム処理とは、時間制限を持たない処理である。
これら双方の処理を実現するシステムは、リアルタイム処理を行うモジュール(以下、「リアルタイム・モジュール」と呼ぶ。)、及び、非リアルタイム処理を行うモジュール(以下、「非リアルタイム・モジュール」と呼ぶ。)、を含む。
リアルタイム・モジュールは、定められた処理を制限時間内に行うために、必要となるデータの転送も制限時間内に行う必要がある。
リアルタイム処理及び非リアルタイム処理の双方を実現するシステムにおいて、メモリ資源などが空間的な共有資源であるのに対し、バスは双方の処理で共通に使用する時間的な共有資源である。
従って、非リアルタイム・モジュールが、スロット数を使い切ってしまった場合は、リアルタイム・モジュールは、メモリ資源を確保できても、処理に必要なデータを転送できず、制限時間内に処理を行うことができない。
そこで、従来より、モジュールからのデータ転送要求を調停するバス調停装置を設けて、バス帯域幅(即ち,スロット数)を保証する制御が行われている。
例えば、特許文献1(特表2000−500895号公報)には、重み付き帯域幅配分を備えたバス調停装置が開示されている。
このバス調停装置は、調停対象のモジュールに、バス帯域幅を配分するための重み与えて、タイムスロットを割り当てることにより、バス帯域幅を確保している。
これにより、リアルタイム・モジュールは、予め与えられたバス帯域幅を用いて、動画や音声といったリアルタイム処理を実現することができる。
特表2000−500895号公報
ここで、例えば、MPEG−4(Moving Picture Experts Group 4)などの動画像圧縮・伸張を行うモジュールに対し、処理する動画像の画面サイズを、QCIF(176画素×144画素)からCIF(352画素×288画素)に拡張する要求があった場合を想定する。
この場合は、定められた制限時間内で当該モジュールが処理しなければならないデータ量が増大する。
そうすると、上記した従来のバス調停装置では、予めモジュールに割り当てたバス帯域幅で処理を行うため、増大したデータ量を扱うことができない。
従って、定められた制限時間内にモジュールの処理を完結できず、リアルタイム性を破綻させることがある。
そこで、本発明は、バス帯域幅(即ち,スロット数)の不足により処理が破綻するか否かを予め判定できるバス調停装置を提供することを目的とする。
第1の発明に係るバス調停装置は、バスに接続される複数のモジュール間のデータ転送要求を調停するバス調停装置であって、スロット割付周期記憶手段と、予約スロット数記憶手段と、残余予約スロット数記憶手段と、残余スロット数算出手段と、第1の更新スロット数記憶手段と、第2の更新スロット数記憶手段と、複数の更新スロット数指定記憶手段と、転送許可候補決定手段と、転送許可決定手段と、を備える。
スロット割付周期記憶手段は、複数のスロットで構成されるスロット割付周期を表す情報を記憶する。
予約スロット数記憶手段は、複数のモジュールのうちの所定のモジュールに予め割り当てるスロット数である予約スロット数を表す情報を記憶する。
残余予約スロット数記憶手段は、スロット割付周期を構成するスロット数と予約スロット数との差である残余予約スロット数を表す情報を記憶する。
残余スロット数算出手段は、予約スロット数が割り当てられた所定のモジュールのデータ転送要求が許可される度に、予約スロット数の残余スロット数を算出し、かつ、残余予約スロット数を使用するモジュールのデータ転送要求が許可される度に、残余予約スロット数の残余スロット数を算出する。
第1の更新スロット数記憶手段は、予約スロット数記憶手段が記憶する予約スロット数を表す情報を初期値として記憶し、かつ、残余スロット数算出手段が算出した、予約スロット数の残余スロット数を表す情報を記憶する。
第2の更新スロット数記憶手段は、残余予約スロット数記憶手段が記憶する残余予約スロット数を表す情報を初期値として記憶し、かつ、残余スロット数算出手段が算出した、残余予約スロット数の残余スロット数を表す情報を記憶する。
複数の更新スロット数指定記憶手段は、複数のモジュールに対応して設けられる。そして、更新スロット数指定記憶手段は、対応するモジュールに割り当てられた、第1の更新スロット数記憶手段あるいは第2の更新スロット数記憶手段、を表す情報を記憶する。
転送許可候補決定手段は、モジュールからのデータ転送要求があった場合に、当該モジュールに対応する更新スロット数指定記憶手段が記憶する情報が表す第1の更新スロット数記憶手段又は第2の更新スロット数記憶手段を参照して、参照した第1の更新スロット数記憶手段又は第2の更新スロット数記憶手段が記憶している残余スロット数の残りがあるときに、当該モジュールがデータ転送要求を許可する候補であることを示す転送許可候補通知信号を生成する。
転送許可決定手段は、所定の規則に従って、転送許可候補通知信号が示すモジュールからのデータ転送要求の許否を決定する。
予約スロット数が割り当てられた所定のモジュールに対応する更新スロット数指定記憶手段には、第1の更新スロット数記憶手段を表す情報が記憶される。
残余予約スロット数を使用するモジュールに対応する更新スロット数指定記憶手段には、第2の更新スロット数記憶手段を表す情報が記憶される。
スロット割付周期が経過する度に、第1の更新スロット数記憶手段には、予約スロット数記憶手段が記憶する予約スロット数を表す情報が初期値として記憶される。
スロット割付周期が経過する度に、第2の更新スロット数記憶手段には、残余予約スロット数記憶手段が記憶する残余予約スロット数を表す情報が初期値として記憶される。
この構成によれば、残余予約スロット数記憶手段が記憶する残余予約スロット数を外部からモニタすることで、バスの帯域幅不足により、これから実行しようとするモジュールによる処理が破綻するか否かを予め判定できる。
また、スロット割付周期記憶手段の設定を外部から変更することで、スロット割付周期を変更できる。さらに、予約スロット数記憶手段の設定を外部から変更することで、予約スロット数を変更できる。その結果、ユーザの利便性の向上を図ることができる。
第2の発明に係るバス調停装置では、次のように構成する。即ち、上記バス調停装置において、所定のモジュールは複数であり、予約スロット数記憶手段は、複数の所定のモジュールに対応して、複数設けられ、第1の更新スロット数記憶手段は、複数の予約スロット数記憶手段に対応して、複数設けられる。
この構成によれば、より多くのモジュールに対して、スロット数を予め予約できる。
第3の発明に係るバス調停装置では、次のように構成する。即ち、上記バス調停装置において、残余スロット数算出手段は、予約スロット数の残余スロット数の残りがなくなった場合、特定のモジュールに対して、予約スロット数が割り当てられた所定のモジュールが予約スロット数を全て消費した旨を通知する。
この構成によれば、無駄なデータ転送要求がなされることを防止できる。
第4の発明に係るバス調停装置は、バスに接続されるタスクマネージャが管理する複数のタスクのデータ転送要求を調停するバス調停装置であって、スロット割付周期記憶手段と、予約スロット数記憶手段と、残余予約スロット数記憶手段と、残余スロット数算出手段と、第1の更新スロット数記憶手段と、第2の更新スロット数記憶手段と、複数の更新スロット数指定記憶手段と、転送許可候補決定手段と、転送許可決定手段と、を備える。
スロット割付周期記憶手段は、複数のスロットで構成されるスロット割付周期を表す情報を記憶する。
予約スロット数記憶手段は、複数のタスクのうちの所定のタスクに予め割り当てるスロット数である予約スロット数を表す情報を記憶する。
残余予約スロット数記憶手段は、スロット割付周期を構成するスロット数と予約スロット数との差である残余予約スロット数を表す情報を記憶する。
残余スロット数算出手段は、予約スロット数が割り当てられた所定のタスクのデータ転送要求が許可される度に、予約スロット数の残余スロット数を算出し、かつ、残余予約スロット数を使用するタスクのデータ転送要求が許可される度に、残余予約スロット数の残余スロット数を算出する。
第1の更新スロット数記憶手段は、予約スロット数記憶手段が記憶する予約スロット数を表す情報を初期値として記憶し、かつ、残余スロット数算出手段が算出した、予約スロット数の残余スロット数を表す情報を記憶する。
第2の更新スロット数記憶手段は、残余予約スロット数記憶手段が記憶する残余予約スロット数を表す情報を初期値として記憶し、かつ、残余スロット数算出手段が算出した、残余予約スロット数の残余スロット数を表す情報を記憶する。
複数の更新スロット数指定記憶手段は、複数のタスクに対応して設けられる。そして、更新スロット数指定記憶手段は、対応するタスクに割り当てられた、第1の更新スロット数記憶手段あるいは第2の更新スロット数記憶手段、を表す情報を記憶する。
転送許可候補決定手段は、タスクからのデータ転送要求があった場合に、当該タスクに対応する更新スロット数指定記憶手段が記憶する情報が表す第1の更新スロット数記憶手段又は第2の更新スロット数記憶手段を参照して、参照した第1の更新スロット数記憶手段又は第2の更新スロット数記憶手段が記憶している残余スロット数の残りがあるときに、当該タスクがデータ転送要求を許可する候補であることを示す転送許可候補通知信号を生成する。
転送許可決定手段は、所定の規則に従って、転送許可候補通知信号が示すタスクからのデータ転送要求の許否を決定する。
予約スロット数が割り当てられた所定のタスクに対応する更新スロット数指定記憶手段には、第1の更新スロット数記憶手段を表す情報が記憶される。
残余予約スロット数を使用するタスクに対応する更新スロット数指定記憶手段には、第2の更新スロット数記憶手段を表す情報が記憶される。
スロット割付周期が経過する度に、第1の更新スロット数記憶手段には、予約スロット数記憶手段が記憶する予約スロット数を表す情報が初期値として記憶される。
スロット割付周期が経過する度に、第2の更新スロット数記憶手段には、残余予約スロット数記憶手段が記憶する残余予約スロット数を表す情報が初期値として記憶される。
この構成によれば、残余予約スロット数記憶手段が記憶する残余予約スロット数を外部からモニタすることで、バスの帯域幅不足により、これから実行しようとするタスクによる処理が破綻するか否かを予め判定できる。
また、スロット割付周期記憶手段の設定を外部から変更することで、スロット割付周期を変更できる。さらに、予約スロット数記憶手段の設定を外部から変更することで、予約スロット数を変更できる。その結果、ユーザの利便性の向上を図ることができる。
第5の発明に係るバス調停装置では、次のように構成する。即ち、上記バス調停装置において、所定のタスクは複数であり、予約スロット数記憶手段は、複数の所定のタスクに対応して、複数設けられ、第1の更新スロット数記憶手段は、複数の予約スロット数記憶手段に対応して、複数設けられる。
この構成によれば、より多くのタスクに対して、スロット数を予め予約できる。
第6の発明に係るバス調停装置では、次のように構成する。即ち、上記バス調停装置において、残余スロット数算出手段は、予約スロット数の残余スロット数の残りがなくなった場合、タスクマネージャに対して、予約スロット数が割り当てられた所定のタスクが予約スロット数を全て消費した旨を通知する。
この構成によれば、無駄なデータ転送要求がなされることを防止できる。
請求項1記載のバス調停装置では、残余予約スロット数記憶手段が記憶する残余予約スロット数を外部からモニタすることで、スロット数の不足により、これから実行しようとするモジュールによる処理が破綻するか否かを予め判定できる。
また、スロット割付周期記憶手段の設定を外部から変更することで、スロット割付周期を変更できる。さらに、予約スロット数記憶手段の設定を外部から変更することで、予約スロット数を変更できる。その結果、ユーザの利便性の向上を図ることができる。
請求項2記載のバス調停装置では、より多くのモジュールに対して、スロット数を予め予約できる。
請求項3記載のバス調停装置では、無駄なデータ転送要求がなされることを防止できる。
請求項4記載のバス調停装置では、残余予約スロット数記憶手段が記憶する残余予約スロット数を外部からモニタすることで、スロット数の不足により、これから実行しようとするモジュールによる処理が破綻するか否かを予め判定できる。
請求項5記載のバス調停装置では、スロット割付周期記憶手段の設定を外部から変更することで、スロット割付周期を変更できる。その結果、ユーザの利便性の向上を図ることができる。
請求項6記載のバス調停装置では、予約スロット数記憶手段の設定を外部から変更することで、予約スロット数を変更できる。その結果、ユーザの利便性の向上を図ることができる。
請求項7記載のバス調停装置では、無駄なデータ転送要求がなされることを防止できる。
請求項8記載のバス調停装置では、より多くのモジュールに対して、スロット数を予め予約できる。
請求項9記載のバス調停装置では、残余予約スロット数記憶手段が記憶する残余予約スロット数を外部からモニタすることで、スロット数の不足により、これから実行しようとするタスクによる処理が破綻するか否かを予め判定できる。
また、スロット割付周期記憶手段の設定を外部から変更することで、スロット割付周期を変更できる。さらに、予約スロット数記憶手段の設定を外部から変更することで、予約スロット数を変更できる。その結果、ユーザの利便性の向上を図ることができる。
請求項10記載のバス調停装置では、より多くのタスクに対して、スロット数を予め予約できる。
請求項11記載のバス調停装置では、無駄なデータ転送要求がなされることを防止できる。
請求項12記載のバス調停装置では、残余予約スロット数記憶手段が記憶する残余予約スロット数を外部からモニタすることで、スロット数の不足により、これから実行しようとするタスクによる処理が破綻するか否かを予め判定できる。
請求項13記載のバス調停装置では、スロット割付周期記憶手段の設定を外部から変更することで、スロット割付周期を変更できる。その結果、ユーザの利便性の向上を図ることができる。
請求項14記載のバス調停装置では、予約スロット数記憶手段の設定を外部から変更することで、予約スロット数を変更できる。その結果、ユーザの利便性の向上を図ることができる。
請求項15記載のバス調停装置では、無駄なデータ転送要求がなされることを防止できる。
請求項16記載のバス調停装置では、より多くのタスクに対して、スロット数を予め予約できる。
以下、図面を参照して本発明の実施の形態を説明する。
(実施の形態1)
図1は、本発明の実施の形態1におけるデータ処理装置のブロック図である。図1に示すように、このデータ処理装置は、バス調停装置1、CPU(Central Processing Unit)2、VCE(Video Codec Engine)3、ACE(Audio Codec Engine)4、PCE(Picture Codec Engine)5、および、メモリ6、を具備する。
図1は、本発明の実施の形態1におけるデータ処理装置のブロック図である。図1に示すように、このデータ処理装置は、バス調停装置1、CPU(Central Processing Unit)2、VCE(Video Codec Engine)3、ACE(Audio Codec Engine)4、PCE(Picture Codec Engine)5、および、メモリ6、を具備する。
バス調停装置1、CPU2、VCE3、ACE4、PCE5、および、メモリ6は、バス8を介して結合される。
また、バス調停装置1、CPU2、VCE3、ACE4、PCE5、および、メモリ6は、データ転送制御線7を介して結合される。
バス調停装置1とCPU2とは、バス調停装置1からの割り込み信号線9によって接続される。
ここで、CPU2、VCE3、ACE4、およびPCE5の各々を、モジュールと呼ぶこともある。
さて、バス調停装置1は、CPU2、VCE3、ACE4、およびPCE5といったモジュールからのデータ転送要求を受けて、各モジュールに対して、スロット単位でデータ転送要求を割り付ける装置である。
また、バス調停装置1は、各モジュールに対してスロット数を予約できる機構、および、残余予約スロット数をモニタできる機構、を有する。
ここで、バス調停装置1は、所定のバスサイクル数(所定のバスクロック数)を1スロットとしている。
CPU2は、プログラムを実行するモジュールである。
メモリ6は、データを格納する。
VCE3は、メモリ6に格納された画像データに対し、MPEG(Moving Picture Experts Group)などの動画像圧縮・伸張処理を行い、メモリ6に書き戻す動画処理モジュールである。
ACE4は、メモリ6に格納された音声データに対し、AMR (Audio/Modem Riser)などの音声データ圧縮・伸張処理を行い、メモリ6に書き戻す音声処理モジュールである。
PCE5は、メモリ6に格納された静止画データに対し、JPEG(Joint Photographic Experts Group)などの静止画像圧縮・伸張処理を行い、メモリ6に書き戻す静止画処理モジュールである。
図1に示すデータ処理装置によって、動画データ、音声データ及び静止画データを圧縮・伸張する機能を実現する。
この際、動画及び音声の圧縮伸張処理はリアルタイム処理であるため、バス調停装置1は、動画処理モジュールであるVCE3および音声処理モジュールであるACE4に対して、リアルタイム処理に必要なスロット数を割り当てる機構を有する。
次に、バス調停装置1の詳細を説明する。
図2は、図1のバス調停装置1のブロック図である。なお、図2において、図1と同様の部分については、同一の符号を付している。
図2に示すように、このバス調停装置1は、スロット割付周期レジスタ10、残余予約スロットレジスタ20、予約スロットレジスタ21,22、更新スロットレジスタ30,31,32、更新スロット指定レジスタ40,41,42,43、残余スロット数算出回路60、転送許可候補決定回路70、及び、転送許可決定回路80、を含む。
転送許可決定回路80は、優先度レジスタ50,51,52,53、及び、優先順位選択回路54、を含む。
スロット割付周期レジスタ10は、所定のスロット数で規定されるスロット割付周期を表す情報を保存するレジスタである。
スロット割付周期は、スロット割付周期レジスタ10に、外部から設定可能である。例えば、CPU2が、スロット割付周期レジスタ10に、スロット割付周期を設定することができる。
リアルタイム処理を行うVCE3およびACE4の各々には、予め、所定のスロット数が割り付けられる。この場合、予め割り付けるスロット数を予約スロット数と呼ぶ。
予約スロットレジスタ21は、VCE3に割り付ける予約スロット数を表す情報を格納する。
VCE3の予約スロット数は、予約スロットレジスタ21に、外部から設定可能である。例えば、CPU2が、予約スロットレジスタ21に、VCE3の予約スロット数を設定することができる。
予約スロットレジスタ22は、ACE4に割り付ける予約スロット数を表す情報を格納する。
ACE4の予約スロット数は、予約スロットレジスタ22に、外部から設定可能である。例えば、CPU2が、予約スロットレジスタ22に、ACE4の予約スロット数を設定することができる。
残余予約スロットレジスタ20は、スロット割付周期を構成するスロット数から、予約スロットレジスタ21に格納された予約スロット数と、予約スロットレジスタ22に格納された予約スロット数と、を差し引いた値(以下、「残余予約スロット数」と呼ぶ。)を表す情報を格納する。
この残余予約スロット数を、CPU2とPCE5とで、使用する。
ここで、予約スロットレジスタ21,22及び残余予約スロットレジスタ20は、予約スロットテーブルを構成する。
図3は、予約スロットテーブルの例示図である。図3の例では、スロット割付周期レジスタ10に格納されるスロット割付周期を構成するスロット数は、10スロットである。
また、図3の例では、予約スロットレジスタ21に格納されるVCE3の予約スロット数は、3スロットである。
また、図3の例では、予約スロットレジスタ22に格納されるACE4の予約スロット数は、2スロットである。
また、図3の例では、残余予約スロットレジスタ20に格納される残余予約スロット数は、5スロットである。なぜなら、10−(3+2)=5、だからである。
残余スロット数算出回路60は、スロット割付周期を構成するスロット数から、予約スロットレジスタ21に格納された予約スロット数と、予約スロットレジスタ22に格納された予約スロット数と、を差し引いて、残余予約スロット数を算出する。
残余予約スロットレジスタ20に格納される残余予約スロット数は、残余スロット数算出回路60により算出されたものである。
更新スロットレジスタ31には、初期値(リセット値)として、予約スロットレジスタ21に格納された、VCE3の予約スロット数を表す情報が格納される。
そして、残余スロット数算出回路60は、VCE3のデータ転送要求が許可されると、更新スロットレジスタ31に格納されたVCE3に割り付けられた予約スロット数から、1スロット減じて、予約スロット数の残りのスロット数を算出する。
そして、残余スロット数算出回路60は、この残りのスロット数を表す情報を、更新スロットレジスタ31に上書きする。
さらに、残余スロット数算出回路60は、VCE3のデータ転送要求が許可される度に、更新スロットレジスタ31に格納された予約スロット数の残りのスロット数から、1スロット減じて、VCE3の予約スロット数の残りのスロット数を算出し、その結果を、更新スロットレジスタ31に上書きする。
以上のようにして、VCE3の予約スロット数がカウントダウンされる。
更新スロットレジスタ32には、初期値(リセット値)として、予約スロットレジスタ22に格納された、ACE4の予約スロット数を表す情報が格納される。
そして、残余スロット数算出回路60は、ACE4のデータ転送要求が許可されると、更新スロットレジスタ32に格納されたACE4に割り付けられた予約スロット数から、1スロット減じて、予約スロット数の残りのスロット数を算出する。
そして、残余スロット数算出回路60は、この残りのスロット数を表す情報を、更新スロットレジスタ32に上書きする。
さらに、残余スロット数算出回路60は、ACE4のデータ転送要求が許可される度に、更新スロットレジスタ32に格納された予約スロット数の残りのスロット数から、1スロット減じて、ACE4の予約スロット数の残りのスロット数を算出し、その結果を、更新スロットレジスタ32に上書きする。
以上のようにして、ACE4の予約スロット数がカウントダウンされる。
更新スロットレジスタ30には、初期値(リセット値)として、残余予約スロットレジスタ20に格納された残余予約スロット数を表す情報が格納される。
そして、残余スロット数算出回路60は、CPU2又はPCE5のデータ転送要求が許可されると、更新スロットレジスタ30に格納された残余予約スロット数から、1スロット減じて、残余予約スロット数の残りのスロット数を算出する。
そして、残余スロット数算出回路60は、この残りのスロット数を表す情報を、更新スロットレジスタ30に上書きする。
さらに、残余スロット数算出回路60は、CPU2又はPCE5のデータ転送要求が許可される度に、更新スロットレジスタ30に格納された残余予約スロット数の残りのスロット数から、1スロット減じて、残余予約スロット数の残りのスロット数を算出し、その結果を、更新スロットレジスタ30に上書きする。
以上のようにして、残余予約スロット数がカウントダウンされる。
更新スロットレジスタ30,31,32は、スロット割付周期レジスタ10で指定されたスロット割付周期が経過すると、リセットされる。
つまり、スロット割付周期レジスタ10で指定されたスロット割付周期が経過すると、残余スロット数算出回路60は、更新スロットレジスタ31に、予約スロットレジスタ21に格納された予約スロット数を表す情報を初期値(リセット値)として書き込み、更新スロットレジスタ32に、予約スロットレジスタ22に格納された予約スロット数を表す情報を初期値(リセット値)として書き込み、更新スロットレジスタ30に、残余予約スロットレジスタ20に格納された残余予約スロット数を表す情報を初期値(リセット値)として書き込む。
そして、再び、予約スロット数および残余予約スロット数のカウントダウンが実行される。
このように、リセットとカウントダウンとが繰り返し行われる。なお、カウントダウン値が、「0」でない場合でも、スロット割付周期が経過すると、リセットが行われる。
更新スロット指定レジスタ40〜43は、それぞれ、CPU2、VCE3、ACE4、及び、PCE5に対応して設けられている。
そして、更新スロット指定レジスタ40〜43には、それぞれ、CPU2に対する指定情報、VCE3に対する指定情報、ACE4に対する指定情報、及び、PCE5に対する指定情報、が格納される。
ここで、指定情報とは、更新スロットレジスタ31を表す情報、更新スロットレジスタ32を表す情報、あるいは、更新スロットレジスタ30を表す情報、である。
具体的には、更新スロット指定レジスタ40には、CPU2に対する指定情報として、更新スロットレジスタ30を表す情報が格納される。
なぜなら、CPU2は、残余予約スロットレジスタ20に格納された残余予約スロット数を消費するからである。
更新スロット指定レジスタ41には、VCE3に対する指定情報として、更新スロットレジスタ31を表す情報が格納される。
なぜなら、VCE3は、予約スロットレジスタ21に格納された予約スロット数を消費するからである。
更新スロット指定レジスタ42には、ACE4に対する指定情報として、更新スロットレジスタ32を表す情報が格納される。
なぜなら、ACE4は、予約スロットレジスタ22に格納された予約スロット数を消費するからである。
更新スロット指定レジスタ43には、PCE5に対する指定情報として、更新スロットレジスタ30を表す情報が格納される。
なぜなら、PCE5は、残余予約スロットレジスタ20に格納された残余予約スロット数を消費するからである。
更新スロット指定レジスタ40〜43の指定情報は、外部から設定可能である。例えば、CPU2により、設定可能である。
なお、バス調停装置1の初期設定が行われたときは、更新スロット指定レジスタ40〜43の全てに、更新スロットレジスタ30を表す情報が格納される。その後、外部から、所望の更新スロット指定レジスタに、更新スロットレジスタ31,32を表す情報が上書きされる。
ここで、更新スロット指定レジスタ40〜43は、更新スロット指定テーブルを構成する。
図4は、更新スロット指定テーブルの例示図である。図4の例では、CPU2に対応する更新スロット指定レジスタ40には、更新スロットレジスタ30を示す「0」が格納される。
また、図4の例では、VCE3に対応する更新スロット指定レジスタ41には、更新スロットレジスタ31を示す「1」が格納される。
また、図4の例では、ACE4に対応する更新スロット指定レジスタ42には、更新スロットレジスタ32を示す「2」が格納される。
また、図4の例では、PCE5に対応する更新スロット指定レジスタ43には、更新スロットレジスタ30を示す「0」が格納される。
なお、図4の例では、CPU2及びPCE5で、更新スロットレジスタ30を共用している。
転送許可候補決定回路70は、データ転送制御線7から、CPU2からのデータ転送要求信号CPUr、VCE3からのデータ転送要求信号VCEr、ACE4からのデータ転送要求信号ACEr、及び、PCE5からのデータ転送要求信号PCEr、を受ける。
転送許可候補決定回路70は、CPU2からのデータ転送要求信号CPUrを受けると、CPU2に対応する更新スロット指定レジスタ40を参照する。
そして、転送許可候補決定回路70は、更新スロット指定レジスタ40に格納された情報が示す更新スロットレジスタ30を参照する。
そして、転送許可候補決定回路70は、更新スロットレジスタ30に格納された、残余予約スロット数の残りのスロット数(カウントダウン値)が、「0」でない場合は、CPU2がデータ転送を許可する候補(転送許可候補)であることを示す転送許可候補通知信号Cを、優先順位選択回路54に出力する。
転送許可候補決定回路70は、VCE3からのデータ転送要求信号VCErを受けると、VCE3に対応する更新スロット指定レジスタ41を参照する。
そして、転送許可候補決定回路70は、更新スロット指定レジスタ41に格納された情報が示す更新スロットレジスタ31を参照する。
そして、転送許可候補決定回路70は、更新スロットレジスタ31に格納された、予約スロット数の残りのスロット数(カウントダウン値)が、「0」でない場合は、VCE3がデータ転送を許可する候補(転送許可候補)であることを示す転送許可候補通知信号Vを、優先順位選択回路54に出力する。
転送許可候補決定回路70は、ACE4からのデータ転送要求信号ACErを受けると、ACE4に対応する更新スロット指定レジスタ42を参照する。
そして、転送許可候補決定回路70は、更新スロット指定レジスタ42に格納された情報が示す更新スロットレジスタ32を参照する。
そして、転送許可候補決定回路70は、更新スロットレジスタ32に格納された、予約スロット数の残りのスロット数(カウントダウン値)が、「0」でない場合は、ACE4がデータ転送を許可する候補(転送許可候補)であることを示す転送許可候補通知信号Aを、優先順位選択回路54に出力する。
転送許可候補決定回路70は、PCE5からのデータ転送要求信号PCErを受けると、PCE5に対応する更新スロット指定レジスタ43を参照する。
そして、転送許可候補決定回路70は、更新スロット指定レジスタ43に格納された情報が示す更新スロットレジスタ30を参照する。
そして、転送許可候補決定回路70は、更新スロットレジスタ30に格納された、残余予約スロット数の残りのスロット数(カウントダウン値)が、「0」でない場合は、PCE5がデータ転送を許可する候補(転送許可候補)であることを示す転送許可候補通知信号Pを、優先順位選択回路54に出力する。
優先度レジスタ50〜53は、それぞれ、CPU2、VCE3、ACE4、及び、PCE5に対応して設けられている。
優先度レジスタ50には、CPU2の優先度を表す情報が格納される。優先度レジスタ51には、VCE3の優先度を表す情報が格納される。優先度レジスタ52には、ACE4の優先度を表す情報が格納される。優先度レジスタ53には、PCE5の優先度を表す情報が格納される。
優先度は、優先度レジスタ50〜53に、外部から設定可能である。例えば、CPU2が、優先度レジスタ50〜53に、優先度を設定することができる。
ここで、優先度レジスタ50〜53は、優先度テーブルを構成する。
図5は、優先度テーブルの例示図である。
図5の例では、優先度が、ACE4>VCE3>CPU2>PCE5、となるように、優先度テーブルが設定されている。つまり、図5の優先度テーブルにおいては、設定される数が小さいほど優先度が大きい。
優先順位選択回路54は、転送許可候補決定回路70から入力される転送許可候補通知信号が複数の場合、即ち、転送許可候補となっているモジュールが複数の場合は、優先度レジスタ50〜53を参照して、複数の転送許可候補のうち、最も優先度の高い転送許可候補に対して、データ転送制御線7を介して、転送許可信号を与える。
なお、図2において、転送許可信号CPUaは、CPU2に対する転送許可信号を示し、転送許可信号VCEaは、VCE3に対する転送許可信号を示し、転送許可信号ACEaは、ACE4に対する転送許可信号を示し、転送許可信号PCEaは、PCE5に対する転送許可信号を示している。
例えば、優先度テーブルが図5に示すものである場合において、優先順位選択回路54が、転送許可候補通知信号C及び転送許可候補通知信号Vを受けた場合は、優先度が高いVCE3に対して、転送許可信号VCEaを与える。
さて、一方、優先順位選択回路54は、転送許可信号を与えた転送許可候補に対応する更新スロット指定レジスタを参照する。
そして、優先順位選択回路54は、参照した更新スロット指定レジスタに格納されている情報を、残余スロット数算出回路60に与える。
そして、残余スロット数算出回路60は、優先順位選択回路54から与えられた情報が表す、更新スロットレジスタ31、更新スロットレジスタ32、あるいは、更新スロットレジスタ30、が格納している残りのスロット数を、1スロット減算する。
残余スロット数算出回路60は、このようにして算出した残りのスロット数を表す情報を、優先順位選択回路54から与えられた情報が表す、更新スロットレジスタ31、更新スロットレジスタ32、あるいは、更新スロットレジスタ30、に上書きする。
こうして、転送許可が与えられる度に、転送許可が与えられた転送許可候補の予約スロット数あるいは残余予約スロット数が、カウントダウンされる。
このことを、転送許可信号を与えた転送許可候補が、ACE4である場合を例に挙げて説明する。
そうすると、優先順位選択回路54は、ACE4に対応する更新スロット指定レジスタ42を参照する。
そして、優先順位選択回路54は、更新スロット指定レジスタ42に格納されている情報、即ち、更新スロットレジスタ32を示す情報を、残余スロット数算出回路60に与える。
そして、残余スロット数算出回路60は、優先順位選択回路54から与えられた情報が表す更新スロットレジスタ32が格納しているACE4の予約スロット数の残りのスロット数を、1スロット減算する。
残余スロット数算出回路60は、このようにして算出したACE4の残りのスロット数を表す情報を、優先順位選択回路54から与えられた情報が表す更新スロットレジスタ32に上書きする。
こうして、この例では、ACE4の予約スロット数がカウントダウンされる。
さて、残余スロット数算出回路60は、カウントダウンの結果(減算の結果)、予約スロット数の残りのスロット数が「0」になった場合、あるいは、残余予約スロット数の残りのスロット数が「0」になった場合は、割り込み信号線9を介して、CPU2に対して、残りのスロット数が「0」になった予約スロット数あるいは残余予約スロット数を使用するモジュールが予約スロット数あるいは残余予約スロット数を使い果たしたことを通知する。
なお、この場合、残余スロット数算出回路60は、残りのスロット数が「0」になった予約スロット数あるいは残余予約スロット数を使用するモジュールに対して、予約スロット数あるいは残余予約スロット数を使い果たしたことを通知することもできる。
さて、次に、図2及びタイムチャートを用いて、図1のバス調停装置1の動作を詳細に説明する。
この場合、図2の残余予約スロットレジスタ20及び予約スロットレジスタ21,22からなる予約スロットテーブルが、図3に示すように設定され、図2の更新スロット指定レジスタ40〜43からなる更新スロット指定テーブルが、図4に示すように設定され、図2の優先度レジスタ50〜53からなる優先度テーブルが、図5に示すように設定されているとする。
図6は、バス調停装置1の動作を説明するためのタイムチャートである。
図6に示すように、スロット割付周期を構成するスロット数は、10スロットとなっており、10スロット毎に、更新スロットレジスタ30,31,32がリセットされる。
図6に示すように、リセット時には、ACE4の残りのスロット数(更新スロットレジスタ32に格納されているスロット数)は、初期値(リセット値)の「2」である。
また、リセット時には、VCE3の残りのスロット数(更新スロットレジスタ31に格納されているスロット数)は、初期値(リセット値)の「3」である。
また、リセット時には、CPU2及びPCE5の残りのスロット数(更新スロットレジスタ30に格納されているスロット数)は、初期値(リセット値)の「5」である。
さて、図6に示すように、スロット割付周期の1スロット目では、VCE3だけが、データ転送要求信号VCEr(「H(ハイ)」レベルの信号)を、転送許可候補決定回路70に与えている。
従って、転送許可候補決定回路70は、転送許可候補がVCE3であることを示す転送許可候補通知信号Vを、優先順位選択回路54に与える。
すると、優先順位選択回路54は、VCE3に対して、転送許可信号VCEaを与える。
従って、残余スロット数算出回路60は、VCE3の予約スロット数「3」(更新スロットレジスタ31に格納されている予約スロット数「3」)から「1」を減じて、残りのスロット数を「2」として、その情報を更新スロットレジスタ31に上書きする。
次に、スロット割付周期の2スロット目では、PCE5だけが、データ転送要求信号PCEr(「H(ハイ)」レベルの信号)を、転送許可候補決定回路70に与えている。
従って、転送許可候補決定回路70は、転送許可候補がPCE5であることを示す転送許可候補通知信号Pを、優先順位選択回路54に与える。
すると、優先順位選択回路54は、PCE5に対して、転送許可信号PCEaを与える。
従って、残余スロット数算出回路60は、残余予約スロット数「5」(更新スロットレジスタ30に格納されている残余予約スロット数「5」)から「1」を減じて、残りのスロット数を「4」として、その情報を更新スロットレジスタ30に書き込む。
次に、スロット割付周期の3スロット目では、ACE4、CPU2、及び、PCE5が、それぞれ、データ転送要求信号ACEr(「H(ハイ)」レベルの信号)、データ転送要求信号CPUr(「H(ハイ)」レベルの信号)、及び、データ転送要求信号PCEr(「H(ハイ)」レベルの信号)、を転送許可候補決定回路70に与えている。
従って、転送許可候補決定回路70は、転送許可候補がACE4、CPU2およびPCE5であることを示す転送許可候補通知信号A,C,Pを、優先順位選択回路54に与える。
すると、優先順位選択回路54は、優先度レジスタ52,50,53を参照して、ACE4、CPU2およびPCE5のうち、最も優先度が高いACE4に対して、転送許可信号ACEaを与える。
従って、残余スロット数算出回路60は、ACE4の予約スロット数「2」(更新スロットレジスタ32に格納されている予約スロット数「2」)から「1」を減じて、残りのスロット数を「1」として、その情報を更新スロットレジスタ32に上書きする。
次に、スロット割付周期の4スロット目では、CPU2、及び、PCE5が、それぞれ、データ転送要求信号CPUr、及び、データ転送要求信号PCEr、を転送許可候補決定回路70に与えている。
従って、転送許可候補決定回路70は、転送許可候補がCPU2およびPCE5であることを示す転送許可候補通知信号C,Pを、優先順位選択回路54に与える。
すると、優先順位選択回路54は、優先度レジスタ50,53を参照して、CPU2およびPCE5のうち、最も優先度が高いCPU2に対して、転送許可信号CPUaを与える。
従って、残余スロット数算出回路60は、残余予約スロット数の残りのスロット数「4」(更新スロットレジスタ30に格納されている残余予約スロット数の残りのスロット数「4」)から「1」を減じて、残りのスロット数を「3」として、その情報を更新スロットレジスタ30に上書きする。
なお、図4の更新スロット指定テーブルから分かるように、CPU2及びPCE5は、残余予約スロットレジスタ20に格納された残余予約スロット数を共用している。
以上のようにして、スロット割付周期の10スロット目まで、カウントダウンが実行され、10スロット目を経過した時点で、更新スロットレジスタ30〜32がリセットされる。
ここで、図6の7スロット目の動作を説明しておく。
スロット割付周期の7スロット目では、ACE4及びVCE3が、それぞれ、データ転送要求信号ACEr及びデータ転送要求信号VCErを、転送許可候補決定回路70に与えている。
従って、転送許可候補決定回路70は、転送許可候補がACE4であることを示す転送許可候補通知信号Aと、転送許可候補がVCE3であることを示す転送許可候補通知信号Vと、を優先順位選択回路54に与える。
すると、優先順位選択回路54は、優先度レジスタ51,52を参照して、ACE4およびVCE3のうち、最も優先度が高いACE4に対して、転送許可信号ACEaを与える。
従って、残余スロット数算出回路60は、ACE4の予約スロット数の残りのスロット数「1」(更新スロットレジスタ32に格納されている予約スロット数の残りのスロット数「1」)から「1」を減じて、残りのスロット数を「0」として、その情報を更新スロットレジスタ32に上書きする。
そして、残余スロット数算出回路60は、割り込み信号線9を介して、CPU2に対して、ACE4が予約スロット数を使い果たしたことを通知する。
さて、次に、図1のバス調停装置1の処理の流れを、図2及びフローチャートを用いて説明する。
図7は、バス調停装置1のフローチャートである。
図7に示すように、ステップS1にて、CPU2がバス調停装置1の初期設定を行う。
具体的には、CPU2が、スロット割付周期レジスタ10に、スロット割付周期を設定する。
また、CPU2が、予約スロットレジスタ21及び予約スロットレジスタ22に、それぞれ、VCE3の予約スロット数及びACE4の予約スロット数を設定する。
さらに、CPU2が、優先度レジスタ50、優先度レジスタ51、優先度レジスタ52、及び、優先度レジスタ53に、それぞれ、CPU2、VCE3、ACE4、及び、PCE5の優先度を設定する。
さらに、CPU2が、更新スロット指定レジスタ40、更新スロット指定レジスタ41、更新スロット指定レジスタ42、及び、更新スロット指定レジスタ43に、それぞれ、CPU2、VCE3、ACE4、及び、PCE5に対する指定情報を設定する。
次に、ステップS2にて、残余スロット数算出回路60が、スロット割付周期レジスタ10及び予約スロットレジスタ21,22を参照して、残余予約スロット数を算出し、残余予約スロットレジスタ20に格納する。
次に、ステップS3にて、バス調停装置1は、データ転送要求の受け付けを開始する。これにより、スロット割付周期で、バス調停装置1の時間が経過することになる。
次に、ステップS7にて、転送許可候補決定回路70は、データ転送要求信号を出力したモジュールに対応する更新スロット指定レジスタに格納されている指定情報が表す更新スロットレジスタを参照する。
なお、CPU2、VCE3、ACE4、およびPCE5の各々を、モジュールと呼んでいる。
そして、ステップS8にて、転送許可候補決定回路70は、参照した更新スロットレジスタに格納されている残りのスロット数が「1」以上であれば、優先順位選択回路54に、転送許可候補通知信号を出力する。
ここで、ステップS7及びステップS8の処理は、データ転送要求信号を出力したモジュールが複数の場合は、モジュール毎に実行される。
次に、ステップS9にて、優先順位選択回路54は、複数の転送許可候補通知信号が入力された場合は、各転送許可候補通知信号が示す各モジュールに対応する各優先度レジスタを参照する。
そして、ステップS10にて、優先順位選択回路54は、参照した複数の優先度レジスタが格納する複数の優先度のうちで、最も高い優先度のモジュールに対して、転送許可信号を出力する。
また、優先順位選択回路54は、転送許可信号を与えたモジュールに対応する更新スロット指定レジスタを参照して、参照した更新スロット指定レジスタに格納されている指定情報(更新スロットレジスタの情報)を、残余スロット数算出回路60に与える。
すると、ステップS11にて、残余スロット数算出回路60は、与えられた指定情報が表す更新スロットレジスタに格納されているスロット数を「1」減算する。
そして、減算後のスロット数が「0」でなく(ステップS12)、かつ、1スロット経過し(ステップS4)、かつ、スロット割付周期が経過していないならば(ステップS5)、処理は、ステップS7へ進む。
また、減算後のスロット数が「0」でなく(ステップS12)、かつ、1スロット経過し(ステップS4)、かつ、スロット割付周期が経過したならば(ステップS5)、残余スロット数算出回路60は、ステップS6にて、更新スロットレジスタ30〜32をリセットする。そして、処理は、ステップS7へ進む。
また、減算後のスロット数が「0」の場合は(ステップS12)、残余スロット数算出回路60は、ステップS13にて、割り込み信号線9を介して、CPU2に対して、転送許可信号が与えられたモジュールが予約スロット数を使い果たしたことを通知する。そして、処理は、ステップS4へ進む。
以上のようなステップS4〜ステップS13の処理が繰り返し実行される。
さて、以上のように、本実施の形態によれば、残余予約スロットレジスタ20が記憶する残余予約スロット数を外部からモニタすることで、バスの帯域幅不足により、これから実行しようとするモジュールによる処理が破綻するか否かを予め判定できる。
また、スロット割付周期レジスタ10の設定を外部から変更することで、スロット割付周期を変更できる。さらに、予約スロットレジスタ21,22の設定を外部から変更することで、予約スロット数を変更できる。その結果、ユーザの利便性の向上を図ることができる。
さらに、モジュールが、当該モジュールに割り当てられた予約スロット数を全て消費した場合、CPU2に対して、予約スロット数を全て消費した旨が通知される。これにより、無駄なデータ転送要求がなされることを防止できる。
さて、次に、本実施の形態による効果を具体例を挙げて説明する。この場合、優先度テーブルは、図5に示したものとし、更新スロット指定テーブルは、図4に示したものとする。
図2のスロット割付周期レジスタ10に、スロット割付周期として、スロット数「340」を設定する。
予約スロットレジスタ21に、VCE3の予約スロット数として、スロット数「70」を設定する。
予約スロットレジスタ22に、ACE4の予約スロット数として、スロット数「70」を設定する。
従って、残余予約スロットレジスタ20に、残余予約スロット数(CPU2及びPCE5が使用)として、スロット数「200」が設定される。
ここで、VCE3の予約スロット数、即ち、予約スロットレジスタ21に設定したスロット数が、QCIF(176画素×144画素)サイズの画像に対して、MPEG−4による圧縮伸張処理ができるスロット数であるとする。
従って、CIFサイズの画像の圧縮伸張処理に要するスロット数として「280」が必要となる。
このような場合に、本実施の形態では、MPEG−4による圧縮伸張処理の画像サイズを、QCIFからCIFまで拡張しても、CIFサイズの画像の圧縮伸張処理に要するスロット数を確保できないことが予め計算できる。
なぜなら、残余予約スロットレジスタ20の残余予約スロット数「200」とVCE3のために確保している予約スロット数「70」と、を合わせても、CIFサイズの画像の圧縮伸張処理に要するスロット数「280」に足らないからである。
従って、処理する画像サイズをCIFに拡張する要求が発生した場合は、事前にその要求をキャンセルすることが可能となる。
本実施の形態による他の効果を具体例を挙げて説明する。
CPU2で動作するMPEG−4のレート制御プログラムは、ビットレート変更を制御する場合にも、残余予約スロットレジスタ20を参照することで、事前にレート変更後に必要なスロット数を保証できるか判定できる。
本実施の形態によるさらに他の効果を具体例を挙げて説明する。
MPEG−4とAMRとでは、圧縮伸張処理に要求される時間(周期)が異なる。
そのため、VCE3を用いてMPEG−4の圧縮伸張を行う場合と、ACE4を用いてAMRの圧縮伸張を行う場合とで、それぞれの処理に合った予約スロット数を設定することが可能となる。
なお、図1において、モジュールの種類はこれらに限定されるものではない。また、モジュールの数もこれらに限定されるものではない。
図2において、予約スロットレジスタ21,22の数は、2つに限定されるものではない。1つでもよいし、3以上でもよい。
また、更新スロットレジスタ31,32も、2つに限定されるものではない。予約スロットレジスタの数に対応した数の更新スロットレジスタが設けられる。
また、更新スロット指定レジスタ40〜43は、4つに限定されるものではない。モジュールの数に対応した数の更新スロット指定レジスタが設けられる。
また、更新スロット指定レジスタに設定する指定情報は、上述したものに限定されるものではなく、任意に設定できる。
また、優先度レジスタ50〜53は、4つに限定されるものではない。モジュールの数に対応した数の優先度レジスタが設けられる。
また、優先度レジスタに設定する優先度は、上述したものに限定されるものではなく、任意に設定できる。
(実施の形態2)
実施の形態1では、複数のモジュールからの複数のデータ転送要求を調停したが、実施の形態2では、複数のタスクを管理するタスクマネージャからの複数のデータ転送要求を調停する。
実施の形態1では、複数のモジュールからの複数のデータ転送要求を調停したが、実施の形態2では、複数のタスクを管理するタスクマネージャからの複数のデータ転送要求を調停する。
図8は、本発明の実施の形態2におけるデータ処理装置のブロック図である。なお、図8において、図1と同様の部分については、同一の符号を付している。
図8に示すように、このデータ処理装置は、バス調停装置1、タスクマネージャ100、および、メモリ6、を具備する。
バス調停装置1、タスクマネージャ100、および、メモリ6は、バス8を介して結合される。
また、バス調停装置1、タスクマネージャ100、および、メモリ6は、データ転送制御線7を介して結合される。
バス調停装置1とタスクマネージャ100とは、バス調停装置1からの割り込み信号線9によって接続される。
さて、タスクマネージャ100は、単数又は複数のタスクを管理する。
このタスクマネージャ100は、CPU上で動作するソフトウェアであってもよいし、また、CPU上のタスクを制御可能なハードウェアであってもよいし、また、その双方を組み合わせたタスク制御機構であってもよい。
バス調停装置1は、タスクマネージャ100からのデータ転送要求を受けて、各タスクに対して、スロット単位でデータ転送要求を割り付ける装置である。
また、バス調停装置1は、各タスクに対してスロット数を予約できる機構、および、予約できる残りスロット数をモニタできる機構、を有する。
ここで、バス調停装置1は、所定のバスサイクル数(所定のバスクロック数)を1スロットとしている。
メモリ6は、データを格納する。タスクマネージャ100が管理するタスクを実行することで、メモリ6に格納されたデータに対して処理が施され、その結果がメモリ6に格納される。
以上の構成を具備する図8に示したデータ処理装置によって、複数のタスクを実行する。この際、バス調停装置1は、リアルタイム処理が要求されるタスクに対して、リアルタイム処理に必要なスロット数を割り当てる。
さて、図8のバス調停装置1の構成は、図1のバス調停装置1の構成と同様である。従って、図2を用いて、図8のバス調停装置1の詳細を説明する。
なお、以下の説明では、タスクマネージャ100が管理しているタスクが、タスク1〜タスク4の4つである例を挙げる。
そして、タスク2及びタスク3がリアルタイム処理が必要なタスクであるとする。
スロット割付周期レジスタ10は、所定のスロット数で規定されるスロット割付周期を表す情報を保存するレジスタである。
スロット割付周期は、スロット割付周期レジスタ10に、外部から設定可能である。例えば、タスクマネージャ100が、スロット割付周期レジスタ10に、スロット割付周期を設定することができる。
リアルタイム処理を行うタスク2及びタスク3の各々には、予め、所定のスロット数が割り付けられる。この場合、予め割り付けるスロット数を予約スロット数と呼ぶ。
予約スロットレジスタ21は、タスク2に割り付ける予約スロット数を表す情報を格納する。
タスク2の予約スロット数は、予約スロットレジスタ21に、外部から設定可能である。例えば、タスクマネージャ100が、予約スロットレジスタ21に、タスク2の予約スロット数を設定することができる。
予約スロットレジスタ22は、タスク3に割り付ける予約スロット数を表す情報を格納する。
タスク3の予約スロット数は、予約スロットレジスタ22に、外部から設定可能である。例えば、タスクマネージャ100が、予約スロットレジスタ22に、タスク3の予約スロット数を設定することができる。
残余予約スロットレジスタ20は、スロット割付周期を構成するスロット数から、予約スロットレジスタ21に格納された予約スロット数と、予約スロットレジスタ22に格納された予約スロット数と、を差し引いた値(以下、「残余予約スロット数」と呼ぶ。)を表す情報を格納する。
この残余予約スロット数を、タスク1とタスク4とで使用する。
ここで、予約スロットレジスタ21,22及び残余予約スロットレジスタ20は、予約スロットテーブルを構成する。
この予約スロットテーブルは、例えば、図3に示したようなものが挙げられる。
残余スロット数算出回路60は、スロット割付周期を構成するスロット数から、予約スロットレジスタ21に格納された予約スロット数と、予約スロットレジスタ22に格納された予約スロット数と、を差し引いて、残余予約スロット数を算出する。
残余予約スロットレジスタ20に格納される残余予約スロット数は、残余スロット数算出回路60により算出されたものである。
更新スロットレジスタ31には、初期値(リセット値)として、予約スロットレジスタ21に格納された、タスク2の予約スロット数を表す情報が格納される。
そして、残余スロット数算出回路60は、タスク2のデータ転送要求が許可されると、更新スロットレジスタ31に格納されたタスク2に割り付けられた予約スロット数から、1スロット減じて、予約スロット数の残りのスロット数を算出する。
そして、残余スロット数算出回路60は、この残りのスロット数を表す情報を、更新スロットレジスタ31に上書きする。
さらに、残余スロット数算出回路60は、タスク2のデータ転送要求が許可される度に、更新スロットレジスタ31に格納された予約スロット数の残りのスロット数から、1スロット減じて、タスク2の予約スロット数の残りのスロット数を算出し、その結果を、更新スロットレジスタ31に上書きする。
以上のようにして、タスク2の予約スロットがカウントダウンされる。
更新スロットレジスタ32には、初期値(リセット値)として、予約スロットレジスタ22に格納された、タスク3の予約スロット数を表す情報が格納される。
そして、残余スロット数算出回路60は、タスク3のデータ転送要求が許可されると、更新スロットレジスタ32に格納されたタスク3に割り付けられた予約スロット数から、1スロット減じて、予約スロット数の残りのスロット数を算出する。
そして、残余スロット数算出回路60は、この残りのスロット数を表す情報を、更新スロットレジスタ32に上書きする。
さらに、残余スロット数算出回路60は、タスク3のデータ転送要求が許可される度に、更新スロットレジスタ32に格納された予約スロット数の残りのスロット数から、1スロット減じて、タスク3の予約スロット数の残りのスロット数を算出し、その結果を、更新スロットレジスタ32に上書きする。
以上のようにして、タスク3の予約スロット数がカウントダウンされる。
更新スロットレジスタ30には、初期値(リセット値)として、残余予約スロットレジスタ20に格納された残余予約スロット数を表す情報が格納される。
そして、残余スロット数算出回路60は、タスク1又はタスク4のデータ転送要求が許可されると、更新スロットレジスタ30に格納された残余予約スロット数から、1スロット減じて、残余予約スロット数の残りのスロット数を算出する。
そして、残余スロット数算出回路60は、この残りのスロット数を表す情報を、更新スロットレジスタ30に上書きする。
さらに、残余スロット数算出回路60は、タスク1又はタスク4のデータ転送要求が許可される度に、更新スロットレジスタ30に格納された残余予約スロット数の残りのスロット数から、1スロット減じて、残余予約スロット数の残りのスロット数を算出し、その結果を、更新スロットレジスタ30に上書きする。
以上のようにして、残余予約スロット数がカウントダウンされる。
更新スロットレジスタ30,31,32は、スロット割付周期レジスタ10で指定されたスロット割付周期が経過すると、リセットされる。
つまり、スロット割付周期レジスタ10で指定されたスロット割付周期が経過すると、残余スロット数算出回路60は、更新スロットレジスタ31に、予約スロット数レジスタ21に格納された予約スロット数を表す情報を初期値(リセット値)として書き込み、更新スロットレジスタ32に、予約スロットレジスタ22に格納された予約スロット数を表す情報を初期値(リセット値)として書き込み、更新スロットレジスタ30に、残余予約スロットレジスタ20に格納された残余予約スロット数を表す情報を初期値(リセット値)として書き込む。
そして、再び、予約スロット数および残余予約スロット数のカウントダウンが実行される。
このように、リセットとカウントダウンとが繰り返し行われる。なお、カウントダウン値が、「0」でない場合でも、スロット割付周期が経過すると、リセットが行われる。
更新スロット指定レジスタ40〜43には、それぞれ、タスク1に対する指定情報、タスク2に対する指定情報、タスク3に対する指定情報、及び、タスク4に対する指定情報、が格納される。
ここで、指定情報とは、更新スロットレジスタ31を表す情報、更新スロットレジスタ32を表す情報、あるいは、更新スロットレジスタ30を表す情報、である。
具体的には、更新スロット指定レジスタ40には、タスク1に対する指定情報として、更新スロットレジスタ30を表す情報が格納される。
なぜなら、タスク1は、残余予約スロット数レジスタ20格納された残余予約スロット数を消費するからである。
更新スロット指定レジスタ41には、タスク2に対する指定情報として、更新スロットレジスタ31を表す情報が格納される。
なぜなら、タスク2は、予約スロットレジスタ21に格納された予約スロット数を消費するからである。
更新スロット指定レジスタ42には、タスク3に対する指定情報として、更新スロットレジスタ32を表す情報が格納される。
なぜなら、タスク3は、予約スロットレジスタ22に格納された予約スロット数を消費するからである。
更新スロット指定レジスタ43には、タスク4に対する指定情報として、更新スロットレジスタ30を表す情報が格納される。
なぜなら、タスク4は、残余予約スロットレジスタ20に格納された残余予約スロット数を消費するからである。
更新スロット指定レジスタ40〜43の指定情報は、外部から設定可能である。例えば、タスクマネージャ100により、設定可能である。
なお、バス調停装置1の初期設定が行われたときは、更新スロット指定レジスタ40〜43の全てに、更新スロットレジスタ30を表す情報が格納される。その後、外部から、所望の更新スロット指定レジスタに、更新スロットレジスタ31,32を表す情報が上書きされる。
ここで、更新スロット指定レジスタ40〜43は、更新スロット指定テーブルを構成する。
この更新スロット指定テーブルは、例えば、図4において、更新スロット指定レジスタ40をタスク1用とし、更新スロット指定レジスタ41をタスク2用とし、更新スロット指定レジスタ42をタスク3用とし、更新スロット指定レジスタ43をタスク4用としたものが挙げられる。
なお、図4の例では、タスク1及びタスク4で、更新スロットレジスタ30を共用している。
転送許可候補決定回路70は、データ転送制御線7から、タスクマネージャ100からのタスク1のデータ転送要求信号CPUr、タスクマネージャ100からのタスク2のデータ転送要求信号VCEr、タスクマネージャ100からのタスク3のデータ転送要求信号ACEr、及び、タスクマネージャ100からのタスク4のデータ転送要求信号PCEr、を受ける。
転送許可候補決定回路70は、タスク1のデータ転送要求信号CPUrを受けると、タスク1に対応する更新スロット指定レジスタ40を参照する。
そして、転送許可候補決定回路70は、更新スロット指定レジスタ40に格納された情報が示す更新スロットレジスタ30を参照する。
そして、転送許可候補決定回路70は、更新スロットレジスタ30に格納された、残余予約スロット数の残りのスロット数(カウントダウン値)が、「0」でない場合は、タスク1がデータ転送を許可する候補(転送許可候補)であることを示す転送許可候補通知信号Cを、優先順位選択回路54に出力する。
転送許可候補決定回路70は、タスク2からのデータ転送要求信号VCErを受けると、タスク2に対応する更新スロット指定レジスタ41を参照する。
そして、転送許可候補決定回路70は、更新スロット指定レジスタ41に格納された情報が示す更新スロットレジスタ31を参照する。
そして、転送許可候補決定回路70は、更新スロットレジスタ31に格納された、予約スロットの残りのスロット数(カウントダウン値)が、「0」でない場合は、タスク2がデータ転送を許可する候補(転送許可候補)であることを示す転送許可候補通知信号Vを、優先順位選択回路54に出力する。
転送許可候補決定回路70は、タスク3からのデータ転送要求信号ACErを受けると、タスク3に対応する更新スロット指定レジスタ42を参照する。
そして、転送許可候補決定回路70は、更新スロット指定レジスタ42に格納された情報が示す更新スロットレジスタ32を参照する。
そして、転送許可候補決定回路70は、更新スロットレジスタ32に格納された、予約スロット数の残りのスロット数(カウントダウン値)が、「0」でない場合は、タスク3がデータ転送を許可する候補(転送許可候補)であることを示す転送許可候補通知信号Aを、優先順位選択回路54に出力する。
転送許可候補決定回路70は、タスク4からのデータ転送要求信号PCErを受けると、PCE5に対応する更新スロット指定レジスタ43を参照する。
そして、転送許可候補決定回路70は、更新スロット指定レジスタ43に格納された情報が示す更新スロットレジスタ30を参照する。
そして、転送許可候補決定回路70は、更新スロットレジスタ30に格納された、残余予約スロット数の残りのスロット数(カウントダウン値)が、「0」でない場合は、タスク4がデータ転送を許可する候補(転送許可候補)であることを示す転送許可候補通知信号Pを、優先順位選択回路54に出力する。
優先度レジスタ50には、タスク1の優先度を表す情報が格納される。優先度レジスタ51には、タスク2の優先度を表す情報が格納される。優先度レジスタ52には、タスク3の優先度を表す情報が格納される。優先度レジスタ53には、タスク4の優先度を表す情報が格納される。
優先度は、優先度レジスタ50〜53に、外部から設定可能である。例えば、タスクマネージャ100が、優先度レジスタ50〜53に、優先度を設定することができる。
ここで、優先度レジスタ50〜53は、優先度テーブルを構成する。
この優先度テーブルは、例えば、図5において、優先度レジスタ50をタスク1用とし、優先度レジスタ51をタスク2用とし、優先度レジスタ52をタスク3用とし、優先度レジスタ53をタスク4用としたものが挙げられる。
優先順位選択回路54は、転送許可候補決定回路70から入力される転送許可候補通知信号が複数の場合、即ち、転送許可候補となっているタスクが複数の場合は、優先度レジスタ50〜53を参照して、複数の転送許可候補のうち、最も優先度の高い転送許可候補に対して、転送許可を与える。
具体的には、優先順位選択回路54は、タスクマネージャ100に対して、データ転送制御線7を介して、転送許可を与える転送許可候補を示す転送許可信号を出力する。
なお、図2において、転送許可信号CPUaは、タスク1に対する転送許可信号を示し、転送許可信号VCEaは、タスク2に対する転送許可信号を示し、転送許可信号ACEaは、タスク3に対する転送許可信号を示し、転送許可信号PCEaは、タスク4に対する転送許可信号を示している。
例えば、優先度テーブルが図5に示すものである場合において、優先順位選択回路54が、タスク1の転送許可候補通知信号C及びタスク2の転送許可候補通知信号Vを受けた場合は、優先順位選択回路54は、優先度が高いタスク2に転送許可を与えることを示す転送許可信号VCEaを、タスクマネージャ100に出力する。
さて、一方、優先順位選択回路54は、転送許可を与えた転送許可候補に対応する更新スロット指定レジスタを参照する。
そして、優先順位選択回路54は、参照した更新スロット指定レジスタに格納されている情報を、残余スロット数算出回路60に与える。
そして、残余スロット数算出回路60は、優先順位選択回路54から与えられた情報が表す、更新スロットレジスタ31、更新スロットレジスタ32、あるいは、更新スロットレジスタ30、が格納している残りのスロット数を、1スロット減算する。
残余スロット数算出回路60は、このようにして算出した残りのスロット数を表す情報を、優先順位選択回路54から与えられた情報が表す、更新スロットレジスタ31、更新スロットレジスタ32、あるいは、更新スロットレジスタ30、に上書きする。
こうして、転送許可が与えられる度に、転送許可が与えられた転送許可候補の予約スロット数あるいは残余予約スロット数が、カウントダウンされる。
このことを、転送許可を与えた転送許可候補が、タスク3である場合を例に挙げて説明する。
そうすると、優先順位選択回路54は、タスク3に対応する更新スロット指定レジスタ42を参照する。
そして、優先順位選択回路54は、更新スロット指定レジスタ42に格納されている情報、即ち、更新スロットレジスタ32を示す情報を、残余スロット数算出回路60に与える。
そして、残余スロット数算出回路60は、優先順位選択回路54から与えられた情報が表す更新スロットレジスタ32が格納しているタスク3の予約スロット数の残りのスロット数を、1スロット減算する。
残余スロット数算出回路60は、このようにして算出したタスク3の残りのスロット数を表す情報を、優先順位選択回路54から与えられた情報が表す更新スロットレジスタ32に上書きする。
こうして、この例では、タスク3の予約スロット数がカウントダウンされる。
さて、残余スロット数算出回路60は、カウントダウンの結果(減算の結果)、予約スロット数の残りがなくなった場合、あるいは、残余予約スロット数の残りがなくなった場合は、割り込み信号線9を介して、タスクマネージャ100に対して、残りがなくなった予約スロット数あるいは残余予約スロット数を使用するタスクが予約スロット数あるいは残余予約スロット数を使い果たしたことを通知する。
この通知を受けて、タスクマネージャ100は、更新スロットレジスタ30〜32に格納されているスロット数が「1」以上であるタスクをスケジューリング対象とする。
さて、図2の残余予約スロットレジスタ20及び予約スロットレジスタ21,22からなる予約スロットテーブルが、図3に示すように設定され、図2の更新スロット指定レジスタ40〜43からなる更新スロット指定テーブルが、図4に示すように設定され、図2の優先度レジスタ50〜53からなる優先度テーブルが、図5に示すように設定されているとする。
この場合の本実施の形態のバス調停装置1のタイムチャートは、図6に示したものと同様である。ただし、本実施の形態では、バス調停装置1が各タスクの各データ転送要求を調停する。
さて、本実施の形態のバス調停装置1の処理の流れは、図7のフローチャートに示したものと同様である。ただし、本実施の形態では、バス調停装置1が各タスクの各データ転送要求を調停する。
さて、予め予約スロット数が設定されていないタスク1,4が残余予約スロット数を使用できるようにするため、タスクマネージャ100は、上述のように、タスク1,4に対応する更新スロット指定レジスタ40,43に、指定情報として、更新スロットレジスタ30を表す情報を設定する。
従って、予め予約スロット数が設定されていないタスク1,4が、残余予約スロット数を使い切った場合は、バス調停装置1は、割込み信号線9を介して、タスクマネージャ100に、残余予約スロット数を使い切ったことを示す割込みを発生させる。
この時点でタスクマネージャ100は、上記割込みを起点に、他のタスク2,3に実行権を渡すことで、予め予約スロット数が設定されているタスク2,3のスロット数を保証することが可能となる。
さて、以上のように、本実施の形態によれば、残余予約スロットレジスタ20が記憶する残余予約スロット数を外部からモニタすることで、スロット数の不足により、これから実行しようとするタスクによる処理が破綻するか否かを予め判定できる。
また、スロット割付周期レジスタ10の設定を外部から変更することで、スロット割付周期を変更できる。さらに、予約スロットレジスタ21,22の設定を外部から変更することで、予約スロット数を変更できる。その結果、ユーザの利便性の向上を図ることができる。
さらに、タスクが、当該タスクに割り当てられた予約スロット数を全て消費した場合、タスクマネージャ100に対して、予約スロット数を全て消費した旨が通知される。これにより、無駄なデータ転送要求がなされることを防止できる。
なお、タスクの種類は、上述したタスク1〜4に限定されるものではない。
図2において、予約スロットレジスタ21,22の数は、2つに限定されるものではない。1つでもよいし、3以上でもよい。
また、更新スロットレジスタ31,32も、2つに限定されるものではない。予約スロットレジスタの数に対応した数の更新スロットレジスタが設けられる。
また、更新スロット指定レジスタ40〜43は、4つに限定されるものではない。タスクの数に対応した数の更新スロット指定レジスタが設けられる。
また、更新スロット指定レジスタに設定する指定情報は、上述したものに限定されるものではなく、任意に設定できる。
また、優先度レジスタ50〜53は、4つに限定されるものではない。タスクの数に対応した数の優先度レジスタが設けられる。
また、優先度レジスタに設定する優先度は、上述したものに限定されるものではなく、任意に設定できる。
さて、次に、実施の形態2の変形例を説明する。
この変形例は、実施の形態1と実施の形態2とを組み合わせたものである。
すなわち、この変形例によるバス調停装置は、複数のモジュールおよび複数のタスクからのデータ転送要求を調停する。
この変形例によるバス調停装置の一例を説明する。この例では、図2のバス調停装置において、各タスク用の各予約スロットレジスタおよび各モジュール用の各予約スロットレジスタを設ける。
さらに、各タスク用の各予約スロットレジスタおよび各モジュール用の各予約スロットレジスタに対応して、各更新スロットレジスタを設ける。
さらに、各タスクおよび各モジュールに対応して、各更新スロット指定レジスタを設ける。
さらに、各タスクおよび各モジュールに対応して、各優先度レジスタを設ける。
この場合において、タスクマネージャ100が、CPU2上で動作するソフトウェアであるとすれば、変形例によるデータ処理装置の全体構成は、図1に示したものと同様になる。
一方、タスクマネージャ100が、CPU上のタスクを制御可能なハードウェアである場合、あるいは、その双方を組み合わせたタスク制御機構である場合は、変形例によるデータ処理装置の全体構成は、図1のデータ処理装置に、図8のタスクマネージャ100を加えたものとなる。
変形例によるバス調停装置の他の例を説明する。
この例では、タスクマネージャ100が、CPU2上で動作するソフトウェアであるとする。そうすれば、データ処理装置の全体構成は、図1に示したものと同様になる。
また、バス調停装置の構成として、図2に示した実施の形態1のバス調停装置を使用できる。
この例では、CPU2がタスクマネージャ100と考えることができる。従って、CPU2に対応する更新スロット指定レジスタ40に、指定情報として、タスクに対する更新スロットレジスタを設定する。
例えば、指定情報として、更新スロットレジスタ30を設定できる。この場合は、タスクマネージャ100が管理するタスクは、残余予約スロットレジスタ20に格納された残余予約スロット数を消費することになる。
また、例えば、指定情報として、更新スロットレジスタ31を設定できる。この場合は、タスクマネージャ100が管理するタスクは、予約スロットレジスタ21に格納された予約スロット数を消費することになる。
この場合の具体的事案を示す。
CPU2、つまり、タスクマネージャ100が管理する図1及び図2で示されるシステムにおいて、VCE3による動画像伸張処理後に、CPU2で実行される特殊効果処理タスクが、画像データに対してフィルタ処理などの特殊効果を施す処理までを、動画像圧縮伸張処理とする。
このとき、VCE3に対応する更新スロット指定レジスタ41および特殊効果処理タスクに対応する更新スロット指定レジスタ40の双方において、更新スロットレジスタ31を設定することにより、VCE3の処理およびCPU2上の特殊効果処理タスクによる処理からなる動画像伸張処理のスロット数を保証することが可能となる。
さて、タスクの優先度については、次のようになる。CPU2に対応する優先度レジスタ50に格納された優先度が、タスクの優先度となる。
本発明に係るバス調停装置は、例えばバスに接続される複数のモジュール間のデータ転送要求の調停等において好適に利用できる。
1 バス調停装置
2 CPU
3 VCE
4 ACE
5 PCE
6 メモリ
7 データ転送制御線
8 バス
9 割り込み信号線
10 スロット割付周期レジスタ
20 残余予約スロットレジスタ
21,22 予約スロットレジスタ
30〜32 更新スロットレジスタ
40〜43 更新スロット指定レジスタ
50〜53 優先度レジスタ
54 優先順位選択回路
60 残余スロット数算出回路
70 転送許可候補決定回路
80 転送許可決定回路
100 タスクマネージャ
2 CPU
3 VCE
4 ACE
5 PCE
6 メモリ
7 データ転送制御線
8 バス
9 割り込み信号線
10 スロット割付周期レジスタ
20 残余予約スロットレジスタ
21,22 予約スロットレジスタ
30〜32 更新スロットレジスタ
40〜43 更新スロット指定レジスタ
50〜53 優先度レジスタ
54 優先順位選択回路
60 残余スロット数算出回路
70 転送許可候補決定回路
80 転送許可決定回路
100 タスクマネージャ
Claims (16)
- バスに接続される複数のモジュール間のデータ転送要求を調停するバス調停装置であって、
複数のスロットで構成されるスロット割付周期を表す情報を記憶するスロット割付周期記憶手段と、
前記複数のモジュールのうちの所定の前記モジュールに予め割り当てるスロット数である予約スロット数を表す情報を記憶する予約スロット数記憶手段と、
前記スロット割付周期を構成するスロット数と前記予約スロット数との差である残余予約スロット数を表す情報を記憶する残余予約スロット数記憶手段と、
前記予約スロット数が割り当てられた前記所定のモジュールのデータ転送要求が許可される度に、前記予約スロット数の残余スロット数を算出し、かつ、前記残余予約スロット数を使用する前記モジュールのデータ転送要求が許可される度に、前記残余予約スロット数の残余スロット数を算出する残余スロット数算出手段と、
前記予約スロット数記憶手段が記憶する前記予約スロット数を表す情報を初期値として記憶し、かつ、前記残余スロット数算出手段が算出した、前記予約スロット数の前記残余スロット数を表す情報を記憶する第1の更新スロット数記憶手段と、
前記残余予約スロット数記憶手段が記憶する前記残余予約スロット数を表す情報を初期値として記憶し、かつ、前記残余スロット数算出手段が算出した、前記残余予約スロット数の前記残余スロット数を表す情報を記憶する第2の更新スロット数記憶手段と、
前記複数のモジュールに対応して設けられ、各々が、対応する前記モジュールに割り当てられた、前記第1の更新スロット数記憶手段あるいは前記第2の更新スロット数記憶手段、を表す情報を記憶する複数の更新スロット数指定記憶手段と、
前記モジュールからのデータ転送要求があった場合に、当該モジュールに対応する前記更新スロット数指定記憶手段が記憶する前記情報が表す前記第1の更新スロット数記憶手段又は前記第2の更新スロット数記憶手段を参照して、参照した前記第1の更新スロット数記憶手段又は前記第2の更新スロット数記憶手段が記憶している前記残余スロット数の残りがあるときに、当該モジュールがデータ転送要求を許可する候補であることを示す転送許可候補通知信号を生成する転送許可候補決定手段と、
所定の規則に従って、前記転送許可候補通知信号が示す前記モジュールからのデータ転送要求の許否を決定する転送許可決定手段と、を備え、
前記予約スロット数が割り当てられた前記所定のモジュールに対応する前記更新スロット数指定記憶手段には、前記第1の更新スロット数記憶手段を表す情報が記憶され、
前記残余予約スロット数を使用する前記モジュールに対応する前記更新スロット数指定記憶手段には、前記第2の更新スロット数記憶手段を表す情報が記憶され、
前記スロット割付周期が経過する度に、前記第1の更新スロット数記憶手段には、前記予約スロット数記憶手段が記憶する前記予約スロット数を表す情報が初期値として記憶され、
前記スロット割付周期が経過する度に、前記第2の更新スロット数記憶手段には、前記残余予約スロット数記憶手段が記憶する前記残余予約スロット数を表す情報が初期値として記憶される、ことを特徴とするバス調停装置。 - 前記所定のモジュールは複数であり、
前記予約スロット数記憶手段は、前記複数の所定のモジュールに対応して、複数設けられ、
前記第1の更新スロット数記憶手段は、前記複数の予約スロット数記憶手段に対応して、複数設けられる、ことを特徴とする請求項1記載のバス調停装置。 - 前記残余スロット数算出手段は、前記予約スロット数の前記残余スロット数の残りがなくなった場合、特定の前記モジュールに対して、前記予約スロット数が割り当てられた前記所定のモジュールが前記予約スロット数を全て消費した旨を通知する、ことを特徴とする請求項1又は2記載のバス調停装置。
- バスに接続される複数のモジュール間のデータ転送要求を調停するバス調停装置であって、
複数のスロットで構成されるスロット割付周期のスロット数と、前記複数のモジュールのうちの所定の前記モジュールに予め割り当てるスロット数である予約スロット数と、の差である残余予約スロット数を表す情報を記憶する残余予約スロット数記憶手段、を備える、ことを特徴とするバス調停装置。 - 前記スロット割付周期を表す情報を記憶するスロット割付周期記憶手段、をさらに備える、ことを特徴とする請求項4記載のバス調停装置。
- 前記予約スロット数を表す情報を記憶する予約スロット数記憶手段、をさらに備える、ことを特徴とする請求項4又は5記載のバス調停装置。
- 前記予約スロット数を、前記所定のモジュールが全て消費した場合、特定の前記モジュールに対して、前記予約スロット数を全て消費した旨が通知される、ことを特徴とする請求項4から6記載のバス調停装置。
- 前記所定のモジュールは複数であり、
前記残余予約スロット数記憶手段は、前記スロット割付周期を構成するスロット数と、複数の前記予約スロット数の合計と、の差である残余予約スロット数を表す情報を記憶する、ことを特徴とする請求項4から7記載のバス調停装置。 - バスに接続されるタスクマネージャが管理する複数のタスクのデータ転送要求を調停するバス調停装置であって、
複数のスロットで構成されるスロット割付周期を表す情報を記憶するスロット割付周期記憶手段と、
前記複数のタスクのうちの所定の前記タスクに予め割り当てるスロット数である予約スロット数を表す情報を記憶する予約スロット数記憶手段と、
前記スロット割付周期を構成するスロット数と前記予約スロット数との差である残余予約スロット数を表す情報を記憶する残余予約スロット数記憶手段と、
前記予約スロット数が割り当てられた前記所定のタスクのデータ転送要求が許可される度に、前記予約スロット数の残余スロット数を算出し、かつ、前記残余予約スロット数を使用する前記タスクのデータ転送要求が許可される度に、前記残余予約スロット数の残余スロット数を算出する残余スロット数算出手段と、
前記予約スロット数記憶手段が記憶する前記予約スロット数を表す情報を初期値として記憶し、かつ、前記残余スロット数算出手段が算出した、前記予約スロット数の前記残余スロット数を表す情報を記憶する第1の更新スロット数記憶手段と、
前記残余予約スロット数記憶手段が記憶する前記残余予約スロット数を表す情報を初期値として記憶し、かつ、前記残余スロット数算出手段が算出した、前記残余予約スロット数の前記残余スロット数を表す情報を記憶する第2の更新スロット数記憶手段と、
前記複数のタスクに対応して設けられ、各々が、対応する前記タスクに割り当てられた、前記第1の更新スロット数記憶手段あるいは前記第2の更新スロット数記憶手段、を表す情報を記憶する複数の更新スロット数指定記憶手段と、
前記タスクからのデータ転送要求があった場合に、当該タスクに対応する前記更新スロット数指定記憶手段が記憶する前記情報が表す前記第1の更新スロット数記憶手段又は前記第2の更新スロット数記憶手段を参照して、参照した前記第1の更新スロット数記憶手段又は前記第2の更新スロット数記憶手段が記憶している前記残余スロット数の残りがあるときに、当該タスクがデータ転送要求を許可する候補であることを示す転送許可候補通知信号を生成する転送許可候補決定手段と、
所定の規則に従って、前記転送許可候補通知信号が示す前記タスクからのデータ転送要求の許否を決定する転送許可決定手段と、を備え、
前記予約スロット数が割り当てられた前記所定のタスクに対応する前記更新スロット数指定記憶手段には、前記第1の更新スロット数記憶手段を表す情報が記憶され、
前記残余予約スロット数を使用する前記タスクに対応する前記更新スロット数指定記憶手段には、前記第2の更新スロット数記憶手段を表す情報が記憶され、
前記スロット割付周期が経過する度に、前記第1の更新スロット数記憶手段には、前記予約スロット数記憶手段が記憶する前記予約スロット数を表す情報が初期値として記憶され、
前記スロット割付周期が経過する度に、前記第2の更新スロット数記憶手段には、前記残余予約スロット数記憶手段が記憶する前記残余予約スロット数を表す情報が初期値として記憶される、ことを特徴とするバス調停装置。 - 前記所定のタスクは複数であり、
前記予約スロット数記憶手段は、前記複数の所定のタスクに対応して、複数設けられ、
前記第1の更新スロット数記憶手段は、前記複数の予約スロット数記憶手段に対応して、複数設けられる、ことを特徴とする請求項9記載のバス調停装置。 - 前記残余スロット数算出手段は、前記予約スロット数の前記残余スロット数の残りがなくなった場合、前記タスクマネージャに対して、前記予約スロット数が割り当てられた前記所定のタスクが前記予約スロット数を全て消費した旨を通知する、ことを特徴とする請求項9又は10記載のバス調停装置。
- バスに接続されるタスクマネージャが管理する複数のタスク間のデータ転送要求を調停するバス調停装置であって、
複数のスロットで構成されるスロット割付周期のスロット数と、前記複数のタスクのうちの所定の前記タスクに予め割り当てるスロット数である予約スロット数と、の差である残余予約スロット数を表す情報を記憶する残余予約スロット数記憶手段、を備える、ことを特徴とするバス調停装置。 - 前記スロット割付周期を表す情報を記憶するスロット割付周期記憶手段、をさらに備える、ことを特徴とする請求項12記載のバス調停装置。
- 前記予約スロット数を表す情報を記憶する予約スロット数記憶手段、をさらに備える、ことを特徴とする請求項12又は13記載のバス調停装置。
- 前記予約スロット数を、前記所定のタスクが全て消費した場合、前記タスクマネージャに対して、前記予約スロット数を全て消費した旨が通知される、ことを特徴とする請求項12から14記載のバス調停装置。
- 前記所定のタスクは複数であり、
前記残余予約スロット数記憶手段は、前記スロット割付周期を構成するスロット数と、複数の前記予約スロット数の合計と、の差である残余予約スロット数を表す情報を記憶する、ことを特徴とする請求項12から15記載のバス調停装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003404202A JP2004234635A (ja) | 2003-01-07 | 2003-12-03 | バス調停装置 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003000818 | 2003-01-07 | ||
| JP2003404202A JP2004234635A (ja) | 2003-01-07 | 2003-12-03 | バス調停装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004234635A true JP2004234635A (ja) | 2004-08-19 |
Family
ID=32964573
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003404202A Withdrawn JP2004234635A (ja) | 2003-01-07 | 2003-12-03 | バス調停装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004234635A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20060094915A (ko) * | 2005-02-25 | 2006-08-30 | 소니 가부시끼 가이샤 | 정보 처리 장치 및 방법, 메모리 제어 장치 및 방법, 기록매체, 및 프로그램 |
-
2003
- 2003-12-03 JP JP2003404202A patent/JP2004234635A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20060094915A (ko) * | 2005-02-25 | 2006-08-30 | 소니 가부시끼 가이샤 | 정보 처리 장치 및 방법, 메모리 제어 장치 및 방법, 기록매체, 및 프로그램 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100628492B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
| CN114020470B (zh) | 资源分配方法、装置、可读介质及电子设备 | |
| KR100649107B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
| KR102223840B1 (ko) | 컴퓨터 이미징 파이프라인 | |
| KR20050016170A (ko) | 실시간 동작 수행방법 및 시스템 | |
| JP7418569B2 (ja) | 異種プラットフォームでのハードウェアアクセラレーションによるタスクのスケジューリング及び負荷分散のための送信及び同期技術 | |
| JP2005509976A (ja) | 予算剰余をタスクに割り当てるための方法及びシステム | |
| US20080022288A1 (en) | Signal Processing Appatatus | |
| JP5445669B2 (ja) | マルチコアシステムおよび起動方法 | |
| CN107515786A (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
| CN111290841B (zh) | 任务调度方法、装置、计算设备及存储介质 | |
| CN103201720B (zh) | 虚拟计算机控制装置、虚拟计算机控制方法以及集成电路 | |
| US7404024B2 (en) | Method for arbitrating access to a shared resource | |
| JP4090883B2 (ja) | 異なるリソースアクセス方式を有するシステム統合エージェント | |
| CN118020061A (zh) | 为放大器操作进行的平台资源的选择 | |
| JP6372262B2 (ja) | 印刷装置、およびプログラム | |
| JPWO2006001245A1 (ja) | 低バンド幅で局所集中アクセスを保証する調停装置、調停方法、及び調停装置を含む動画処理装置 | |
| CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
| JP2005157955A (ja) | 資源予約システムおよび資源予約方法および該方法を実行するためのプログラムが記録された記録媒体 | |
| US20120137302A1 (en) | Priority information generating unit and information processing apparatus | |
| US20040153591A1 (en) | Bus arbiter | |
| JP2004234635A (ja) | バス調停装置 | |
| CN106575258A (zh) | 电子设备、片上存储器和操作所述片上存储器的方法 | |
| JP2014078266A (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
| CN118020062A (zh) | 平台资源的动态分配 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061130 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080711 |