(57)【要約】【課題】周波数を上げること無く、必要最低限の転送レートを確保し、消費電力を削減する。【解決手段】バスシステムは、バス４０ａと、バスマスタであるＣＰＵ３１−１及びＤＭＡＣ３１−２と、バススレーブであるメモリ３２−１と、転送レートに対応した優先順位設定信号を出力する優先順位設定レジスタ４１と、競合状態を調停するアービトレーション回路４２と、セレクタ４４等により構成されている。ＣＰＵ３１−１は、転送レートに対応した優先順位設定信号Ｓ４１を出力するように、優先順位設定レジスタ４１の設定を変更する。アービトレーション回路４２は、優先順位設定信号Ｓ４１に基づき、バス制御応答信号ＡＣＫ３，Ｓ３１−２ｂのどちらかを選択するようにセレクタ４４へバスマスタ選択信号Ｓ４２を出力する。【選択図】図１
2008102652.tif 000002
【特許請求の範囲】
【請求項１】
所定の転送レートの信号を伝達するバスと、
前記バスに接続され、バス制御信号に基づき所定の処理を行うバススレーブと、
前記バスに接続され、各々が前記バススレーブに対するアクセス用の前記バス制御信号とバス要求信号とを出力する複数のバスマスタと、
前記バス上における前記信号の転送レートの状態に対応した優先順位設定信号を出力する優先順位設定手段と、
前記優先順位信号に基づき、前記複数のバスマスタ間における競合状態を調停して、前記バスを使用する優先順位の設定及び変更をし、これに対応したバスマスタ選択信号を出力するアービトレーション回路と、
前記バスマスタ選択信号に基づき、前記複数のバスマスタから出力される前記バス制御信号を選択して前記バススレーブへ与える選択手段と、
を備えたことを特徴とするバスシステム。
【請求項２】
前記複数のバスマスタは、
所定の第１の転送レートを有し、前記バスに接続され、前記バススレーブに対するアクセス用の前記バス制御信号と前記バス要求信号とを出力する第１のバスマスタと、
前記第１の転送レートと異なる第２の転送レートを有し、前記バスに接続され、前記バススレーブに対するアクセス用の前記バス制御信号と、前記バス要求信号とを出力する少なくとも１つの第２のバスマスタとにより構成され、
前記優先順位設定手段は、前記第１のバスマスタからアクセスされ、前記第１の転送レートに対応した前記優先順位設定信号を出力するデータ保持手段を有することを特徴とする請求項１記載のバスシステム。
【請求項３】
前記バススレーブは、前記バス制御信号によって指定されたアドレスによって、アクセスされる特定領域を有し、前記バスに接続され、所定の処理を行うバススレーブと、  
前記優先順位設定手段は、前記バス制御信号からのアドレスが前記特定領域を指定する場合に、前記アドレスに記憶された情報を解読し、前記優先順位設定信号を出力するデコード手段と、
を備えたことを特徴とする請求項１記載のバスシステム。
【請求項４】
前記バススレーブは、前記優先順位設定信号の対象となる前記特定領域を有していることを特徴とする請求項３記載のバスシステム。
【請求項５】
前記デコード手段は、前記アドレスを保存し、前記アドレスへのアクセスが発生することを検出し、前記アービトレーション回路に伝達することを特徴とする請求項３記載のバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバスマスタを持つ大規模集積回路（以下「ＬＳＩ」という。）等で構成されたバスシステム、例えば、リアルタイム等でデータ処理が必要な転送が発生した場合に、予め決められた優先順位に基づき、複数のバスマスタ及びバススレーブにバスを割り振るバスシステムに関するものである。
【背景技術】
【０００２】
従来、高速データ転送レートを有するバスを介して相互に接続された、複数のバスマスタ及びバススレーブで効率的にバスを割り振るバスシステムとしては、例えば、次のような文献に記載されるものがあった。
【０００３】
【特許文献１】特開平８―８３２５４号公報
【０００４】
この特許文献１には、高速データ転送速度を有するバスを介して接続されたバスマスタと、複数のバススレーブを含むマルチメディア・コンピュータ・システムで効率的にバスを割り振る方法及びそのための装置が記載されている。
【０００５】
図２は、特許文献１等に記載された従来のバスシステムの例を示す構成図である。
このバスシステムは、ＬＳＩ１０により構成されている。ＬＳＩ１０は、所定の転送レートの信号を伝達するバス２０ａと、このバス２０ａに接続され、バスリクエスト信号ＩＲＱ１とバス制御応答信号ＡＣＫ１を出力するバスマスタ（例えば、ＣＰＵ）１１−１と、バス２０ａに接続され、バスリクエスト信号ＩＲＱ２とバス制御応答信号ＡＣＫ２を出力し、ＣＰＵ１１−１を介さずに転送制御を行うバスマスタ（例えば、ダイナミックメモリコントローラ、以下「ＤＭＡＣ」という。）１１−２と、バス２０ａに接続され、転送完了承認信号ＸＡＣＫ１をＣＰＵ１１−１とＤＭＡＣ１１−２に出力するランダムアクセス可能なバススレーブ（例えば、メモリ）１２−１と、バスリクエスト信号ＩＲＱ１，ＩＲＱ２，バス制御応答信号ＡＣＫ１，ＡＣＫ２及び転送完了承認信号ＸＡＣＫ１が入力され、ＣＰＵ１１−１とＤＭＡＣ１１−２の調停を行い、バス制御応答信号ＡＣＫ２３をメモリ１２−１に出力するバスブロック２０とを備えている。
【０００６】
バスブロック２０は、バスリクエスト信号ＩＲＱ１，ＩＲＱ２及び転送完了承認信号ＸＡＣＫ１が入力されて、予め設定されている優先順位に従って、バスマスタ選択信号Ｓ２１を出力するアービトレーション回路２１と、バスリクエスト信号ＩＲＱ１，ＩＲＱ２がない場合に選択されるバス制御応答信号ＡＣＫ２２を出力するデフォルトマスタ２２と、バスマスタ選択信号Ｓ２１に従って、バス制御応答信号ＡＣＫ１，ＡＣＫ２及びＡＣＫ２２のいずれか１つを選択し、バス制御応答信号ＡＣＫ２３として出力するセレクタ２３とにより構成されている。
【０００７】
図３は、図２中のアービトレーション回路２１の例を示す構成図である。
このアービトレーション回路２１は、バスリクエスト信号ＩＲＱ１，ＩＲＱ２が入力されて、バスマスタを選択するための判定信号Ｓ２１ａを出力する優先順位判定回路２１ａと、メモリ１２−１からの転送完了承認信号ＸＡＣＫ１が“１”になると、入力された判定信号Ｓ２１ａを判定信号Ｓ２１ｂとして出力する更新判定回路２１ｂと、判定信号Ｓ２１ｂに基づき、クロック信号ＣＬＫに同期してバスマスタ選択信号Ｓ２１を出力するレジスタ２１ｃとで構成されている。
【０００８】
図４は、図３中の優先順位判定回路２１ａの真理値を示す図である。
この真理値を示す図では、バスリクエスト信号ＩＲＱ１，ＩＲＱ２が優先順位判定回路２１ａに入力された時に出力される判定信号Ｓ２１ａの真理値を示している。
【０００９】
次に、図２に示すバスシステム及び図３に示すアービトレーション回路２１の動作を図４を参照しつつ説明する。
【００１０】
先ず、ＣＰＵ１１−１は、メモリ１２−１へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ１をアサートする。優先順位判定回路２１ａは、バスリクエスト信号ＩＲＱ１が“１”で、バスリクエスト信号ＩＲＱ２が“０”の時に、判定信号Ｓ２１ａを“１”として出力する。
【００１１】
更新判定回路２１ｂは、転送完了承認信号ＸＡＣＫ１がアサートされると判定信号Ｓ２１ｂの値を切り替える。転送完了承認信号ＸＡＣＫ１がアサートされていない時は、バスマスタ選択信号Ｓ２１をフィードバックし、判定信号Ｓ２１ｂとして出力することで、判定信号Ｓ２１ｂの値を保持し続ける。アービトレーション回路２１は、判定信号Ｓ２１ａが“１”の時に、バス制御応答信号ＡＣＫ１を選択するようにバスマスタ選択信号Ｓ２１を出力する。セレクタ２３は、バスマスタ選択信号Ｓ２１を受けて、バス制御応答信号ＡＣＫ１を選択して、バス制御応答信号ＡＣＫ２３として出力する。従って、ＣＰＵ１１−１は、メモリ１２−１にアクセスすることになる。
【００１２】
次に、ＤＭＡＣ１１−２は、メモリ１２−１へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ２をアサートする。優先順位判定回路２１ａは、バスリクエスト信号ＩＲＱ１が“１”で、バスリクエスト信号ＩＲＱ２が“０”の以外の時に、判定信号Ｓ２１ａを“０”として出力する。アービトレーション回路２１は、判定信号Ｓ２１ａが“０”の時に、バス制御応答信号ＡＣＫ２を選択するようにバスマスタ選択信号Ｓ２１を出力する。セレクタ２３は、バスマスタ選択信号Ｓ２１により、ＤＭＡＣ１１−２からのバス制御応答信号ＡＣＫ２を選択して、バス制御応答信号ＡＣＫ２３として出力する。従って、ＤＭＡＣ１１−２はメモリ１２−１にアクセスすることになる。
【００１３】
従って、ＣＰＵ１１−１は、特定の条件に於いて仕様の周波数条件下で転送レートを確保する。従来技術のバスシステムでは、転送レートの確保のために、バス占有権の優先順位が固定されているバス方式を用いて、一定の転送レートの確保が必要な転送処理を担うＤＭＡＣ１１−２の優先順位を高くしていた。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、図２の従来のバスシステムでは、個々のＣＰＵ１１−１及びＤＭＡＣ１１−２に必要な転送レートによっては、以下、図５に示すように必要な転送レートを守ることが困難であるという課題があった。
【００１５】
図５は、図２の従来のバスシステムにおける転送レートの比較図である。
周波数１００ＭＨｚの場合に最大１００Ｍｂｐｓで転送が行われ、図２の従来のバスシステムが状態ＳＴ１、状態ＳＴ２とあるとして図５を参照しつつ説明する。
【００１６】
図５の状態ＳＴ１は、ＤＭＡＣ１１−２によるリアルタイムなデータ処理が必要な転送が発生した状態である。ＤＭＡＣ１１−２は、最低限７０Ｍｂｐｓの転送レートを確保しなければならず、最大で８０Ｍｂｐｓの転送要求を出す。この転送要求を出す時、ＣＰＵ１１−１は、２０Ｍｂｐｓの転送レートを最低限確保しなければならず、最大４０Ｍｂｐｓの転送要求を出す。従って、状態ＳＴ１では、それぞれ、最低限必要な転送レートを満たしている。
【００１７】
図５の状態ＳＴ２は、ＤＭＡＣ１１−２によるリアルタイムなデータ処理が必要な転送が発生していない状態である。ＤＭＡＣ１１−２は、最低限２０Ｍｂｐｓの転送レートを確保しなければならず、最大で４０Ｍｂｐｓの転送要求を出す。この転送要求を出す時、ＣＰＵ１１−１は、最低限７０Ｍｂｐｓの転送レートを確保しなければならず、最大８０Ｍｂｐｓの要求を出す。従って、状態ＳＴ２では、ＤＭＡＣ１１−２の優先順位が高いため、ＤＭＡＣ１１−２の転送レートが最大４０Ｍｂｐｓとなる時に、優先順位の低いＣＰＵ１１−１の転送レートは最低６０Ｍｂｐｓしか確保できず、最低限必要な転送レート７０Ｍｂｐｓを確保することが出来ない。
【００１８】
状態ＳＴ２の場合には、ＣＰＵ１１−１の必要転送レートを落とすか、周波数を上げることが考えられるが、しかし、転送レートを落とすと、転送される情報量も減るためＬＳＩ１０の処理速度も落ち、周波数を上げると、パルス波形が増えることで波形の立ち上がり及び立ち下り時の電流も増えるために、消費電力が増大するという課題が生じる。
【課題を解決するための手段】
【００１９】
本発明のバスシステムは、所定の転送レートの信号を伝達するバスと、バス制御信号に基づき所定の処理を行うバススレーブと、所定の第１の転送レートを有し、各々が前記バススレーブに対するアクセス用の前記バス制御信号とバス要求信号とを出力する第１のバスマスタと、前記第１の転送レートと異なる第２の転送レートを有し、前記バススレーブに対するアクセス用の前記バス制御信号と、前記バス要求信号を出力する少なくとも１つの第２のバスマスタを備えている。
【００２０】
更に、前記第１のバスマスタからアクセスされ、前記第１の転送レートに対応した優先順位設定信号を出力するデータ保持手段と、前記第１及び第２のバスマスタ間における競合状態を調停して、前記バスを使用する優先順位の設定及び変更をし、これに対応したバスマスタ選択信号を出力するアービトレーション回路と、前記バスマスタ選択信号に基づき、前記複数のバスマスタから出力される前記バス制御信号を選択して前記バススレーブへ与える選択手段とが設けられている。
【発明の効果】
【００２１】
本発明のバスシステムによれば、転送レートの状態に対応した優先順位設定信号を出力する優先順位設定手段を設け、前記優先順位設定信号によって、アービトレーション回路で設定された優先順位を変更するように構成したので、周波数を上げずに最低限必要な前記転送レートを確保出来る。そのため、処理能力を下げることもなく、消費電力を大幅に削減できる。
【発明を実施するための最良の形態】
【００２２】
バスシステムは、所定の転送レートの信号を伝達するバス、バススレーブ、バスマスタ、デコード手段、アービトレーション回路及び選択手段を備えている。前記バススレーブは、バスに接続され、バス制御信号によって指定されたアドレスによって、アクセスされる特定領域を有し、バス制御信号に基づき所定の処理を行う。前記バスマスタは、バスに接続され、所定の転送レートを有し、前記バススレーブに対するアクセス用の前記バス制御信号と、バス要求信号を出力する。
【００２３】
前記デコード手段は、前記バス制御信号と前記バス要求信号が入力され、前記バス制御信号によって指定された前記バス制御信号からのアドレスが前記特定領域を指定する場合に、前記アドレスに記憶された情報を解読し、優先順位設定信号を出力する。前記アービトレーション回路は、前記優先順位設定信号に基づき、前記複数のバスマスタ間における競合状態を調停して、前記バスを使用する優先順位の設定及び変更をし、これに対応したバスマスタ選択信号を出力する。前記選択手段は、前記バスマスタ選択信号に基づき、前記複数のバスマスタから出力される前記バス制御信号を選択して前記バススレーブへ与える。
【実施例１】
【００２４】
（実施例１の構成）
図１は、本発明の実施例１におけるバスシステムの例を示す構成図である。
このバスシステムは、ＬＳＩ３０により構成されている。ＬＳＩ３０は、所定の転送レートの信号を伝達するバス４０ａと、バス４０ａに接続され、バス要求信号（例えば、バスリクエスト信号）ＩＲＱ３とバス制御信号（例えば、バス制御応答信号）ＡＣＫ３を出力する第１のバスマスタ（例えば、ＣＰＵ）３１−１と、バス４０ａに接続され、バスリクエスト信号ＩＲＱ４とバス制御応答信号ＡＣＫ４を出力し、ＣＰＵ３１−１を介さずに転送制御を行う第２のバスマスタ（例えば、ＤＭＡＣ）３１−２と、バス４０ａに接続され、転送完了承認信号ＸＡＣＫ２をＣＰＵ３１−１とＤＭＡＣ３１−２に出力するランダムアクセス可能なバススレーブ（例えば、メモリ）３２−１と、バスリクエスト信号ＩＲＱ４，ＩＲＱ５，バス制御応答信号ＡＣＫ４，ＡＣＫ５及び転送完了承認信号ＸＡＣＫ２が入力され、ＣＰＵ３１−１とＤＭＡＣ３１−２の調停を行い、バス制御応答信号ＡＣＫ４４をメモリ３２−１に出力するバスブロック４０とを備えている。
【００２５】
バスブロック４０は、ＣＰＵ３１−１からのバス制御応答信号ＡＣＫ３を受けて、一時的にデータを格納して、優先順位設定信号Ｓ４１を出力するデータ保持手段（例えば、優先順位設定レジスタ）４１と、バスリクエスト信号ＩＲＱ３，ＩＲＱ４、転送完了承認信号ＸＡＣＫ２及び優先順位設定信号Ｓ４２が入力されて、予め設定されている優先順位に従って、バスマスタ選択信号Ｓ４２を出力するアービトレーション回路４２と、バスリクエスト信号ＩＲＱ３，ＩＲＱ４がない場合に選択されるバス制御応答信号ＡＣＫ４３を出力するデフォルトマスタ４３と、バスマスタ選択信号Ｓ４２に従って、バス制御応答信号ＡＣＫ３，ＡＣＫ４及びＡＣＫ４３のいずれか１つを選択し、バス制御応答信号ＡＣＫ４４を出力する選択手段（例えば、セレクタ）４４とで構成されている。
【００２６】
図６は、図１中の優先順位設定レジスタ４１の例を示す構成図である。
この優先順位設定レジスタ４１は、ＣＰＵ３１−１から入力されるバス制御応答信号ＡＣＫ３を仲介して、データ信号Ｓ４１ａを出力するバスインタフェース（以下「バスＩ／Ｆ」という。）回路４１ａと、データ信号Ｓ４１ａの値を保持するレジスタ４１ｂとで構成され、アービトレーション回路４２で予め設定されている優先順位を変更することのできる優先順位設定信号Ｓ４１を出力する。
【００２７】
図７は、図１中のアービトレーション回路４２の例を示す構成図である。
このアービトレーション回路４２は、バスリクエスト信号ＩＲＱ３，ＩＲＱ４及び優先順位設定信号Ｓ４１が入力されて、バスマスタを選択するための判定信号Ｓ４２ａを出力する優先順位判定回路４２ａと、メモリ３２−１からの転送完了承認信号ＸＡＣＫ２が“１”になると、入力された判定信号Ｓ４２ａを判定信号Ｓ４２ｂとして出力する更新判定回路４２ｂと、判定信号Ｓ４２ｂに基づき、クロック信号ＣＬＫに同期してバスマスタ選択信号Ｓ４２を出力するレジスタ４２ｃとで構成されている。
【００２８】
図８は、図７中の優先順位判定回路４２ａの真理値を示す図である。
この真理値を示す図では、バスリクエスト信号ＩＲＱ１，ＩＲＱ２及び優先順位設定信号Ｓ４１が優先順位判定回路２１ａに入力された時に出力される判定信号Ｓ２１ａの真理値を示している。
【００２９】
図７に示すアービトレーション回路４２の動作を図８を参照して説明する。
アービトレーション回路４２では、判定信号Ｓ４２ａが“１”の時に、ＤＭＡＣ３１−２を選択し、判定信号Ｓ４２ａが“０”の時は、ＣＰＵ３１−１を選択するようなバスマスタ選択信号Ｓ４２を出力する。従って、優先順位設定信号Ｓ４１が“０”の時は、バスリクエスト信号ＩＲＱ３が“１”で、バスリクエスト信号ＩＲＱ４が“０”の時のみ、ＤＭＡＣ１１−２を選択するようなバスマスタ選択信号Ｓ４２を出力する。しかし、優先順位設定信号Ｓ４１が“１”の時には、更に、バスリクエスト信号ＩＲＱ３が“１”で、バスリクエスト信号ＩＲＱ４が“１”の時も、ＤＭＡＣ１１−２を選択するようなバスマスタ選択信号Ｓ４２を出力する。
【００３０】
（実施例１の動作）
図９は、図１の本実施例１のバスシステムにおける転送レートの比較図である。
周波数１００ＭＨｚの場合に最大１００Ｍｂｐｓで転送が行われ、図１の本実施例１のバスシステムが状態ＳＴ１、状態ＳＴ２とあるとして、動作を図９を参照しつつ説明する。
【００３１】
先ず、図９の状態ＳＴ１１は、ＤＭＡＣ３１−２によるリアルタイムなデータ処理が必要な転送が発生していない状態である。ＣＰＵ３１−１は、メモリ３２−１へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ３をアサートする。ＣＰＵ３１−１は、ＣＰＵ３１−１の優先順位が最高になるような優先順位設定信号Ｓ４１をアービトレーション回路４２へ出力するように、優先順位設定レジスタ４１を設定する。
【００３２】
アービトレーション回路４２に於いて、優先順位判定回路４２ａは、図８の真理値に示すように、優先順位設定信号Ｓ４１が“１”で、バスリクエスト信号ＩＲＱ３が“１”で、バスリクエスト信号ＩＲＱ４が“０”の時に、判定信号Ｓ４２ａを“１”として出力する。
【００３３】
更新判定回路４２ｂは、転送完了承認信号ＸＡＣＫ２がアサートされると判定信号Ｓ４２ｂの値を切り替える。転送完了承認信号ＸＡＣＫ２がアサートされていない時は、バスマスタ選択信号Ｓ４２をフィードバックし、判定信号Ｓ４２ｂとして出力することで、判定信号Ｓ４２ｂの値を保持し続ける。アービトレーション回路４２は、判定信号Ｓ４２ａが“１”の時に、バス制御応答信号ＡＣＫ３を選択するようにバスマスタ選択信号Ｓ４２を出力する。セレクタ４４は、バスマスタ選択信号Ｓ４２を受けて、バス制御応答信号ＡＣＫ３を選択して、バス制御応答信号ＡＣＫ４４として出力する。
【００３４】
状態ＳＴ１１では、ＣＰＵ３１−１の優先順位が高くなっているため、ＣＰＵ３１−１の転送レートは、７０Ｍｂｐｓ〜８０Ｍｂｐｓとなり、ＤＭＡＣ３１−２は、最低限必要な２０Ｍｂｐｓの転送レートを確保している。
【００３５】
次に、図５の状態ＳＴ１２は、ＤＭＡＣ３１−２によるリアルタイムなデータ処理が必要な転送が発生した状態である。ＤＭＡＣ３１−２は、メモリ３２−１へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ４をアサートする。ＣＰＵ３１−１は、ＤＭＡＣ３１−２の優先順位が最高になるような優先順位設定信号Ｓ４１をアービトレーション回路４２へ出力するように、優先順位設定レジスタ４１を設定する。
【００３６】
アービトレーション回路４２に於いて、優先順位判定回路４２ａは、図８の真理値に示すように、優先順位設定信号Ｓ４１が“１”で、バスリクエスト信号ＩＲＱ３が“０”で、バスリクエスト信号ＩＲＱ４が“１”の時に、判定信号Ｓ４２ａを“０”として出力する。
【００３７】
アービトレーション回路４２は、判定信号Ｓ４２ａが“０”の時に、バス制御応答信号ＡＣＫ４を選択するようにバスマスタ選択信号Ｓ４２を出力する。セレクタ４４は、バスマスタ選択信号Ｓ４２により、ＤＭＡＣ３１−２からのバス制御応答信号ＡＣＫ４を選択して、バス制御応答信号ＡＣＫ４４として出力する。
【００３８】
状態ＳＴ１２では、ＤＭＡＣ３１−２の優先順位が高くなっているため、ＤＭＡＣ３１−２の転送レートは７０Ｍｂｐｓ〜８０Ｍｂｐｓとなり、ＣＰＵ３１−１は、最低限必要な２０Ｍｂｐｓの転送レートを確保している。
【００３９】
（実施例１の効果）
本実施例１のバスシステムによれば、優先順位設定レジスタ４１を追加したことにより、バス４０ａを使用する優先順位の設定及び変更が可能となったことで、周波数を上げずに最低限必要な転送レートを確保出来たので、処理能力を下げることもなく、消費電力を大幅に削減できる。
【実施例２】
【００４０】
（実施例２の構成）
図１０は、本発明の実施例２におけるバスシステムの例を示す構成図であり、実施例１を示す図１中の要素と共通の要素には共通の符号が付されている。
【００４１】
このバスシステムは、実施例１のＬＳＩ３０と異なるＬＳＩ３０Ａにより構成されている。ＬＳＩ３０Ａは、実施例１との相違点として、メモリ３２Ａ−１と、デコード手段（例えば、デコーダ）４５と、アービトレーション回路４２Ａとを有している。
【００４２】
メモリ３２Ａ−１は、リアルタイム転送が必要な特定領域（例えば、領域Ｘ）と、リアルタイム転送が必要でない領域Ｙとを有している。デコーダ４５は、優先順位設定レジスタ４１に代えて設けられ、ＤＭＡＣ３１−２からバスリクエスト信号ＩＲＱ４とバス制御応答信号ＡＣＫ４とが入力され、リアルタイム転送領域信号Ｓ４５を出力する。アービトレーション回路４２Ａは、リアルタイム転送領域信号Ｓ４５が入力されて、予め設定されている優先順位に従って、バスマスタ選択信号Ｓ４２Ａを出力する。その他の構成は、実施例１と同様である。
【００４３】
図１１は、図１０中のデコーダ４５の例を示す構成図である。
このデコーダ４５は、バス制御応答信号ＡＣＫ４によって指定されたアドレスが、領域Ｘと等しい場合に“１”を出力するアドレス判定回路４５ａと、バスリクエスト信号ＩＲＱ４が入力され、且つ、バスリクエスト信号ＩＲＱ４“１”である時に“１”を出力する判定回路４５ｂと、アドレス判定回路４５ａと判定回路４５ｂの判定結果を入力し、リアルタイム転送領域信号Ｓ４５を出力するＡＮＤ回路４５ｃとにより構成されている。
【００４４】
アービトレーション回路４２Ａは、優先順位設定信号Ｓ４１に代えて、リアルタイム転送領域信号Ｓ４５が入力される以外は、実施例１のアービトレーション回路４２と同様の構成である。
【００４５】
（実施例２の動作）
図１２は、図１０の本実施例２のバスシステムにおける転送レートの比較図である。
周波数１００ＭＨｚの場合に最大１００Ｍｂｐｓで転送が行われ、図１０の本実施例２のバスシステムが状態ＳＴ１１Ａ、状態ＳＴ１２Ａとあるとして、動作を図１２を参照しつつ説明する。
【００４６】
先ず、図１２の状態ＳＴ１１Ａは、ＤＭＡＣ３１−２が領域Ｙにのみアクセスしている状態である。ＣＰＵ３１−１は、メモリ３２−１へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ３をアサートする。状態ＳＴ１１Ａの時、ＤＭＡＣ３１−２では領域Ｙに対するアクセスしか発生しないため、アービトレーション回路４２Ａへ入力されるリアルタイム転送領域信号Ｓ４５は、“０”になる。アービトレーション回路４２Ａに於いて、優先順位判定回路４２ａは、図８の真理値に示すように、リアルタイム転送領域信号Ｓ４５が“０”で、バスリクエスト信号ＩＲＱ３が“１”で、バスリクエスト信号ＩＲＱ４が“０”の時に、判定信号Ｓ４２ａを“１”として出力する。
【００４７】
更新判定回路４２ｂは、転送完了承認信号ＸＡＣＫ２Ａがアサートされると判定信号Ｓ４２ｂの値を切り替える。転送完了承認信号ＸＡＣＫ２Ａがアサートされていない時は、バスマスタ選択信号Ｓ４２Ａをフィードバックし、判定信号Ｓ４２ｂとして出力することで、判定信号Ｓ４２ｂの値を保持し続ける。アービトレーション回路４２Ａは、判定信号Ｓ４２ａが“１”の時に、バス制御応答信号ＡＣＫ３を選択するようにバスマスタ選択信号Ｓ４２Ａを出力する。セレクタ４４は、バスマスタ選択信号Ｓ４２を受けて、バス制御応答信号ＡＣＫ３を選択して、バス制御応答信号ＡＣＫ４４として出力する。
【００４８】
状態ＳＴ１１Ａでは、ＣＰＵ３１−１の優先順位が高くなっているため、ＣＰＵ３１−１の転送レートは、７０Ｍｂｐｓ〜８０Ｍｂｐｓとなり、ＤＭＡＣ３１−２は、最低限必要な２０Ｍｂｐｓの転送レートを確保している。
【００４９】
次に、図１２の状態ＳＴ１２Ａは、ＤＭＡＣ３１−２が領域Ｘにのみアクセスしている状態である。ＤＭＡＣ３１−２は、メモリ３２−１へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ４をアサートする。この状態の時、ＤＭＡＣ３１−２では領域Ｘに対するアクセスが発生するため、アービトレーション回路４２Ａへ入力されるリアルタイム転送領域信号Ｓ４５は、“１”になる。アービトレーション回路４２Ａに於いて、優先順位判定回路４２ａは、図８の真理値に示すように、リアルタイム転送領域信号Ｓ４５が“１”で、バスリクエスト信号ＩＲＱ３が“０”で、バスリクエスト信号ＩＲＱ４が“１”の時に、判定信号Ｓ４２ａを“０”として出力する。
【００５０】
アービトレーション回路４２は、判定信号Ｓ４２ａが“０”の時に、バス制御応答信号ＡＣＫ４を選択するようにバスマスタ選択信号Ｓ４２を出力する。セレクタ４４は、バスマスタ選択信号Ｓ４２により、ＤＭＡＣ３１−２からのバス制御応答信号ＡＣＫ４を選択して、バス制御応答信号ＡＣＫ４４として出力する。
【００５１】
状態ＳＴ１２Ａでは、ＤＭＡＣ３１−２の優先順位が高くなっているため、ＤＭＡＣ３１−２の転送レートは７０Ｍｂｐｓ〜８０Ｍｂｐｓとなり、ＣＰＵ３１−１は、最低限必要な２０Ｍｂｐｓの転送レートを確保している。
【００５２】
（実施例２の効果）
本実施例２のバスシステムによれば、デコーダ４５を追加したことにより、バスを使用する優先順位の設定が可能となったことで、周波数を上げずに最低限必要な転送レートを確保出来たので、処理能力を下げることもなく、消費電力を大幅に削減できる。更に、実施例１に比べ、状態４に入る前後でＣＰＵ３１−１のアクセスが介在しないため、その分のオーバヘッドを少なくでき、システムのパフォーマンスが向上する効果がある。
【実施例３】
【００５３】
（実施例３の構成）
図１３は、本発明の実施例３におけるバスシステムの例を示す構成図であり、実施例１を示す図１中の要素と共通の要素には共通の符号が付されている。
【００５４】
このバスシステムは、ＬＳＩ３０Ａにより構成されており、ＬＳＩ３０Ａは、図１の実施例１に、更に、バス４０ａに接続され、メモリ３２−１から転送完了承認信号ＸＡＣＫ２が入力され、バスリクエスト信号ＩＲＱ５をアービトレーション回路４１Ｂへ出力し、バス制御応答信号ＡＣＫ５をセレクタ４４へ出力し、ＣＰＵ３１−１を介さずに転送制御を行えるＤＭＡＣ３１−３と、バス４０ａに接続され、セレクタ４４からバス制御応答信号ＡＣＫ４４が入力され、転送完了承認信号ＸＡＣＫ３をＣＰＵ３１−１，ＤＭＡＣ３１−２及びＤＭＡＣ３１−３に出力する入出力装置３２−２とが追加されている。
【００５５】
（実施例３の動作）
図１４は、図１３の本実施例３のバスシステムにおける転送レートの比較図である。
周波数１２０ＭＨｚの場合に最大１２０Ｍｂｐｓで転送が行われ、バスシステムが状態ＳＴ２１，ＳＴ２２及びＳＴ２３とあるとして、動作を図１４を参照しつつ説明する。
【００５６】
先ず、図１４の状態ＳＴ２１は、ＤＭＡＣ３１−２，ＤＭＡＣ３１−３によるリアルタイムなデータ処理が必要な転送が発生していない状態である。ＣＰＵ３１−１は、メモリ３２−１へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ３をアサートする。ＣＰＵ３１−１は、ＣＰＵ３１−１の優先順位が最高になるような優先順位設定信号Ｓ４１を出力するように、優先順位設定レジスタ４１を設定する。アービトレーション回路４２は、優先順位設定信号Ｓ４１に基づき、バス制御応答信号ＡＣＫ３を選択するようにバスマスタ選択信号Ｓ４２を出力する。セレクタ４４は、バスマスタ選択信号Ｓ４２を受けて、バス制御応答信号ＡＣＫ３を選択して、バス制御応答信号ＡＣＫ４４として出力する。
【００５７】
状態ＳＴ２１では、ＣＰＵ３１−１の優先順位が高くなっているため、ＣＰＵ３１−１の転送レートは、７０Ｍｂｐｓ〜８０Ｍｂｐｓとなり、ＤＭＡＣ３１−２、３１−３は、各々最低限必要な２０Ｍｂｐｓの転送レートを確保している。
【００５８】
次に、図１４の状態ＳＴ２２は、ＤＭＡＣ３１−２によるリアルタイムなデータ処理が必要な転送が発生した状態である。ＤＭＡＣ３１−２は、メモリ３２−１及び入出力装置３２−２へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ４をアサートする。ＣＰＵ３１−１は、ＤＭＡＣ３１−２の優先順位が最高になるような優先順位設定信号Ｓ４１Ｂを出力するように、優先順位設定レジスタ４１Ｂを設定する。アービトレーション回路４２Ｂは、優先順位設定信号Ｓ４１Ｂを受けて、バス制御応答信号ＡＣＫ４を選択するようにバスマスタ選択信号Ｓ４２Ｂを出力する。セレクタ４４は、バスマスタ選択信号Ｓ４２Ｂにより、ＤＭＡＣ３１−２からのバス制御応答信号ＡＣＫ４を選択して、バス制御応答信号ＡＣＫ４４として出力する。
【００５９】
状態ＳＴ２２では、ＤＭＡＣ３１−２の優先順位が高くなっているため、ＤＭＡＣ３１−２の転送レートは７０Ｍｂｐｓ〜８０Ｍｂｐｓとなり、ＣＰＵ３１−１，ＤＭＡＣ３１−３は、最低限必要な２０Ｍｂｐｓの転送レートを確保している。
【００６０】
更に、図１４の状態ＳＴ２３は、ＤＭＡＣ３１−３によるリアルタイムなデータ処理が必要な転送が発生した状態である。ＤＭＡＣ３１−３は、メモリ３２−１及び入出力装置３２−２へのアクセス要求が発生すると、バスリクエスト信号ＩＲＱ５をアサートする。ＣＰＵ３１−１は、ＤＭＡＣ３１−３の優先順位が最高になるような優先順位設定信号Ｓ４１Ｂを出力するように、優先順位設定レジスタ４１Ｂを設定する。アービトレーション回路４２Ｂは、優先順位設定信号Ｓ４１Ｂを受けて、バス制御応答信号ＡＣＫ５を選択するようにバスマスタ選択信号Ｓ４２Ｂを出力する。セレクタ４４は、バスマスタ選択信号Ｓ４２Ｂにより、ＤＭＡＣ３１−２からのバス制御応答信号ＡＣＫ５を選択して、バス制御応答信号ＡＣＫ４４として出力する。
【００６１】
状態ＳＴ２３では、ＤＭＡＣ３１−２に代わってＤＭＡＣ３１−３の優先順位が高くなっているため、ＤＭＡＣ３１−３の転送レートは７０Ｍｂｐｓ〜８０Ｍｂｐｓとなり、ＣＰＵ３１−１，ＤＭＡＣ３１−２は、最低限必要な２０Ｍｂｐｓの転送レートを確保する。
【００６２】
（実施例３の効果）
本実施例３のバスシステムによれば、実施例１と同様に、優先順位設定レジスタ４１を追加したことにより、バスを使用する優先順位の設定及び変更が可能となったことで、周波数を上げずに最低限必要な転送レートを確保出来たので、処理能力を下げることもなく、消費電力を大幅に削減できる。
【００６３】
（変形例）
本発明は、上記実施例１〜３に限定されず、種々の利用形態や変形が可能である。この利用形態や変形例としては、例えば、次の（Ａ）〜（Ｈ）のようなものがある。
【００６４】
（Ａ）  実施例１，２及び３では、バスシステムとして、ＬＳＩ３０を例として挙げているが、集積回路に限定されず、その他の電気回路で構成しても良い。
【００６５】
（Ｂ）  実施例１，２及び３では、バスマスタとしてＣＰＵ３１−１，ＤＭＡＣ３１−２及びＤＭＡＣ３１−３を例として挙げているが、その他のバス上でマスタとして動作するデバイスに変更しても良い。その他のデバイスを用いることで、ＣＰＵ３１−１の負荷の軽減や転送レートの増加が期待できる。
【００６６】
（Ｃ）  実施例１，２及び３のアービトレーション回路４２は、複数の入力信号に対して１個の出力信号を出すような論理回路を組んでも良い。その他の論理回路を用いることで、回路の簡略化が可能となる。
【００６７】
（Ｄ）  実施例１，２及び３では、選択手段としてセレクタ４４を例として挙げているが、マルチプレクサ等の回路を用いても良い。セレクタ４４では、出力されるバス制御信号は１つだったが、その他の回路では、複数のバス制御信号を出力することが可能になり、複数のバススレーブに異なる処理を行わせることが可能になる。
【００６８】
（Ｅ）  実施例１のデータ保持手段は、優先順位設定レジスタ４１に代えて、メモリ等の記憶装置を用いても良い。その他の記憶装置を用いることで、保持できるデータ量を増やせる。
【００６９】
（Ｆ）  実施例２のデコード手段は、デコーダ４５に代えて、ＮＯＴ回路やＡＮＤ回路等を組み合わせた論理回路で構成することも出来る。論理回路で構成することで、コストの低下が期待できる。
【００７０】
（Ｇ）  実施例２のバスシステムは、ＣＰＵ３１−１，メモリ３２−１の他にバスマスタとバススレーブを追加しても良い。この場合でも、周波数をあげずに消費電力を大幅に削減できる。又、ＣＰＵ３１−１のアクセスが介在しないため、その分のオーバヘッドを少なくでき、システムのパフォーマンスが向上する効果がある。
【００７１】
（Ｈ）  実施例３のバスシステムは、３個のバスマスタであるＣＰＵ３１−１，ＤＭＡＣ３１−２及びＤＭＡＣ３１−３と、２個のバススレーブであるメモリ３２−１，入出力装置３２−２とを有する例だったが、更に、バスマスタとバススレーブが増えても良い。バスマスタ、バススレーブが増えることで、同時に行える処理数を増やせる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施例１におけるバスシステムの例を示す構成図である。
【図２】従来のバスシステムの例を示す構成図である。
【図３】図２中のアービトレーション回路２１の例を示す構成図である。
【図４】図３中の優先順位判定回路２１ａの真理値を示す図である。
【図５】図２の従来のバスシステムにおける転送レートの比較図である。
【図６】図１中の優先順位設定レジスタ４１の例を示す構成図である。
【図７】図１中のアービトレーション回路４２の例を示す構成図である。
【図８】図７中の優先順位判定回路４２ａの真理値を示す図である。
【図９】図１の実施例１のバスシステムにおける転送レートの比較図である。
【図１０】本発明の実施例２におけるバスシステムの例を示す構成図である。
【図１１】図１０中のデコーダ４５の例を示す構成図である。
【図１２】図１０の実施例２のバスシステムにおける転送レートの比較図である。
【図１３】本発明の実施例３におけるバスシステムの例を示す構成図である。
【図１４】図１３の本実施例３のバスシステムにおける転送レートの比較図である。
【符号の説明】
【００７３】
１０，３０    ＬＳＩ
１１−１，３１−１    ＣＰＵ
１１−２，３１−２，３１−３    ＤＭＡＣ
１２−１，３２−１    メモリ
２０ａ，４０ａ    バス
２１，４２    アービトレーション回路
２３，４４    セレクタ
３２−２    入出力装置
４１    優先順位設定レジスタ
４５    デコーダ
【図１】
2008102652.tif 000003
【図２】
2008102652.tif 000004
【図３】
2008102652.tif 000005
【図４】
2008102652.tif 000006
【図５】
2008102652.tif 000007
【図６】
2008102652.tif 000008
【図７】
2008102652.tif 000009
【図８】
2008102652.tif 000010
【図９】
2008102652.tif 000011
【図１０】
2008102652.tif 000012
【図１１】
2008102652.tif 000013
【図１２】
2008102652.tif 000014
【図１３】
2008102652.tif 000015
【図１４】
2008102652.tif 000016