(57)【要約】【課題】本発明は、アービタ及びマスタにおける単純な制御動作により、長期間バスの占有状態が続かないように制御可能なバス共有システムを提供することを目的とする。【解決手段】バス共有システムは、バスと、バスにアクセスする第１の回路と、第１の回路とバスを共有しバスにアクセスする第２の回路と、第２の回路に設けられ第２の回路がバスをアクセスするたびにカウント動作を実行するカウンタ回路と、第１の回路と第２の回路との間でバス権獲得要求の調停を行うアービタ回路を含み、第２の回路はアービタ回路からバス権を獲得した後にカウンタ回路が所定の回数カウント動作を実行するとバス権を解放することを特徴とする。【選択図】        図１
2004178266.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
該バスにアクセスする第１の回路と、
該第１の回路と該バスを共有し該バスにアクセスする第２の回路と、
該第２の回路に設けられ該第２の回路が該バスをアクセスするたびにカウント動作を実行するカウンタ回路と、
該第１の回路と該第２の回路との間でバス権獲得要求の調停を行うアービタ回路
を含み、該第２の回路は該アービタ回路からバス権を獲得した後に該カウンタ回路が所定の回数カウント動作を実行すると該バス権を解放することを特徴とするバス共有システム。
【請求項２】
該第２の回路は、該カウンタ回路が該所定の回数カウント動作を実行する前であっても必要なアクセス動作を終了すると該バス権を解放することを特徴とする請求項１記載のバス共有システム。
【請求項３】
該第２の回路はレジスタ回路を更に含み、該所定の回数は該レジスタ回路に格納される値であることを特徴とする請求項１記載のバス共有システム。
【請求項４】
該第２の回路は、
該カウンタ回路のカウント値と該レジスタ回路の格納値とを比較する比較器と、
該比較器の比較結果に応じて該バス権解放の旨を該アービタ回路に通知する制御回路
を含むことを特徴とする請求項３記載のバス共有システム。
【請求項５】
該アービタ回路にバス権獲得要求がある度にカウント動作を実行する第２のカウンタ回路を更に含み、該所定の回数は該第２のカウント回路のカウント値であることを特徴とする請求項１記載のバス共有システム。
【請求項６】
該アービタ回路は、所定の期間の間は該第２の回路からのバス権獲得要求を無視することを特徴とする請求項１記載のバス共有システム。
【請求項７】
該アービタ回路は所定の周期でカウント動作を実行する第２のカウンタ回路を含み、該第２のカウンタ回路のカウント値が所定の範囲の間にある期間により該所定の期間を規定することを特徴とする請求項６記載のバス共有システム。
【請求項８】
該バスはメモリが接続されるメモリバスであり、該第１の回路は該メモリに該メモリバスを介してアクセスするメモリインターフェースであることを特徴とする請求項１記載のバス共有システム。
【請求項９】
該第２の回路は、該メモリバスを介して液晶表示装置の駆動を制御する液晶表示装置制御回路であることを特徴とする請求項８記載のバス共有システム。
【請求項１０】
共有バスの使用権を要求することでバス使用権を獲得し、
該バス使用権を獲得後に該共有バスへのアクセス回数をカウントし、
該カウント数が所定の数に達したことに応じて該共有バスを解放する
各段階を含むことを特徴とするバス共有方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バスを共有するバス共有システムに関し、詳しくはバスを長期間占有することなく解放することを特徴とするバス共有システムに関する。
【従来の技術】
複数のマスタがバスを共有する場合、バスを使用したいマスタは、アービタに対してバス使用権を要求するリクエストを実行する。アービタは複数のマスタからのリクエストがある場合には調停を行い、優先順位に従って選択した１つのマスタにバス使用権を渡す。
【０００２】
上記のような調停手順を実行するためには、１サイクル以上を必要とする。従って例えば、マスタが細切れに複数回リクエストをする場合には、各リクエストの度に調停手順を実行することが必要となり、無駄なサイクルを消費することになる。またあるマスタがバス使用権を保持したまま離さないでいると、他のマスタが全くバスを使用することが出来なくなり、システム全体の性能が低下してしまう。
【０００３】
従来技術には、要求信号を連続で実行したい要求数を制御することで、要求信号の切り替わり時に発生する無駄な処理時間を削減するアービトレーション制御装置を示すものがある（特許文献１）。この従来技術の発明では、選択した要求信号の優先順位を最下位に落とすが、要求信号に対応した要求保持信号をアサートすることで、優先順位に係らず同じ要求信号を連続して実行できる。
【０００４】
【特許文献１】
特開２０００‐０１０９１４号公報
【発明が解決しようとする課題】
１つのマスタが長期間バスを占有することを防ぐ方法としては、アービタが、バスの状態を常時監視して所定の期間バスの占有状態が継続した場合、又は他のマスタからのリクエストを検知した場合に、現マスタからバス使用権を奪うという方法がある。しかしこれを実現するためには、アービタ回路とマスタ側回路との間で制御信号のやりとりが発生するので、回路構造が複雑になると共に複雑な制御手順が必要になる。結果として、バスの制御に必要なサイクル数が増加し、また場合によってはシステムがロックして長時間動作を停止してしまう場合もある。
【０００５】
以上を鑑みて、本発明は、アービタ及びマスタにおける単純な制御動作により、長期間バスの占有状態が続かないように制御可能なバス共有システムを提供することを目的とする。
【課題を解決するための手段】
本発明によるバス共有システムは、バスと、該バスにアクセスする第１の回路と、該第１の回路と該バスを共有し該バスにアクセスする第２の回路と、該第２の回路に設けられ該第２の回路が該バスをアクセスするたびにカウント動作を実行するカウンタ回路と、該第１の回路と該第２の回路との間でバス権獲得要求の調停を行うアービタ回路を含み、該第２の回路は該アービタ回路からバス権を獲得した後に該カウンタ回路が所定の回数カウント動作を実行すると該バス権を解放することを特徴とする。
【０００６】
このように本発明においては、各マスタ回路にカウンタ回路を設け、バスへアクセスする度にカウンタ回路にカウント動作させ、カウント数が所定の回数に到達すると共通バスを解放する。これにより、単純な制御動作によって、長期間バスの占有状態が続くことを防ぐことが可能となる。
【０００７】
また本発明によるバス共有方法は、共有バスの使用権を要求することでバス使用権を獲得し、該バス使用権を獲得後に該共有バスへのアクセス回数をカウントし、該カウント数が所定の数に達したことに応じて該共有バスを解放する各段階を含むことを特徴とする。
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【０００８】
図１は、本発明によるバス共有システムの第１の実施例の構成を示す図である。
【０００９】
図１のバス共有システムは、アービタ１１、マスタ１２−１乃至１２−ｎ、共通バス１３を含む。マスタ１２−１乃至１２−ｎは、共通バス１３に接続され共通バス１３を共有する。共通バス１３を使用したい場合、マスタ１２−１乃至１２−ｎは、アービタ１１に対してそれぞれリクエスト信号ＲＥＱ１乃至ＲＥＱｎを送出する。アービタ１１は、バス使用権を渡すマスタに対して、グラント信号ＧＮＴｉ（ｉ＝１，２，・・・，ｎ）をアサートする。バス使用権を要求するマスタが複数ある場合には、アービタ１１は所定の優先順位に従って、バス使用権を渡すマスタを決定する。
【００１０】
マスタ１２−１乃至１２−ｎは、それぞれカウンタ１４−１乃至１４−ｎを含む。マスタ１２−ｉ（ｉ＝１，２，・・・，ｎ）は、グラント信号ＧＮＴｉをアービタ１１から受け取ると、共通バス１３を占有して所定のデータ転送動作等を実行する。１つのマスタが共通バス１３を占有している状態では、他のマスタは共通バス１３を使用することはできない。このような占有状態が長期間続くとシステム全体としての性能が低下することになる。
【００１１】
本発明においては、マスタ１２−１乃至１２−ｎにそれぞれ設けられたカウンタ１４−１乃至１４−ｎによって、特定のマスタによるバス占有状態が所定の時間以上継続しないように制御する。具体的には、マスタ１２−ｉ（ｉ＝１，２，・・・，ｎ）は、グラント信号ＧＮＴｉをアービタ１１から受け取ると、共通バス１３を占有して所定のデータ転送動作等を実行すると共に、カウンタ１４−ｉを所定の初期値（例えば０）から開始して、共通バス１３に一回アクセスする毎に１だけカウントアップする。マスタ１２−ｉはカウンタ１４−ｉのカウント値Ｃｉをチェックし、カウント値Ｃｉが所定の値に到達したか否かを判断する。
【００１２】
カウント値Ｃｉが所定の値に到達すると、マスタ１２−ｉは共通バス１３を解放すると共にリクエスト信号ＲＥＱｉをネゲートする。またカウント値Ｃｉが所定の値に到達していなくても、マスタ１２−ｉは、必要なアクセス動作を終了した場合にはアービタへのリクエスト信号ＲＥＱｉをネゲートする。リクエスト信号ＲＥＱｉのネゲート状態に応答して、アービタ１１は共通バス１３が解放されたことを知る。その後リクエスト信号が到来すると、アービタ１１は、バス使用権を渡すマスタに対してグラント信号をアサートする。
【００１３】
上記説明においては、カウンタ１４−ｉを所定の初期値（例えば０）からカウントアップするとしたが、所定の初期値からカウントダウンし、カウント値がゼロになった時点で共通バス１３を解放するとしてもよい。
【００１４】
図２は、図１のバス共有システムの動作の一例を示すタイミングチャートである。
【００１５】
まずマスタ１２−１からのリクエスト信号ＲＥＱ１がＨＩＧＨとなると、それに応答して、アービタ１１がグラント信号ＧＮＴ１を１サイクル期間だけＨＩＧＨにアサートする。マスタ１２−１は、グラント信号ＧＮＴ１のアサートを受けてカウンタ１４−１を“０”にリセットし、共通バス１３に対するアクセス動作を開始する。マスタ１２−１はアクセス毎にカウンタ１４−１にカウント動作させる。カウンタ１４−１のカウント値が所定の値（この例では“４”）に達すると、マスタ１２−１はリクエスト信号ＲＥＱ１をネゲートする。
【００１６】
この例ではカウンタ１４−１のカウント値が“２”の時に、マスタ１２−２からのリクエスト信号ＲＥＱ２がＨＩＧＨとなっている。しかしこの時点では、バス使用権がマスタ１２−１に占有されているので、グラント信号ＧＮＴ２はアサートされない。その後マスタ１２−１がリクエスト信号ＲＥＱ１をネゲートした時点で、マスタ１２−２に対するグラント信号ＧＮＴ２がＨＩＧＨとなり、バス使用権がマスタ１２−２に渡される。
【００１７】
マスタ１２−２はグラント信号ＧＮＴ２のアサートを受けて、カウンタ１４−２を“０”にリセットし、共通バス１３に対するアクセス動作を開始する。この例の場合、マスタ１２−２がリクエスト信号ＲＥＱ２をアサートしてからグラント信号ＧＮＴ２を受け取るまでに待たされる時間は６サイクルである。
【００１８】
このように本発明の第１の実施例においては、各マスタにカウンタ回路を設け、バスへアクセスする度にカウンタ回路にカウント動作させ、カウント値が所定の値に到達すると共通バスを解放すると共にアービタに対するリクエスト信号をネゲートする。これにより、単純な制御動作によって、長期間バスの占有状態が続くことを防ぐことが可能となる。
【００１９】
図３は、本発明によるバス共有システムの第２の実施例の構成を示す図である。図３において、図１と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００２０】
図３のバス共有システムは、アービタ１１、マスタ１２Ａ−１乃至１２Ａ−ｎ、共通バス１３を含む。マスタ１２Ａ−１乃至１２Ａ−ｎは、共通バス１３に接続され共通バス１３を共有する。
【００２１】
マスタ１２Ａ−１乃至１２Ａ−ｎは、それぞれカウンタ１４−１乃至１４−ｎ及びレジスタ１５−１乃至１５−ｎを含む。マスタ１２Ａ−ｉ（ｉ＝１，２，・・・，ｎ）は、グラント信号ＧＮＴｉをアービタ１１から受け取ると、共通バス１３を占有して所定のデータ転送動作等を実行すると共に、カウンタ１４−ｉを所定の初期値（例えば０）から開始して、共通バス１３に一回アクセスする毎に１だけカウントアップする。マスタ１２−ｉはカウンタ１４−ｉのカウント値Ｃｉをチェックし、レジスタ１５−ｉに格納されるレジスタ値Ｒｉとカウント値Ｃｉとが等しくなったか否かを判断する。
【００２２】
カウント値Ｃｉがレジスタ値Ｒｉに到達すると、マスタ１２Ａ−ｉは共通バス１３を解放すると共にリクエスト信号ＲＥＱｉをネゲートする。またカウント値Ｃｉがレジスタ値Ｒｉに到達していなくても、マスタ１２−ｉは、必要なアクセス動作を終了した場合にはアービタへのリクエスト信号ＲＥＱｉをネゲートする。
【００２３】
上記説明においては、カウンタ１４−ｉを所定の初期値（例えば０）からカウントアップするとしたが、レジスタ値Ｒｉから開始してカウントダウンし、カウント値がゼロになった時点で共通バス１３を解放するとしてもよい。
【００２４】
このように本発明の第２の実施例においては、各マスタにカウンタ回路及びレジスタ回路を設け、バスへアクセスする度にカウンタ回路にカウント動作させ、カウント値がレジスタに格納される値と等しくなると、共通バスを解放すると共にアービタに対するリクエスト信号をネゲートする。これにより、単純な制御動作によって、長期間バスの占有状態が続くことを防ぐことが可能となる。
【００２５】
またマスタが共通バスを占有する期間（アクセスサイクル数）をレジスタ回路を用いて規定することにより、システムの動作状況に応じて各マスタの共通バス占有期間を適切に調整することができる。これにより、システム全体の性能をより大きく向上させることができる。
【００２６】
図４は、マスタの関連部分の構成を示す図である。図４にはマスタ１２Ａ−１を例として示すが、他のマスタ１２Ａ−２乃至１２Ａ−ｎも同様の構成である。
【００２７】
図４のマスタ１２Ａ−１は、カウンタ１４−１、レジスタ１５−１、比較器１６−１、及び制御回路１７−１を含む。またマスタ１２Ａ−１は、図示されないコア回路を含む。このコア回路は、制御回路１７−１の制御の下に、共通バス１３へのアクセス動作や所定のデータ処理等の動作を実行する。なおこのコア回路は制御回路１７−１の一部として含まれていると考えてもよい。
【００２８】
制御回路１７−１は、共通バス１３へのアクセスが必要な場合、アービタ１１に対してリクエスト信号ＲＥＱ１を送出する。これに応答してアービタ１１からグラント信号ＧＮＴ１が供給されると、グラント信号ＧＮＴ１はカウンタ１４−１及び制御回路１７−１に入力される。制御回路１７−１は、グラント信号ＧＮＴ１を受け取ると、共通バス１３に対するデータ転送動作等のアクセスを開始する。またカウンタ１４−１は、グラント信号ＧＮＴ１により所定の初期値（例えば“０”）にリセットされる。
【００２９】
制御回路１７−１は、共通バス１３に対するアクセスを一回実行する度に、パルス信号であるイネーブル信号Ｅｎをカウンタ１４−１に供給する。このイネーブル信号Ｅｎに応じて、カウンタ１４−１が共通バス１３に対する１回のアクセスに対して１だけカウントアップされる。カウンタ１４−１のカウント値とレジスタ１５−１のレジスタ値とが比較器１６−１に供給され、比較器１６−１により両値が比較される。カウント値がレジスタ値に等しくなると、比較器１６−１は制御回路１７−１に供給する比較結果信号をアサートする。この比較結果信号のアサート状態に応じて、制御回路１７−１は共通バス１３へのアクセス動作を停止し共通バス１３を解放すると共に、アービタ１１に対するリクエスト信号ＲＥＱ１をネゲートする。
【００３０】
図５は、本発明によるバス共有システムの第３の実施例の構成を示す図である。図５において、図１と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００３１】
図５のバス共有システムは、アービタ１１、マスタ１２−１乃至１２−ｎ、共通バス１３、ＯＲ回路１８、及びカウンタ１９を含む。マスタ１２−１乃至１２−ｎは、共通バス１３に接続され共通バス１３を共有する。
【００３２】
マスタ１２−１乃至１２−ｎが送出するリクエスト信号ＲＥＱ１乃至ＲＥＱｎは、アービタ１１に供給されると共に、ＯＲ回路１８にも供給される。ＯＲ回路１８は、リクエスト信号ＲＥＱ１乃至ＲＥＱｎの論理和をとり、その出力をカウンタ１９に供給する。カウンタ１９は、ＯＲ回路１８からの信号が一回アサートされる度にカウント動作を実行する。従ってＯＲ回路１８は、マスタ１２−１乃至１２−ｎの何れかがリクエスト動作を行う度に、カウントアップ（或いはカウントダウン）することになる。例えば４ビットカウンタであれば、１からカウントアップしていき、カウントが１６になると次に１に戻る。或いは１６からカウントダウンしていき、カウントが１になると次に１６に戻る。
【００３３】
バス使用権を獲得したマスタ１２−ｉ（ｉ＝１，２，・・・，ｎ）は、アービタ１１からのグラント信号ＧＮＴｉに応答して、共通バス１３を占有して所定のデータ転送動作等を実行すると共に、カウンタ１４−ｉを所定の初期値（例えば０）から開始して、共通バス１３に一回アクセスする毎に１だけカウントアップする。マスタ１２−ｉはカウンタ１４−ｉのカウント値Ｃｉをチェックし、カウンタ１９のカウント値とカウント値Ｃｉとが等しくなったか否かを判断する。
【００３４】
両方のカウント値が等しくなると、マスタ１２−ｉは共通バス１３を解放すると共にリクエスト信号ＲＥＱｉをネゲートする。また両方のカウント値が等しくなくとも、マスタ１２−ｉは、必要なアクセス動作を終了した場合にはアービタへのリクエスト信号をＲＥＱｉをネゲートする。
【００３５】
図６は、図５のバス共有システムの動作の一例を示すタイミングチャートである。
【００３６】
マスタ１２−１からのリクエスト信号ＲＥＱ１がＨＩＧＨとなると、それに応答して、アービタ１１がグラント信号ＧＮＴ１を１サイクル期間だけＨＩＧＨにアサートする。マスタ１２−１は、グラント信号ＧＮＴ１のアサートを受けてカウンタ１４−１を“０”にリセットし、共通バス１３に対するアクセス動作を開始する。この時、ＧＮＴ１、ＧＮＴ２、・・・、及びＧＮＴｎの論理和信号によりカウンタ１９がカウントアップされる。マスタ１２−１はアクセス毎にカウンタ１４−１にカウント動作させる。カウンタ１４−１のカウント値がカウンタ１９のカウント値（この例では“４”）に達すると、マスタ１２−１はリクエスト信号ＲＥＱ１をネゲートする。
【００３７】
その後マスタ１２−２に対するグラント信号ＧＮＴ２がＨＩＧＨになると、カウンタ１９が再びカウントアップされる。マスタ１２−２は、グラント信号ＧＮＴ２のアサートを受けてカウンタ１４−２を“０”にリセットし、共通バス１３に対するアクセス動作を開始する。マスタ１２−２は、カウンタ１４−２を“０”にリセットしてアクセス毎にカウントアップし、カウンタ１９の値とカウンタ１４−２の値が一致した時に共通バス１３を解放する。
【００３８】
以上の動作により、マスタ１２−１乃至１２−ｎが１回のバス権獲得で実行する連続アクセス回数が、バスの使用状況により逐次変化することになる。この方式により、各マスタの優先順位等が不明な場合等に、適当な連続アクセス回数を自動的に設定することが可能となる。また図３のマスタ１２Ａ−１乃至１２Ａ−ｎを図５の構成に用いることも可能であり、この場合には、カウンタ１４−１乃至１４−ｎの比較対象を、レジスタ１５−１乃至１５−ｎ又はカウンタ１９の何れか任意の方に設定してよい。
【００３９】
図７は、本発明によるバス共有システムの第４の実施例の構成を示す図である。
【００４０】
図７のバス共有システムは、メモリインターフェース２１、マスタ回路２２、及びメモリバス２３を含む。メモリインターフェース２１は、図示されないＣＰＵ等からのデータをメモリバス２３を介して図示されないメモリに供給すると共に、メモリからメモリバス２３を介して受け取るデータをＣＰＵに供給する。マスタ回路２２は、メモリバス２３をメモリインターフェース２１と共有する回路であり、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）の入出力ピン数削減などの目的のために、自らのデータ入出力をメモリバス２３を利用して行う回路である。
【００４１】
メモリインターフェース２１はアービタ２４を含む。またマスタ回路２２は、カウンタ２５及びレジスタ２６を含む。
【００４２】
マスタ回路２２は、メモリバス２３を使用したい場合に、メモリインターフェース２１のアービタ２４にリクエスト信号ＲＥＱ１をアサートする。アービタ２４は、メモリインターフェース２１がメモリバス２３を現在使用してなくバス権を渡してもよいと判断する場合には、マスタ回路２２にグラント信号ＧＮＴ１をアサートする。
【００４３】
グラント信号ＧＮＴ１をアービタ２４から受け取ると、マスタ回路２２はメモリバス２３を占有して所定のデータ転送動作等を実行すると共に、カウンタ２５を所定の初期値（例えば０）から開始して、メモリバス２３に一回アクセスする毎に１だけカウントアップする。マスタ回路２２はカウンタ２５のカウント値Ｃ１をチェックし、レジスタ２６に格納されるレジスタ値Ｒ１とカウント値Ｃ１とが等しくなったか否かを判断する。
【００４４】
カウント値Ｃ１がレジスタ値Ｒ１に到達すると、マスタ回路２２はメモリバス２３を解放すると共にリクエスト信号ＲＥＱ１をネゲートする。またカウント値Ｃ１がレジスタ値Ｒ１に到達していなくても、マスタ回路２２は、必要なアクセス動作を終了した場合にはアービタへのリクエスト信号をＲＥＱ１をネゲートする。
【００４５】
上記説明においては、カウンタ２５を所定の初期値（例えば０）からカウントアップするとしたが、レジスタ値Ｒ１から開始してカウントダウンし、カウント値がゼロになった時点でメモリバス２３を解放するとしてもよい。
【００４６】
このように本発明の第４の実施例においては、メモリバスをメモリインターフェースと共有するマスタにカウンタ回路を設け、メモリバスへアクセスする度にカウンタ回路にカウント動作させ、カウント値が所定の値に到達するとメモリバスを解放すると共にアービタに対するリクエスト信号をネゲートする。これにより、単純な制御動作によって、長期間メモリバスの占有状態が続くことを防ぐことが可能となる。
【００４７】
図８は、本発明によるバス共有システムの第５の実施例の構成を示す図である。図８において、図７と同一の構成要素は同一の参照番号で参照し、その説明は省略する。
【００４８】
図８のバス共有システムは、メモリインターフェース２１Ａ、マスタ回路２２、及びメモリバス２３を含む。図７の構成と同様に、メモリインターフェース２１Ａは、図示されないＣＰＵ等からのデータをメモリバス２３を介して図示されないメモリに供給すると共に、メモリからメモリバス２３を介して受け取るデータをＣＰＵに供給する。
【００４９】
図７の構成と同様に、メモリインターフェース２１Ａはアービタ２４Ａを含み、マスタ回路２２はカウンタ２５及びレジスタ２６を含む。図８の構成では更に、アービタ２４Ａは、カウンタ３１及びレジスタ３２を含む。カウンタ３１は、所定のクロック信号に基づいてカウント動作を実行する。アービタ２４Ａは、カウンタ３１のカウント値Ｃａをレジスタ３２の格納値Ｒａと比較し、カウント値Ｃａがレジスタ値Ｒａより大きい場合には、マスタ回路２２からのバス使用権要求のリクエストを受け付けないように調停動作を制御する。それ以外の動作は図７の構成の場合と同様である。
【００５０】
図９は、図８のバス共有システムの動作の一例を示すタイミングチャートである。
【００５１】
この例では、レジスタ３２の格納値Ｒａは３であり、カウンタ３１のカウント値Ｃａが０〜３の時にのみマスタ回路２２からのリクエストを受け付ける構成となっている。またカウンタ３１は３ビットカウンタであり、そのカウント値は０から７の範囲でカウントアップ動作を繰り返す。図９においては、まずリクエスト信号ＲＥＱ１がＨＩＧＨになるが、この時点ではカウント値Ｃａの値が０〜３に達していないためアービタ２４Ａはリクエストを無視する。カウント値Ｃａの値が０〜３の範囲内となった時点で、アービタ２４ＡはＲＥＱ１を受け付けてｈグラント信号ＧＮＴ１を１サイクルの期間ＨＩＧＨにアサートする。これに応答して、マスタ回路２２はメモリバス２３を介して外部デバイスにアクセスを実行する。
【００５２】
図９の例では、カウンタ２５のカウント値Ｃ１は、初期設定としてレジスタ２６のレジスタ値Ｒ１（この例では４）に設定される。カウンタ２５がその後カウントダウンしゼロになった時点で、マスタ回路２２はメモリバス２３を解放してアービタ２４Ａに対するリクエスト信号ＲＥＱ１をネゲートする。この動作とは逆に、カウンタ２５をゼロからカウントアップし、カウント値Ｃ１がレジスタ値Ｒ１になった時点でメモリバス２３を解放するとしてもよい。
【００５３】
このように本発明の第５の実施例では、アービタ内部にカウンタを設け、このカウント値に従ってマスタ回路からのリクエストを受け付ける時間を制御する。これにより、マスタ回路によるメモリバス占有が発生する頻度を制限することが可能となり、メモリインターフェースによるメモリデバイスのためのデータ転送動作に支障をきたさないような調停動作を実現することが出来る。
【００５４】
図１０は、図８のバス共有システムをＬＣＤ駆動システムに応用した例を示す構成図である。図１０において、図８と同一の構成要素は同一の参照番号で参照し、その説明は省略する。
【００５５】
図１０のＬＣＤ駆動システムは、システムＬＳＩ５１、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５２、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５３、及びＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）装置５４を含む。システムＬＳＩ５１は、メモリバス２３を介して、ＳＲＡＭ５２、ＳＤＡＲＭ５３、及びＬＣＤ装置５４に接続される。システムＬＳＩ５１は、メモリインターフェース２１Ａ、グラフィックコントローラ４１、ＣＰＵ４２、及び内部バス４３を含む。メモリインターフェース２１Ａが図８に示したメモリインターフェース２１Ａに対応し、グラフィックコントローラ４１に含まれるＬＣＤ制御回路２２が図８のマスタ回路２２に相当する。
【００５６】
メモリインターフェース２１Ａは、内部バス４３を介してＣＰＵ４２から受け取ったデータを、メモリバス２３を介してＳＲＡＭ５２又はＳＤＡＲＭ５３に供給する。また更に、ＳＲＡＭ５２又はＳＤＡＲＭ５３からメモリバス２３を介して受け取ったデータを、内部バス４３を介してＣＰＵ４２に供給する。ＬＣＤ制御回路２２は、メモリバス２３をメモリインターフェース２１Ａと共有する回路であり、システムＬＳＩ５１の入出力ピン数削減などの目的のために、ＬＣＤ表示に関るデータ入出力をメモリバス２３を利用して行う回路である。
【００５７】
メモリインターフェース２１ＡとＬＣＤ制御回路２２の動作は図８の場合と同様である。ＬＣＤ制御回路２２は、ＬＣＤ装置５４を駆動するためにメモリバス２３を使用したい場合に、メモリインターフェース２１Ａのアービタ２４Ａにリクエスト信号ＲＥＱ１をアサートする。アービタ２４Ａは、メモリインターフェース２１Ａがメモリバス２３を現在使用してなく且つカウンタ３１が示すカウント値が所定の範囲内にあると判断する場合には、ＬＣＤ制御回路２２にグラント信号ＧＮＴ１をアサートする。以降の動作は、図８及び図９に関して説明した動作と同様である。
【００５８】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【発明の効果】
本発明においては、各マスタ回路にカウンタ回路を設け、バスへアクセスする度にカウンタ回路にカウント動作させ、カウント数が所定の回数に到達すると共通バスを解放する。これにより、単純な制御動作によって、長期間バスの占有状態が続くことを防ぐことが可能となる。
【図面の簡単な説明】
【図１】本発明によるバス共有システムの第１の実施例の構成を示す図である。
【図２】図１のバス共有システムの動作の一例を示すタイミングチャートである。
【図３】本発明によるバス共有システムの第２の実施例の構成を示す図である。
【図４】マスタの関連部分の構成を示す図である。
【図５】本発明によるバス共有システムの第３の実施例の構成を示す図である。
【図６】図５のバス共有システムの動作の一例を示すタイミングチャートである。
【図７】本発明によるバス共有システムの第４の実施例の構成を示す図である。
【図８】本発明によるバス共有システムの第５の実施例の構成を示す図である。
【図９】図８のバス共有システムの動作の一例を示すタイミングチャートである。
【図１０】図８のバス共有システムをＬＣＤ駆動システムに応用した例を示す構成図である。
【符号の説明】
１１  アービタ
１２−１、１２−２、・・・、１２−ｎ  マスタ
１３  共通バス
１４−１、１４−２、・・・、１４−ｎ  カウンタ
１５−１、１５−２、・・・、１５−ｎ  レジスタ
５１  システムＬＳＩ
５２  ＳＲＡＭ
５３  ＳＤＲＡＭ
５４  ＬＣＤ装置
【図１】
2004178266.tif 000003
【図２】
2004178266.tif 000004
【図３】
2004178266.tif 000005
【図４】
2004178266.tif 000006
【図５】
2004178266.tif 000007
【図６】
2004178266.tif 000008
【図７】
2004178266.tif 000009
【図８】
2004178266.tif 000010
【図９】
2004178266.tif 000011
【図１０】
2004178266.tif 000012