(57)【要約】【課題】データ転送を調停する調停部の設定を容易にしうるようにすること。【解決手段】転送モニタ回路３３は、調停回路３１にて制御されるＤＭＡチャネルのチャネル番号と、生成されるＤＭＡチャネルにより転送されるデータのデータ量をモニタ情報として記憶する。そして、転送モニタ回路３３は、調停回路３１が調停する要求信号を出力する処理部２１〜２８が動作するタイミングを制御する同期信号Ｓｙｎｃや、処理部２１〜２８から出力されるエラー通知信号ＥＲＲ、等に基づく期間のモニタ情報を記憶する【選択図】図２
2011008413.tif 000002
【特許請求の範囲】
【請求項１】
種類の処理を行う複数の処理部と、
前記複数の処理部に接続可能なメモリへ前記複数の処理部から出力される要求信号のうちの１つを各処理部に応じて設定された設定情報に従って選択し、その選択した要求信号を出力する処理部に前記メモリとの間のデータ転送を制御する調停部と、
前記調停部にて制御されるＤＭＡチャネルをモニタしたモニタ情報を記憶する転送モニタ回路と、
を有し、
前記モニタ情報は、
前記調停部にて調停されてＤＭＡチャネルを形成するチャネル番号の履歴と、
前記ＤＭＡチャネルにて転送されるデータ量とを含み、
前記転送モニタ回路は、
前記処理部の動作状態に応じた期間における前記モニタ情報を記憶すること、
を特徴とする処理装置。
【請求項２】
前記転送モニタ回路は、
前記モニタ情報を記憶する期間を制御するトリガ信号を、前記処理部の動作信号に基づいて生成すること、
を特徴とする請求項１に記載の処理装置。
【請求項３】
前記トリガ信号は、
前記モニタ情報の記憶を開始する開始トリガ信号と、
前記モニタ情報の記憶を終了する終了トリガ信号と、
前記モニタ情報を更新する更新トリガ信号を含み、
前記転送モニタ回路は、前記更新トリガ信号に基づいて複数のチャネル番号を順次記憶するチャネル履歴回路と、前記データ量を累積加算する演算器と、前記演算器の演算結果を前記更新トリガ信号に応答して更新記憶するレジスタと、を含むこと、
を特徴とする請求項２に記載の処理装置。
【請求項４】
前記処理部は、画像データを処理するものであり、
前記転送モニタ回路は、少なくとも前記画像データを転送するための同期信号に基づいて前記開始トリガ信号と前記更新トリガ信号を生成すること、
を特徴とする請求項３に記載の処理装置。
【請求項５】
前記転送モニタ回路は、
前記データ量の累積値とリミット値とを比較する比較回路を有し、
前記処理部から出力されるエラー通知信号と、前記比較回路の出力信号とのうちの少なくとも一方の信号に基づいて前記終了トリガ信号を生成すること、
を特徴とする請求項３又は請求項４に記載の処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
複数の処理部とメモリとの間のデータ転送を調停する調停部を含む処理装置に関する。
【背景技術】
【０００２】
デジタルスチルカメラ等の電子機器は、データを処理する複数の異なる処理部と、処理に必要なデータを格納するためのメモリを有している。各処理部は、メモリからデータを読み出し、処理後のデータをメモリに書き込む。各処理部は、処理の都合によってメモリをアクセスする、つまりメモリへのアクセスが非同期に発生するため、メモリに対して複数の処理部から同時にアクセスの要求が発生する、つまりアクセス要求が競合する場合がある。この競合を解決するため、電子機器は、メモリに対するアクセスの要求を調停する調停装置を有している。調停方法の１つの例は、各処理部に対応して設定された優先順位に従ってメモリに対するアクセスを許可するものであり、別の例は、各処理部に対して均等にアクセスを許可するものである。
【０００３】
電子機器には、一定時間内にデータの転送を終了しなければならない処理部を含むものがある。このような処理部の優先度よりも優先度が高い他の処理部がアクセスを頻繁に行う状況では、データの転送を終了することができなくなる場合が生じる。このため、例えば転送データ量をモニタし、転送データが所定量未満の場合に処理部の優先度を動的に変更する調停装置が提案されている（例えば、特許文献１〜４参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−４９４７９号公報
【特許文献２】特開２００３−６１３９号公報
【特許文献３】特開２００５−４５６３号公報
【特許文献４】特開平９−９１１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、電子機器、例えばデジタルスチルカメラでは、シャッターボタンの操作に対応して順次実行される処理、つまり処理部がメモリをアクセスする順番が決まっているため、シャッターボタンを操作する毎に、転送データが所定量未満になり優先度を変更しなければならない。このため、電子機器のデバッグにおいて、各処理部の優先度等を調整することが考えられる。そして、この調整のために、処理部が転送したデータの量や、調停装置の状態をモニタすることが要求されている。
【０００６】
この調停装置で、データ転送を調停する調停部の設定を容易にしうるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、処理装置は、種類の処理を行う複数の処理部と、前記複数の処理部に接続可能なメモリへ前記複数の処理部から出力される要求信号のうちの１つを各処理部に応じて設定された設定情報に従って選択し、その選択した要求信号を出力する処理部に前記メモリとの間のデータ転送を制御する調停部と、前記調停部にて制御されるＤＭＡチャネルをモニタしたモニタ情報を記憶する転送モニタ回路と、を有し、前記モニタ情報は、前記調停部にて調停されてＤＭＡチャネルを形成するチャネル番号の履歴と、前記ＤＭＡチャネルにて転送されるデータ量とを含み、前記転送モニタ回路は、前記処理部の動作状態に応じた期間における前記モニタ情報を記憶する。
【発明の効果】
【０００８】
開示の装置は、データ転送を調停する調停部の設定を容易にしうるようにすることができる。
【図面の簡単な説明】
【０００９】
【図１】電子機器のブロック回路図である。
【図２】処理装置のブロック回路図である。
【図３】調停回路のブロック回路図である。
【図４】優先順位制御部のブロック回路図である。
【図５】レベル間調停部の動作説明図である。
【図６】チャネル確定部の動作説明図である。
【図７】レベル内調停部のブロック回路図である。
【図８】優先フラグ生成部のブロック回路図である。
【図９】レベル内調停部の動作を説明するためのフローチャートである。
【図１０】優先フラグ生成部の動作を説明するためのフローチャートである。
【図１１】転送モニタ回路のブロック回路図である。
【図１２】チャネル履歴回路のブロック回路図である。
【図１３】チャネル履歴回路の動作説明図である。
【図１４】転送モニタ回路の動作を示すタイミング図である。
【図１５】転送モニタ回路の動作を示すタイミング図である。
【図１６】モニタ機能の動作を説明するためのフローチャートである。
【図１７】優先順位変更動作を説明するためのフローチャートである。
【図１８】デバッグ処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、一実施形態を図面に従って説明する。
図１に示すように、電子機器１０は例えばデジタルスチルカメラであり、撮像部１１、処理装置１２、表示部１３、メモリ１４を有する。撮像部１１は撮像素子（イメージ・センサ）を含む。撮像素子はＣＣＤやＣＭＯＳイメージセンサ等である。撮像部１１は、例えば、撮像素子と信号処理部と信号生成部を含む。信号生成部は、クロック信号、同期信号を含むタイミング信号を生成し、出力する。撮像素子は、入射する光を電気信号に変換して１フレーム分の画像データを生成する。そして、撮像素子は、タイミング信号に基づいて、各フレームの画像データを出力する。信号処理部は例えばアナログフロントエンドであり、撮像素子から出力されるアナログの画像データをデジタル化し、そのデジタル化した画像データを同期信号Ｓｙｎｃに基づいて出力する。同期信号Ｓｙｎｃは、１フレームの区切りを示す垂直同期信号と、１ラインの区切りを示す水平同期信号を含む。
【００１１】
処理装置１２は、同期信号Ｓｙｎｃに基づいて動作する複数の処理部を有する。各処理部は、割り当てられた処理に応じて、メモリ１４をアクセスする。メモリ１４は例えばシンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）である。処理装置１２は、メモリ１４に格納されたデータを表示部１３に出力する。表示部１３は、ＬＣＤやＥＬディスプレイ等であり、処理装置１２から出力されるデータに基づく画像を表示する。尚、表示部１３は、紙等の媒体に画像を表示する所謂印刷装置や、壁面等に画像を表示する所謂プロジェクタなどであってもよい。
【００１２】
処理装置１２にはデバッグ装置２００が接続される。デバッグ装置２００は、処理装置１２の動作の誤りを見つけて修正したり、処理装置１２の動作を調整したりするものであり、例えばインサーキットエミュレータ（ＩＣＥ）とパーソナルコンピュータ（ＰＣ）とを含む。ＰＣには、ＩＣＥを介して処理装置１２から読み出される各種デバッグ情報が表示される。デバッグ情報は、処理装置１２に発生するエラー情報、処理装置１２の動作をモニタしたモニタ情報を含む。ＰＣは、作業者（開発者、デバッグ担当者、等）の操作に従って設定値がＩＣＥ、処理装置１２に書き込まれる。この設定値は、処理装置１２の動作における設定値、ＩＣＥの動作を制御する設定値、を含む。ＩＣＥの動作を制御する設定値（ブレークポイント等）を適宜設定することにより、処理装置１２の動作を容易に確認することができる。そして、処理装置１２の動作をモニタする動作と、そのモニタ結果に応じて変更した設定値を処理装置１２に書き込む動作を繰り返すことにより、処理装置１２の動作に応じた適切な設定値を設定し、処理装置１２の動作状態を改善することができる。
【００１３】
図２に示すように、処理装置１２は、複数の処理部２１〜２８を有する。各処理部２１〜２８は、データを処理するものであり、各処理に応じてメモリ１４をアクセスするための要求信号を含む各種信号を出力する。
【００１４】
各処理部２１〜２８の一例を説明する。
第１処理部２１はプリプロセス部（前処理部）であり、撮像部１１から出力される画像データに対しホワイトバランス等の前処理を行い、処理後のデータをメモリ１４に格納する。第２処理部２２は補正部であり、メモリ１４から読み出したデータに対してγ補正等の補正処理を行い、補正後のデータをメモリ１４に格納する。第３処理部２３はカラープロセスであり、メモリ１４から読み出したデータに対して色空間変換処理を行い、処理後のデータをメモリ１４に格納する。第４処理部２４はノイズ除去部であり、メモリ１４から読み出したデータに対して所定の処理を行ってノイズを除去し、処理後のデータをメモリ１４に格納する。
【００１５】
第５処理部２５は解像度変換部であり、メモリ１４から読み出したデータに対して、画素データの間引き、データ補間などの処理を行い、処理後のデータをメモリ１４に格納する。第６処理部２６は圧縮伸張部であり、所定の方式（例えばＪＰＥＧ方式）によりメモリ１４から読み出したデータに対して符号・復号（圧縮・伸長）処理を行い、処理後のデータをメモリ１４に格納する。第７処理部２７は画像効果処理部であり、メモリ１４から読み出したデータに対して輪郭強調等の処理を行い、処理後のデータをメモリ１４に格納する。第８処理部２８は出力部であり、メモリ１４から読み出したデータを表示のためのデータに変換し、変換後のデータを表示部１３に出力する。
【００１６】
即ち、第１〜第７処理部２１〜２７はメモリ１４にデータを格納する処理を行う。従って、第１〜第７処理部２１〜２７はメモリ１４にデータを書き込むためにバスを使用する要求信号Ｗ０〜Ｗ６を調停回路３１に出力する。また、第２〜第８処理部２２〜２８はメモリ１４からデータを読み出す処理を行う。従って、第２〜第８処理部２２〜２８は、メモリ１４からデータを読み出すためにバスを使用する要求信号Ｒ１〜Ｒ７を調停回路３１に出力する。
【００１７】
また、各処理部２１〜２８は、メモリ１４をアクセスするためのパラメータを調停回路３１に出力する。このパラメータは、データをアクセスする領域を示すアドレス、データ量を含む。データ量は例えばバースト長である。上記したように、メモリ１４にＳＤＲＡＭを用いた場合、このメモリ１４は、指定したアドレスから連続した複数のアドレスのデータを書き込み又は読み出すモード（バースト・モード）を有している。バースト長は、連続してアクセスするデータの数である。
【００１８】
調停回路３１は、複数（本実施形態では４つ）の直接メモリアクセス制御回路（Direct Memory Access controller:以下、ＤＭＡＣという）３２ａ〜３２ｄと、転送モニタ回路３３を含む。
【００１９】
各ＤＭＡＣ３２ａ〜３２ｄは、各処理部２１〜２８から出力される要求信号に応答して、各処理部２１〜２８とメモリ１４との間でデータを直接的に転送するチャネル（ＤＭＡチャネル）を制御する。各処理部２１〜２８は、ＤＭＡチャネルを介してメモリ１４をアクセスする。各処理部２１〜２８が実行する処理は互いに異なり、各処理に応じて必要なデータの量が異なる。そして、各処理部２１〜２８は、それぞれが実行する処理に必要なデータをメモリ１４から読み出す、又は処理したデータをメモリ１４に書き込むために要求信号を出力する。従って、メモリ１４に対するアクセス要求が非同期で発生するため、メモリ１４に対するアクセス要求が同時に発生する、即ち要求信号が競合する場合がある。このため、各ＤＭＡＣ３２ａ〜３２ｄは、それぞれ設定された複数の処理部からの要求を調停し、その調停により選択したチャネル、即ち処理部の要求信号に基づくリクエスト信号をメモリコントローラ３４に出力する。また、各ＤＭＡＣ３２ａ〜３２ｄは、選択したチャネルに対応する処理部から出力されるパラメータをメモリコントローラ３４に出力する。
【００２０】
メモリコントローラ３４はアービタ（バス制御部）３５を含む。このアービタ３５には、各ＤＭＡＣ３２ａ〜３２ｄから出力される要求信号が入力される。また、このアービタ３５には、ＣＰＵ３６とＤＳＰ３７とから要求信号が入力される。つまり、アービタ３５に対してＣＰＵ３６及びＤＳＰ３７も処理部として認識される。アービタ３５は、各要求信号を調停して１つの処理部に対してバス使用許可を与える。使用許可を受け取った処理部は、バス３８及びメモリコントローラ３４を介してメモリ１４をアクセスする。メモリ１４は、処理部からメモリコントローラ３４を介して供給されるパラメータに従ってデータの読み出し又は書き込みを行う。
【００２１】
上記各ＤＭＡＣ３２ａ〜３２ｄは、要求信号の受け付け、受け付けた要求信号に対する動作の変更が可能に構成されている。要求信号に対する動作は、要求信号に対する優先順位、要求信号に対する優先回数、要求信号の割当て、を含む。例えば、各ＤＭＡＣ３２ａ〜３２ｄは、それぞれ変更項目の値を記憶するレジスタを有し、そのレジスタの値を変更する（書き換える）ことにより、変更後の値に応じた動作を行う。優先順位は、要求信号、即ち各処理部に対して設定される。
【００２２】
優先回数は、例えば、同じ優先順位に設定された複数の処理部について、要求信号を受け付ける回数を変更する。要求信号の受け付け回数は、その要求信号を出力する処理部に割り当てるバス３８の使用時間に対応する。従って、転送するデータ量の異なる処理部について、そのデータ量に応じて優先回数を設定することにより、効率的なデータ転送や、一定時間内のデータ転送の終了が可能となる。
【００２３】
要求信号の割当ては、各ＤＭＡＣ３２ａ〜３２ｄが受け付ける要求信号の設定である。例えば、ＤＭＡＣ３２ａ，３２ｂには、処理部２１〜２７の要求信号Ｗ１〜Ｗ７が入力されている。設定の一例は、所定の動作モードにおいて、第１ＤＭＡＣ３２ａが要求信号Ｗ１〜Ｗ４を受け付けて調停処理を行い、第２ＤＭＡＣ３２ｂが要求信号Ｗ５〜Ｗ７を受け付けて調停処理を行うものである。この設定に対し、別の動作モードでは、要求信号Ｗ２〜Ｗ６を受け付ける必要があり、かつ要求信号Ｗ３，Ｗ４を出力する処理部２３，２４の処理が他の処理部の処理よりもメモリ１４との間の転送量が多い。このような場合、第１ＤＭＡＣ３２ａに要求信号Ｗ２，Ｗ３，Ｗ６を割当て、第２ＤＭＡＣ３２ｂに要求信号Ｗ４，Ｗ５を割り当てる。このように、要求信号Ｗ３，Ｗ４を第１ＤＭＡＣ３２ａと第２ＤＭＡＣ３２ｂがそれぞれ受け付けるように設定を変更することにより、要求信号Ｗ３，Ｗ４の実質的な優先順位を高くすること、要求信号Ｗ３，Ｗ４を出力する処理部２３，２４がバス３８を利用する回数（時間）を多くすることが可能となり、処理部２３，２４の処理を所定の時間内に終了させることが可能となる。
【００２４】
ＣＰＵ３６は、図示しない操作部の操作に従って、各処理部の動作を制御する。更に、ＣＰＵ３６は、その時の動作に応じた信号選択情報をＤＭＡＣ３２ａ〜３２ｄに書き込む。動作は、例えば、撮影動作、画像表示動作、データ変換を含む。つまり、撮影動作、即ち入射光に応じた画像データを記憶する動作と、記憶した画像データを表示する動作と、記憶した画像データのフォーマット（サイズ、色、圧縮方向、等）を変換する動作では、優先的に動作させなければならない処理部が異なる。従って、動作に応じての信号選択情報により、各処理部２１〜２８が出力する要求信号の優先度が設定される。即ち、処理装置１２は、その時々の動作に応じて処理部２１〜２８の優先度を設定する。調停回路３１のＤＭＡＣ３２ａ〜３２ｄは、それぞれに設定された信号選択情報に応じて要求信号を調停する。
【００２５】
上記転送モニタ回路３３は、ＤＭＡＣ３２ａ〜３２ｄにより制御されるＤＭＡチャネル等をモニタし、そのモニタ結果を保持する。上記したように、各ＤＭＡＣ３２ａ〜３２ｄは、それぞれ、設定された信号選択情報に基づいて、各処理部２１〜２８から出力される要求信号に応じてＤＭＡチャネルを制御する。そして、各処理部２１〜２８は、ＤＭＡチャネルを介して、メモリ１４に対して、処理に必要なデータの読み出し、処理後のデータの書き込みを行う。このため、各ＤＭＡＣ３２ａ〜３２ｄに対する各処理部２１〜２８の優先順序等の設定は、各処理部２１〜２８の処理に影響する。従って、ＤＭＡＣ３２ａ〜３２ｄの調停結果（チャネル番号）等を監視し、監視結果に応じて、優先順位等を調整する必要がある。
【００２６】
転送モニタ回路３３は、所定の情報をモニタし、そのモニタ情報を記憶する。モニタ情報を取得するトリガは、定期的にレベルが変化する信号（定期トリガ）、非定期にレベルが変化する信号（非定期トリガ）を含む。モニタ情報は、定期トリガ間に発生する要求信号のチャネル番号、要求信号に対応するＤＭＡチャネルの転送量、非定期トリガが発生するまでに生成されるＤＭＡチャネルの履歴、のうちの少なくとも１つを含む。
【００２７】
また、転送モニタ回路３３は、非定期トリガの発生をＣＰＵ３６に通知する機能を有している。この機能は、例えば、ＣＰＵ３６に対する割り込み信号により提供される。即ち、転送モニタ回路３３は、非定期トリガの発生に応答して割り込み信号を出力する。ＣＰＵ３６は、この割り込み信号に応答して、調停回路３１に設定した情報をモニタ情報として記憶する。調停回路３１に対する設定は、上記したように、各ＤＭＡＣ３２ａ〜３２ｄが受け付ける要求信号のチャネル番号、受け付けるように設定した要求信号に対する優先順位、優先回数、等を含む。
【００２８】
上記したように、調停回路３１には、ＣＰＵ３６から優先度等の情報が設定される。つまり、調停回路３１は、ＣＰＵ３６との間でデータの授受を行うＣＰＵインタフェースを有している。そして、ＣＰＵ３６は、ＣＰＵインタフェースを介して各ＤＭＡＣ３２ａ〜３２ｄと転送モニタ回路３３に接続されている。従って、調停回路３１は、転送モニタ回路３３に記憶されたモニタ情報を、ＣＰＵ３６から読み出すことが可能に構成されている。
【００２９】
図１に示すデバッグ装置２００は、ＣＰＵ３６に接続され、ＣＰＵ３６の動作をシミュレートする。従って、デバッグ装置は、ＣＰＵ３６に記憶されたモニタ情報、転送モニタ回路３３に記憶されたモニタ情報を読み出し、その値を表示装置に表示させることができる。そして、操作者（設計者）は、表示装置に表示されたモニタ情報に基づいて、各ＤＭＡＣ３２ａ〜３２ｄに設定する情報を変更する。例えば、各処理部２１〜２８の処理においてエラーが発生した場合、そのエラーが発生するまでのＤＭＡチャネルの状態をモニタ情報に基づいて確認し、優先度を変更し、その変更後の優先度を対応するＤＭＡＣに設定する。これにより、前回の処理の実行においてエラーが発生したＤＭＡチャネルの優先度が高くなるため、エラーの発生を防止することができるようになる。
【００３０】
次に、調停回路３１を詳述する。
上記したように、調停回路３１は、各処理部２１〜２８から出力される要求信号を調停するＤＭＡＣ３２ａ〜３２ｄと、各ＤＭＡＣ３２ａ〜３２ｄの動作をモニタする転送モニタ回路３３とを有している。このため、先ず各ＤＭＡＣ３２ａ〜３２ｄを詳述し、次に転送モニタ回路３３を詳述する。
【００３１】
［ＤＭＡＣ３２ａ〜３２ｄ］
第１ＤＭＡＣ３２ａ及び第２ＤＭＡＣ３２ｂは書き込みのための要求信号Ｗ０〜Ｗ６を調停するためのものであり、第３ＤＭＡＣ３２ｃ及び第４ＤＭＡＣ３２ｄは読み出しのための要求信号Ｒ１〜Ｒ７を調停するためのものである。
【００３２】
このように、２つの書き込み用のＤＭＡＣ３２ａ，３２ｂと２つの読み出し用のＤＭＡＣ３２ｃ，３２ｄを有することは、リソース、即ちデータを転送するバスを有効に活用するためのものである。例えば、第２処理部（補正部）２２がメモリ１４から読み出したデータを処理している間、バスをその他の処理部が読み出し又は書き込みを行うことができる。また、メモリ１４に対するアクセスに要する時間と、処理部にてデータを入出力するために要する時間とに差がある、即ちアクセス速度に差があるため、１つの処理部がアクセスしている間に次のアクセスのための要求信号を受け付けてメモリ１４からバッファに読み出すことで、連続的なアクセスが可能となる。
【００３３】
第１ＤＭＡＣ３２ａには、複数（本実施形態では７）の書込要求信号Ｗ０〜Ｗ６、即ち、処理部２１〜２７から出力される全ての書込要求信号Ｗ０〜Ｗ６が入力される。ＤＭＡＣ３２ａには複数の優先レベルが設定され、各優先レベルには少なくとも１つのチャネル番号が設定されている。チャネル番号は、ＤＭＡＣ３２ａに入力される要求信号に対して設定されている。本実施形態において、ＤＭＡＣ３２ａには３つの優先レベルが設定され、各優先レベルには要求信号Ｗ０〜Ｗ６のうちの少なくとも１つに応じたチャネル番号が設定されている。このチャネル番号は信号選択情報として設定される。
【００３４】
ＤＭＡＣ３２ａは、各優先レベル内において、設定されたチャネル番号について競合する要求をラウンドロビン方式により調停する。更に、ＤＭＡＣ３２ａは、各設定レベルにおいて選択したチャネル番号について競合する要求を調停する。ＤＭＡＣ３２ａには、このレベル間調停において、各レベルにはそれぞれ選択回数が設定されている。各レベルの選択回数は、例えば各レベルの優先度に応じて、それぞれのレベルよりも優先度が高いレベルに設定された選択回数より少ない選択回数が設定されている。
【００３５】
ＤＭＡＣ３２ａは、上位レベル、即ち優先度の高いレベルに設定されたチャネル番号を順次選択する。そして、ＤＭＡＣ３２ａは、各レベルに設定された回数のチャネル番号を選択すると、そのレベルよりも下位、即ち低いレベルに設定されたチャネル番号を、そのレベルに設定された回数選択する。即ち、ＤＭＡＣ３２ａは、各優先レベルに設定された選択回数の比率に応じて、各優先レベルのチャネル番号即ち要求信号を選択し、選択した要求信号を出力する。従って、ＤＭＡＣ３２ａは、優先レベルの高い要求信号が多い場合であっても、所定の割合で優先レベルの低い要求信号を選択する。これにより、低い優先レベルの要求信号を確実に選択してその要求信号を出力する処理部がメモリ１４をアクセスする権利、即ちメモリ１４が接続された共有バスの使用権を獲得することができる。
【００３６】
同様に、第２ＤＭＡＣ３２ｂには、複数（本実施形態では７）の書込要求信号Ｗ０〜Ｗ６、即ち、処理部２１〜２７から出力される全ての書込要求信号Ｗ０〜Ｗ６が入力される。そして、第２ＤＭＡＣ３２ｂは、３つの優先レベルが設定され、各優先レベルには要求信号Ｗ０〜Ｗ６のうちの少なくとも１つに応じたチャネル番号が設定されている。更に、第２ＤＭＡＣ３２ｂは、各優先レベルに設定された選択回数の比率に応じて、各優先レベルのチャネル番号即ち要求信号を選択し、選択した要求信号を出力する。
【００３７】
第３ＤＭＡＣ３２ｃには、複数（本実施形態では７）の読出要求信号Ｒ１〜Ｒ７、即ち、処理部２２〜２８から出力される全ての読出要求信号Ｒ１〜Ｒ７が入力される。そして、第３ＤＭＡＣ３２ｃは、３つの優先レベルが設定され、各優先レベルには要求信号Ｒ１〜Ｒ７のうちの少なくとも１つに応じたチャネル番号が設定されている。更に、第３ＤＭＡＣ３２ｃは、各優先レベルに設定された選択回数の比率に応じて、各優先レベルのチャネル番号即ち要求信号を選択し、選択した要求信号を出力する。
【００３８】
同様に、第４ＤＭＡＣ３２ｄには、複数（本実施形態では７）の読出要求信号Ｒ１〜Ｒ７、即ち、処理部２２〜２８から出力される全ての読出要求信号Ｒ１〜Ｒ７が入力される。そして、第４ＤＭＡＣ３２ｄは、３つの優先レベルが設定され、各優先レベルには要求信号Ｒ１〜Ｒ７のうちの少なくとも１つに応じたチャネル番号が設定されている。更に、第４ＤＭＡＣ３２ｄは、各優先レベルに設定された選択回数の比率に応じて、各優先レベルのチャネル番号即ち要求信号を選択し、選択した要求信号を出力する。
【００３９】
図３に示すように、第１ＤＭＡＣ３２ａは、優先順位制御部４１、パラメータ選択部４２、プロトコル制御部４３、ラッチ部４４，４５を含む。
優先順位制御部４１は、各処理部２１〜２７から出力される要求信号Ｗ０〜Ｗ６に基づいて、設定された情報に従って選択した１つの要求信号のチャネル番号をパラメータ選択部４２とプロトコル制御部４３に出力する。また、優先順位制御部４１は、選択したチャネル番号に応じた要求有効信号をプロトコル制御部４３に出力する。パラメータ選択部４２は、各処理部２１〜２７から出力されるパラメータＰａ０〜Ｐａ６のうち、チャネル番号に対応する処理部から出力されるパラメータを選択し、その選択したパラメータを転送パラメータＰＤａとして出力する。
【００４０】
プロトコル制御部４３は、要求有効信号に基づいて、メモリコントローラ３４に対する転送要求信号ＳＤａを出力する。この転送要求信号ＳＤａは、要求信号に対するチャネル番号を含む。ラッチ部４４は、プロトコル制御部４３から出力される転送要求信号ＳＤａを保持する。
【００４１】
また、プロトコル制御部４３は、要求有効信号に基づいて応答信号を出力する。この応答信号は、各要求信号、即ち各処理部２１〜２７に対応し、優先順位制御部４１により選択されたチャネル番号の処理部２１〜２７に対応する応答信号が、要求を受け付けた旨、即ち、ＤＭＡチャネルによる転送を許可する信号となる。ラッチ部４５は、プロトコル制御部４３から出力される応答信号をラッチして、そのラッチレベルに応じ各処理部２１〜２７に対する応答信号ＣＷ０〜ＣＷ６を出力する。
【００４２】
第２ＤＭＡＣ３２ｂは、第１ＤＭＡＣ３２ａと同様に構成され、各処理部２１〜２７から出力される要求信号Ｗ０〜Ｗ６に基づいて、選択したチャネル番号を含む転送要求信号ＳＤｂを出力する。また、第２ＤＭＡＣ３２ｂは、各処理部２１〜２７から出力されるパラメータＰａ０〜Ｐａ７のうち、選択したチャネル番号に対応するパラメータを転送パラメータＰＤｂとして出力する。また、第２ＤＭＡＣ３２ｂは、選択したチャネル番号に基づいて、応答信号ＣＷ０〜ＣＷ６を出力する。
【００４３】
第３ＤＭＡＣ３２ｃは、第１ＤＭＡＣ３２ａと同様に構成され、各処理部２２〜２８から出力される要求信号Ｒ１〜Ｒ７に基づいて、選択したチャネル番号を含む転送要求信号ＳＤｃを出力する。また、第３ＤＭＡＣ３２ｃは、各処理部２２〜２８から出力されるパラメータＰａ１〜Ｐａ８のうち、選択したチャネル番号に対応するパラメータを転送パラメータＰＤｃとして出力する。また、第４ＤＭＡＣ３２ｄは、選択したチャネル番号に基づいて、応答信号ＣＲ１〜ＣＲ７を出力する。
【００４４】
第４ＤＭＡＣ３２ｄは、第３ＤＭＡＣ３２ｃと同様に構成され、各処理部２２〜２８から出力される要求信号Ｒ１〜Ｒ７に基づいて、選択したチャネル番号を含む転送要求信号ＳＤｄを出力する。また、第４ＤＭＡＣ３２ｄは、各処理部２２〜２８から出力されるパラメータＰａ１〜Ｐａ８のうち、選択したチャネル番号に対応するパラメータを転送パラメータＰＤｄとして出力する。また、第４ＤＭＡＣ３２ｄは、選択したチャネル番号に基づいて、応答信号ＣＲ１〜ＣＲ７を出力する。
【００４５】
図４に示すように、優先順位制御部４１は、設定されたレベルに対応する複数（本実施形態では３つ）のレベル内調停部５１ａ〜５１ｃを有する。本実施形態において、第１レベル内調停部５１ａは１番目の優先度、即ち最も高い優先度に設定され、第２レベル内調停部５１ｂは２番目の優先度に設定され、第３レベル内調停部５１ｃは３番目の優先度、即ち最も低い優先度に設定されている。
【００４６】
各レベル内調停部５１ａ〜５１ｃには、それぞれ書込要求信号Ｗ０〜Ｗ６、即ち、処理部２１〜２７から出力される全ての書込要求信号Ｗ０〜Ｗ６が入力される。また、各レベル内調停部５１ａ〜５１ｃには、それぞれ第１イネーブル信号ＥＮａ１〜ＥＮｃ１が入力される。第１イネーブル信号ＥＮａ１〜ＥＮｃ１は、それぞれのレベル内調停部５１ａ〜５１ｃが出力したチャネル番号に対してバス使用権が確定したか否かを示す。各レベル内調停部５１ａ〜５１ｃは、第１イネーブル信号ＥＮａ１〜ＥＮｃ１に基づいて、それぞれが出力したチャネル番号についてバス使用権が確定した場合に、所定の方式（本実施形態ではラウンドロビン方式）により優先度を変更する。
【００４７】
各レベル内調停部５１ａ〜５１ｃには、それぞれ信号選択情報が格納されている。信号選択情報は、少なくとも１つのチャネル番号を含む。また、信号選択情報は、それぞれのレベル内調停部５１ａ〜５１ｃにおいて、調停の優先度が設定されている。各レベル内調停部５１ａ〜５１ｃは、それぞれ設定されたチャネル番号に対応する書込要求信号の調停を行い、要求の有無を示す有効信号ＳＥ１〜ＳＥ３を生成する。そして、各レベル内調停部５１ａ〜５１ｃは、イネーブル信号（確定信号）に応答して調停結果に応じたチャネル番号を出力する。そして、各レベル内調停部５１ａ〜５１ｃは、上記の第１イネーブル信号ＥＮａ１〜ＥＮｃ１に基づいて、各信号選択情報の優先度を変更する。
【００４８】
優先順位制御部４１は、設定されたレベルに対応する２つの優先フラグ生成部５２ａ，５２ｂを有している。各優先フラグ生成部５２ａ，５２ｂは、要求信号が競合する場合に、それぞれ対応するレベルの要求信号を優先するか、他のレベルの要求信号を優先するかを示す優先フラグを生成する。従って、最下位以外のレベルを優先しない場合、自動的に最下位のレベルの要求信号が選択されるため、最下位以外のレベルに対応して優先フラグ生成部が設けられている。
【００４９】
優先フラグ生成部５２ａには、第１イネーブル信号ＥＮａ１及び第２イネーブル信号ＥＮａ２が入力される。第１イネーブル信号ＥＮａ１は、優先フラグ生成部５２ａが対応するレベルの要求（信号、チャネル番号）についてバス使用権が確定したか否かを示す。第２イネーブル信号ＥＮａ２は、他のレベルの要求（信号、チャネル番号）についてバス使用権が確定したか否かを示す。即ち、優先フラグ生成部５２ａは、第１イネーブル信号ＥＮａ１により当該優先レベルのチャネル番号について使用権が確定したことを確認し、第２イネーブル信号ＥＮａ２により他のレベルのチャネル番号について使用権が確定したことを確認する。第１優先フラグ生成部５２ａは、最上位の優先レベルに対応する。従って、第１優先フラグ生成部５２ａは、自身のレベルに対応するチャネル番号についてバス使用権が確定したか、自身より低いレベルのチャネル番号についてバス使用権が確定したかを判断する。優先フラグ生成部５２ａは、カウント機能を有し、それぞれバス使用権が確定した回数をカウントする。そして、優先フラグ生成部５２ａは、それぞれのカウント値に基づいて、優先フラグＳＰ１を生成する。
【００５０】
優先フラグＳＰ１は、例えば２値の信号であり、第１の値（例えば「０」）の場合に、当該レベルのチャネル番号が優先であることを示し、第２の値（例えば「１」）の場合に、他のレベルのチャネル番号が優先であることを示す。
【００５１】
第２優先フラグ生成部５２ｂには、第１優先フラグ生成部５２ａと同様に、第１イネーブル信号ＥＮｂ１及び第２イネーブル信号ＥＮｂ２が入力される。第１イネーブル信号ＥＮｂ１は、優先フラグ生成部５２ｂが対応するレベルの要求（信号、チャネル番号）についてバス使用権が確定したか否かを示す。第２イネーブル信号ＥＮｂ２は、他のレベルの要求（信号、チャネル番号）についてバス使用権が確定したか否かを示す。第２優先フラグ生成部５２ｂは、第１イネーブル信号ＥＮｂ１及び第２イネーブル信号ＥＮｂ２に基づいて、優先フラグＳＰ２を生成する。
【００５２】
上記したように、第１優先フラグ生成部５２ａは、自身のレベル（最上位レベル）を優先するか、他のレベル即ち自身より下位のレベルを優先するかを示す優先フラグＳＰ１を生成する。同様に、第２優先フラグ生成部５２ｂは、自身のレベルを優先するか他のレベルを優先するかを示す優先フラグＳＰ２を生成する。他のレベルについて、最上位のレベルについては、第１優先フラグ生成部５２ａに入力される第１イネーブル信号ＥＮａ１により示されている。従って、第２優先フラグ生成部５２ｂは、自身のレベルを優先するか、自身より下位のレベルを優先するかを示す優先フラグＳＰ２を生成する。
【００５３】
優先順位制御部４１は、設定されたレベルに対応する２つのレベル間調停部５３ａ，５３ｂを有している。
第１レベル間調停部５３ａには、第１レベル内調停部５１ａから出力される有効信号ＳＥ１と、第１優先フラグ生成部５２ａから出力される優先フラグＳＰ１と、オア回路５６の出力信号ＳＥ２１が入力される。オア回路５６には、第２レベル内調停部５１ｂから出力される有効信号ＳＥ２と、第３レベル内調停部５１ｃから出力される有効信号ＳＥ３が入力される。オア回路５６は、両有効信号ＳＥ２，ＳＥ３を論理和演算して合成信号ＳＥ２１を生成する。この合成信号ＳＥ２１は、第２レベル内調停部５１ｂ及び第３レベル内調停部５１ｃのうちの少なくとも一方について有効となる要求信号が入力されていることを示す。つまり、合成信号ＳＥ２１は、レベル間調停部５３ａの設定レベルに対して、そのレベルよりも下位のレベルについて有効な要求信号があることを示す有効信号である。
【００５４】
第１レベル間調停部５３ａは、両有効信号ＳＥ１，ＳＥ２のうちの何れか一方が有効な要求があることを示す場合、その有効な要求があることを示す有効信号をレベル間調停信号ＳＡ１として出力する。また、第１レベル間調停部５３ａは、両有効信号ＳＥ１，ＳＥ２がともに有効な要求であることを示す、つまり有効信号ＳＥ１，ＳＥ２が競合している場合に、優先フラグＳＰ１に従って何れか一方を選択し、その選択した有効信号をレベル間調停信号ＳＡ１として出力する。つまり、第１レベル間調停部５３ａは、優先フラグＳＰ１に従って、自己のレベルを優先する場合には有効信号ＳＥ１を選択し、自己のレベルを優先しない、即ち他のレベルを優先する場合には有効信号ＳＥ２を選択する。
【００５５】
図５は、第１レベル間調停部５３ａの動作説明図である。同図において、「優先フラグ」は第１優先フラグ生成部５２ａから出力される優先フラグＳＰ１を示し、「有効信号１」は第１レベル内調停部５１ａから出力される有効信号ＳＥ１を示し、「有効信号２」は第２レベル内調停部５１ｂから出力される有効信号ＳＥ２を示す。「０」の「優先フラグ」は上位側レベルを優先することを示し、「１」の「優先フラグ」は下位側レベルを優先することを示す。「１」の「有効信号１」「有効信号２」は、設定されたＤＭＡチャネルからの要求があることを示し、「０」は要求がないことを示す。
【００５６】
従って、「有効信号１」「有効信号２」がともに「１」の場合は、レベル間において要求が競合していることを示す。この場合、レベル間調停部５３ａは、選択結果に示すように、「０」の優先フラグに従って「有効信号１」を選択し、「１」の優先フラグに従って「」有効信号２」を選択する。
【００５７】
同様に、第２レベル間調停部５３ｂには、第２レベル内調停部５１ｂから出力される有効信号ＳＥ２と、第２優先フラグ生成部５２ｂから出力される優先フラグＳＰ２と、第３レベル内調停部５１ｃから出力される有効信号ＳＥ３が入力される。第２レベル間調停部５３ｂは、優先フラグＳＰ２に従って、両有効信号ＳＥ２，ＳＥ３のうちの何れか一方を選択し、選択した有効信号をレベル間調停信号ＳＡ２として出力する。
【００５８】
各レベル間調停部５３ａ，５３ｂから出力されるレベル間調停信号ＳＡ１，ＳＡ２は、チャネル確定部５４に入力される。このチャネル確定部５４には、各レベル内調停部５１ａ〜５１ｃから出力されるチャネル番号ＳＮ１〜ＳＮ３が入力される。チャネル確定部５４は、レベル間調停信号ＳＡ１，ＳＡ２に基づいて、各チャネル番号ＳＮ１〜ＳＮ３のうちの１つに対してバス使用権を確定し、確定したチャネル番号ＣＮａを出力する。このチャネル番号ＣＮａは、図２に示すメモリコントローラ３４に供給される。
【００５９】
図６は、チャネル確定部５４の動作説明図である。同図において、「レベル間調停信号１」は第１レベル間調停部５３ａから出力される調停信号ＳＡ１を示し、「レベル間調停信号２」は第２レベル間調停部５３ｂから出力される調停信号ＳＡ２を示し、「有効信号３」は第３レベル内調停部５１ｃから出力される有効信号ＳＥ３を示す。「１」の「レベル間調停信号」は対応する優先レベルのチャネル番号が有効、即ち要求があることを示す。
【００６０】
従って、上位レベル側の「レベル間調停信号」が「１」の場合に、その上位側レベルのチャネル番号に対してバスの使用権を確定する。そして、各「レベル間調停信号」が「０」の場合に、下位側レベル、即ち最下位レベルのチャネル番号に対してバスの使用権を確定する。
【００６１】
更に、チャネル確定部５４は、各チャネル番号ＳＮ１〜ＳＮ３に対してバス使用権を確定したか否かを示すイネーブル信号ＥＮａ１〜ＥＮｃ１を生成する。各イネーブル信号ＥＮａ１〜ＥＮｃ１は、それぞれ対応するレベルのレベル内調停部５１ａ〜５１ｃに出力される。
【００６２】
第２のレベルに対応するイネーブル信号ＥＮｂ１と第３のレベル（最下位レベル）に対応するイネーブル信号ＥＮｃ１は、オア回路５７に入力される。オア回路５７は、両信号ＥＮｂ１，ＥＮｃ１を論理和演算して生成した信号を最上位レベルに対応する第２イネーブル信号ＥＮａ２として出力する。また、第３のレベルに対応するイネーブル信号ＥＮｃ１は、第２のレベルについて、イネーブル信号ＥＮｂ１に対して他のレベルのチャネル番号を確定したことを示す。従って、チャネル確定部５４から出力される第３のレベルに対応するイネーブル信号ＥＮｃ１は、第２のレベルにおいて他のレベルのチャネル番号を確定したことを示す第２イネーブル信号ＥＮｂ２として優先フラグ生成部５２ｂに入力される。
【００６３】
次に、レベル内調停部５１ａの構成を説明する。
図７に示すように、レベル内調停部５１ａは、判定部６１、選択部６２、情報記憶部６３、並び替え部６４を有する。判定部６１には所定数の要求信号（本実施形態では、すべての要求信号Ｗ０〜Ｗ６）が入力される。また、判定部６１には、情報記憶部６３に記憶された設定情報が入力される。
【００６４】
情報記憶部６３は、複数（ｎ個）のレジスタ６３1 〜６３n を含み、各レジスタ６３1 〜６３n にはそれぞれ設定情報又は非設定情報が記憶される。設定情報は判定部６１に入力される要求信号Ｗ０〜Ｗ６のうち、当該レベル内調停部５１ａに割り当てられた要求信号を出力するＤＭＡチャネル（処理部）のチャネル番号であり、非設定情報はチャネル番号が設定されていないことを示す値である。情報記憶部６３はレジスタ６３1 〜６３n により構成されているため、複数のレジスタに同一値のチャネル番号を設定可能である。この設定情報及び非設定情報は、図２に示すＣＰＵ３６により選択部６２を介して書き込まれる。
【００６５】
ＣＰＵ３６は、電源投入時の初期化処理や、設定情報であるチャネル番号を設定チャネル値とする。各レジスタ６３1 〜６３n は、それぞれ記憶した情報（値）を出力する。
判定部６１は、サービス間隔（バスの使用を許可する期間）毎に、各要求信号Ｗ０〜Ｗ６に基づいて、レベル内調停部５１ａの優先レベルに設定されたＤＭＡチャネルによるバス使用権の要求があるか否かを判断する。そして、判定部６１は、要求がある場合にはそのＤＭＡチャネルのチャネル番号ＳＮ１と、要求があることを示す（例えばＨレベル）有効信号ＳＥ１を出力する。一方、要求がない場合には、その旨を示す（例えばＬレベル）有効信号ＳＥ１を出力する。
【００６６】
詳述すると、判定部６１は、各要求信号Ｗ０〜Ｗ６がバス使用権の要求を示す（例えばＨレベル）か否かを判断する。これは、要求信号Ｗ０〜Ｗ６の論理和演算結果により判断される。判定部６１は、要求がある場合に、その要求を示す要求信号のチャネル番号と、各レジスタ６３1 〜６３n から出力される設定チャネル値とを順次比較し、最初に設定チャネル値と一致するチャネル番号を、このレベル内調停部５１ａにおける調停結果、即ち選択したチャネル番号とする。判定部６１は、設定したチャネル番号ＳＮ１を出力するとともに、出力するチャネル番号ＳＮ１が有効であることを示す有効信号ＳＥ１を出力する。また、判定部６１は、決定したチャネル番号、即ち要求信号のチャネル番号と最初に一致した設定チャネル値が記憶されたレジスタを示すポインタ情報を並び替え部６４に出力する。
【００６７】
並び替え部６４には、情報記憶部６３を構成するすべてのレジスタ６３1 〜６３n に記憶された情報が入力される。並び替え部６４は、シフトレジスタであり、判定部６１から入力されたポインタ情報が示すレジスタに記憶された情報が最終のレジスタに記憶されるように、情報の並び替えを行い、その結果を選択部６２に出力する。例えば、判定部６１において、２番目のレジスタ６３2 に記憶された設定チャネル値と等しいチャネル番号のＤＭＡチャネルからの要求を選択した場合、判定部６１は、その２番目のレジスタ６３2 を示すポインタ情報を出力する。並び替え部６４は、そのポインタ情報に従って、３〜ｎ番目のレジスタ６３3 〜６３n に記憶された情報を２〜（ｎ−１）番目のレジスタ６３2 〜６３n-1 のレジスタに記憶するとともに、２番目のレジスタ６３2 に記憶された情報をｎ番目のレジスタ６３n に記憶されるように、情報をシフトし、そのシフト結果を選択部６２に出力する。尚、図ではレジスタ６３3 を省略している。
【００６８】
選択部６２には、イネーブル信号ＥＮａ１が入力される。選択部６２は、図２に示すＣＰＵ３６から入力される情報（設定情報及び非設定情報）をレジスタ６３1 〜６３n に書き込む。また、選択部６２は、イネーブル信号ＥＮａ１に基づいて、該信号ＥＮａ１がこの優先レベルの要求が確定したことを示す場合に並び替え部６４から入力される情報をレジスタ６３1 〜６３n に書き込む。この並び替え部６４及び選択部６２により、情報記憶部６３に記憶したチャネル番号をラウンドロビン方式により並び替え、この優先レベル内の優先順序を変更する。
【００６９】
次に、優先フラグ生成部５２ａの構成を説明する。
図８に示すように、優先フラグ生成部５２ａは、カウンタ制御部７１、選択部７２、カウンタ７３、フラグ制御部７４を有する。カウンタ７３は、第１カウンタ７３ａと第２カウンタ７３ｂとを有する。両カウンタ７３ａ，７３ｂは例えばアップカウンタである。両カウンタ７３ａ，７３ｂには、それぞれカウントアップ値が図２に示すＣＰＵ３６から格納される。第１カウンタ７３ａと第２カウンタ７３ｂにそれぞれ格納されるカウントアップ値は、上位側レベル内調停部即ち第１レベル内調停部５１ａと、下位側レベル内調停部即ち第２レベル内調停部５１ｂの優先順位の比に応じた値である。それぞれのカウントアップ値は、例えば、「４」，「３」である。両カウンタ７３ａ，７３ｂは、カウンタ制御部７１から出力されるカウントアップ信号に応答してカウントアップ（＋１）する。そして、各カウンタ７３ａ，７３ｂは、それぞれカウント値がカウントアップ値と一致すると一致信号をカウンタ制御部７１に出力するとともに、カウント値をクリア（＝０）する。
【００７０】
カウンタ制御部７１には、第１イネーブル信号ＥＮａ１と第２イネーブル信号ＥＮａ２が入力される。カウンタ制御部７１は、第１イネーブル信号ＥＮａ１に応答して第１カウンタ７３ａにカウントアップ信号を出力し、第２イネーブル信号ＥＮａ２に応答して第２カウンタ７３ｂにカウントアップ信号を出力する。第１イネーブル信号ＥＮａ１は、レベル間で要求が競合した場合に上位側レベル、即ち第１レベル内調停部５１ａの優先レベルのチャネル番号を確定したことを示し、第２イネーブル信号ＥＮａ２は、レベル間で要求が競合した場合に下位側レベル、即ち第１レベル内調停部５１ａより下位の優先レベルのチャネル番号を確定したことを示す。従って、第１カウンタ７３ａのカウント値は、調停によって上位側レベルの要求を確定した回数を示し、第２カウンタ７３ｂのカウント値は調停によって下位側レベルの要求を確定した回数を示す。
【００７１】
カウンタ制御部７１は、両カウンタ７３ａ，７３ｂから出力される一致信号に基づいてフラグ制御信号をフラグ制御部７４に出力する。フラグ制御部７４は、フラグ制御信号に応答して優先フラグＳＰ１を生成する。詳述すると、カウンタ制御部７１は、第１イネーブル信号ＥＮａ１に応答して第１カウンタ７３ａをカウントアップさせている間、フラグ制御信号によりフラグ制御部７４から上位レベルを優先する優先フラグ（例えば値「０」、Ｌレベル）を出力させる。このとき、図４に示す第１レベル間調停部５３ａは、第１レベル内調停部５１ａと第２レベル内調停部５１ｂからそれぞれ要求があることを示す有効信号ＳＥ１，ＳＥ２が出力されると、「０」の優先フラグＳＰ１に応答して、上位側レベルの有効信号ＳＥ１を選択する。そして、第１レベル間調停部５３ａは、選択した有効信号を上位側レベルと下位側レベルとの間で要求信号を調停したことを示すレベル間調停信号ＳＡ１として出力する。
【００７２】
そして、カウンタ制御部７１は、第１カウンタ７３ａが一致信号を出力すると、フラグ制御信号によりフラグ制御部７４から下位レベルを優先する優先フラグ（例えば値「１」、Ｈレベル）を出力させる。すると、図４に示す第１レベル間調停部５３ａは、第１レベル内調停部５１ａと第２レベル内調停部５１ｂからそれぞれ要求があることを示す有効信号ＳＥ１，ＳＥ２が出力されると、「１」の優先フラグＳＰ１に応答して、下位側レベルの有効信号ＳＥ２を選択する。そして、第１レベル間調停部５３ａは、選択した有効信号を上位側レベルと下位側レベルとの間で要求信号を調停したことを示すレベル間調停信号ＳＡ１として出力する。
【００７３】
従って、このレベル間調停部５３ａは、優先フラグ生成部５２ａの第１カウンタ７３ａと第２カウンタ７３ｂにそれぞれ設定したカウント値の回数だけ上位側レベルの要求と下位側レベルの要求をそれぞれ確定する。即ち、レベル間調停部５３ａは、第１及び第２カウンタ７３ａ，７３ｂに設定したカウント値の比に応じて、上位側レベルの要求を優先するとともに、下位側レベルの要求を許容する。
【００７４】
第２レベル内調停部５１ｂは、第１レベル内調停部５１ａと同じ構成であるため、図面を省略する。
第２レベル内調停部５１ｂの情報記憶部６３には、少なくとも１つのチャネル番号が記憶される。従って、第２レベル内調停部５１ｂにチャネル番号の設定を設定することにより、同チャネル番号のＤＭＡチャネルに対する優先レベルを容易に設定することができる。また、第１レベル内調停部５１ａに設定したチャネル番号を削除し、同チャネル番号を第２レベル内調停部５１ｂに設定することにより、同チャネル番号のＤＭＡチャネルに対する優先レベルを容易に変更することができる。
【００７５】
また、各レベル内調停部５１ａ，５１ｂの情報記憶部６３は、それぞれ複数のレジスタから構成されている。従って、例えば第１レベル内調停部５１ａにおいて同一値のチャネル番号を複数のレジスタに設定する。この場合、同一値のチャネル番号を設定したレジスタの数だけ、同チャネル番号のＤＭＡチャネルに対してバス使用権が与えられる。即ち、設定するレジスタの数に応じて、同一レベル内において優先度を上げることができる。
【００７６】
同一値のチャネル番号の設定は、異なる優先レベルについても行うことができる。即ち、第１レベル内調停部５１ａと第２レベル内調停部５１ｂに同じ値のチャネル番号を設定する。この場合、上記と同様に、設定したレジスタの数だけそのチャネル番号のＤＭＡチャネルにバス使用権が与えられる。
【００７７】
第３レベル内調停部５１ｃは、第１レベル内調停部５１ａと同じ構成であるため、図面を省略する。
この第３レベル内調停部５１ｃについても、第２レベル内調停部５１ｂと同様のことがいえる。即ち、各レベル内調停部５１ａ〜５１ｃに対してチャネル番号を設定することにより、優先レベルを容易に設定することができる。また、設定したチャネル番号を変更することにより、優先レベルを容易に変更することができる。更に、その時に動作しない処理部について、第１〜第３レベル内調停部５１ａ〜５１ｃの何れにもチャネル番号を設定しないことにより、同チャネル番号のＤＭＡチャネルに対してバス使用権を許容しない。即ち、必要としないＤＭＡチャネルに対してリソースであるバス使用権を設定しないため、必要とするＤＭＡチャネルに対してバス使用権を従来に比べて多く与えることができる。
【００７８】
そして、第２優先フラグ生成部５２ｂは、第１優先フラグ生成部５２ａと同じ構成であるため、図面を省略する。第２優先フラグ生成部５２ｂの第１及び第２カウンタ７３ａ，７３ｂには、第１優先フラグ生成部５２ａと同様に、上位側レベルの要求と下位側レベルの要求を確定する値が格納されている。従って、図４に示すように、この第２優先フラグ生成部５２ｂが生成する優先フラグＳＰ２を入力する第２レベル間調停部５３ｂは、レベル間調停部５３ａは、第１及び第２カウンタ７３ａ，７３ｂに設定したカウント値の比に応じて、上位側レベルの要求を優先するとともに、下位側レベルの要求を許容する。優先レベルが高く設定されたＤＭＡチャネルの処理部から連続的にバス使用権の要求がある場合でも、優先レベルが最も低く設定された第３レベル内調停部５１ｃに設定されたチャネル番号のＤＭＡチャネルについてもバス使用権を確定する。即ち、各レベル内調停部５１ａ〜５１ｃに設定されたチャネル番号のＤＭＡチャネルのすべてに対してバス使用権を確実に確定することができる。
【００７９】
上記のレベル内調停部の処理の流れを図９に従って説明する。
先ず、各レベル内調停部に対してＤＭＡチャネルの割当て、即ちチャネル番号の設定が行われる（ステップ８１）。次に、レベル間調停部は、転送中、即ちバスが使用中か否かを判断し（ステップ８２）、転送中の場合には転送終了まで待つ。転送が終了すると、レベル間調停部は、割当てチャネルの要求があるか否かを判断し（ステップ８３）、要求が無い場合にはステップ８２に戻る。
【００８０】
チャネルの要求がある場合、チャネル内調停部は要求チャネルの検索を行い（ステップ８４）、優先チャネルを決定する（ステップ８５）。次に、レベル内調停部は、レベル内調停部に対して有効信号の出力がディセーブル（禁止）されているか否かを判断し（ステップ８６）、ディセーブルされていない場合に有効信号及びチャネル番号を出力する（ステップ８７）。次に、レベル内調停部は、当グループが選択されたか否か、即ち当該レベルのチャネル番号に対してバスの使用権が確定されたか否かを判断し（ステップ８８）、選択された場合にチャネル番号の並び替えを行う（ステップ８９）。そして、１回のサービスについての全ての処理が終了したか否かを判断し（ステップ９０）、処理終了によりステップ８２に戻って次の要求を待つ。
【００８１】
上記の優先フラグ生成部が実行する処理の流れを図１０に従って説明する。
先ず、優先フラグ生成部に対して優先フラグ初期値、優先比率（カウント値）が設定される（ステップ９１）。次に、優先フラグ生成部は、優先フラグ側、即ちその時に優先しているレベル（上位側レベル又は下位側レベル）について要求受付があるか否かを判断し（ステップ９２）、要求受付がある場合に要求が競合しているか否かを判断する（ステップ９３）。次に、優先フラグ生成部は、競合している場合に、優先フラグ側のカウント値をダウンカウントする（ステップ９４）。
【００８２】
次に、優先フラグ生成部は、カウント値がゼロ「０」か否か、即ち設定された数の要求を受け付けたか否かを判断し（ステップ９５）、カウント値が「０」の場合に優先フラグ側の優先比率、即ちカウント値を再設定する（ステップ９６）。次に、優先フラグ生成部は優先フラグを反転する、即ち優先するレベルを切り換えるように優先フラグを変更する（ステップ９７）。そして、１回のサービスについての全ての処理が終了したか否かを判断し（ステップ９８）、処理終了によりステップ８２に戻って次の要求を待つ。
【００８３】
従って、図９に示す処理を記述したプログラムを記憶し、そのプログラムを実行する処理部によりレベル内調停部を構成することもできる。同様に、図１０に示す処理を記述したプログラムを記憶し、そのプログラムを実行する処理部により優先フラグ生成部を生成することもできる。
【００８４】
次に、転送モニタ回路３３を説明する。
図１１に示すように、転送モニタ回路３３は、モニタ情報を記憶する情報記憶部３３ａと、情報記憶部３３ａを制御する制御部３３ｂを含む。
【００８５】
情報記憶部３３ａは、レジスタ１０１、チャネル履歴回路１０２、加算器１０３、レジスタ１０４、レジスタ１０５、チャネル選択部１０６、アンド回路１０７を含む。
レジスタ１０１には、図３に示すＤＭＡＣ３２ａから出力されるチャネル番号ＣＮａが入力される。また、レジスタ１０１には、イネーブル信号ＭＥＮが入力される。本実施形態のレジスタ１０１は、イネーブル信号ＭＥＮに応答して、供給されるチャネル番号ＣＮａを記憶し、記憶したチャネル番号を出力する。
【００８６】
チャネル履歴回路１０２は、複数のチャネル番号を記憶可能に構成されている。例えば、チャネル履歴回路１０２はシフトレジスタのように構成され、チャネル番号を順次記憶する。チャネル番号は、図２に示すＤＭＡＣ３２ａが調停する処理部２１〜２７の要求に対応している。従って、ＤＭＡＣ３２ａにより選択されたチャネル番号を順次記憶することは、処理部２１〜２７に対してＤＭＡチャネルを設定するサービスの履歴を記憶することである。
【００８７】
また、チャネル履歴回路１０２は、記憶した複数のチャネル番号を並列的に読み出すことが可能に構成されている。つまり、チャネル履歴回路１０２は、直列的に発生するチャネル番号を順次記憶し、記憶した複数のチャネル番号を並列的に読み出すことが可能に構成されている。この構成により、記憶した複数のチャネル番号を容易に読み出すことができる。
【００８８】
加算器１０３には、図３に示す各ＤＭＡＣ３２ａから出力される転送パラメータＰＤａが供給される。また、この加算器１０３には、レジスタ１０４の出力データが供給される。加算器１０３は、転送パラメータＰＤａに含まれる転送データ量をレジスタ１０４の出力データに加算し、その加算結果を出力する。レジスタ１０４は、加算器１０３の出力データを記憶する。従って、レジスタ１０４は、転送データ量を累積加算した演算結果を記憶し、その演算結果（累積値）を出力する。つまり、転送モニタ回路３３は、転送データ量を累積演算する演算器を含む。また、レジスタ１０４は、クリア信号Ｔｃに応答して記憶値をクリア（＝０）にする。
【００８９】
レジスタ１０５は、更新トリガ信号Ｔｕに応答して、レジスタ１０４の出力データ、即ち転送データ量の累積値を記憶する。そして、レジスタ１０５は、記憶した累積値（データ量モニタ値）を出力する。
【００９０】
チャネル選択部１０６には、図３に示すＤＭＡＣ３２ａから出力される応答信号ＣＷ０〜ＣＷ６が供給される。チャネル選択部１０６は、応答信号ＣＷ０〜ＣＷ６に基づいて、要求に対するチャネル番号が確定しているときに所定レベル（本実施形態ではＨレベル）の確定信号ＣＫを出力する。
【００９１】
アンド回路１０７は、確定信号とモニタ期間信号ＭＫを論理演算（論理積演算）して上記のイネーブル信号ＭＥＮを生成し、そのイネーブル信号ＭＥＮを出力する。モニタ期間信号ＭＫは、後述するが、転送状態をモニタする期間Ｈレベルとなる。従って、モニタ期間において、ＤＭＡチャネルのチャネル番号が確定する毎にイネーブル信号ＭＥＮが出力される。
【００９２】
上記のレジスタ１０１，１０４は、イネーブル信号ＭＥＮに応答してそれぞれ情報を記憶する。従って、チャネル番号が確定する毎に、そのチャネル番号と、チャネル番号におけるデータ転送量を累積した累積値を記憶する。
【００９３】
上記したように、情報記憶部３３ａは、ＤＭＡＣ３２ａの調停結果であるチャネル番号、及びＤＭＡＣ３２ａにより制御されるＤＭＡチャネルにおけるデータ転送量を記憶する。つまり、図１１に示す情報記憶部３３ａは、ＤＭＡＣ３２ａに対応するものである。そして、転送モニタ回路３３は、他のＤＭＡＣ３２ｂ〜３２ｄに対応する情報記憶部を有している。これらの情報記憶部は、図１１に示す情報記憶部３３ａと同様に構成されるため、図面を省略する。
【００９４】
制御部３３ｂは、開始トリガ選択部１０８、終了トリガ選択部１０９、更新トリガ選択部１１０、モニタ制御部１１１、比較回路１１２、分周回路１１３、ＣＰＵインタフェース１１４を含む。
【００９５】
開始トリガ選択部１０８は、モニタを開始する開始トリガ信号Ｔｓを生成する。本実施形態では、開始トリガ選択部１０８には、垂直同期信号Ｖｓ、ＤＭＡチャネル起動信号ＤＷＡ、ソフトウェアトリガ信号ＳＦ１が入力される。開始トリガ選択部１０８は、入力信号のうち、設定値に応じた信号を選択し、その選択した信号に基づいて開始トリガ信号Ｔｓを生成する。
【００９６】
垂直同期信号Ｖｓは、同期信号Ｓｙｎｃに含まれ、図１に示す撮像部１１から読み出した１つのフレームの画像データの開始を示すパルス信号である。
ＤＭＡチャネル起動信号ＤＷＡは、各処理部２１〜２８が出力する信号であり、設定されたＤＭＡチャネルによりデータ転送を開始するための信号である。
【００９７】
ソフトウェアトリガ信号ＳＦ１は、図２のＣＰＵ３６から供給される信号である。転送モニタ回路３３は、調停回路３１の動作確認、動作調整を行うために、調停回路３１の動作をモニタするものである。つまり、図１に示すデバッグ装置２００を接続したときに有効な回路であり、ＣＰＵ３６から供給する信号は、デバッグ装置２００から供給する信号である。従って、デバッグ装置２００からモニタの開始を設定することができるため、任意の時点（モニタしたいタイミング）からのモニタ情報を容易に取得することができる。
【００９８】
終了トリガ選択部１０９は、モニタを終了する終了トリガ信号Ｔｅを生成する。本実施形態では、終了トリガ選択部１０９には、エラー通知信号ＥＲＲ、ＤＭＡチャネル停止信号ＤＳＴ、リミット判定信号ＬＴが入力される。終了トリガ選択部１０９は、入力信号のうち、設定値に応じた信号を選択し、その選択した信号に基づいて終了トリガ信号Ｔｅを生成する。
【００９９】
エラー通知信号ＥＲＲは、各処理部２１〜２８が出力する信号である。処理部２１〜２８のうちのいくつかは、同期信号Ｓｙｎｃに基づいて、１つのフレームの画像データに対する処理を、１つのフレームを転送する期間内で処理しなければならない。例えば、画像データをメモリ１４に格納するキャプチャ処理は、同期信号Ｓｙｎｃ（垂直同期信号Ｖｓ）に基づいて転送される画像データを、次の垂直同期信号Ｖｓが入力されるまでにメモリ１４に格納しなければデータの取りこぼしとなる。また、表示処理は、同期信号Ｓｙｎｃ（垂直同期信号Ｖｓ）に基づいて１つのフレームの画像データを表示部１３に出力しなければ、表示の乱れを発生する。
【０１００】
これらの異常は、該当する処理部が処理を実行するフレーム期間のみならず、以前の他の処理部の処理の遅延により発生する場合もある。従って、各処理部２１〜２８は、規定時間（１フレーム期間）内に所定量（１フレーム分の画像データ）を処理できない場合に、エラー通知信号ＥＲＲを出力する。そして、エラー通知信号ＥＲＲに応じてモニタを終了し、記憶されたモニタ情報を読み出すことにより、エラーが発生した処理部、エラーが発生するまでにＤＭＡチャネルを利用した処理部、転送データ量を確認することができる。その確認結果により、処理部の優先順位や、ＤＭＡＣ３２ａ〜３２ｄに割り当てる処理部の組み合わせを調整することにより、異常発生を防ぐことができるようになる。
【０１０１】
リミット判定信号ＬＴは、比較回路１１２から出力される。比較回路１１２には、レジスタ１０４から出力される信号、即ち累積データ量が供給される。また、比較回路１１２はＣＰＵインタフェース１１４に接続され、図２に示すＣＰＵ３６からリミット値ＬＭが設定される。このリミット値ＬＭは、更新期間内におけるデータ転送量（合計値）の最大値であり、転送データ量の累積値がこのリミット値を越える場合には、ＤＭＡチャネルの転送が処理部の処理に影響する場合が考えられる。このため、リミット値ＬＭを越える転送データ量が発生したときに、モニタを終了するためのものである。
【０１０２】
ＤＭＡチャネル停止信号ＤＳＴは、各処理部２１〜２８が出力する信号であり、設定されたＤＭＡチャネルにおけるデータ転送を停止するための信号である。ＤＭＡチャネル停止信号によりモニタを終了することにより、そのＤＭＡチャネルを利用したＤＭＡ転送中に発生する状態をモニタすることができるようになる。
【０１０３】
モニタ制御部１１１は、開始トリガ選択部１０８から出力される開始トリガ信号Ｔｓと、終了トリガ選択部１０９から出力される終了トリガ信号Ｔｅに基づいて、モニタする期間を示すモニタ期間信号ＭＫを出力する。本実施形態のモニタ制御部１１１は、開始トリガ信号Ｔｓに応じてＨレベルのモニタ期間信号ＭＫを出力し、終了トリガ信号Ｔｅに応答してＬレベルのモニタ期間信号ＭＫを出力する。このモニタ期間信号ＭＫと、チャネル選択部１０６から出力される確定信号ＣＫとに基づいて、上記のイネーブル信号ＭＥＮが生成される。
【０１０４】
また、モニタ制御部１１１は、終了トリガ信号Ｔｅに基づいて、割り込み信号ＩＲを出力する。この割り込み信号ＩＲは、ＣＰＵインタフェース１１４を介して図２のＣＰＵ３６に供給される。従って、ＣＰＵ３６つまり図１に示すデバッグ装置２００は、モニタの終了通知を受け取ることができる。
【０１０５】
更新トリガ選択部１１０には、分周回路１１３から出力される分周信号ＤＨ、ソフトウェアトリガ信号ＳＦ２が入力される。更新トリガ選択部１１０は、入力信号のうち、設定値に応じた信号を選択し、その選択した信号に基づいて更新トリガ信号Ｔｕを生成する。
【０１０６】
更新トリガ信号Ｔｕは、チャネル履歴回路１０２とレジスタ１０５に供給される。チャネル履歴回路１０２は、更新トリガ信号Ｔｕに応答してチャネル履歴を更新する。レジスタ１０５は、更新トリガ信号Ｔｕに応答して、保持する累積値を更新する。
【０１０７】
また、更新トリガ選択部１１０は、選択した信号に基づいて、クリア信号Ｔｃを生成する。クリア信号Ｔｃはレジスタ１０４に供給される。レジスタ１０４は、クリア信号Ｔｃに応答してレジスタ内容をクリア（＝０）する。つまり、レジスタ１０４は、クリア信号Ｔｃに応答して累積値をリセットする。
【０１０８】
分周回路１１３は、水平同期信号Ｈｓに基づいてを設定された分周比にて分周して分周信号ＤＨを生成する。水平同期信号Ｈｓは同期信号Ｓｙｎｃに含まれ、フレームに含まれる１つのライン（水平ライン）の画像データの開始を示すパルス信号である。分周回路１１３は、設定された分周値（分周比）にて水平同期信号Ｈｓを分周して分周信号ＤＨを生成する。分周値（分周比）は、モニタ情報を更新する期間に応じて設定される。分周値が小さいと、モニタ情報を更新する回数が増える（更新期間が短）ため、ＤＭＡチャネルの設定等が判りやすくなる。また、分周値が大きいと、モニタ情報を更新する回数が少なくなる（更新期間が長）ため、例えばフレームを跨る長期間のモニタが可能となる。
【０１０９】
ソフトウェアトリガ信号ＳＦ２は、上記の信号ＳＦ１と同様に、図２のＣＰＵ３６から供給される信号である。従って、デバッグ装置２００からモニタ情報の更新タイミングを設定することができるため、任意の期間のモニタ情報を容易に取得することができる。
【０１１０】
上記のチャネル履歴回路１０２は、例えば図１２に示すように、制御回路１２１、履歴制御イネーブルレジスタ１２２、アンド回路１２３、複数の記憶部１２４（１）〜１２４（ｎ）を含む。制御回路１２１は、初期化信号Ｉ１とＤＭＡチャネル停止信号ＤＳＴとに基づいて、履歴制御イネーブルレジスタ１２２の内容を変更する。本実施形態において、履歴を更新するときにレジスタ１２２に第１の所定値（例えば１）を書き込み、履歴を更新しないときに第２の所定値（例えば０）を書き込む。レジスタ１２２は、その内容に応じた信号を出力する。また、制御回路１２１は、エラー通知信号ＥＲＲに応答して履歴を更新しないようにレジスタ１２２に第２の所定値を書き込む。
【０１１１】
アンド回路１２３は、レジスタ１２２の出力信号と確定信号ＣＫに基づいて更新信号Ｕ１を生成する。
各記憶部１２４（１）〜１２４（ｎ）は、直列接続され、初段の記憶部１２４（１）にチャネル番号ＣＮａが入力される。
【０１１２】
記憶部１２４（１）は、選択回路１２５（１）とレジスタ１２６（１）を含む。選択回路１２５（１）には、初期値とチャネル番号ＣＮａが入力される。選択回路１２５（１）は、初期化制御信号Ｉ２に応答して初期値を選択して出力し、更新信号に応答してチャネル番号ＣＮａを選択して出力する。レジスタ１２６（１）は、選択回路１２５（１）から出力される信号（値）を記憶し、その記憶値と等しい信号（値）を出力する。
【０１１３】
各記憶部１２４（２）〜１２４（ｎ）は、記憶部１２４（１）と同様に、それぞれ選択回路１２５（２）〜１２５（ｎ）とレジスタ１２６（２）〜１２６（ｎ）を含む。
従って、各記憶部１２４（１）〜１２４（ｎ）は、初期化制御信号Ｉ２に応答して供給される初期値を記憶する。初期値は、例えばゼロ（０ｂ）である。尚、「ｂ」は値がバイナリ形式（２進数形式）の値であることを示す。これにより、全ての記憶部に、（１）〜１２４（ｎ）が同時に記憶される。
【０１１４】
各記憶部１２４（１）〜１２４（ｎ）は、更新信号Ｕ１に応答して、入力値を保持する。これにより、更新信号Ｕ１が供給される毎に、入力されるチャネル番号ＣＮａを記憶するとともに、記憶したチャネル番号、即ちチャネル履歴をシフトする。
【０１１５】
従って、図１３の左端に示すように、更新信号Ｕ１が供給されると、記憶部１２４（１）はその時のチャネル番号（０００００１ｂ）を記憶する。次に更新信号Ｕ１が供給されると、（０００００１ｂ）を次の記憶部１２４（２）にシフトし、記憶部１２４（１）に新たなチャネル番号（００００１１ｂ）を記憶する。
【０１１６】
また、各記憶部１２４（１）〜１２４（ｎ）の出力端子は図１１に示すＣＰＵインタフェース１１４に接続されている。従って、図２に示すＣＰＵ３６、即ち図１に示すデバッグ装置２００は、チャネル履歴回路１０２に記憶された複数のチャネル番号（チャネル履歴）を読み出すことができる。
【０１１７】
次に、上記のように構成された転送モニタ回路３３の動作を説明する。
一例として、図１１に示す開始トリガ選択部１０８は、垂直同期信号Ｖｓを選択して開始トリガ信号Ｔｓを出力し、終了トリガ選択部１０９はエラー通知信号ＥＲＲを選択して終了トリガ信号Ｔｅを出力し、分周信号ＤＨを選択して更新トリガ信号Ｔｕを出力する。
【０１１８】
転送モニタ回路３３は、Ｈレベルの開始トリガ信号Ｔｓ（Ｖｓ）に応答してモニタを開始し、更新トリガ信号Ｔｕ（ＤＨ）に応答してモニタ情報を更新する。そして、転送モニタ回路３３は、エラー通知信号ＥＲＲに応答してモニタを終了する。
【０１１９】
図１４において、処理部２１の動作期間を「ｆｐｍ」、処理部２３の動作期間を「ｆｃｍ」、処理部２５の動作期間を「ｆｒｍ」、処理部２６の動作期間を「ｆｊ」、処理部２８の動作期間を「ｆｄｍ」として示している。図中「ｍ」はフレーム番号を示す。つまり、「ｆｐ１」は、１つ目のフレームの画像データを処理部２１が処理している期間を示している。また、「ｍ」が２桁の場合、１桁目がフレーム番号を、２桁目が処理内容の区別を示している。例えば、「ｆｐ１１」は、処理部２３が１つ目のフレームの画像データを表示部１３へ出力するためのデータを生成する処理（カラープロセス１）を示し、「ｆｐ２２」は処理部２３が２つ目のフレームの画像データを、処理部２６へ供給するためのデータを生成する処理（カラープロセス２）を示す。
【０１２０】
図１に示す撮像部１１から入力される画像データを表示部１３に表示させるための処理と、図示しない操作部（シャッターボタン）の操作に応じて画像データを記憶するための処理は、解像度（記憶する画像データのデータサイズ）等が異なる。また、シャッターボタンを操作して記録準備を行っている場合にも、表示部１３への表示が必要である。尚、図１４において、「ｆｐ２１」を示していないのは、操作部に対する操作の有無、即ち、シャッターボタンが操作されていない（半押しされていない）状態を示すものである。
【０１２１】
また、図１４において、ハッチングで示した部分は、処理が遅延した期間を示す。この処理の遅延は、例えば、メモリ１４に対するアクセスが集中して、データ転送が待たされることに起因する。この結果、データ量がピーク値を越える（データ量についてハッチングで示した部分）ため、処理部２１の処理において転送エラーが発生する。
【０１２２】
この時のモニタ情報に基づいて、処理部２３の処理「ｆｃ１３」と処理部２５の処理「ｆｒ１３」の優先度を上げる。すると、図１５に示すように、処理部２６に供給するデータを生成する処理「ｆｒ２２」「ｆｐ２３」の処理は遅延するものの、データ量がピーク値を越えることがなくなるため、エラーの発生を回避することができる。尚、遅延した処理「ｆｒ２２」「ｆｐ２３」は、データを記録する準備のためのデータであり、遅延しても、データの取りこぼしや表示の異常を発生しないため、問題とならない。
【０１２３】
次に、モニタ機能の動作を図１６に示すフローチャートに従って説明する。
先ず、図２のＣＰＵ３６から各ＤＭＡＣ３２ａ〜３２ｄに対して優先順位が設定される（ステップ１３１）。転送モニタ回路３３は、開始トリガ信号Ｔｓ（垂直同期信号Ｖｓ）が入力されたか否かを判断する（ステップ１３２）。
【０１２４】
開始トリガ信号Ｔｓが入力されると、モニタを開始する（ステップ１３３）。そして、更新トリガ信号Ｔｕ（分周信号ＤＨ）が入力されているか否かを判断し（ステップ１３４）、更新トリガ信号Ｔｕが入力されるとモニタ情報を更新する（ステップ１３５）。
【０１２５】
次に、終了トリガ信号Ｔｅが入力されているか否かを判断し（ステップ１３６）、終了トリガ信号Ｔｅが入力されていない場合にはステップ１３４に移行し、終了トリガ信号Ｔｅが入力されている場合には処理を終了する。
【０１２６】
次に、デバッグ処理を図１７に示すフローチャートに従って説明する。
先ず、図２のＣＰＵ３６（又はデバッグ装置２００）から各ＤＭＡＣ３２ａ〜３２ｄに対して優先順位の初期値を設する（ステップ１４１）。そして、モニタを開始する（ステップ１４２）。即ち、デバッグ装置２００から各処理部２１〜２８が動作するように制御する。
【０１２７】
そして、図１１に示すモニタ制御部１１１から割り込みが発生すると、エラーが発生したか否かを判断する（ステップ１４３）。エラーが発生した場合、モニタ情報を解析し（ステップ１４４）、調整対象チャネルを特定する（ステップ１４５）。そして、対象チャネルの優先順位を変更し、（ステップ１４６）、ステップ１４３に移行する。
【０１２８】
エラーが発生していない場合、モニタ情報を集計し（ステップ１４７）、処理を終了するか否かを判断する（ステップ１４８）。デバッグ処理を継続する場合にはステップ１４３に移行する。
【０１２９】
次に、優先順位変更動作を図１８に示すフローチャートに従って説明する。
先ず、図２のＣＰＵ３６から各ＤＭＡＣ３２ａ〜３２ｄに対して優先順位の初期値を設する（ステップ１５１）。次に、ＣＰＵ３６は、垂直同期信号Ｖｓが入力されたか否かを判断する（ステップ１５２）。垂直同期信号Ｖｓが入力されると、フレームカウンタをカウントアップする（ステップ１５３）。そして、フレームカウンタのカウント値に基づいて、次に処理する画像データのフレームが目的のフレームか否かを判断する（ステップ１５４）。
【０１３０】
目的のフレームに到達すると、水平同期信号Ｈｓが入力されたか否かを判断する（ステップ１５５）。水平同期信号Ｈｓが入力されると、太インカウンタをカウントアップする（ステップ１５６）。そして、ラインカウンタのカウント値に基づいて、次に処理する画像データのラインが目的のラインか否かを判断する（ステップ１５７）。
【０１３１】
目的のラインに到達すると、優先順位の設定を変更する（ステップ１５８）。
例えば、図１５に示す例では、２フレーム目の画像データ、つまり操作部（シャッターボタン）が操作された直後のフレームの画像データに対して、（１ライン目から）処理部２３，２５の優先度を上げる。即ち、ＣＰＵ３６は、操作部が操作された直後のフレームの画像データを処理する期間における処理部２３，２５の優先度を、全ての期間において高い優先度に設定するのではなく、必要とする期間のみ優先度を変更する。詳しくは、必要とする期間に先立って、優先度を変更するものである。
【０１３２】
この優先度の変更は、１つのフレームに対するものだけでなく、時間的に離間した複数のフレーム、又は時間的に連続した複数のフレームについて行われる場合がある。つまり、変更するフレーム数、ライン数、変更する優先度がレジスタに書き込まれ、ＣＰＵ３６はそのレジスタを参照して目的とする時期に優先順位の設定を変更する。そして、全ての変更が期間に対する処理が終了する、例えば、シャッターボタンの操作が解除されると、優先順位変更動作を終了する。
【０１３３】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）転送モニタ回路３３は、調停回路３１にて制御されるＤＭＡチャネルのチャネル番号と、生成されるＤＭＡチャネルにより転送されるデータのデータ量をモニタ情報として記憶する。そして、転送モニタ回路３３は、調停回路３１が調停する要求信号を出力する処理部２１〜２８が動作するタイミングを制御する同期信号Ｓｙｎｃや、処理部２１〜２８から出力されるエラー通知信号ＥＲＲ、等に基づく期間のモニタ情報を記憶するようにした。その結果、必要とする期間のモニタ情報を取得することができるため、デバッグ装置２００を接続して処理部２１〜２８の動作をデバッグする場合に、モニタ情報に基づいて処理部２１〜２８から出力される要求信号を調停する調停回路３１の状態を調整することができる。
【０１３４】
（２）転送モニタ回路３３は、処理部２１〜２８が処理する画像データの開始を示す同期信号Ｓｙｎｃと、各処理部２１〜２８から出力されるエラー通知信号ＥＲＲ、ＤＭＡチャネル起動信号・停止信号に基づいてトリガ信号を生成し、そのトリガ信号に基づく期間、モニタ情報を記憶するようにした。その結果、処理部２１〜２８の動作に応じたモニタ情報を記憶することができる。
【０１３５】
（３）転送モニタ回路３３は、更新トリガ信号Ｔｕに基づいて、チャネル番号の履歴を記憶する。また、転送モニタ回路３３は、更新トリガ信号Ｔｕに基づいて、ＤＭＡチャネルにて転送されるデータの累積値を更新記憶するようにした。その結果、更新トリガ信号Ｔｕのタイミングでモニタ情報を記憶するため、処理装置１２を繰り返し動作させてモニタ情報を記憶させる場合に、同じ期間でモニタすることができ、調停回路３１の調整結果を容易に確認することができる。
【０１３６】
（４）転送モニタ回路３３は、処理部２１〜２８から出力されるエラー通知信号ＥＲＲに基づいて終了トリガ信号Ｔｅを生成するようにした。その結果、処理部２１〜２８にエラーが発生するまでのモニタ情報を容易に記憶することができるため、デバッグ装置２００を用いてエラーの発生要因を容易に確認することができる。
【０１３７】
（５）転送モニタ回路３３は、データ量の累積値とリミット値とを比較する比較回路１１２を含み、その比較回路１１２の出力信号に基づいて終了トリガ信号Ｔｅを生成するようにした。その結果、処理部２１〜２８にエラーが発生するまでのモニタ情報を容易に記憶することができるため、デバッグ装置２００を用いてエラーの発生要因を容易に確認することができる。
【０１３８】
（６）転送モニタ回路３３は、ＣＰＵ３６、即ちデバッグ装置２００から供給されるソフトウェアトリガ信号ＳＦ１，ＳＦ２に基づいて開始トリガ信号Ｔｓ、更新トリガ信号Ｔｕを生成するようにした。その結果、デバッグ装置２００からモニタの開始とモニタ情報の更新を制御することができるため、任意の期間のモニタ情報を容易に取得することができる。
【０１３９】
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態では、図１１に示す転送モニタ回路３３が、図２に示すＤＭＡＣ３２ａ〜３２ｄに対応する情報記憶部を含むとしたが、複数のＤＭＡＣに対して１つの情報記憶部を含むとしてもよい。同じ画像データを繰り返し入力した場合、その画像データに対する各処理部２１〜２８の処理は、毎回同じである。つまり、処理部２１の動作が繰り返し再現される。従って、モニタするＤＭＡＣを順次切り替えるように設定することで、全てのＤＭＡＣの動作をモニタすることができる。
【０１４０】
・上記実施形態では、終了トリガ選択部１０９は、エラー通知信号ＥＲＲ、ＤＭＡチャネル停止信号、リミット判定信号ＬＴのうちから選択した信号に基づいて終了トリガ信号Ｔｅを生成するようにしたが、エラー通知信号ＥＲＲ、ＤＭＡチャネル停止信号、リミット判定信号ＬＴに基づいて、例えばオア処理して終了トリガ信号Ｔｅを生成するようにしてもよい。
【０１４１】
・上記実施形態は電子機器としてデジタルスチルカメラについて説明したが、要求信号の調停を行うものであればどの様な電子機器に適用してもよい。電子機器の例として、ファクシミリ装置、プリンタ、複写機、デジタルビデオカメラ、録画装置（ビデオデッキ）、などがある。
【０１４２】
・上記実施形態は、処理部２１〜２８を有し、調停回路３１は、それら処理部２１〜２８からの要求信号を調停することとしたが、処理部の数、各処理部が実行する処理、等を適宜変更してもよい。
【０１４３】
・上記実施形態は、調停回路３１は、書込要求信号Ｗ０〜Ｗ６を調停するＤＭＡＣ３２ａ，３２ｂを有することとしたが、１つ、又は３つ以上の調停機能部を有する構成としてもよい。同様に、調停回路３１は、読出要求信号Ｒ１〜Ｒ７を調停するＤＭＡＣ３２ｃ，３２ｄを有することとしたが、１つ、又は３つ以上の調停機能部を有する構成としてもよい。
【０１４４】
・上記実施形態は、各ＤＭＡＣ３２ａ〜３２ｄにそれぞれ３つの優先レベルを設定した、即ちそれぞれ３つのレベル内調停部５１ａ〜５１ｃを有する構成としたが、それぞれ２つ、又は４つ以上の優先レベルを設定する、即ち２つ又は４つ以上のレベル内調停部を有する構成としてもよい。それぞれの設定に応じて、優先フラグ生成部等の回路構成を変更することはいうまでもない。
【０１４５】
・上記実施形態は、各ＤＭＡＣ３２ａ〜３２ｄにそれぞれ３つの優先レベルを設定した、即ちそれぞれ３つのレベル内調停部５１ａ〜５１ｃを有する構成としたが、それぞれに設定するレベル数を変更してもよい。それぞれの設定に応じて、優先フラグ生成部等の回路構成を変更することはいうまでもない。
【０１４６】
・上記実施形態において、各レベル内調停部５１ａ〜５１ｃの動作を適宜停止させるようにしてもよい。例えば、動作禁止信号をＣＰＵ３６から各レベル内調停部５１ａ〜５１ｃに供給する。各レベル内調停部５１ａ〜５１ｃは、第１レベル（例えばＨレベル）の動作禁止信号に応答して動作を停止し、第２レベル（例えばＬレベル）の動作禁止信号うに応答して調停動作を実行する。このように構成することで、任意のレベルに設定したチャネルの要求の優先度を変更する（優先度を上げる）ことができる。尚、レベル間調停部５３ａ，５３ｂにおいて所定のレベルに対する調停を行わないようにすればよいため、図５に示す判定部６１が、信号に応答して有効信号ＳＥ１をディスエーブル、即ち有効ではないことを示す信号レベルとするようにしてもよい。
【符号の説明】
【０１４７】
１４  メモリ
２１〜２８  処理部
３１  調停回路
３２ａ〜３２ｄ  ＤＭＡＣ
３３  調停モニタ回路
３４  メモリコントローラ
３６  ＣＰＵ
３８  共有バス
Ｗ０〜Ｗ６，Ｒ１〜Ｒ７  要求信号
【図１】
2011008413.tif 000003
【図２】
2011008413.tif 000004
【図３】
2011008413.tif 000005
【図４】
2011008413.tif 000006
【図５】
2011008413.tif 000007
【図６】
2011008413.tif 000008
【図７】
2011008413.tif 000009
【図８】
2011008413.tif 000010
【図９】
2011008413.tif 000011
【図１０】
2011008413.tif 000012
【図１１】
2011008413.tif 000013
【図１２】
2011008413.tif 000014
【図１３】
2011008413.tif 000015
【図１４】
2011008413.tif 000016
【図１５】
2011008413.tif 000017
【図１６】
2011008413.tif 000018
【図１７】
2011008413.tif 000019
【図１８】
2011008413.tif 000020