(57)【要約】【課題】本発明は、時分割バス制御方式を採用したシステムＬＳＩにおいて、バスのデータ転送レートを向上できるようにすることを最も主要な特徴としている。【解決手段】たとえば、システムメモリ１７のライトバックを実行する場合、ＣＰＵ１３が、ライトバックを実行するためのプログラムにあらかじめ定義されている設定情報をもとに、バスアービター１２のタイムスロット設定記憶部１２ａにタイムスロット制御情報を設定する。そして、ＣＰＵ１３が他のモジュールに優先して多量のデータをバス１１上に出力できるようにするために、タイムスロット生成部１２ｂによって生成されるタイムスロット値ＩＤを、単位サイクルに占めるＣＰＵ１３のタイムスロット値ＩＤの数が多くなるように、上記タイムスロット制御情報をもとに制御する構成とされている。【選択図】      図２
2005215980.tif 000002
【特許請求の範囲】
【請求項１】
バスにつながる複数のモジュールにそれぞれ割り付けられた識別値に応じた所定の期間内に、前記各モジュールによる前記バス上へのデータの出力が可能とされた時分割バス制御方式のバス制御システムであって、
前記識別値を生成する際に、少なくとも識別値の生成に関する優先順位やタイミングを、システムが実行しようとしている処理に応じて制御する生成部を具備したことを特徴とするバス制御システム。
【請求項２】
バスにつながる複数のモジュールにそれぞれ割り付けられた識別値に応じた所定の期間内に、前記各モジュールによる前記バス上へのデータの出力が可能とされた時分割バス制御方式のバス制御システムのバス制御方法であって、
前記識別値を生成する際に、少なくとも識別値の生成に関する優先順位やタイミングを、システムが実行しようとしている処理に応じて制御するようにしたことを特徴とするバス制御方法。
【請求項３】
バスにつながる複数のモジュールにそれぞれ割り付けられた識別値に応じた所定の期間内に、前記各モジュールによる前記バス上へのデータの出力が可能とされた時分割バス制御方式のバス制御システムであって、
前記識別値を生成する際に、少なくとも識別値の生成に関する優先順位やタイミングを、前記バスのアクセス状況に応じて制御する生成部を具備したことを特徴とするバス制御システム。
【請求項４】
バスにつながる複数のモジュールにそれぞれ割り付けられた識別値に応じた所定の期間内に、前記各モジュールによる前記バス上へのデータの出力が可能とされた時分割バス制御方式のバス制御システムのバス制御方法であって、
前記識別値を生成する際に、少なくとも識別値の生成に関する優先順位やタイミングを、前記バスのアクセス状況に応じて制御するようにしたことを特徴とするバス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス制御システムおよびバス制御方法に関するもので、特に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やその周辺装置が接続されているシステムバスの制御方式に関するものである。
【背景技術】
【０００２】
周知のように、ＣＰＵやその周辺装置を１チップ上に搭載してなる、いわゆるＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）構造のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）が開発されている。この種のシステムＬＳＩにおいては、各種のバス制御方式が提案されている（たとえば、特許文献１参照）。
【０００３】
すなわち、プロセッサモジュールやその周辺モジュールによって構成されるシステムＬＳＩにおいて、モジュール間を接続するバスのデータ転送レートの低下は、システムＬＳＩの性能の低下を招く要因の一つとなっている。また、システムＬＳＩを構成する各モジュールは、動作周波数や機能の相違によりアクセスレイテンシが異なる場合が多い。したがって、低速で動作するモジュールからの応答時間の遅れが、そのモジュールに対するリードアクセスにおけるバスストールの発生やデータ転送レートの低下の原因となっている。このように、従来のシステムＬＳＩにおいては、バスのデータ転送レートの低下を改善するためのバス制御方式がいろいろと模索されている。
【０００４】
図１３は、従来のシステムＬＳＩ（ＳＯＣ構造）の構成例を示すものである。このシステムＬＳＩの場合、たとえば、チップ上に搭載された４つのモジュール０〜３がバス（ＢＵＳ）１０１に接続されている。つまり、上記バス１０１には、イニシエータ（Ｉｎｉｔｉａｔｏｒ）モジュール０として、たとえばＣＰＵ１０３が接続されている。また、上記バス１０１には、イニシエータモジュール１として、たとえばＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）１０５が接続されている。また、上記バス１０１には、ターゲット（Ｔａｒｇｅｔ）モジュール２として、たとえばメモリコントローラ（ＭｅｍＣｔｌ）１０７が接続されている。このメモリコントローラ１０７にはメモリ（Ｍｅｍｏｒｙ）１１１が接続されている。さらに、上記バス１０１には、ターゲットモジュール３として、たとえばＩＯ（入出力装置）１０９が接続されている。
【０００５】
上記した構成のシステムＬＳＩにおいて、１回のバストランザクションが、上記ＣＰＵ１０３（イニシエータモジュール０）または上記ＤＭＡＣ１０５（イニシエータモジュール１）からのコマンド発行によって開始され、上記メモリコントローラ１０７（ターゲットモジュール２）または上記ＩＯ１０９（ターゲットモジュール３）による応答によって終了すると仮定する。このようなバス制御方式のシステムＬＳＩの場合、上記メモリコントローラ１０７または上記ＩＯ１０９の応答準備（データの出力準備）が整うまでの期間、上記バス１０１はストール状態になる。たとえば、上記ＣＰＵ１０３が、上記ＩＯ１０９に対してデータのリード要求（コマンド発行）を行ったとする。これに対し、上記ＩＯ１０９が直ちにリードデータを出力することができない場合、上記ＣＰＵ１０３は上記ＩＯ１０９からの応答を待ち続けることになる。すなわち、上記ＩＯ１０９がリードデータを出力するまで、上記バス１０１はストール状態となる。
【０００６】
このバスストールを防ぐ方法として、すでに、“リトライ”および“スプリット”というバス制御方式が確立されている。上記“リトライ”とは、応答準備のできていないターゲットモジュールが、イニシエータモジュールに対してリトライ（コマンド再実行）を要求する。これにより、現在のバストランザクションを終了させて、ターゲットモジュールの応答準備が整うまでの期間、バスがストール状態となるのを回避するものである。
【０００７】
しかしながら、上記の“リトライ”には以下のような問題点がある。つまり、ターゲットモジュールからのリトライ要求を検出すると、イニシエータモジュールは実行中のサイクルを終了し、その直後または一定時間経過後にコマンドの再発行を行う。ところが、このコマンドの再発行までの間に応答準備が整わなかった場合、そのターゲットモジュールは、再度、リトライを要求することになる。このようなリトライ要求の多発は、バスのデータ転送レートを低下させる。
【０００８】
一方、上記“スプリット”とは、データを転送する一連のサイクル（トランザクション）のうち、データ転送を要求するフェイズと実際にデータを転送するフェイズとを分離したものである。これにより、データを要求されたデバイス側（ターゲット）の反応が遅れても、それを待つことなく、データを要求する側（イニシエータ）は別のトランザクションを次々と開始することができる。
【０００９】
しかし、この“スプリット”方式には、バスがストールする状態となることを回避する一方で、バスアービトレーションの複雑性が増すという問題点がある。
【００１０】
図１４は、一般的な時分割バス制御方式を採用したシステムＬＳＩの構成例を示すものである。このシステムＬＳＩの場合、たとえば、チップ上に搭載された４つのモジュール０〜３がバス（ＢＵＳ）２０１に接続されている。つまり、上記バス２０１には、イニシエータ（Ｉｎｉｔｉａｔｏｒ）モジュール０として、たとえばＣＰＵ２０３が接続されている。また、上記バス２０１には、イニシエータモジュール１として、たとえばＣＰＵ２０５が接続されている。また、上記バス２０１には、イニシエータモジュール２として、たとえばＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）２０７が接続されている。さらに、上記バス２０１には、ターゲット（Ｔａｒｇｅｔ）モジュール３として、たとえばメモリコントローラ（ＭｅｍＣｔｌ）２０９が接続されている。このメモリコントローラ２０９にはメモリ（Ｍｅｍｏｒｙ）２１１が接続されている。
【００１１】
一般的な時分割バス制御方式のシステムＬＳＩの場合、たとえば図１５に示すように、全てのイニシエータモジュール０〜２（ＣＰＵ２０３，ＣＰＵ２０５，ＤＭＡＣ２０７）に対し、時分割にバス使用権（タイムスロット値）が与えられる。各イニシエータモジュール０〜２は、バス使用権が与えられている一定の期間内にデータの転送を行う。そのため、この時分割バス制御方式には、同一のバス２０１上に接続されるイニシエータモジュールの数が増えると、それに比例して、１つのイニシエータモジュールに与えられるバス使用権の間隔（次のバス使用権までの時間）ｄが増大し、システムのスループットが低下するという問題がある。また、あるイニシエータモジュールにバス使用権が与えられている間は、他のイニシエータモジュールはバス２０１を使用することができない。したがって、バス使用権が与えられているイニシエータモジュール（たとえば、ＤＭＡＣ２０７）が転送するデータをもたない場合にも、他のイニシエータモジュールはバス２０１を使用することができず、システムのスループットを低下させるという問題があった。
【００１２】
その他、バスのバンド幅を広げることにより、システムバスのデータ転送レートの低下を改善することが可能な方法が知られている。しかしながら、バスのバンド幅を広げるためには、データ幅（バス幅）を大きくする、もしくは、バスの動作周波数を上げる必要がある。よって、この方法には、バス幅の増加によるチップ面積の増大や動作周波数の高周波数化にともなう消費電力の増加およびタイミングマージンの劣化などのデメリットがある。
【００１３】
上記したように、従来のシステムＬＳＩにおいては、各種のバス制御方式が提案されているものの、システムバスのデータ転送レートの向上にとって、より有効なバス制御方式が望まれていた。
【特許文献１】特開２００２−９１９０３
【発明の開示】
【発明が解決しようとする課題】
【００１４】
この発明は、システムバスのデータ転送レートの向上を図ることが可能なバス制御システムおよびバス制御方法を提供することを目的としている。
【課題を解決するための手段】
【００１５】
本願発明の一態様によれば、バスにつながる複数のモジュールにそれぞれ割り付けられた識別値に応じた所定の期間内に、前記各モジュールによる前記バス上へのデータの出力が可能とされた時分割バス制御方式のバス制御システムであって、前記識別値を生成する際に、少なくとも識別値の生成に関する優先順位やタイミングを、システムが実行しようとしている処理に応じて制御する生成部を具備したことを特徴とするバス制御システムが提供される。
【００１６】
また、本願発明の一態様によれば、バスにつながる複数のモジュールにそれぞれ割り付けられた識別値に応じた所定の期間内に、前記各モジュールによる前記バス上へのデータの出力が可能とされた時分割バス制御方式のバス制御システムのバス制御方法であって、前記識別値を生成する際に、少なくとも識別値の生成に関する優先順位やタイミングを、システムが実行しようとしている処理に応じて制御するようにしたことを特徴とするバス制御方法が提供される。
【００１７】
また、本願発明の一態様によれば、バスにつながる複数のモジュールにそれぞれ割り付けられた識別値に応じた所定の期間内に、前記各モジュールによる前記バス上へのデータの出力が可能とされた時分割バス制御方式のバス制御システムであって、前記識別値を生成する際に、少なくとも識別値の生成に関する優先順位やタイミングを、前記バスのアクセス状況に応じて制御する生成部を具備したことを特徴とするバス制御システムが提供される。
【００１８】
さらに、本願発明の一態様によれば、バスにつながる複数のモジュールにそれぞれ割り付けられた識別値に応じた所定の期間内に、前記各モジュールによる前記バス上へのデータの出力が可能とされた時分割バス制御方式のバス制御システムのバス制御方法であって、前記識別値を生成する際に、少なくとも識別値の生成に関する優先順位やタイミングを、前記バスのアクセス状況に応じて制御するようにしたことを特徴とするバス制御方法が提供される。
【００１９】
上記の構成とした場合、低速で動作するモジュールからの応答を待つことなく、バスの使用が可能となる。これにより、システムが実行しようとしている処理の要求や処理の状況に応じて最適なデータ転送レートを確保できるようになるものである。
【発明の効果】
【００２０】
この発明によれば、システムバスのデータ転送レートの向上を図ることが可能なバス制御システムおよびバス制御方法を提供できる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について図面を参照して説明する。
【００２２】
［第１の実施形態］
図１は、この発明の第１の実施形態にしたがった、システムＬＳＩの基本構成を示すものである。ここでは、時分割バス制御方式において、各モジュールに対応するタイムスロット（Ｔｉｍｅ  Ｓｌｏｔ）値の、単位サイクルあたりの割り当てを、プログラマブルに制御するようにした場合を例に説明する。つまり、システムバスにつながる全てのモジュールにタイムスロット値ＩＤが割り付けられ、それぞれのモジュールがタイムスロット値ＩＤに応じた所定の期間内にバス上にデータを転送する時分割バス制御方式において、システムＬＳＩが実行しようとしている処理プログラムにあらかじめ定義されている設定情報をもとに、各モジュールのバス使用権が任意の優先順位およびタイミングになるように、上記タイムスロット値ＩＤの生成を制御するようにした場合の例である。
【００２３】
このシステムＬＳＩの場合、たとえば図１に示すように、バス（ＢＵＳ）１１には、上記バス１１のアービトレーションを行うバスアービター（Ｂｕｓ  Ａｒｂｉｔｅｒ）１２が接続されている。また、上記バス１１には、イニシエータ（Ｉｎｉｔｉａｔｏｒ）モジュール０として、たとえばＣＰＵ１３が接続されている。また、上記バス１１には、イニシエータモジュール１として、たとえばＣＰＵ１４が接続されている。また、上記バス１１には、イニシエータモジュール２として、たとえばイニシエータ１５が接続されている。また、上記バス１１には、ターゲット（Ｔａｒｇｅｔ）モジュール３として、たとえばメモリコントローラ（ＭｅｍＣｔｌ）１６が接続されている。このメモリコントローラ１６には、たとえばＳＤＲＡＭなどのシステムメモリ（Ｍｅｍｏｒｙ）１７が接続されている。さらに、上記バス１１には、ターゲットモジュール４として、たとえばターゲット１８が接続されている。
【００２４】
これらバスアービター１２および５つのモジュール０〜４（ＣＰＵ１３，ＣＰＵ１４，イニシエータ１５，メモリコントローラ１６，ターゲット１８）は、同一チップ上に搭載されている。つまり、このシステムＬＳＩの場合、上記バス１１にそれぞれ接続された上記バスアービター１２および上記各モジュール０〜４が同一チップ上に搭載されて、ＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）構造が実現されている。また、このシステムＬＳＩでは、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）方式によるデータの転送が可能とされている。
【００２５】
上記バスアービター１２および上記各モジュール０〜４には、たとえば図１に示すように、それぞれに固有のタイムスロット値（識別値）ＩＤが割り付けられている。つまり、上記ＣＰＵ１３（イニシエータモジュール０）には、タイムスロット値ＩＤである（１）が割り付けられている。また、上記ＣＰＵ１４（イニシエータモジュール１）には、タイムスロット値ＩＤである（２）が割り付けられている。また、上記イニシエータ１５（イニシエータモジュール２）には、タイムスロット値ＩＤである（３）が割り付けられている。また、上記メモリコントローラ１６（ターゲットモジュール３）には、タイムスロット値ＩＤである（４）が割り付けられている。また、上記ターゲット１８（ターゲットモジュール４）には、タイムスロット値ＩＤである（５）が割り付けられている。さらに、上記バスアービター１２には、タイムスロット値ＩＤである（６）が割り付けられている。
【００２６】
なお、本実施形態の場合、上記ＣＰＵ１３が、このシステムＬＳＩによって実行される各種の処理プログラムを管理するようになっている。処理プログラムとしては、たとえば、上記ＣＰＵ１３の内部のキャッシュメモリから、システムメモリ１７のライトバックを実行するための処理プログラム、および、上記システムメモリ１７から上記イニシエータ１５に多量のデータを転送するＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｓ）を実行するための処理プログラムなどが挙げられる。上記各処理プログラムには、それぞれ、上記タイムスロット値ＩＤの生成を制御するのに必要な設定情報があらかじめ定義されている。前記設定情報とは、たとえばタイムスロット値ＩＤの生成に関する優先順位やタイミングを制御するためのものである。
【００２７】
図２は、図１に示したシステムＬＳＩを構成する各モジュールの構成を、より具体的に示すものである。本実施形態の場合、上記バスアービター１２は、たとえば図２に示すように、タイムスロット設定記憶部１２ａ、タイムスロット生成部１２ｂ、および、その他１２ｃを有して構成されている。上記タイムスロット設定記憶部１２ａは、後述するタイムスロット制御情報の設定および記憶を行うものである。上記タイムスロット生成部１２ｂは、上記タイムスロット制御情報をもとに、所定数のタイムスロット値ＩＤを１単位とする単位サイクル（一定のサイクル間）ごとに、上記タイムスロットＩＤの生成を行うものである。
【００２８】
上記ＣＰＵ１３，上記ＣＰＵ１４および上記イニシエータ１５は、たとえば図２に示すように、コマンド記憶部１ａ、タイムスロット判定部１ｂ、および、その他１ｃを有して構成されている。上記コマンド記憶部１ａは、発行したコマンド（リード／ライト）の履歴を保持するものである。上記タイムスロット判定部１ｂは、タイムスロット値ＩＤを監視し、その判定を行うものである。
【００２９】
上記メモリコントローラ１６および上記ターゲット１８は、たとえば図２に示すように、コマンド記憶部２ａ、タイムスロット判定部２ｂ、および、その他２ｃを有して構成されている。上記コマンド記憶部２ａは、要求されたコマンドの履歴を保持するものである。上記タイムスロット判定部２ｂは、タイムスロット値ＩＤを監視し、その判定を行うものである。
【００３０】
図３は、上記した構成のシステムＬＳＩにおける、単位サイクルの一例を示すものである。本実施形態の場合、単位サイクルは１０のタイムスロット値ＩＤからなり、各タイムスロット値ＩＤの生成が単位サイクルごとに制御されるようになっている。この単位サイクルにおいては、上記ＣＰＵ１３のためのタイムスロット値ＩＤの数を「５」、上記ＣＰＵ１４のためのタイムスロット値ＩＤの数を「１」、上記イニシエータ１５のためのタイムスロット値ＩＤの数を「１」、上記メモリコントローラ１６のためのタイムスロット値ＩＤの数を「１」、上記ターゲット１８のためのタイムスロット値ＩＤの数を「１」、上記バスアービター１２のためのタイムスロット値ＩＤの数を「１」とした場合を例に示している。
【００３１】
すなわち、単位サイクルとしては、上記バスアービター１２および上記各モジュール０〜４に割り付けられているそれぞれのタイムスロット値ＩＤが、システムＬＳＩが実行しようとする処理に応じて、図に示すような任意の優先順位およびタイミングにより自動的に割り当てられる。
【００３２】
以下に、上記した構成のシステムＬＳＩの動作（バス制御方式）について、具体的に説明する。まずは、たとえば図１に示した構成のシステムＬＳＩにおいて、システムメモリ１７のライトバックにより、ＣＰＵ１３が多量のデータをバス１１上に出力する場合の処理の流れについて説明する。
【００３３】
すなわち、上記ライトバックを実行する場合、たとえば図４に示すように、ステップＳＴ０１において、上記ＣＰＵ１３により上記バスアービター１２のタイムスロット設定記憶部１２ａに、上記ライトバックを実行するのに必要なタイムスロット制御情報が設定される。つまり、ライトバックを実行するための処理プログラムにあらかじめ定義されている設定情報をもとにした、上記バスアービター１２や上記各モジュール０〜４の単位サイクルに占めるタイムスロット値ＩＤの数やその生成のタイミングなどの情報により、上記タイムスロット設定記憶部１２ａの設定が更新される。この例（ライトバック）の場合、上記タイムスロット設定記憶部１２ａに設定される上記タイムスロット制御情報は、たとえば、上記ＣＰＵ１３のためのタイムスロット値ＩＤの数が「７」、上記ＣＰＵ１４のためのタイムスロット値ＩＤの数が「２」、および、上記イニシエータ１５のためのタイムスロット値ＩＤの数が「１」となる。また、それら以外のモジュールのタイムスロット値ＩＤの数はいずれも「０」となる。
【００３４】
次のステップＳＴ０２では、上記バスアービター１２により、実行中の単位サイクルの終了が判断される。終了していない場合には、たとえば上記図３に示したような実行中の単位サイクルが終了するまで、その単位サイクルの残りのタイムスロット値ＩＤが、更新される前の設定にしたがって上記タイムスロット生成部１２ｂにより生成される。
【００３５】
一方、実行中の単位サイクルが終了していると判断された場合には、ステップＳＴ０３において、上記タイムスロット設定記憶部１２ａに設定されている上記タイムスロット制御情報をもとに、上記タイムスロット生成部１２ｂによりライトバックのためのタイムスロット値ＩＤが生成されて、順に発行される。
【００３６】
次のステップＳＴ０４では、たとえば、上記タイムスロット生成部１２ｂにより生成されたタイムスロット値ＩＤに応じた所定の期間内に、上記ＣＰＵ１３から多量のデータが上記バス１１上に出力される。つまり、生成されたタイムスロット値ＩＤが上記ＣＰＵ１３のためのものであることが上記タイムスロット判定部１ｂによって判定されると、上記ＣＰＵ１３からは、バス使用権が与えられている一定の期間内にデータ転送が行われる。上記ＣＰＵ１３から上記バス１１上に出力された多量のデータは、上記メモリコントローラ１６によって取り込まれた後、上記システムメモリ１７のライトバックに供される。
【００３７】
こうして、全てのデータの転送が終了したことが上記ＣＰＵ１３によって判断されるまで（ステップＳＴ０５）、上記ステップＳＴ０３〜が繰り返される。つまり、生成されたタイムスロット値ＩＤが上記ＣＰＵ１３のためのものであることが上記タイムスロット判定部１ｂによって判定されるごとに、上記ＣＰＵ１３からのデータ転送が行われる。
【００３８】
また、上記ＣＰＵ１３によって、全てのデータの転送が終了したことが判断される、つまり、上記システムメモリ１７のライトバックのための多量のデータを上記バス１１上に出力する処理が完了したとする。すると、上述したステップＳＴ０１において、上記バスアービター１２のタイムスロット設定記憶部１２ａに対し、次の単位サイクルのためのタイムスロット制御情報の設定が、上記ＣＰＵ１３によって行われる。
【００３９】
図５は、上記ライトバックを実行する際の、上記単位サイクルの構築例を示すものである。ここでは、１０のタイムスロット値ＩＤからなる単位サイクルにおいて、上記ＣＰＵ１３のためのタイムスロット値ＩＤの数を「７」、上記ＣＰＵ１４のためのタイムスロット値ＩＤの数を「２」、上記イニシエータ１５のためのタイムスロット値ＩＤの数を「１」とした場合を例に示している。なお、上記メモリコントローラ１６のためのタイムスロット値ＩＤの数、上記ターゲット１８のためのタイムスロット値ＩＤの数、および、上記バスアービター１２のためのタイムスロット値ＩＤの数は、いずれも「０」となっている。
【００４０】
このように、ライトバックの実行時には、ライトバックを実行するための処理プログラムにあらかじめ定義されている設定情報をもとにして、上記ＣＰＵ１３の単位サイクルに占めるタイムスロット値ＩＤの数が多くなるように、タイムスロット設定記憶部１２ａの設定（タイムスロット制御情報）を更新するとともに、その設定にもとづいてタイムスロット値ＩＤの生成のタイミングを単位サイクルごとに制御する。これにより、上記ＣＰＵ１３は、他のモジュールに優先してバス１１を使用することが可能となる。
【００４１】
次に、たとえば図１に示した構成のシステムＬＳＩにおいて、ＱｏＳのための多量のデータを、システムメモリ１７からイニシエータ１５に転送する場合の処理の流れについて説明する。すなわち、上記ＱｏＳを実行する場合、たとえば図６に示すように、ステップＳＴ１１において、上記ＣＰＵ１３により上記バスアービター１２のタイムスロット設定記憶部１２ａに、上記ＱｏＳを実行するのに必要なタイムスロット制御情報が設定される。つまり、ＱｏＳを実行するための処理プログラムにあらかじめ定義されている設定情報をもとにした、上記バスアービター１２や上記各モジュール０〜４の単位サイクルに占めるタイムスロット値ＩＤの数やその生成のタイミングなどの情報により、上記タイムスロット設定記憶部１２ａの設定が更新される。この例（ＱｏＳ）の場合、上記タイムスロット設定記憶部１２ａに設定される上記タイムスロット制御情報は、たとえば、上記ＣＰＵ１３のためのタイムスロット値ＩＤの数が「２」、上記ＣＰＵ１４のためのタイムスロット値ＩＤの数が「１」、および、上記メモリコントローラ１６のためのタイムスロット値ＩＤの数が「７」となる。また、それら以外のモジュールのタイムスロット値ＩＤの数はいずれも「０」となる。
【００４２】
次のステップＳＴ１２では、上記イニシエータ１５からのリードコマンドが、上記メモリコントローラ１６に対して発行される。上記リードコマンドの発行は、上記イニシエータ１５のタイムスロット値ＩＤに応じた所定の期間内にバス１１を介して行われる。この上記イニシエータ１５からのリードコマンドは、上記メモリコントローラ１６内の上記コマンド記憶部２ａで保持される。
【００４３】
次のステップＳＴ１３においては、上記バスアービター１２により、実行中の単位サイクルの終了が判断される。終了していない場合には、たとえば上記図３に示したような実行中の単位サイクルが終了するまで、その単位サイクルの残りのタイムスロット値ＩＤが、更新される前の設定にしたがって上記タイムスロット生成部１２ｂにより生成される。
【００４４】
一方、実行中の単位サイクルが終了していると判断された場合には、ステップＳＴ１４において、上記タイムスロット設定記憶部１２ａに設定されている上記タイムスロット制御情報をもとに、上記タイムスロット生成部１２ｂによりＱｏＳのためのタイムスロット値ＩＤが生成されて、順に発行される。
【００４５】
次のステップＳＴ１５では、たとえば、上記メモリコントローラ１６におけるリードデータの出力（応答）準備が整っている場合、上記タイムスロット生成部１２ｂにより生成されたタイムスロット値ＩＤに応じた所定の期間内に、上記システムメモリ１７内より読み出された多量のデータが、上記メモリコントローラ１６から上記バス１１上に出力される。つまり、生成されたタイムスロット値ＩＤが上記メモリコントローラ１６のためのものであることが上記タイムスロット判定部２ｂによって判定されると、上記メモリコントローラ１６からは、バス使用権が与えられている一定の期間内にデータのＤＭＡ転送が行われる。上記メモリコントローラ１６から上記バス１１上に出力された多量のデータは、上記イニシエータ１５によって取り込まれる。
【００４６】
こうして、全てのデータの転送が終了したことが上記イニシエータ１５から上記ＣＰＵ１３に通知されるまで（ステップＳＴ１６）、上記ステップＳＴ１４〜が繰り返される。つまり、生成されたタイムスロット値ＩＤが上記メモリコントローラ１６のためのものであることが上記タイムスロット判定部２ｂによって判定されるごとに、上記メモリコントローラ１６からのデータのＤＭＡ転送が行われる。
【００４７】
また、上記ＣＰＵ１３によって、全てのデータの転送が終了したことが判断される、つまり、上記ＱｏＳのための多量のデータが上記システムメモリ１７から上記イニシエータ１５に転送する処理が完了したとする。すると、上述したステップＳＴ１１において、上記バスアービター１２のタイムスロット設定記憶部１２ａに対し、次の単位サイクルのためのタイムスロット制御情報の設定が、上記ＣＰＵ１３によって行われる。
【００４８】
なお、図６に示したフローチャートにおいて、ステップＳＴ１１での上記タイムスロット設定記憶部１２ａに対する上記タイムスロット制御情報の設定によっては、上述したステップＳＴ１２およびステップＳＴ１３での処理が前後する場合もある。
【００４９】
図７は、上記ＱｏＳを実行する際の、上記単位サイクルの構築例を示すものである。ここでは、１０のタイムスロット値ＩＤからなる単位サイクルにおいて、上記ＣＰＵ１３のためのタイムスロット値ＩＤの数を「２」、上記ＣＰＵ１４のためのタイムスロット値ＩＤの数を「１」、上記メモリコントローラ１６のためのタイムスロット値ＩＤの数を「７」とした場合を例に示している。なお、上記イニシエータ１５のためのタイムスロット値ＩＤの数、上記ターゲット１８のためのタイムスロット値ＩＤの数、および、上記バスアービター１２のためのタイムスロット値ＩＤの数は、いずれも「０」となっている。
【００５０】
このように、ＱｏＳの実行時には、ＱｏＳを実行するための処理プログラムにあらかじめ定義されている設定情報をもとにして、上記メモリコントローラ１６の単位サイクルに占めるタイムスロット値ＩＤの数が多くなるように、タイムスロット設定記憶部１２ａの設定（タイムスロット制御情報）を更新するとともに、その設定にもとづいてタイムスロット値ＩＤの生成のタイミングを単位サイクルごとに制御する。これにより、上記メモリコントローラ１６は、他のモジュールに優先してバス１１を使用することが可能となる。
【００５１】
ここで、上記バスアービター１２のタイムスロット設定記憶部１２ａおよびタイムスロット生成部１２ｂについて、さらに説明する。
【００５２】
実際には、たとえば、タイムスロット値ＩＤの１つ１つの設定に３ビットが必要で、１単位サイクルが１０のタイムスロット値ＩＤからなる場合、３（ビット）＊１０のレジスタを用意する。そして、３（ビット）＊１０のレジスタには、３ビットごとにアドレスを割り付ける。すなわち、３（ビット）＊１０のレジスタは、上記ＣＰＵ１３，１４によるタイムスロット値ＩＤの書き込みが可能に構成される。なお、各タイムスロット値ＩＤのビット数（ここでは、３ビット）と、そのレジスタの数（ここでは、１０個）には余裕を持たせ、変更できるようにしておく。これを、上記バスアービター１２のタイムスロット設定記憶部１２ａとする。
【００５３】
これに対し、上記バスアービター１２のタイムスロット生成部１２ｂは、１単位サイクルの中の各サイクルにおいて、上記タイムスロット設定記憶部１２ａである、各レジスタに書き込まれたタイムスロット値ＩＤを参照しながら、バス１１の使用許可を与えるモジュールを決定する。
【００５４】
上記バス１１の使用許可を与える場合、たとえば、上記バスアービター１２から上記各モジュール０〜４に供給されるグラント（Ｇｒａｎｔ）信号が利用される。すなわち、グラント信号とはバス１１の使用リクエストに対する許可信号であり、バス１１の使用許可を与える場合には、上記レジスタに書き込まれたタイムスロット値ＩＤを持つモジュールに供給されるグラント信号がアクティブにされる。より具体的には、図３に示した単位サイクルにおいて、たとえば６番目のサイクルでは、上記タイムスロット設定記憶部１２ａの６番目のレジスタの値（この例では（ＩＤ＝４））を読む。そして、そのタイムスロット値ＩＤを持つモジュール、つまり、上記メモリコントローラ１６へのグラント信号をアクティブにする。
【００５５】
上記したように、単位サイクルあたりのタイムスロット値ＩＤの生成（優先順位およびタイミング）を、システムＬＳＩが実行しようとする処理プログラムにあらかじめ定義されている設定情報にもとづいてプログラマブルに制御できるようにしている。すなわち、システムバスにつながる全てのモジュールにタイムスロット値ＩＤが割り付けられ、それぞれのモジュールがタイムスロット値ＩＤに応じた所定の期間内にバス上にデータを転送する時分割バス制御方式において、システムＬＳＩが実行しようとしている処理に応じて、各モジュールのバス使用権が任意の優先順位およびタイミングになるように、タイムスロット値ＩＤの生成を制御できるようにしている。これにより、システムＬＳＩが実行しようとする処理に応じて、必要なモジュールに対し、必要なサイクル数のタイムスロット値ＩＤを割り当てることが可能となる。その結果、低速で動作するモジュールからの応答を待つことなく、バスの使用が可能となる。したがって、その処理に要求されるデータ転送レートを十分に確保することができ、システムＬＳＩのスループットを向上させることが可能となるものである。
【００５６】
［第２の実施形態］
図８は、この発明の第２の実施形態にしたがった、システムＬＳＩを構成する各モジュールの他の構成例を示すものである。ここでは、システムＬＳＩの構成を、図１と同一とした場合について示している。また、時分割バス制御方式において、各モジュールに対応するタイムスロット（Ｔｉｍｅ  Ｓｌｏｔ）値の、単位サイクルあたりの割り当てを、コマンドの発行状況に応じてダイナミックに制御するようにした場合を例に説明する。つまり、システムバスにつながる全てのモジュールにタイムスロット値ＩＤが割り付けられ、それぞれのモジュールがタイムスロット値ＩＤに応じた所定の期間内にバス上にデータを転送する時分割バス制御方式において、バス上でのアクセス状況をもとに、各モジュールのバス使用権が任意の優先順位およびタイミングになるように、上記タイムスロット値ＩＤの生成を制御するようにした場合の例である。
【００５７】
すなわち、本実施形態の場合、上記バスアービター１２は、たとえば図８に示すように、タイムスロット制御部１２-1、タイムスロット生成部１２-2、コマンド監視部１２-3、および、その他１２-4を有して構成されている。上記タイムスロット制御部１２-1は、上記タイムスロット値ＩＤを生成するための初期値などの設定情報を保持するものである。上記タイムスロット生成部１２-2は、上記タイムスロット制御部１２-1に保持されている設定情報をもとに、上記タイムスロット値ＩＤの生成を行うものである。上記コマンド監視部１２-3は、コマンド（リード／ライト）の発行状況を監視するものである。このコマンド監視部１２-3は、たとえば、単位サイクル（本実施形態の場合、１２タイムスロット）の期間内に発行されるコマンドを常に監視し、上記ＣＰＵ１３（イニシエータモジュール０），上記ＣＰＵ１４（イニシエータモジュール１）および上記イニシエータ１５（イニシエータモジュール２）からのリードコマンドの発行状況に応じて、次の単位サイクルにおけるタイムスロット値ＩＤの割り当てを再計算（再割り当て）するようになっている。
【００５８】
上記ＣＰＵ１３，上記ＣＰＵ１４および上記イニシエータ１５は、たとえば図８に示すように、コマンド記憶部１ａ、タイムスロット判定部１ｂ、および、その他１ｃを有して構成されている。上記コマンド記憶部１ａは、発行したコマンド（リード／ライト）の履歴を保持するものである。上記タイムスロット判定部１ｂは、タイムスロット値ＩＤの判定を行うもので、たとえば、自己のタイムスロット値ＩＤか、もしくは、自己が以前にリード要求した他のモジュールのタイムスロット値ＩＤかどうかの判定を行う。また、上記ＣＰＵ１３，上記ＣＰＵ１４および上記イニシエータ１５からは、上記バスアービター１２に対して、バスリクエスト（Ｂｕｓ  Ｒｅｑｕｅｓｔ）信号が出力される。
【００５９】
上記メモリコントローラ１６（ターゲットモジュール３）および上記ターゲット１８（ターゲットモジュール４）は、たとえば図８に示すように、コマンド記憶部２ａ、タイムスロット判定部２ｂ、および、その他２ｃを有して構成されている。上記コマンド記憶部２ａは、要求されたコマンドの履歴を保持するものである。上記タイムスロット判定部２ｂは、タイムスロット値ＩＤの判定を行うもので、たとえば、自己のタイムスロット値ＩＤかどうかの判定を行う。また、上記メモリコントローラ１６および上記ターゲット１８からは、上記バスアービター１２に対して、データレディ（Ｄａｔａ  Ｒｅａｄｙ）信号が出力される。
【００６０】
図９は、上記した構成のシステムＬＳＩにおける、単位サイクルの一例を示すものである。本実施形態の場合、単位サイクルは１２のタイムスロット値ＩＤからなっている。また、この単位サイクルは、いくつかのタイムスロット群によって構築されている。本実施形態においては、たとえば３つのタイムスロット群によって、１つの単位サイクルが構築されている。たとえば、１つのタイムスロット群には、上記ＣＰＵ１３のためのタイムスロット値ＩＤ（ＩＤ＝１）が割り当てられている。たとえば、他の１つのタイムスロット群には、上記ＣＰＵ１４のためのタイムスロット値ＩＤ（ＩＤ＝２）が割り当てられている。そして、残りの１つのタイムスロット群に対し、上記タイムスロット生成部１２-2によって発行されるタイムスロット値ＩＤ（ＩＤ＝×）が割り当てられるようになっている。つまり、３つのタイムスロット群のうちの、１つのタイムスロット群に対するタイミングで、上記バスアービター１２のタイムスロット生成部１２-2によって生成されたタイムスロット値ＩＤが発行されるようになっている。
【００６１】
なお、単位サイクルを構築するタイムスロットの数、タイムスロット群の数、および、各タイムスロット群に対するモジュール（タイムスロット値ＩＤ）の割り当てに関する初期値などの設定情報は、たとえば上記ＣＰＵ１３の制御により、上記バスアービター１２のタイムスロット制御部１２-1内に保持されるようになっている。これにより、システムＬＳＩでの各処理に適した単位サイクルの構築が可能となる。
【００６２】
ここで、あるタイムスロット群で発行される上記タイムスロット値ＩＤの生成は、以下の方法１または方法２にしたがって制御されるようになっている。たとえば、“以前の単位サイクルの期間内にリード要求されたターゲットモジュール”のタイムスロット値ＩＤおよび“特定のイニシエータモジュール”のタイムスロット値ＩＤを出力させる方法１と、“以前の単位サイクルの期間内にリード要求され、データの出力準備が整ったターゲットモジュール”のタイムスロット値ＩＤおよび“バス１１の使用権を要求しているイニシエータモジュール”のタイムスロット値ＩＤを出力させる方法２とがある。
【００６３】
以下に、上記した構成のシステムＬＳＩの動作（バス制御方式）について、具体的に説明する。なお、本実施形態において、単位サイクルの構築およびタイムスロット値ＩＤの生成は、以下のルールにもとづいて行われる。たとえば、ターゲットモジュールへのリードコマンドが発行される以前は、特定のイニシエータモジュールのタイムスロット値ＩＤを生成する。また、単位サイクルごとに、タイムスロット値ＩＤの割り当てを制御する（つまり、ターゲットモジュールへのリードコマンドが発行された後は、以降の単位サイクルの期間内にリード要求されたターゲットモジュールを含めて、タイムスロット値ＩＤの再割り当てを行う）。
【００６４】
図１０は、たとえば図８に示した構成のシステムＬＳＩにおいて、バス上のアクセス状況に応じてタイムスロット値ＩＤの生成を制御する場合の方法として、上記の方法１を用いた場合の処理の流れを示すものである。すなわち、方法１によってタイムスロット値ＩＤの生成を制御する場合、たとえば図１０に示すように、上記バスアービター１２のタイムスロット制御部１２-1に設定されたタイムスロット値ＩＤの生成に必要な設定情報をもとに、タイムスロット生成部１２-2により特定のイニシエータモジュールのタイムスロット値ＩＤが生成される（ステップＳＴ２１）。
【００６５】
リードコマンドが発行されていない状況、たとえば図１１に示すサイクルＡにおいては、上記ＣＰＵ１３（イニシエータモジュール０）および上記ＣＰＵ１４（イニシエータモジュール１）を除くタイムスロット群に対し、あらかじめ設定スイッチなどによって設定されたデフォルト値に対応するモジュールのタイムスロット値ＩＤが発行される。つまり、この例の場合には、単位サイクル上に、上記ＣＰＵ１３のタイムスロット値ＩＤ（ＩＤ＝１）および上記ＣＰＵ１４のタイムスロット値ＩＤ（ＩＤ＝２）とともに、イニシエータ１５（イニシエータモジュール２）のタイムスロット値ＩＤ（ＩＤ＝３）が発行されている。
【００６６】
上記サイクルＡの状況において、たとえば、上記ＣＰＵ１３から上記メモリコントローラ１６（ターゲットモジュール３）に対して、リードコマンドが発行されたとする。すると、上記バスアービター１２のコマンド監視部１２-3によって、そのコマンドはリードコマンドかどうかが判断される（ステップＳＴ２２）。上記ステップＳＴ２２において、リードコマンドでないと判断された場合、処理はステップＳＴ２４に移行される。リードコマンドが判断されると、そのコマンドの情報が、上記コマンド監視部１２-3および上記メモリコントローラ１６のコマンド記憶部２ａに記憶される（ステップＳＴ２３）。
【００６７】
ステップＳＴ２４では、上記ＣＰＵ１３によって、次がＲＢ（ラウンドロビン）サイクルかどうかが判断される。ＲＢサイクルであれば、ステップＳＴ２５において、データ転送の終了していないリードコマンドがあるかどうかが、上記コマンド監視部１２-3によって判断される。リードコマンドがあると判断された場合、上記コマンド監視部１２-3に記憶されている情報にしたがって、上記バスアービター１２のタイムスロット生成部１２-2により、上記メモリコントローラ１６のタイムスロット値ＩＤ（ＩＤ＝４）が生成される（ステップＳＴ２６）。これにより、たとえば図１１に示すように、上記タイムスロット値ＩＤ（ＩＤ＝３）が発行されているタイムスロット群に対し、さらに、上記メモリコントローラ１６のタイムスロット値ＩＤ（ＩＤ＝４）が発行されて、次の単位サイクルにおける、タイムスロット値ＩＤの再割り当てが行われる（サイクルＢ参照）。
【００６８】
上記サイクルＢの状況において、たとえばリードコマンドに対する上記メモリコントローラ１６の応答として、上記システムメモリ１７からのリードデータがバス１１上に出力されたとする。つまり、生成されたタイムスロット値ＩＤが上記メモリコントローラ１６のためのものであることが上記タイムスロット判定部２ｂによって判定されると、上記メモリコントローラ１６からは、バス使用権が与えられている一定の期間内にデータのＤＭＡ転送が行われる。そして、データ転送の終了が上記ＣＰＵ１３によって判断されると（ステップＳＴ２７）、このデータ転送が終了したリードコマンドの情報が、上記コマンド監視部１２-3および上記メモリコントローラ１６のコマンド記憶部２ａより削除される（ステップＳＴ２８）。その後、処理は上記ステップＳＴ２１に移行され、上述したステップＳＴ２１〜の処理（サイクルＡ，Ｂ）が繰り返される。
【００６９】
なお、上記ステップＳＴ２４でＲＢサイクルでないと判断された場合、および、上記ステップＳＴ２５でリードコマンドがないと判断された場合には、いずれの場合も処理が上記ステップＳＴ２１に移行される。
【００７０】
上記した方法１の場合、リードコマンドが発行されているか否かによって、あらかじめ設定された特定のイニシエータモジュールのタイムスロット値ＩＤ、または、リード要求のあったターゲットモジュールのタイムスロット値ＩＤを発行できるようになる。これにより、データの出力（応答）準備が整っているターゲットモジュールのタイムスロット値ＩＤを優先的に発行することが可能となる結果、バスのデータ転送レートを向上できるものである。
【００７１】
なお、上記ステップＳＴ２８の後に、上記ステップＳＴ２２〜の処理を追加することも可能である。つまり、上記メモリコントローラ１６に対するリードコマンドの、その応答としてのデータ転送の終了が判断された際に、たとえば、上記ＣＰＵ１４（イニシエータモジュール１）による上記ターゲット１８（ターゲットモジュール４）へのリードコマンドがあると判断されたとする。その場合に、単位サイクル上の、上記メモリコントローラ１６のためのタイムスロット値ＩＤ（ＩＤ＝４）に代えて、上記ターゲット１８のためのタイムスロット値ＩＤ（ＩＤ＝５）を発行させるようにすることもできる。
【００７２】
図１２は、たとえば図８に示した構成のシステムＬＳＩにおいて、バス上のアクセス状況に応じてタイムスロット値ＩＤの生成を制御する場合の方法として、上記の方法２を用いた場合の処理の流れを示すものである。なお、ステップＳＴ３１〜ステップＳＴ３５は、上述した方法１のステップＳＴ２１〜ステップＳＴ２５（図１０参照）と同様であるため、詳しい説明は割愛する。すなわち、方法２によってタイムスロット値ＩＤの生成を制御する場合、たとえば図１２に示すように、ステップＳＴ３５において、データ転送の終了していないリードコマンドがあるかどうかが、上記コマンド監視部１２-3によって判断される。リードコマンドがあると判断された場合、たとえばリード要求があったターゲットモジュール（この例では、上記メモリコントローラ１６）において、リードデータの出力準備が整っているかどうかが判断される（ステップＳＴ３６）。出力準備が整っていないと判断された場合には、処理がステップＳＴ３１に移行される。
【００７３】
出力準備が整っているならば、上記コマンド監視部１２-3に記憶されている情報にしたがって、上記バスアービター１２のタイムスロット生成部１２-2により、上記メモリコントローラ１６のタイムスロット値ＩＤ（ＩＤ＝４）が発行される（ステップＳＴ３７）。これにより、たとえば図１１に示したように、上記タイムスロット値ＩＤ（ＩＤ＝３）が発行されているタイムスロット群に対し、さらに、上記メモリコントローラ１６のタイムスロット値ＩＤ（ＩＤ＝４）が発行されて、次の単位サイクルにおける、タイムスロット値ＩＤの再割り当てが行われる（サイクルＢ参照）。
【００７４】
ステップＳＴ３８では、上記タイムスロット値ＩＤの発行に用いられたリードコマンドの情報が、上記コマンド監視部１２-3および上記メモリコントローラ１６のコマンド記憶部２ａより削除される。その後、処理は移行され、上記ステップＳＴ３１〜の処理（サイクルＡ，Ｂ参照）が繰り返される。
【００７５】
上記した方法２の場合、ＲＢサイクル以前にリード要求され、データの出力準備が整っているターゲットモジュール、および、バスの使用権を要求しているイニシエータモジュールに対し、タイムスロット値ＩＤの割り当てを優先的に行うことが可能となる。これにより、直ちに応答が可能なターゲットモジュールのタイムスロット値ＩＤを生成できるようになる結果、上述の方法１と比較しても、よりデータ転送レートの高いバス制御方式とすることができる。
【００７６】
上記したように、単位サイクルあたりのタイムスロット値ＩＤの生成（優先順位およびタイミング）を、リードコマンドの発行状況に応じてダイナミックに制御できるようにしている。すなわち、システムバスにつながる全てのモジュールにタイムスロット値ＩＤが割り付けられ、それぞれのモジュールがタイムスロット値ＩＤに応じた所定の期間内にバス上にデータを転送する時分割バス制御方式において、単位サイクルの期間内に発行されたリードコマンドを監視し、バス上でのアクセス状況に応じて、次の単位サイクルのタイムスロット値ＩＤを自動的に生成できるようにしている。これにより、バス上でのアクセス状況に応じて、必要なモジュールに対し、順次、タイムスロット値ＩＤを発行することが可能となり、システムＬＳＩの処理の状況に適した単位サイクルの構築が可能となる。その結果、低速で動作するモジュールからの応答を待つことなく、バスの使用が可能となる。したがって、その処理の状況に応じて最適なデータ転送レートを確保することができ、システムＬＳＩのスループットを向上させることが可能となるものである。
【００７７】
その他、本願発明は、上記（各）実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記（各）実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。たとえば、（各）実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（の少なくとも１つ）が得られる場合には、その構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１の実施形態にしたがった、システムＬＳＩの基本構成を示すブロック図。
【図２】図１のシステムＬＳＩにおける、各モジュールの構成例を示すブロック図。
【図３】図２の構成における、単位サイクルの一例を示す図。
【図４】図２の構成において、タイムスロット値の生成にかかるライトバック時の処理の流れを説明するために示すフローチャート。
【図５】図２の構成において、ライトバックを実行する際の単位サイクルの構成例を示す図。
【図６】図２の構成において、タイムスロット値の生成にかかるＱｏＳ時の処理の流れを説明するために示すフローチャート。
【図７】図２の構成において、ＱｏＳを実行する際の単位サイクルの構成例を示す図。
【図８】本発明の第２の実施形態にしたがった、各モジュールの他の構成例を示すブロック図。
【図９】図８の構成における、単位サイクルの一例を示す図。
【図１０】図８の構成において、タイムスロット値の生成にかかる処理の流れを説明するために示すフローチャート。
【図１１】図８の構成において、タイムスロット値の生成にかかる処理の流れを説明するために示す図。
【図１２】図８の構成において、タイムスロット値の生成にかかる別の処理の流れを説明するために示すフローチャート。
【図１３】従来技術とその問題点を説明するために示す、システムＬＳＩのブロック図。
【図１４】従来の、一般的な時分割バス制御方式を採用したシステムＬＳＩの構成例を示すブロック図。
【図１５】図１４の構成において、時分割バス制御方式によるデータの転送動作を説明するために示す図。
【符号の説明】
【００７９】
１ａ…コマンド記憶部、１ｂ…タイムスロット判定部、１ｃ…その他、２ａ…コマンド記憶部、２ｂ…タイムスロット判定部、２ｃ…その他、１１…バス、１２…バスアービター、１２ａ…タイムスロット設定記憶部、１２ｂ…タイムスロット生成部、１２ｃ…その他、１２-1…タイムスロット制御部、１２-2…タイムスロット生成部、１２-3…コマンド監視部、１２-4…その他、１３…ＣＰＵ（イニシエータモジュール０）、１４…ＣＰＵ（イニシエータモジュール１）、１５…イニシエータ（イニシエータモジュール２）、１６…メモリコントローラ（ターゲットモジュール３）、１７…システムメモリ、１８…ターゲット（ターゲットモジュール４）、ＩＤ…タイムスロット値。
【図１】
2005215980.tif 000003
【図２】
2005215980.tif 000004
【図３】
2005215980.tif 000005
【図４】
2005215980.tif 000006
【図５】
2005215980.tif 000007
【図６】
2005215980.tif 000008
【図７】
2005215980.tif 000009
【図８】
2005215980.tif 000010
【図９】
2005215980.tif 000011
【図１０】
2005215980.tif 000012
【図１１】
2005215980.tif 000013
【図１２】
2005215980.tif 000014
【図１３】
2005215980.tif 000015
【図１４】
2005215980.tif 000016
【図１５】
2005215980.tif 000017