(57)【要約】【課題】  複数の機能ブロックでメモリ等の共有回路を排他的に使用する調停回路において、一度許可したアクセス要求をキャンセルしたり、優先順位の高いアクセス要求を待たせないようにして、複数のアクセス要求を効率的に調停する。【解決手段】  ステップＳ５０３において機能ブロックからアクセス予約要求が発行されて、ステップＳ５０４でそのアクセス要求が予約される。その後、ステップＳ５０５において、他の機能ブロックからアクセス要求が発行されると、ステップＳ５０６において、前記２つの機能ブロックからのアクセス予約要求とアクセス要求との何れを優先するかが判断され、例えば前記他の機能ブロックからのアクセス要求が優先順位の低いものである場合には、ステップＳ５０８においてアクセス予約要求が優先されて、そのアクセス予約要求をした機能ブロックからのアクセス要求を待つ。【選択図】  図２
2005158035.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能処理回路が１つの共有回路を排他的に共有して使用する回路において、
前記複数の機能処理回路と、共有回路使用調停回路とを備え、
前記複数の機能処理回路は、前記共有回路の使用要求を発行すると共に、その使用要求の発行の前段階で使用予約要求を発行し、
前記共有回路使用調停回路は、前記複数の機能処理回路からの前記使用要求と前記使用予約要求とを受け付けて、何れかの機能処理回路からの使用要求と、その使用要求を発行した機能処理回路以外の他の機能処理回路からの使用予約要求との優先順位を調停する
ことを特徴とする調停回路。
【請求項２】
請求項１記載の調停回路において、
前記共有回路使用調停回路は、
使用要求及び使用予約要求を保持する情報保持回路を持つ
ことを特徴とする調停回路。
【請求項３】
請求項２記載の調停回路において、
前記情報保持回路は、
前記機能処理回路からの使用要求及び使用予約要求と、調停の履歴とを保持する
ことを特徴とする調停回路。
【請求項４】
請求項１記載の調停回路において、
前記使用予約要求を発行した機能処理回路は、
使用予約が不必要となった場合に、前記共有回路使用調停回路に対して使用予約要求の取消を発行する機能を有する
ことを特徴とする調停回路。
【請求項５】
請求項１記載の調停回路において、
前記共有回路使用調停回路は、
使用予約要求を受け付けた後の経過時間を計測するタイマを有する
ことを特徴とする調停回路。
【請求項６】
請求項５記載の調停回路において、
前記共有回路使用調停回路は、
前記使用予約要求を受け付けた後の経過時間が設定時間を超える場合に、その使用予約要求を取り消す
ことを特徴とする調停回路。
【請求項７】
請求項６記載の調停回路において、
前記使用予約要求の発行からその取消までの設定時間は、可変である
ことを特徴とする調停回路。
【請求項８】
請求項１記載の調停回路において、
前記使用予約要求を発行する機能処理回路は、
その使用予約要求を発行するに際し、前記共有回路の使用予定時刻、使用予定期間、使用方法及び使用量の少なくとも１つ以上の情報を、前記共有回路使用調停回路に対して発行し、
前記共有回路使用調停回路は、
前記使用予約要求を発行した機能処理回路からの前記情報に基づいて調停を行なう
ことを特徴とする調停回路。
【請求項９】
請求項１記載の調停回路において、
前記共有回路使用調停回路は、
何れかの機能処理回路が突発的に使用要求を発行した場合に、その突発的な使用要求を発行した機能処理回路に対して、使用機能、使用方法及び使用期間の少なくとも１つに制限を付して、共有回路の使用許可を与える
ことを特徴とする調停回路。
【請求項１０】
請求項１記載の調停回路において、
前記共有回路使用調停回路は、
前記共有回路を定期的に使用する機能処理回路のために所定時間毎に自動的に使用予約を発行する自動予約発行回路を持つ
ことを特徴とする調停回路。
【請求項１１】
請求項１記載の調停回路において、
前記共有回路使用調停回路は、
共有回路の使用を許可する調停順序を時間経過に応じて変更する調停順序変更回路を有する
ことを特徴とする調停回路。
【請求項１２】
請求項１記載の調停回路において、
前記複数の機能処理回路は、前記共有回路の使用に緊急を要する時には緊急使用要求を前記共有回路使用調停回路に発行し、
前記共有回路使用調停回路は、前記複数の機能処理回路の何れかから緊急使用要求を受け付けたとき、通常の調停基準に拘わらず、前記緊急使用要求を発行した機能処理回路に対して、共有回路を使用する順序、期間及び機能を決定して通知する
ことを特徴とする調停回路。
【請求項１３】
請求項１記載の調停回路において、
前記共有回路は、メモリである
ことを特徴とする調停回路。
【請求項１４】
請求項１記載の調停回路において、
前記各機能処理回路は、
内部に備えるステートマシンが、使用要求を出す直前のステータスになった時に前記使用予約要求を発行する
ことを特徴とする調停回路。
【請求項１５】
請求項１記載の調停回路において、
前記各機能処理回路のうち少なくとも１つは、内部にデータバッファを有し且つこのデータバッファからデータを出力する機能を有し、
前記データ出力機能を有する機能処理回路は、前記データバッファに格納されたデータが満杯直前になった時に前記使用予約要求を発行する
ことを特徴とする調停回路。
【請求項１６】
請求項１記載の調停回路において、
前記各機能処理回路のうち少なくとも１つは、内部にデータバッファを有し且つこのデータバッファに外部からデータを入力する機能を有し、
前記データ入力機能を有する機能処理回路は、前記データバッファに格納されたデータが空直前になった時に前記使用予約要求を発行する
ことを特徴とする調停回路。
【請求項１７】
複数の機能処理回路が１つの共有回路を排他的に共有して使用する回路における前記複数の機能処理回路のうちの１つの機能処理回路であって、
前記１つの機能処理回路は、
前記共有回路の使用要求を発行すると共に、その使用要求の発行の前段階で使用予約要求を発行するものである
ことを特徴とする機能処理回路。
【請求項１８】
請求項１７記載の機能処理回路において、
前記機能処理回路は、
内部に備えるステートマシンが、使用要求を出す直前のステータスになった時に前記使用予約要求を発行する
ことを特徴とする機能処理回路。
【請求項１９】
請求項１７記載の機能処理回路において、
前記機能処理回路は、内部にデータバッファを有し且つこのデータバッファからデータを出力する機能を有し、
前記データ出力機能を有する機能処理回路は、前記データバッファに格納されたデータが満杯直前になった時に前記使用予約要求を発行する
ことを特徴とする機能処理回路。
【請求項２０】
請求項１７記載の機能処理回路において、
前記機能処理回路は、内部にデータバッファを有し且つこのデータバッファに外部からデータを入力する機能を有し、
前記データ入力機能を有する機能処理回路は、前記データバッファに格納されたデータが空直前になった時に前記使用予約要求を発行する
ことを特徴とする機能処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機能ブロックがメモリ等の共有回路をその都度排他的に使用するデジタル回路などの回路において、その共有回路の使用を各機能ブロック間で調停する調停回路に関する。
【背景技術】
【０００２】
各種データを処理するデジタル回路において、データを一時的に保持しておくためにメモリを使用する場合が多い。メモリを必要とする回路（以下、機能ブロックという）が多い場合、各機能ブロック毎にメモリを準備する方法もあるが、同じ容量を実現する場合には、小さなメモリを多数実装するよりも、大容量のメモリを少数実装するほうが、LSI内に実装する場合でも、基板上に実装する場合でも、コスト、実装面積、搭載工数などの観点から有利である。従って、各機能ブロックが必要とする合計容量分のメモリを最小限数だけ実装して、共有する方法が一般的である。
【０００３】
しかし、メモリ内のデータをリード／ライト（以後、総称してアクセスという）するための入出力は、一般に少数個（１つないし２つ）しかないため、複数の機能ブロックからメモリに対して異なるデータを独立したタイミングでアクセスするためには、これらのアクセス要求に対して何らかの調整をして、矛盾がなく交錯しないようアクセスする仕組み（以下、調停とする）が必要である。これらを実現する回路を調停回路という。
【０００４】
ところで、近年、半導体の進化が著しく、内部回路の速度は数百MHzからGHzオーダの世界に突入している。また、半導体のシステムLSI化（集積化）が進み、メモリを共有する回路も増えてきている。また、データ量もそれに合わせて飛躍的に増えている。
【０００５】
一方、メモリについても進化を遂げてきたが、動作周波数は200〜400MHz程度に留まっており、前述の半導体の進化に比べて緩やかである。また、半導体内の各機能コアがメモリを必要とすることが多いことから、メモリ周りがシステム的な性能ネックになる傾向にある。従って、メモリを効率良く使用することがシステム性能向上に不可欠であり、このデジタル回路等の調停回路の役割は重大である。
【０００６】
メモリの性能を考える上で、２つの観点がある。１つはバンド幅であり、他の１つはレイテンシである。前者は、通常動作時の平均のデータアクセス可能量の上限である。理論的にはメモリのデータ幅と動作クロック周波数、メモリアクセスのオーバヘッドにて決まる。各機能ブロックが必要とするアクセス量の合計が、このバンド幅を超えないように設計する必要がある。後者は、複数のアクセス要求が重なった時に、実際にアクセスが可能となるまでに待たされる時間である。レイテンシは、平均するとバンド幅を下回るデータ量であるがある時刻にアクセス要求が集中した場合に、優先度が低いアクセス要求が待たされるために発生する。リアルタイム処理をしているシステムの場合、このレイテンシが致命的になるケースがあり、これを保証するための充分な検討が必要である。
【０００７】
このような観点で性能を満たす調停回路を装備する必要がある。調停には、優先順位付けと、ラウンドロビンという手法とが一般的に取られる。ここで、優先順位とは、同時にアクセス要求が発生した場合に、何れのアクセス要求を優先するかを決定する指標であり、優先順位の高いものから順に処理されることになる。ただ、常にそういう方法を取っていると、相対的に優先順位の低いアクセス要求は、長期間処理されない可能性がある。従って、優先順位が高いものでもアクセス要求が処理されると、何らかの基準で一旦優先順位を下げ、優先順位の低いものの処理もある期間内では受け付けられるようにすることが多い。これがラウンドロビンの考え方である。
【０００８】
このように、複数のアクセス要求が同時に発生した場合、過去のアクセス処理の実績に基づいて決定している優先順位に従って調停する従来技術がある（例えば特許文献１参照）。
【特許文献１】特開平１−１２４０５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、共有メモリを使用しようとする各機能ブロックは、通常、互いに独立して動作しているため、各機能ブロックからの共有メモリへのアクセス要求が重なる可能性がある。その確率が極めてまれであっても、可能性がある限り、システムが破綻することのないようにする必要がある。
【００１０】
しかしながら、前記従来の技術では、予告なくアクセス要求が発行されるので、調停回路はその都度判断する必要があるが、例えば優先順位はそれほど高くないが期間の長いアクセス要求があって、許可した直後に優先順位が高い要求が来た場合、一度許可した直前の要求をキャンセル若しくは中断させるか、又は、後からの優先順位の高い要求を待たせるなどの対応を余儀なくされる。前者はオーバヘッドや性能劣化が生じる恐れがあり、後者はシステム的に破綻する可能もある。
【００１１】
それらを前記従来の技術にて回避しようとすれば、キャンセルやレイテンシを余計に見積もり、それに対する回路を準備することになる。この技術では、LSIやメモリのコスト増につながる。
【００１２】
本発明の目的は、一度許可したアクセス要求をキャンセルしたり、優先順位の高いアクセス要求を待たせないようにして、複数のアクセス要求を効率的に調停することにある。
【課題を解決するための手段】
【００１３】
前記の目的を達成するため、本発明では、機能ブロックからのアクセス要求に加えて、新たにアクセス予約要求という手法を導入する。何らかのアクセス要求がある時、次にどういうアクセス要求があるかが判れば、最も効率的な調停、判断を行なうことができる。
【００１４】
更に、予約の有効期間の導入、インターバルタイマーによる自動定期予約、アクセス頻度監視による優先順位の変更制御等を合わせて使用することにより、ピーク時の要求性能を下げ、最小限のハードウェア資源で要求仕様を満たすようにする。
【００１５】
具体的に、請求項１記載の発明の調停回路は、複数の機能処理回路が１つの共有回路を排他的に共有して使用する回路において、前記複数の機能処理回路と、共有回路使用調停回路とを備え、前記複数の機能処理回路は、前記共有回路の使用要求を発行すると共に、その使用要求の発行の前段階で使用予約要求を発行し、前記共有回路使用調停回路は、前記複数の機能処理回路からの前記使用要求と前記使用予約要求とを受け付けて、何れかの機能処理回路からの使用要求と、その使用要求を発行した機能処理回路以外の他の機能処理回路からの使用予約要求との優先順位を調停することを特徴とする。
【００１６】
請求項２記載の発明は、請求項１記載の調停回路において、前記共有回路使用調停回路は、使用要求及び使用予約要求を保持する情報保持回路を持つことを特徴とする。
【００１７】
請求項３記載の発明は、請求項２記載の調停回路において、前記情報保持回路は、前記機能処理回路からの使用要求及び使用予約要求と、調停の履歴とを保持することを特徴とする。
【００１８】
請求項４記載の発明は、請求項１記載の調停回路において、前記使用予約要求を発行した機能処理回路は、使用予約が不必要となった場合に、前記共有回路使用調停回路に対して使用予約要求の取消を発行する機能を有することを特徴とする。
【００１９】
請求項５記載の発明は、請求項１記載の調停回路において、前記共有回路使用調停回路は、使用予約要求を受け付けた後の経過時間を計測するタイマを有することを特徴とする。
【００２０】
請求項６記載の発明は、請求項５記載の調停回路において、前記共有回路使用調停回路は、前記使用予約要求を受け付けた後の経過時間が設定時間を超える場合に、その使用予約要求を取り消すことを特徴とする。
【００２１】
請求項７記載の発明は、請求項６記載の調停回路において、前記使用予約要求の発行からその取消までの設定時間は、可変であることを特徴とする。
【００２２】
請求項８記載の発明は、請求項１記載の調停回路において、前記使用予約要求を発行する機能処理回路は、その使用予約要求を発行するに際し、前記共有回路の使用予定時刻、使用予定期間、使用方法及び使用量の少なくとも１つ以上の情報を、前記共有回路使用調停回路に対して発行し、前記共有回路使用調停回路は、前記使用予約要求を発行した機能処理回路からの前記情報に基づいて調停を行なうことを特徴とする。
【００２３】
請求項９記載の発明は、請求項１記載の調停回路において、前記共有回路使用調停回路は、何れかの機能処理回路が突発的に使用要求を発行した場合に、その突発的な使用要求を発行した機能処理回路に対して、使用機能、使用方法及び使用期間の少なくとも１つに制限を付して、共有回路の使用許可を与えることを特徴とする。
【００２４】
請求項１０記載の発明は、請求項１記載の調停回路において、前記共有回路使用調停回路は、前記共有回路を定期的に使用する機能処理回路のために所定時間毎に自動的に使用予約を発行する自動予約発行回路を持つことを特徴とする。
【００２５】
請求項１１記載の発明は、請求項１記載の調停回路において、前記共有回路使用調停回路は、共有回路の使用を許可する調停順序を時間経過に応じて変更する調停順序変更回路を有することを特徴とする。
【００２６】
請求項１２記載の発明は、請求項１記載の調停回路において、前記複数の機能処理回路は、前記共有回路の使用に緊急を要する時には緊急使用要求を前記共有回路使用調停回路に発行し、前記共有回路使用調停回路は、前記複数の機能処理回路の何れかから緊急使用要求を受け付けたとき、通常の調停基準に拘わらず、前記緊急使用要求を発行した機能処理回路に対して、共有回路を使用する順序、期間及び機能を決定して通知することを特徴とする。
【００２７】
請求項１３記載の発明は、前記請求項１記載の調停回路において、前記共有回路は、メモリであることを特徴とする。
【００２８】
請求項１４記載の発明は、前記請求項１記載の調停回路において、前記各機能処理回路は、内部に備えるステートマシンが、使用要求を出す直前のステータスになった時に前記使用予約要求を発行することを特徴とする。
【００２９】
請求項１５記載の発明は、前記請求項１記載の調停回路において、前記各機能処理回路のうち少なくとも１つは、内部にデータバッファを有し且つこのデータバッファからデータを出力する機能を有し、前記データ出力機能を有する機能処理回路は、前記データバッファに格納されたデータが満杯直前になった時に前記使用予約要求を発行することを特徴とする。
【００３０】
請求項１６記載の発明は、前記請求項１記載の調停回路において、前記各機能処理回路のうち少なくとも１つは、内部にデータバッファを有し且つこのデータバッファに外部からデータを入力する機能を有し、前記データ入力機能を有する機能処理回路は、前記データバッファに格納されたデータが空直前になった時に前記使用予約要求を発行することを特徴とする。
【００３１】
請求項１７記載の発明の機能処理回路は、複数の機能処理回路が１つの共有回路を排他的に共有して使用する回路における前記複数の機能処理回路のうちの１つの機能処理回路であって、前記１つの機能処理回路は、前記共有回路の使用要求を発行すると共に、その使用要求の発行の前段階で使用予約要求を発行するものであることを特徴とする。
【００３２】
請求項１８記載の発明は、前記請求項１７記載の機能処理回路において、前記機能処理回路は、内部に備えるステートマシンが、使用要求を出す直前のステータスになった時に前記使用予約要求を発行することを特徴とする。
【００３３】
請求項１９記載の発明は、前記請求項１７記載の機能処理回路において、前記機能処理回路は、内部にデータバッファを有し且つこのデータバッファからデータを出力する機能を有し、前記データ出力機能を有する機能処理回路は、前記データバッファに格納されたデータが満杯直前になった時に前記使用予約要求を発行することを特徴とする。
【００３４】
請求項２０記載の発明は、前記請求項１７記載の機能処理回路において、前記機能処理回路は、内部にデータバッファを有し且つこのデータバッファに外部からデータを入力する機能を有し、前記データ入力機能を有する機能処理回路は、前記データバッファに格納されたデータが空直前になった時に前記使用予約要求を発行することを特徴とする。
【００３５】
以上により、請求項１〜２０記載の発明では、複数の機能ブロックを備えた調停回路において、例えば第１の機能ブロックからアクセス予約要求が発行されると、そのアクセス要求が予約される。その後、例えば第２の機能ブロックからアクセス要求が発行されると、この第１及び第２の２つの機能ブロックからのアクセス予約要求とアクセス要求との何れを優先するかが共有回路使用調停回路において判断されて、例えば前記第２の機能ブロックからのアクセス要求が、優先順位の低いものであったり、前記第１の機能ブロックのアクセス要求に支障が生じるほどアクセスを長時間占有するものである場合などでは、第１の機能ブロックからのアクセス予約要求が優先されて、前記第２の機能ブロックからのアクセス要求が待たされる。従って、効率の良いアクセス要求の調停が可能である。
【発明の効果】
【００３６】
以上説明したように、請求項１〜２０記載の発明によれば、複数の機能ブロックが共有メモリ等の共有回路に対するアクセス要求を重ねて発行した場合において、それら複数の機能ブロックからのアクセス要求を効率良く調停することができる。その結果、メモリ等の共有回路とのインタフェースや、メモリ等の共有回路の要求仕様が緩和されて、コストを有効に削減できる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施形態を図面に基づいて説明する。
【００３８】
（第１の実施形態）
図１は、本発明の第１の実施形態のデジタル回路における調停回路を示す。同図において、１０１、１０２、１０３は共有メモリ（共有回路）１０へのアクセスを必要とする３個の機能ブロック（機能処理回路）である。ここでは、これらを総称してアクセス要求群１００とする。
【００３９】
前記３個の機能ブロック１０１〜１０３は、各々、前記共有メモリ１０に対する所定のアクセス要求事象が発生した時に使用要求としてアクセス要求を発行すると共に、このアクセス要求の所定の前段階では、予め、前記共有メモリ１０に対して使用予約要求としてアクセス予約要求を発行する。このアクセス予約要求は、アクセス要求の所定の前段階で例えば次に掲げる４つの条件の何れかが成立した時に発行される。
１．自己の機能ブロック内のステートマシンが、使用要求を発行する直前のステータスになった時。
２．データ出力機能を有する機能ブロックでは、内部に備えるデータバッファがfull近傍になった時。
３．データ入力機能を有する機能ブロックでは、内部に備えるデータバッファがempty近傍になった時。
４．１つの使用要求の発行条件である３つ以上の条件のうち何れか１つの条件を除く全ての条件が揃った時。
【００４０】
従って、前記各機能ブロック１０１〜１０３は、各々、前記４つの条件の何れかが成立した時にアクセス予約要求を発行し、その後に、通常のアクセス要求を発行する。前記アクセス予約要求には、その予約要求時からその後の通常のアクセス要求時までの期間が予め判っている場合には、通常のアクセス要求の発行時である使用予定時刻が付される。
【００４１】
更に、各機能ブロック１０１〜１０３は、各々、前記４つの条件の何れもが成立することなく、直ちに所定のアクセス要求事象が発生した時には、前記アクセス予約要求を発行することなく、直ちに使用要求としてアクセス要求を発行する。このアクセス要求は、前記アクセス予約要求が発行された後の通常のアクセス要求と区別して、以下、突発的アクセス要求と呼ばれる。
【００４２】
図１において、  １１は、これらアクセス要求群１００からのアクセス要求を調停して、アクセス要求群１００の対応する機能ブロックにアクセス許可を発行する共有回路使用調停回路である。１２は前記共有回路使用調停回路１１内に備えられたアクセス管理テーブル（情報保持回路）である。このアクセス管理テーブル１２には、各機能ブロック１０１〜１０３からのアクセス要求やアクセス予約要求（後述）の受付状況や、調停の履歴情報が格納される。前記各機能ブロック１０１〜１０３と共有回路使用調停回路１１とは、各々、３種類のリクエスト信号線ＲＥＱ−ａ、ＲＥＱ−ｂ、ＵＳと、許可信号線ＡＣＫで接続されている。
【００４３】
次に、この共有回路使用調停回路１１の動作例について、本発明に関わる動作を中心に、図２を用いて説明する。
【００４４】
今、機能ブロック１０１からのアクセス要求事象が発生したとする。この場合、機能ブロック１０１は、信号線ＲＥＱ−ａを介して共有回路使用調停回路１１に対して、共有メモリ１０の使用要求として通常の又は突発的なアクセス要求を発行する（ステップＳ５０１）。共有回路使用調停回路１１は、その時点での他の機能ブロック１０２、１０３のリクエスト信号ＲＥＱ−ａ、ＲＥＱ−ｂとアクセス管理テーブル１２とを参照し、特に支障がなければ機能ブロック１０１からのアクセス要求を受け付けることにして、機能ブロック１０１に対して許可信号線ＡＣＫを介して、アクセス要求に対して許可する（ステップＳ５０２）。
【００４５】
次に、機能ブロック１０２において、アクセス要求事象はまだ発生していないが、前記４つの条件のうち１つが成立して、その直近時間内にアクセス要求事象が発生する見込みになったとする。この場合、機能ブロック１０２は、リクエスト信号線ＲＥＱ−ｂを介して共有メモリ１０の使用の予約要求としてアクセス予約要求を発行する（ステップＳ５０３）。共有回路使用調停回路１１は、機能ブロック１０２からのアクセス予約要求を受け付け、このアクセス予約要求に使用予定時刻が付随する場合には、この使用予定時刻と共に前記アクセス予約要求をアクセス管理テーブル１２に記録し、登録する（ステップＳ５０４）。但し、実際にアクセス要求が発行されていないので、アクセス許可は発行しない。
【００４６】
この状態で、別の機能ブロック１０３でアクセス要求事象が発生し、信号線ＲＥＱ−ａを介して通常の又は突発的なアクセス要求が発行された（ステップＳ５０５）。共有回路使用調停回路１１は、先の機能ブロック１０１からのアクセス要求時と同様に、他の機能ブロック１０１、１０２のリクエスト信号ＲＥＱ−ａ、ＲＥＱ−ｂとアクセス管理テーブル１２とを参照するが、この時、アクセス管理テーブル１２には、先の機能ブロック１０２からのアクセス予約要求が入っている。このため、共有回路使用調停回路１１は、先ず、機能ブロック１０３からのアクセス要求を受け付けても前記機能ブロック１０２からのアクセス予約要求後の通常のアクセス要求時（即ち、使用予定時刻）までにその機能ブロック１０３からのアクセス要求があった処理が完了すると判断される場合には、前記機能ブロック１０３からのアクセス要求を受け付け、許可する。一方、機能ブロック１０２からのアクセス予約要求と機能ブロック１０３からのアクセス要求とが競合する場合には、機能ブロック１０３からの通常の又は突発的なアクセス要求と機能ブロック１０２からのアクセス予約要求との優先順位を確認し（ステップＳ５０６）、直近に発行される見込みの機能ブロック１０２からのアクセス要求に支障がないと判断した場合に限って、機能ブロック１０３からのアクセス要求を受け付け、許可する（ステップＳ５０７）。従って、例えば、機能ブロック１０３からのアクセス要求の優先順位が低く、また、一度アクセスを許可すると、直後に発生する見込みの機能ブロック１０２からのアクセス要求に支障が生じるほどメモリアクセスを占有すると判断した場合には、機能ブロック１０３からのアクセス要求を受け付けず、機能ブロック１０２からのアクセス要求を待つ（ステップＳ５０８）。このようにして、後から発行されるアクセス要求を加味した調停を行なうことによって、より最適化されたアクセス調停が可能である。
【００４７】
尚、図示しないが、何れかの機能ブロックから共有メモリ１０に対して通常のアクセス要求があった状況において、他の機能ブロックから突発的なアクセス要求が発行された場合に、共有回路使用調停回路１１が、その突発的なアクセス要求をした機能ブロックに対して優先してアクセス許可を与えときには、このアクセス許可は、共有メモリ１０に対する使用機能、使用方法、使用期間など、１つ以上に制限を付して行われる。共有回路使用調停回路１１は、アクセス管理テーブル１２を更新して、この突発的なアクセス要求をアクセス予約要求として割り込ませて予約することも可能である。
【００４８】
また、前記各機能ブロック１０１〜１０３は、共有メモリ１０に対して通常の又は突発的なアクセス要求をした後に、アクセス要求が直ちに受け付けられなければシステム全体が破綻してしまうような事態が発生した場合には、緊急的なアクセス要求を信号線ＵＳを介して発行する。この緊急的なアクセス要求は、他のアクセス要求及びアクセス予約要求よりも優先する非常用であって、他のアクセス要求やアクセス予約要求に基づく処理を強制的に一時保留して、この緊急的なアクセス要求に基づく緊急度の高い処理を最優先して行わせるものである。前記一時保留される処理としては、その保留によりシステムは機能的に異常状態となるが、マイコン等によりリカバー可能な処理である。通常、ＬＳＩの設計は、ワーストケースを想定して行われるが、そのワーストケースの発生確率が極めて小さい場合には、リカバー可能な処理は行わず、一時保留することによってシステムダウンを救済することが必要である。機能ブロック１０１〜１０３からの緊急的なアクセス要求の発行は、このようなシステムダウンの救済のための解決方法を提供する。この緊急的なアクセス要求は、非常用であるので、機能ブロック１０１〜１０３からの発行機会は限定され、また、発行された時には、他の機能ブロックへの影響を最小限度に留めるべく、共有メモリ１０の使用期間は最小限の期間に制限される。
【００４９】
共有回路使用調停回路１１は、何れかの機能ブロックから前記緊急的なアクセス要求が発行された際には、他の機能ブロックからのアクセス要求が発行されている場合であっても、通常の調停基準に拘わらず、その緊急的なアクセス要求を発行した機能ブロックに対してアクセス許可を与える。このアクセス許可は、共有メモリ１０を使用する順序、使用期間、及び使用機能を決定して行われる。
【００５０】
（第２の実施形態）
次に、本発明の第２の実施形態の調停回路に備える共有回路使用調停回路を説明する。
【００５１】
調停回路によってはアクセス予約要求をキャンセルする必要がある場合がある。この方法として、アクセス要求群が自らキャンセル信号を発行してキャンセルする方法と、共有回路使用調停回路がアクセス予約要求の受付後、一定期間内にアクセス要求が発行されない場合に自動的にキャンセルする方法がある。
【００５２】
前者の場合、キャンセルを発行する可能性のある機能ブロックから共有回路使用調停回路に対して、アクセス予約要求のキャンセル（取消）信号を発行することにより実現できる。
【００５３】
後者の場合は、図３に示すように、共有回路使用調停回路２１内に時計（タイマ）２３を持ち、アクセス管理テーブル２２にアクセス予約要求の受付時刻を記録するようにする。他の機能ブロックからも含めてアクセス要求があってアクセス管理テーブルを参照する際に、その時点の時計２３が示す現時刻と、アクセス予約要求と同時に記録したアクセス予約要求受付時刻との差分を確認し、設定時間以上であれば、そのアクセス予約要求はなかったものとして扱う。
【００５４】
尚、各アクセス要求同士の優先順位は、要求仕様に対して固定的に決めても良いし、プログラマブルに設定できるようにしても良い。また、ラウンドロビン方式を用いても構わない。アクセス予約要求時の有効期間などもプログラマブルに設定できるようにしておくと、より柔軟性を持った共有回路使用調停回路とすることができる。
【００５５】
（第３の実施形態）
続いて、本発明の第３の実施形態の調停回路を説明する。
【００５６】
図４は本実施形態の調停回路を示す。同図の調停回路は、図１の調停回路に対して、アクセス要求群と共有回路使用調停回路３１との間に、アクセス要求群からのアクセス予約要求と同時にアクセス要求群から発行される要求アクセスサイズ信号と、共有回路使用調停回路３１からアクセス要求群への許可アクセスサイズ信号とが追加されている。
【００５７】
本実施形態では、図２と同じ処理を行なう場合に、ステップＳ５０６において、共有回路使用調停回路３１がアクセス要求の調停判断をする際、アクセスサイズ（使用量）を参考にすることにより、例えば機能ブロック１１３からのアクセスが短期間で終了する場合には、優先順位や機能ブロック１１２からのアクセス予約要求に拘わらず、機能ブロック１１３からのアクセスを許可することができる。これにより、更に共有メモリ１０の使用効率を上げることができると共に、精度の高い調停が可能である。
【００５８】
以上、アクセス予約要求にアクセスサイズが付随する場合を説明したが、アクセスサイズに代えて、共有メモリ１０の使用を占有する時間が付随する場合であっても良い。この共有メモリ１０の使用時間は、一般的には共有メモリ１０の動作クロック数で計数される。アクセス予約要求に付随するメモリ使用期間が長い場合には、そのアクセス要求に対してアクセスを許可すると、他のアクセス要求が長期に亘って待たされることになる。そこで、共有回路使用調停回路３１は、アクセス要求の調停判断をする際には、メモリ使用期間を参考にして、例えばアクセス予約要求に付随するメモリ使用期間が長く、その後に受け付けた通常の又は突発的なアクセス要求に付随するメモリ使用期間が短い場合には、前者の方が優先順位が高くても、後者を優先的に受け付けて許可する。メモリ使用期間は、ある機能ブロックでは固定期間であれば、その固定期間の情報が予め共有回路使用調停回路１１に保持される。
【００５９】
また、アクセス予約要求に付随する要素としては、前記のメモリ使用時間に代えて、共有メモリ１０の使用方法であっても良い。この共有メモリ１０の使用方法とは、リードアクセスかライトアクセスかの何れかを特定するものである。従って、共有回路使用調停回路３１は、何れかの機能ブロックからのアクセス予約要求を受け付けた場合に、そのアクセス予約要求に付随するメモリ使用方法と、他の機能ブロックからの通常の又は突発的なアクセス要求に付随するメモリ使用方法とを比較し、その双方がリードアクセス又はライトアクセスのときには、そのアクセス予約要求の発行直後に発行される通常のアクセス要求と、他の機能ブロックからの通常の又は突発的なアクセス要求とが連続するように調停する。このような調停によれば、共有メモリ１０に対するリードアクセス又はライトアクセスが連続するので、リードアクセスとライトアクセスとが交互に行われる場合と比して、共有メモリ１０の使用効率が高くなる。
【００６０】
（第４の実施形態）
次に、本発明の第４の実施形態の調停回路を説明する。
【００６１】
図５に示すように、アクセス頻度やアクセス間隔がある程度決まっている機能ブロック１２１が存在する場合、その機能ブロック１２１からその都度、アクセス予約要求を発行しなくても、共有回路使用調停回路４１内にインターバルタイマー（自動予約発行回路）４３を持って、定期的にアクセス予約要求を入れることにより、機能ブロック１２１からアクセス予約要求を発行する必要はなくなる。共有回路使用調停回路４１としてもアクセス頻度やアクセス間隔が明確になるので、実際にアクセス後、次のアクセス要求までの期間は優先順位を低くして、他のアクセスを優先させることができる。インターバルタイマー４３によりアクセス要求が予約されると、優先順位が上がって、実際のアクセス要求に備える。
【００６２】
（第５の実施形態）
更に、本発明の第５の実施形態の調停回路を説明する。
【００６３】
定期的なアクセス要求でなくても、ある期間内の平均アクセス回数やアクセス量が決まっているものがある。このような場合、アクセス頻度が低くなってきている時ほど次にアクセス要求があった場合に優先順序が高く、アクセス頻度が高い時には多少優先順序を落として他のアクセスを優先しても問題ない場合がある。このような用途においては、従来の技術では、優先順序の高い時を考慮して設計する必要があった。
【００６４】
このような課題に対処して、本実施形態では、図６に示すように、共有回路使用調停回路５１内に、アクセス頻度を監視するアクセス頻度監視回路（調停順序変更回路）５４を導入して、一定時間アクセスがない場合、時間経過に応じて優先順序を変更して、徐々に優先順位を上げる機能を持たせた。
【００６５】
この構成によれば、アクセス頻度が高く、順調に処理されている場合には、優先順位を下げるよう変更する。すなわち、他のアクセス要求と重なっても、それまでに順調にアクセスされていたので、他のアクセスを優先させても良い。一方、一定期間アクセス要求がないような場合には、次のアクセス要求は優先順位を上げて処理することにより、平均アクセス回数を確保することができる。
【産業上の利用可能性】
【００６６】
以上説明したように、本発明は、複数の機能ブロックが共有メモリ等の共有回路をアクセスする調停回路において、それら複数の機能ブロックからの重なったアクセス要求を効率良く調停することができるので、そのような調停回路等として有用である。
【図面の簡単な説明】
【００６７】
【図１】本発明の第１の実施形態の調停回路の構成を示す図である。
【図２】同調停回路が有する共有回路使用調停回路の動作処理フローを示す図である。
【図３】本発明の第２の実施形態の調停回路が有する共有回路使用調停回路の構成を示す図である。
【図４】本発明の第３の実施形態の調停回路の構成を示す図である。
【図５】本発明の第４の実施形態の調停回路の構成を示す図である。
【図６】本発明の第５の実施形態の調停回路の構成を示す図である。
【符号の説明】
【００６８】
１１、２１、３１、４１、５１      共有回路使用調停回路
１２、２２、３２、４２、５２      アクセス管理テーブル（情報保持回路）
２３                              時計
４３                              インターバルタイマー（自動予約発行回路）
５４                              アクセス頻度監視回路（調停順序変更回路）
１００                            アクセス要求群
１０１、１０２、１０３、
１１１、１１２、１１３、１２１  機能ブロック（機能処理回路）
【図１】
2005158035.tif 000003
【図２】
2005158035.tif 000004
【図３】
2005158035.tif 000005
【図４】
2005158035.tif 000006
【図５】
2005158035.tif 000007
【図６】
2005158035.tif 000008