(57)【要約】【課題】  異なるバスプロトコルで通信するデバイスを共通のＬＳＩピンに接続し、時分割でバスプロトコルを切り替えて、ＬＳＩのピンを共有する方式において、性能を低下させずに実現する方法を提供することを目的とする。【解決手段】  異なるバスプロトコルで通信するデバイスをＬＳＩの共通のピンに接続するよう基板のパターンで形成する共有バスで接続し、ＬＳＩ内部では内部バスに接続されるブロックにはライトバッファを備えてポステッドライトが可能な構成を取り、バスアービタが共有バスのバス使用権を許可する優先順位を共有バスに接続されたデバイスへのリードアクセスをライトアクセスよりも優先させる。【選択図】  図１
2007108858.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩのピンを共有して少なくとも２つの異なるプロトコルで動作するデバイスを接続する機器であって、
プロトコル１で動作するバスインタフェースブロック１と
プロトコル２で動作するバスインタフェースブロック２と
共有ピンと
バスインタフェースブロック１とバスインタフェースブロック２のどちらかを切り替えて共有ピンへ接続するバス切り替え接続部と
バス切り替えを制御するバス切り替え制御部とから構成されることを特徴とするピン共有装置。
【請求項２】
前記バス切り替え制御部はリードアクセスのあったプロトコルで動作するバスを優先して共有ピンを使用させるようバス切り替え制御を行うことを特徴とする請求項１記載のピン共有装置。
【請求項３】
前記バスインタフェースブロックはＬＳＩ内部の他のブロックからのライトデータを一時保持可能なライトバッファを備えることを特徴とする請求項１及び２記載のピン共有装置。
【請求項４】
前記バスインタフェースブロックはライトバッファの状態を前記バス切り替え制御部へ通知可能であり、バス切り替え制御部はライトバッファがフル状態にあるバスインタフェースブロックを優先して共有ピンを使用させるようバス切り替えを行うことを特徴とする請求項１乃至３記載のピン共有装置。
【請求項５】
ＬＳＩのピンを共有して少なくとも２つの異なるプロトコルで動作するデバイスを接続する方法であって、
プロトコル１で動作するバスインタフェースブロック１と
プロトコル２で動作するバスインタフェースブロック２と
共有ピンと
バスインタフェースブロック１とバスインタフェースブロック２のどちらかを切り替えて共有ピンへ接続するバス切り替え接続部と
バス切り替えを制御するバス切り替え制御部を備え、リードアクセスのあったプロトコルで動作するバスを優先して共有ピンを使用させるようバス切り替え制御を行うことを特徴とするピン共有方法。
【請求項６】
前記バスインタフェースブロックはＬＳＩ内部の他のブロックからのライトデータを一時保持可能なライトバッファを備え、ライトバッファの状態を前記バス切り替え制御部へ通知可能であり、バス切り替え制御部はライトバッファがフル状態にあるバスインタフェースブロックを優先して共有ピンを使用させるようバス切り替えを行うことを特徴とする請求項５記載のピン共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩのピン共有方法に関するもので、特に複数の異なるバスプロトコルで通信するデバイスをＬＳＩのピンを共有して接続するための方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩの製造プロセスの微細化が進むに従い、１個のＬＳＩに集積できる回路規模は飛躍的に増大の一途を遂げている。ＬＳＩとメモリや他のデバイスとを接続するためにＬＳＩ１個のパッケージに搭載可能なピン数はシリコン上のパッド間隔、パッケージピンの間隔の狭小化、表面実装パッケージを用いた多ピン化などの方策により増加傾向にあるが、回路規模の増大に対してピン数の増加が追いついていないのが現状である。その結果、ＬＳＩのシリコンサイズが回路規模ではなく、パッド数で決まってしまうパッドリミットと呼ばれる現象が発生し、シリコンの利用効率が悪くなるという問題があり、一方パッケージに関しては、シリコンサイズに対して巨大化してしまい、ＬＳＩ搭載基板面積が増大してしまうという問題がある。
【０００３】
これらの問題に対しては、ＬＳＩのピン数削減が効果的である。ピン数削減のために、従来はアドレスやデータなどのバスを複数のピンで定義して転送するパラレルデータバスをシリアルバスに置き換え、数本のピンで実現することも行われている。例えば、ＰＣＩバスをＰＣＩ Ｅｘｐｒｅｓｓと呼ばれるシリアルバスへ置き換え、高速化とピン数削減を両立させようとする技術動向がある。
【０００４】
また、１つのメモリを２つのＣＰＵから共有できるように、メモリ制御部へ各々のＣＰＵと共有メモリを接続し、メモリ制御部が２つのＣＰＵからのメモリアクセスを調停する例が開示されている（例えば、特許文献１参照）。
【０００５】
異なるバスプロトコルで通信するデバイスを共通のＬＳＩピンに接続し、時分割でバスプロトコルを切り替えて、ＬＳＩのピンを共有する方式も考案されている（例えば、特許文献２参照）。
【特許文献１】特開平６−３０１６２６号公報
【特許文献２】特開平２００２−２７８９２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来例にあるようにパラレルバスをシリアルバスで置き換える場合、ピン数は削減可能であるが、バスに接続されるデバイスもシリアルバスに対応する必要がある。市場に広く普及した安価な従来のパラレルバスインタフェースのデバイスを使うことができなくなり、同等の機能を備えたシリアルバスインタフェースを持つデバイスが開発されるのを待つか自ら開発しなければならないという問題がある。また、シリアルバスを実装したＬＳＩと従来のパラレルバスインタフェースデバイスの間にバス変換ＬＳＩ（バスブリッジ）を使う方法もあるが、システムトータルとして考えると、バスブリッジＬＳＩ分のコストアップに加え、バスブリッジＬＳＩを実装する基板面積の増大、消費電力の増大という欠点がある。
【０００７】
パラレルバスを共有する方法として、特許文献１に開示された内容を説明する。機器のブロックは図７に示すようにＣＰＵ１ ５０１とＣＰＵ２ ５０２のそれぞれの周辺デバイス用バスには周辺デバイス１ ５０３と周辺デバイス２ ５０４が接続され、各ＣＰＵのバス５０１ｂと５０２ｂはメモリ制御部５０５へと接続され、それぞれのＣＰＵはバス５０５ｂでメモリ制御部５０５と接続されたＲＡＭ５０６へアクセス可能なように構成されている。
【０００８】
２つのＣＰＵからメモリへのアクセス要求を調停する制御回路はメモリ制御部５０５内部にあり、どちらか先にアクセスがあった方のメモリアクセスを優先して許可するよう動作する。
【０００９】
しかし、上述の従来例では、２つのＣＰＵは独立して動作しているが、ある処理にはメモリアクセスを優先して使用させる必要が生じても、この従来例では対処できない。例えば、周辺デバイス２が外部デバイスとの通信を行っている時、ある一定時間内に応答を返さなければ通信が途切れるといった制限がある場合でも、ＣＰＵ１側からのメモリアクセスが先に実行されると一定時間内に周辺デバイス２がメモリにアクセスすることができず、最悪の場合通信が途切れてしまう可能性がある。
【００１０】
一方、特許文献２には異なるバスプロトコルで通信するデバイスを共有バスに接続し、時分割でバスプロトコルを切り替える例が開示されている。この例では、異なるバスプロトコルを持つ２つのＣＰＵ、ＳＣＳＩデバイス、ＤＭＡデバイスがバスにアクセスする際インターフェース調停回路の制御によってバス使用権を調停する。バス使用権の優先度はＣＰＵが低く、ＳＣＳＩ、ＤＭＡの順に高く設定されており、低い優先度のデバイスがバスを使用している最中に高い優先度のデバイスがバス使用権を要求すると、使用中のバスアクセスを中断させて、高い優先度のデバイスにバスを使わせた後、中断したアクセスを再開されるように構成されている。
【００１１】
しかし、上述の特許文献２のようにバスプロトコルにのみ着目して優先順位をつけていると、却ってシステム全体にとっては性能が低下してしまう場合がある。例えば、ＣＰＵであるデータ処理を行う時、外部メモリからデータを速く読み込めれば、そのデータを使った処理を早く開始できる。一方、処理後のデータを外部メモリへ書き込む場合、ＣＰＵでの書込み処理が終われば、実際にデータが外部メモリへ書き込まれるまで待たなくてもＣＰＵは次の処理へ進める。近年のＣＰＵはこのような書込み動作、ポステッドライト（ｐｏｓｔｅｄ ｗｒｉｔｅ）をサポートしているものが多い。ＣＰＵ以外のＬＳＩ内部ブロックについても同様に考えることができ、ライトデータが実際のメモリデバイスへ書き込まれるまで待つ必要はなく、リードデータを早く渡すことができればシステム全体としての処理性能を上げることができる。しかしながら、異なるプロトコルを持つ外部デバイスを共有バス接続し、上述したようなプロトコルによる優先順位でバス使用許可権が与えられる場合、優先度の低いプロトコルのリードアクセスが、優先度の高いプロトコルのライトアクセスで中断されることが発生してしまい、システムの性能を低下させてしまうという欠点があった。
【００１２】
本発明は上記従来例に鑑みてなされたものであり、異なるバスプロトコルで通信するデバイスを共通のＬＳＩピンに接続し、時分割でバスプロトコルを切り替えて、ＬＳＩのピンを共有する方式において、バス使用権を許可する優先順位をリードアクセスがライトアクセスよりも優先されるように制御することによって、システムの性能を低下させない方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
このような課題を解決するために、本発明における請求項１記載のピン共有装置は、ＬＳＩのピンを共有して少なくとも２つの異なるプロトコルで動作するデバイスを接続する機器であって、プロトコル１で動作するバスインタフェースブロック１と、プロトコル２で動作するバスインタフェースブロック２と、共有ピンと、バスインタフェースブロック１とバスインタフェースブロック２のどちらかを切り替えて共有ピンへ接続するバス切り替え接続部と、バス切り替えを制御するバス切り替え制御部とから構成されることを特徴とする。
【００１４】
このような課題を解決するために、本発明における請求項２記載のピン共有装置のバスインタフェースブロックはＬＳＩ内部の他のブロックからのライトデータを一時保持可能なライトバッファを備えることを特徴とする。
【００１５】
このような課題を解決するために、本発明における請求項３記載のピン共有装置のバスインタフェースブロックはＬＳＩ内部の他のブロックからのライトデータを一時保持可能なライトバッファを備えることを特徴とする。
【００１６】
このような課題を解決するために、本発明における請求項４記載のピン共有装置のバスインタフェースブロックはＬＳＩ内部の他のブロックからのライトデータを一時保持可能なライトバッファを備えることを特徴とする。
【００１７】
このような課題を解決するために、本発明における請求項５記載のピン共有方法は、ＬＳＩのピンを共有して少なくとも２つの異なるプロトコルで動作するデバイスを接続する方法であって、プロトコル１で動作するバスインタフェースブロック１と、プロトコル２で動作するバスインタフェースブロック２と、共有ピンと、バスインタフェースブロック１とバスインタフェースブロック２のどちらかを切り替えて共有ピンへ接続するバス切り替え接続部と、バス切り替えを制御するバス切り替え制御部を備え、リードアクセスのあったプロトコルで動作するバスを優先して共有ピンを使用させるようバス切り替え制御を行うことを特徴とする。
【００１８】
このような課題を解決するために、本発明における請求項６記載のピン共有方法におけるバスインタフェースブロックはＬＳＩ内部の他のブロックからのライトデータを一時保持可能なライトバッファを備え、ライトバッファの状態を前記バス切り替え制御部へ通知可能であり、バス切り替え制御部はライトバッファがフル状態にあるバスインタフェースブロックを優先して共有ピンを使用させるようバス切り替えを行うことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、異なるバスプロトコルで通信するデバイスを共通のＬＳＩピンに接続し、時分割でバスプロトコルを切り替えて、ＬＳＩのピンを共有する方式において、バス使用権を許可する優先順位をリードアクセスがライトアクセスよりも優先されるように制御することによって、システムの性能を低下させずに実現することが可能である。従って、ＬＳＩの貴重な資源であるピン数を削減し、性能と低コストの両立を実現することができるという効果がある。
【発明を実施するための最良の形態】
【００２０】
（実施例１）
以下図面を参照して本発明の第１の実施例を説明する。図１はＬＳＩのピンを２つの異なるプロトコルで動作するバスで共有するシステムのブロック図を示したものである。１０１はＬＳＩであり、ＣＰＵコアをチップ内に実装したＳＯＣ（Ｓｙｓｔｅｍ Ｏｎ ａ Ｃｈｉｐ）を例として示している。ＬＳＩ１０１はＣＰＵ１０２、メモリコントローラ１０３、内部バスマスタ１０４、バス−１マスタ１０５、バス−２マスタ１０６、ＭＵＸ１０７、共有ＩＯピン１０８、バスアービタ１０９から構成され、各ブロックは図示したようにＬＳＩの内部バスに接続されている。ＬＳＩ１０１にはメモリ１１０が、バス−１プロトコルで動作するバス−１デバイス１がｎ個、バス−２プロトコルで動作するバス−２デバイスがｍ個共有ＩＯピン１０８に接続されている。ここではバス−１デバイスはバスマスタとして動作するため、バス使用権要求信号とバス使用権許可信号でバスアービタ１０９と各デバイスが接続されていることを示している。一方、バス−２デバイスはバスマスタとしては動作せず、ＬＳＩ１０１からバス−２が駆動される構成である。
【００２１】
ＣＰＵ１０２はプログラムに従って動作し、ＬＳＩ１０１及びシステムの動作を制御する。メモリコントローラ１０３は外部メモリ１１０と接続され、データのリードライト制御を行う。
【００２２】
内部バスマスタ１０４は例えばデータ圧縮・伸張機能ブロックや画像処理ブロックなどであり、内部バスに対してバスマスタとなり、メモリ１１０やＬＳＩ１０１外部に接続されたバス−１デバイスやバス−２デバイスに対してアクセスする。
【００２３】
バス−１マスタ１０５はバス−１プロトコルで動作し、ＣＰＵ１０２、内部バスマスタ１０４からのバス−１デバイスへのアクセスがあった場合、バス−１のバスマスタとなって外部共有バスに接続されたバス−１デバイスへアクセスする。また内部にライトバッファを備え、ＣＰＵ１０１や内部バスマスタ１０４から渡されるライトデータをバッファリング可能である。ライトバッファの容量を大きくすると、蓄えることができるライトデータが多くなるため性能は向上するが、回路規模は増大するため性能と規模のトレードオフによって容量が決定される。ライトバッファを備えることにより、ＣＰＵ１０２や内部バスマスタ１０４はポステッドライト処理が可能となり、ライト動作時にライトバッファに空きがあるかぎり、すぐにライト処理を終えて次の処理動作へ移行可能である。
【００２４】
一方、外部共有バスに接続されたバス−１デバイスがバスマスタとなって、メモリ１１０へアクセスする場合は図示しないＬＳＩ内部のバス−１スレーブブロックがバス−１デバイスからのバスアクセスを受け付ける。
【００２５】
バス−２バスマスタ１０６はバス−２プロトコルで動作し、ＣＰＵ１０２、内部バスマスタ１０４からのバス−２デバイスへのアクセスがあった場合、バス−２のバスマスタとなって外部共有バスに接続されたバス−２デバイスへアクセスする。またバス−１バスマスタ同様、内部にライトバッファを備え、ＣＰＵ１０１や内部バスマスタ１０４から渡されるライトデータをバッファリング可能である。ライトバッファの容量を大きくすると、蓄えることができるライトデータが多くなるため性能は向上するが、回路規模は増大するため性能と規模のトレードオフによって容量が決定される。
【００２６】
ＭＵＸ１０７はバス−１信号とバス−２信号をマルチプレックス、デマルチプレックスするブロックである。バスアービタ１０９からの制御信号に従い、どちらのバスを共有ＩＯピン１０８へ接続するかを選択する。
【００２７】
共有ＩＯピン１０８はＭＵＸ１０７に接続され、バス−１、バス−２で共有して使用されるＩＯパッド及びピンである。ＬＳＩ１０１を実装した基板上では共有ＩＯピン１０４に基板パターンが接続され、同じパターン上に複数のデバイスが接続される。
【００２８】
バスアービタ１０９は内部バス、及び外部共有バスのバス使用権を調停するブロックである。ＬＳＩ内部ブロック、ＬＳＩ外部のバス−１デバイスの各々とバス使用権要求信号とバス使用権許可信号で接続されており、バス使用権要求信号を出力している内部ブロックまたは外部デバイスのいずれかに対してバス使用権許可信号を出力してバス使用を許可する。バス使用許可権をどのデバイスに与えるかを決定する際、リードアクセスを優先する。また、ＭＵＸ１０７ブロックに対しては、バス−１、バス−２のどちらのバスを有効とするかを制御する信号を出力する。
【００２９】
外部共有バスには、バス−１プロトコルで動作するバス−１デバイス １１１、１１３、１１５が接続され、各々のデバイスはバス−１のバスマスタとして動作するのでバス使用権要求信号線とバス使用権許可信号線を一本の線で表した信号線１１２、１１４、１１６でバスアービタ１０９と接続されている。またバス−２プロトコルで動作するバス−２デバイス １１７、１１９、１２１も外部共有バスに接続されている。１１７、１１９、１２１はいずれもバス−２のバススレーブデバイスであるのでバスアービタ１０９とは接続されていない。
【００３０】
次に本実施例のバスアービタと外部共有バスの処理動作の流れを図２のフローチャートを参照して説明する。
【００３１】
図１のバスアービタ１０９のバス使用権許可デバイス決定処理が開始されると、バス−２デバイスへのアクセス要求があるかどうかをバス−２バスマスタ１０６からバス使用権要求信号がアサートされているかどうかによって判定する（Ｓ１０１）。アクセス要求があればＳ１０２へ進み、なければＳ１１０へ進む。Ｓ１０２ではバス−２デバイスに対するアクセスがリードアクセスかどうかを判定する。リードアクセスであればＳ１０３へ、リードアクセスでなければＳ１０７へ進む。Ｓ１０３ではバス−１デバイスへのアクセス処理中かどうかを判定する。バス−１デバイスへのアクセス処理中であれば、Ｓ１０４へ進み、アクセス処理中でなければＳ１０９へ進む。Ｓ１０４ではバス−１のバスアクセスの中断処理である。本実施例ではバス−１へのアクセスよりもバス−２へのリードアクセスの優先順位を高くしているため、バス−１のバスアクセス中にバス−２のリードアクセスがあった場合、本処理（Ｓ１０４）でバス−１のバスアクセスを中断させ、次にバス−２のリードアクセスを開始する（Ｓ１０５）。Ｓ１０５でバス−２デバイスへのアクセスを開始する前に、バスアービタ１０９はＭＵＸ１０８を制御して、外部共有バスをバス−２マスタへ接続し、バス−２マスタ１０６にバス使用権を与える。バス−２のリードアクセスが終了すると、バスアービタはバス−２マスタ１０６へ与えていたバス使用権許可を不許可へ変更し、ＭＵＸ１０７をバス−１へ接続し、バス−１マスタ１０５あるいは外部共有バスに接続されたバス−１デバイス１〜ｎのいずれかのバス使用権要求信号を出力するデバイスに対してバス使用を許可し、Ｓ１０３で中断したバス−１のバスアクセスを再開する（Ｓ１０６）。
【００３２】
Ｓ１０７はバス−２のアクセスがリードアクセスでない場合に実行される処理であり、バス−１デバイスのバス使用許可禁止設定を行う処理である。ここでの使用禁止処理とは実行中のバスアクセスが終了した次のバスアクセス時、バス−１デバイス（バス−１マスタ１０８、バス−１デバイス１ １１１、バス−１デバイス２ １１３、バス−１デバイスｎ １１７）にバス使用権を許可しない設定にすることである。
【００３３】
Ｓ１０８はバス−１デバイスへのアクセス処理実行中かどうかを判定する処理である。アクセス中の場合、実行中のバスアクセスが終了するのを待つ。バスアクセス終了時、あるいはバスアクセスが実行中でない場合は、Ｓ１０９へ進む。
【００３４】
Ｓ１０９はバス−２デバイスのアクセス実行処理である。バス−２へバス使用を許可し、外部共有バスをバス−２へ切り替えて、バス−２デバイスのアクセスを実行する。
【００３５】
Ｓ１１０はバス−２デバイスへのアクセス要求がないとＳ１０１で判定された場合に、バス−１デバイスへのアクセス要求があるかどうかを判定する。アクセス要求があるとＳ１１１へ進み、バス−１デバイスのバス使用を許可する。アクセス要求がない場合は処理を終わる。
【００３６】
上述したように、本実施例においては、バス−１デバイスへのバスアクセスよりもバス−２デバイスへのリードアクセスの優先度を高めたバスアービタを用いた例を示している。バス−２デバイスへのリードアクセスを優先することにより、システム全体の処理効率が高くなる場合、本実施例のように構成すれば良い。
【００３７】
（実施例２）
次に本発明の第２の実施例は、第１の実施例に加えて、実行中のバス−１へのリードアクセス処理の優先度を高めて、実行中のリードアクセスは中断しないように構成した場合である。
【００３８】
本実施例の処理動作を図３に示す。
【００３９】
実施例１の図２ではＳ１０３でバス−１デバイスへのアクセス処理中にバス−２デバイスのリードアクセスがあると、Ｓ１０４でハス−１のアクセスを中断していたが、Ｓ２０３にあるように、バス−１デバイスへのライトアクセス時のみ、バス−２のリードアクセスを優先するようにしたものである。Ｓ１０２でバス−１の処理中のアクセスがライトアクセスの場合は、Ｓ２０４へ進み、バス−１のアクセス処理を中断してバス−２リードアクセスを優先して実行させる。Ｓ２０３で、バス−１のアクセスがライトアクセスでない場合はＳ２０８へ進み、バス−ー１デバイスへのアクセス処理が終了するか、バス−１デバイスのアクセス処理中でない場合、Ｓ２０９へ進み、バス−２へバス使用を許可し、外部共有バスをバス−２へ切り替えて、バス−２デバイスのアクセスを実行する。
【００４０】
上述したように、本実施例においては、バス−１デバイス、バス−２デバイスへのリードアクセスの優先度を高めたバスアービタを用いた例を示している。バスー１、バス−２デバイスへのリードアクセスの優先度を同等にすることにより、システム全体の処理効率が高くなる場合、本実施例のように構成すれば良い。
【００４１】
（実施例３）
次に本発明の第３の実施例は、第１の実施例に加えて、バス−２マスタ１０６内のライトバッファの空き状態によって、バス−２を示す信号がバスマスタ１０９へ接続するように構成しておき、バスアービタ１０９は、バス−２マスタ１０６のリードアクセスに加え、ライトバッファの空き容量がなくなって、ＣＰＵ１０２や内部バスマスタ１０４のライト処理がポステッドライトできなくなった場合にバス−２マスタ１０６のライトアクセスの優先度をバス−２マスタのリードアクセスと同等に上げることによって、内部バスのウェイト発生によるシステムの性能低下を抑制する。
【００４２】
本実施例の処理動作を図４に示す。
【００４３】
実施例１の図２では、Ｓ１０２でバス−２デバイスへのリードアクセスかどうかを判定し、リードアクセスでない場合は、バス−１のバスアクセスの終了を待つようになっていたが、Ｓ３０７にあるようにバス−２バスマスタ１０６のライトバッファがフルかどうかを判定する処理を追加し、ライトバッファがフルの場合は、Ｓ３０３へ戻り、バス−２デバイスへのリードアクセスと同等の優先度で処理を行うようにしたものである。
【００４４】
上述したように、本実施例は、バス−１デバイスへのバスアクセスよりもバス−２デバイスへのリードアクセスの優先度を高め、かつバス−２バスマスタのライトバッファがフルとなった場合バス−２デバイスへのライトアクセスの優先度を高めるバスアービタを用いた例を示している。バス−２デバイスへのリードアクセスを優先すること及びライトアクセスのウェイトを無くすことを優先することにより、システム全体の処理効率が高くなる場合、本実施例のように構成すれば良い。特にライトバッファの容量を大きくすると回路規模への影響が大きくなるような場合に本実施例は有効である。
【００４５】
（実施例４）
次に本発明の第４の実施例は、第２の実施例と第３の実施例を組み合わせたものである。すなわち第２の実施例に加えて、バス−２マスタ１０６内のライトバッファの空き状態を示す信号をバスマスタ１０９へ接続して、バスアービタ１０９はバス−２マスタ１０６のリードアクセスに加え、ライトバッファの空き容量がなくなって、ＣＰＵ１０２や内部バスマスタ１０４のライト処理がポステッドライトできなくなるとバス−２マスタ１０６のライトアクセスの優先度がバス−２マスタのリードアクセスと同等に高くなるように制御するので、バスのウェイト発生によるシステムの性能低下を抑制することができる。
【００４６】
本実施例の処理動作を図５に示す。
【００４７】
実施例１の図２では、Ｓ２０２でバス−２デバイスへのリードアクセスかどうかを判定し、リードアクセスでない場合は、バス−１のバスアクセスの終了を待つようになっていたが、Ｓ４０７にあるようにバス−２バスマスタ１０６のライトバッファがフルかどうかを判定する処理を追加し、ライトバッファがフルの場合は、Ｓ４０３へ戻り、バス−２デバイスへのリードアクセスと同等の優先度で処理を行うようにしたものである。
【００４８】
上述したように、本実施例においては、バス−１デバイス、バス−２デバイスへのリードアクセスの優先度を高め、かつバス−２バスマスタのライトバッファがフルとなった場合バス−２デバイスへのライトアクセスの優先度を高めるバスアービタを用いた例を示している。バスー１、バス−２デバイスへのリードアクセスの優先度を同等にすること及びバス−２デバイスへのライトアクセスのウェイトを無くすことを優先することにより、システム全体の処理効率が高くなる場合、本実施例のように構成すれば良い。特にライトバッファの容量を大きくすると回路規模への影響が大きくなるような場合に有効である。
【００４９】
（実施例５）
次にその他の実施例として、外部共有バスに接続されているバス−２デバイスがバスマスタとして動作可能な場合の構成のブロック図を図６に示す。図１にと異なるのは、外部共有バスに接続されているバス−２デバイス１ ２１８、バス−２デバイス２ ２１９、バス−２デバイスｍ ２２１が各々バスマスタとなって動作するのでバス使用権要求信号線とバス使用権許可信号線を一本の線で表した信号線２１８、２２０、２２２でバスアービタ２０９と接続されていることである。
【００５０】
本実施例のようにバス−１、バス−２共にバスマスタとして動作するデバイスが接続された場合も上述した実施例と基本的には同様の処理を行えば良い。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施例におけるシステムとシステムを構成するＬＳＩの内部の構成を示すブロック図である。
【図２】本発明の第１の実施例におけるバスアービタと外部共有バスの処理動作を示すフローチャートである。
【図３】本発明の第２の実施例におけるバスアービタと外部共有バスの処理動作を示すフローチャートである。
【図４】本発明の第３の実施例におけるバスアービタと外部共有バスの処理動作を示すフローチャートである。
【図５】本発明の第４の実施例におけるバスアービタと外部共有バスの処理動作を示すフローチャートである。
【図６】本発明のその他の実施例におけるシステムとシステムを構成するＬＳＩの内部の構成を示すブロック図である。
【図７】従来例のシステム構成を示すブロック図である。
【符号の説明】
【００５２】
１０１  ＬＳＩ
１０２  ＣＰＵ
１０３  メモリコントローラ
１０４  内部バスマスタ
１０５  バス−１マスタ
１０６  バス−２マスタ
１０７  ＭＵＸ
１０８  共有ＩＯピン
１０９  バスアービタ
１１０  メモリ
１１１  バス−１デバイス１
１１２  バス−１デバイス１のバス使用権要求信号とバス使用許可信号
１１３  バス−１デバイス２
１１４  バス−１デバイス２のバス使用権要求信号とバス使用許可信号
１１５  バス−１デバイスｎ
１１６  バス−１デバイスｎのバス使用権要求信号とバス使用許可信号
１１７  バス−２デバイス１
１１８  バス−２デバイス２
１１９  バス−２デバイスｍ
【図１】
2007108858.tif 000003
【図２】
2007108858.tif 000004
【図３】
2007108858.tif 000005
【図４】
2007108858.tif 000006
【図５】
2007108858.tif 000007
【図６】
2007108858.tif 000008
【図７】
2007108858.tif 000009