(57)【要約】【課題】書き込みアクセスを行った場合において、データ転送性能を向上することができるバスシステム及びバス制御方法を提供すること【解決手段】本発明にかかるバスシステムは、書き込みアクセスにおけるデータの書き込み結果を示す書き込み応答信号を受けてから、次のアクセスの準備を行うバスマスタ２０と、書き込みアクセスにおいて、バスマスタ２０からの書き込みデータ信号の出力に応じて、当該書き込みデータ信号が示すデータを書き込み、当該書き込みにおける真正書き込み応答信号をバスマスタ２０に出力するバススレーブ３０〜３２と、バスマスタ２０とバススレーブ３０〜３２とを接続し、レジスタスライス４０〜４２を有するバスと、バスマスタ２０から出力される書き込みデータ信号の終了を検出した場合に、ダミー書き込み応答信号をバスマスタ２０に出力する信号生成部１００とを備える。【選択図】図２
2011095978.tif 000002
【特許請求の範囲】
【請求項１】
書き込みアクセスにおけるデータの書き込み結果を示す書き込み応答信号を受けてから、次のアクセスの準備を行うバスマスタと、
前記書き込みアクセスにおいて、前記バスマスタからの書き込みデータ信号の出力に応じて、当該書き込みデータ信号が示すデータを書き込み、当該書き込みにおける真正書き込み応答信号を前記バスマスタに出力するバススレーブと、
前記バスマスタと前記バススレーブとを接続し、レジスタスライスを有するバスと、
前記バスマスタから出力される書き込みデータ信号の終了を検出した場合に、ダミー書き込み応答信号を前記バスマスタに出力する信号生成部と、を備えたバスシステム。
【請求項２】
前記信号生成部は、前記バススレーブから出力された真正書き込み応答信号をマスクする請求項１に記載のバスシステム。
【請求項３】
前記真正書き込み応答信号は、前記書き込み結果を示す書き込み完了応答信号と、当該書き込み完了応答信号の存在を示す書き込み完了応答Ｖａｌｉｄ信号とを含み、
前記信号生成部は、前記書き込み完了応答Ｖａｌｉｄ信号をマスクする請求項２に記載のバスシステム。
【請求項４】
前記バスマスタにおいて、前記書き込みアクセスを開始するハンドシェークが成立した後、前記バススレーブからの真正書き込み応答信号が出力されるまでは、次のアクセスを開始するハンドシェークを禁止するハンドシェーク制御部をさらに備えた請求項１又は２に記載のバスシステム。
【請求項５】
前記真正書き込み応答信号は、前記データの書き込み結果を示す書き込み完了応答信号と、当該書き込み完了応答信号の存在を示す書き込み完了応答Ｖａｌｉｄ信号とを含み、
前記ハンドシェーク制御部は、前記書き込み完了応答Ｖａｌｉｄ信号によって、前記バススレーブから真正書き込み応答信号が出力されたか否かを判定する請求項４に記載のバスシステム。
【請求項６】
ＣＰＵをさらに備え、
前記信号生成部は、前記真正書き込み応答信号がエラーを示している場合に、前記ＣＰＵにその旨を通知する請求項４又は５に記載のバスシステム。
【請求項７】
記憶部をさらに備え、
前記信号生成部は、前記書き込みアクセスを開始するハンドシェークが成立した場合に、前記バスマスタから有効に伝播する信号に含まれるデータを前記記憶部に格納し、
前記ＣＰＵは、前記信号生成部から、前記真正書き込み応答信号がエラーを示している旨を通知された場合に、前記記憶部に格納されたデータを取得する請求項４乃至６のいずれか１項に記載のバスシステム。
【請求項８】
前記バスマスタは、前記書き込みアクセスにおいて、前記書き込みデータ信号が示すデータを書き込むアドレスを示す書き込みアドレス信号と、当該書き込みアドレス信号の存在を示す書き込みアドレスＶａｌｉｄ信号とを前記レジスタスライスに出力し、
前記レジスタスライスは、前記書き込みアドレス信号の取得が可能か否かを示す書き込みアドレスレディ信号を前記バスマスタに出力し、
前記ハンドシェーク制御部は、前記書き込みアドレスＶａｌｉｄ信号と前記書き込みアドレスレディ信号とに基づいて、前記書き込みアクセスを開始するハンドシェークが成立したか否かを判定する請求項４乃至７のいずれか１項に記載のバスシステム。
【請求項９】
前記ハンドシェーク制御部は、前記書き込みアドレスＶａｌｉｄ信号と前記書き込みアドレスレディ信号とをマスクすることによって、前記次のアクセスを開始するハンドシェークを禁止する請求項８に記載のバスシステム。
【請求項１０】
前記信号生成部及び前記ハンドシェーク制御部は、前記バスによって、前記バスマスタと前記レジスタスライスとの間に接続される請求項４乃至９のいずれか１項に記載のバスシステム。
【請求項１１】
前記バスは、ＡＸＩ(Advanced eXtensible Interface)バスである請求項１乃至９のいずれか１項に記載のバスシステム。
【請求項１２】
書き込みアクセスにおけるデータの書き込み結果を示す書き込み応答信号を受けてから、次のアクセスの準備を行うバスマスタと、前記書き込みアクセスにおいて、前記バスマスタからの書き込みデータ信号の出力に応じて、当該書き込みデータ信号が示すデータを書き込み、当該書き込みにおける真正書き込み応答信号を前記バスマスタに出力するバススレーブとを接続し、レジスタスライスを有するバスのバス制御方法であって、
前記バスマスタから出力される書き込みデータ信号の終了を検出し、
ダミー書き込み応答信号を前記バスマスタに出力するバス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスシステム及びバス制御方法に関する。
【背景技術】
【０００２】
近年、Ｓｙｓｔｅｍ Ｏｎ Ｃｈｉｐ(以下、「ＳｏＣ」とする)において、３Ｄグラフィックコントローラ(以下、「３ＤＧＣ」とする)の搭載やＣＰＵ(Central Processing Unit)のマルチプロセッサ化等がされている。つまり、ＳｏＣにおいて、３ＤＧＣやＣＰＵ等のバスマスタの数が増加している。そのため、これらのバスマスタによるメモリアクセスにおいて、データ転送性能を向上することが重要な課題となっている。
【０００３】
例えば、ユニファイドメモリシステムにおいては、多数のバスマスタから同一の外部メモリ資源へのメモリアクセスが発生するため、バスマスタが一秒当たりに何バイトのデータを転送可能か(以下、「メモリバンド幅」とする)といったデータ転送性能を向上する必要がある。ＳｏＣとして、データ転送性能を向上するためには、メモリアクセスにおいて生じる無駄な時間をできるだけ少なくし、メモリアクセスを効率化することが必要となる。
【０００４】
ところで、ＡＸＩ(Advanced eXtensible Interface)バス規格では、バスマスタと、外部メモリ資源等のバススレーブとの間でデータの転送が行われるため、この２つの間にレジスタスライスと呼ばれるラッチ機構を挿入することができる。レジスタスライスは、バスマスタとバススレーブとの間で、必要とされる動作周波数を達成できない場合に挿入される調停(遅延)回路である。レジスタスライスは、ＡＸＩバス規格で定義されている書き込みアドレス、書き込みデータ、書き込み応答、読み出しアドレス及び読み出しデータの各チャネルに挿入することができる。
【０００５】
例えば、ＡＸＩバス規格を採用したＳｏＣにおいて、バスマスタとバススレーブとの間のバス遅延が８ｎｓｅｃであり、動作周波数が２００ＭＨｚ(周期：５ｎｓｅｃ)である場合、バス遅延が動作周波数の周期を上回ってしまう。この場合に、バスマスタとバススレーブ間にレジスタスライスを挿入することで、バス遅延８ｎｓｅｃを４ｎｓｅｃずつに分割することができ、必要な動作周波数を達成することができる。その一方で、レジスタスライスを挿入した場合、ラッチのために１サイクル分の遅延が発生してしまうというデメリットがある。
【０００６】
また、バスマスタとバススレーブとの間を伝播する信号には、例えば、書き込みデータチャネルに出力される信号のように、バスマスタからバススレーブの方向に伝播する信号だけではなく、書き込み応答チャネルに出力される信号のように、バススレーブからバスマスタの方向に伝播する信号もある。そのため、１段のレジスタスライスを挿入することで、レジスタスライスによる信号の遅延時間(以下、「レーテンシ」とする)が２サイクル分悪化する場合がある。
【０００７】
なお、特許文献１には、レジスタスライス手段が、ラッチ動作をバイパスするバイパス機能と、ラッチ動作をバイパスするか否かを決定する決定機能と、を備えることにより、システムの動的な動作周波数の切り替え動作を簡単な構成で高速に行うことができる技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−１４０６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＡＸＩバス規格において、バスマスタは、バススレーブに対して書き込みアクセスを行う場合、バススレーブに書き込みアドレス信号と書き込みデータ信号とを出力する。そして、バススレーブは、書き込みアドレス信号が示すアドレスに、書き込みデータ信号が示すデータを書き込み、この書き込み結果を示す書き込み応答完了信号をバスマスタに出力する。バスマスタは、バススレーブからの書き込み完了応答信号の出力を受けてから、次の書き込み又は読み込みアクセスの準備を開始する。
【００１０】
そのため、１段のレジスタスライスが挿入されている場合に、書き込みアクセス後に、連続して書き込み又は読み込みアクセスを行う場合には、書き込みアドレス信号及び書き込みデータ信号のようにバスマスタからバススレーブの方向に伝播する信号において発生する１サイクルの遅延と、書き込み完了応答信号のようにバススレーブからバスマスタの方向に伝播する信号の出力において発生する１サイクルの遅延の合計２サイクル分、次の書き込み又は読み込みアクセスの準備の開始が遅延する。つまり、レーテンシが２サイクル分悪化する。
【００１１】
以上のようなことから、レジスタスライスが挿入されている場合に、書き込みアクセス後に、連続して書き込み又は読み込みアクセスを行うときに、次のアクセスが開始されるまでに発生するレーテンシは、式(１)によって表せる。
【００１２】
レーテンシ(サイクル)＝レジスタスライスの段数×２(サイクル)
＋バスマスタが書き込み完了応答信号を受けてから次のアクセスの準備ができるサイクル数(サイクル)・・・（１）
【００１３】
例えば、レジスタスライスが３段であり、バスマスタが書き込み完了応答信号を受けてから次のアクセスの準備ができるサイクル数が５サイクルである場合、次のアクセスまでに、３×２＋５＝１１サイクルのレーテンシが発生してしまう。さらに、レジスタスライスが１段増える毎に、レーテンシは２サイクルずつ増加する。
【００１４】
以上に説明したように、書き込みアクセスを行った場合においては、バスマスタが、レーテンシによって遅延した書き込み完了応答通知をバススレーブから受けてから、次の書き込み又は読み込みアクセスの準備を開始しているので、データ転送性能が低下してしまっているという問題がある。
【００１５】
一方で、特許文献１に開示の技術は、システムの動作周波数が低く切り替えられた時に、レジスタスライスをバイパスし、レーテンシを改善することができる。しかし、システムの動作周波数が高く切り替えられているときには、レジスタスライスをバイパスすることはできないため、レーテンシは改善されない。したがって、上記の問題は依然として解決されない。また、システムの動作周波数が低く切り替えられているときであっても、全てのレジスタスライスがバイパスするように切り替えられていない場合には、同様の問題がある。
【課題を解決するための手段】
【００１６】
本発明の第１の態様にかかるバスシステムは、書き込みアクセスにおけるデータの書き込み結果を示す書き込み応答信号を受けてから、次のアクセスの準備を行うバスマスタと、前記書き込みアクセスにおいて、前記バスマスタからの書き込みデータ信号の出力に応じて、当該書き込みデータ信号が示すデータを書き込み、当該書き込みにおける真正書き込み応答信号を前記バスマスタに出力するバススレーブと、前記バスマスタと前記バススレーブとを接続し、レジスタスライスを有するバスと、前記バスマスタから出力される書き込みデータ信号の終了を検出した場合に、ダミー書き込み応答信号を前記バスマスタに出力する信号生成部と、を備えたものである。
【００１７】
本発明の第２の態様にかかるバス制御方法は、書き込みアクセスにおけるデータの書き込み結果を示す書き込み応答信号を受けてから、次のアクセスの準備を行うバスマスタと、前記書き込みアクセスにおいて、前記バスマスタからの書き込みデータ信号の出力に応じて、当該書き込みデータ信号が示すデータを書き込み、当該書き込みにおける真正書き込み応答信号を前記バスマスタに出力するバススレーブとを接続し、レジスタスライスを有するバスのバス制御方法であって、前記バスマスタから出力される書き込みデータ信号の終了を検出し、  ダミー書き込み応答信号を前記バスマスタに出力するものである。
【００１８】
これにより、バスマスタにおいて、真正書き込み応答信号を受ける前に、ダミー書き込み応答信号の入力に応じて、次のアクセスの準備を開始することができるため、バススレーブにおける書き込みと、バスマスタにおける次のアクセスの準備を並列に処理することができる。そのため、書き込みアクセス後に、連続して書き込み又は読み込みアクセスを行う場合におけるレーテンシを向上させることができる。つまり、書き込みアクセスを行った場合において、データ転送性能を向上することができる。
【発明の効果】
【００１９】
上述した各態様により、書き込みアクセスを行った場合において、データ転送性能を向上することができるバスシステム及びバス制御方法を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態１にかかるバスシステムの構成図である。
【図２】本発明の実施の形態１にかかるバスマスタ、書き込み応答制御部、レジスタスライスの詳細な接続関係を示す図である。
【図３】本発明の実施の形態１にかかる信号生成部の状態遷移図である。
【図４】本発明の実施の形態１にかかる信号生成部の動作タイミングチャートである。
【図５】読み出しによるアクセスと書き込みによるアクセスの順番を逆転する場合における信号生成部の動作タイミングチャートである。
【図６】本発明の実施の形態１にかかる書き込み応答制御部におけるＶａｌｉｄ信号及びレディ信号のマスク動作タイミングチャートである。
【図７】本発明の実施の形態２にかかるバスシステムの構成図である。
【図８】本発明の実施の形態２にかかるバスマスタ、書き込み応答制御部、レジスタスライスの詳細な接続関係を示す図である。
【図９】本発明の実施の形態２にかかる書き込み応答制御部の動作タイミングチャートである。
【発明を実施するための形態】
【００２１】
本発明の実施の形態１．
図１を参照して、本発明の実施の形態１にかかるバスシステム１の構成について説明する。図１は、本発明の実施の形態１にかかるバスシステム１の構成図である。
【００２２】
バスシステム１は、書き込み応答制御部１０と、バスマスタ２０、２１、２２と、バススレーブ３０、３１、３２と、レジスタスライス４０、４１、４２と、ＡＸＩバス接続網５０とを有する。
【００２３】
まず、上述したバスシステム１が有する各構成要素の接続関係について説明する。
ここで、ＡＸＩバス規格では、書き込みアドレス、書き込みデータ、書き込み応答、読み出しアドレス及び読み出しデータの５つのチャネルが規定されている。各チャネルは、データ信号(書き込みアドレスチャネル及び読み出しアドレスチャネルの場合は、アドレス信号)と、Ｖａｌｉｄ信号と、レディ信号の３つの信号を伝達する信号網を有する。
【００２４】
バスマスタ２０〜２２とバススレーブ３０〜３２とは、ＡＸＩバス接続網５０を介して、相互に接続されている。つまり、５つのチャネルとＡＸＩバス接続網５０によってバスが構成されている。書き込みアドレス、書き込みデータ及び読み出しアドレスの３つのチャネルによってバスマスタ２０〜２２からバススレーブ３０〜３２へと信号を伝達し、書き込み応答及び読み出しデータの２つのチャネルによってバススレーブ３０〜３２からバスマスタ２０〜２２へと信号を伝達する。
【００２５】
バスマスタ２０とＡＸＩバス接続網５０との間には、レジスタスライス４０〜４２が設けられている。バスマスタ２０と、バスマスタ２０に最も近いレジスタスライス４０と、の間には、書き込み応答制御部１０が設けられている。ここで、バスマスタ２０は、書き込みアドレス、書き込みデータ、書き込み応答及び読み出しアドレスの４つのチャンネルによって、書き込み応答制御部１０と直接接続されており、読み出しデータのチャネルによって、レジスタスライス４０と直接接続されている。
【００２６】
バスマスタ２０〜２２は、バススレーブ３０〜３２に対して、データの書き込みや読み込みを行う。バスマスタ２０〜２２は、例えば、ＣＰＵやＤＭＡ(Direct Memory Access)コントローラ等である。
バススレーブ３０〜３２は、例えば、メモリやレジスタ等である。
【００２７】
レジスタスライス４０〜４２は、バス遅延が動作周波数の周期を上回らないように挿入された調停(遅延)回路である。レジスタスライス４０〜４２は、それぞれラッチ機構を有し、各チャネルを経由して入力された信号を通過又は保持することによって、バスマスタ２０とバススレーブ３０〜３２間で信号を伝達する。
ＡＸＩバス接続網５０は、バスマスタ２０〜２２からバススレーブ３０〜３２に発行される書き込みアクセスや読み込みアクセス等のバスアクセスのアクセス順序を調停してバススレーブ３０〜３２に伝達する。
【００２８】
ここで、ＡＸＩバス規格における各５つのチャネルは、上述したように、データ信号(又はアドレス信号)と、Ｖａｌｉｄ信号と、レディ信号の３つの信号を伝達する。なお、ここで記載する信号名は、後に参照する図２におけるものに対応する。
【００２９】
具体的には、書き込みアドレスチャネルは、書き込みアドレス信号ＷＡ／ＣＤ１、ＷＡ／ＣＤ２と、書き込みアドレスＶａｌｉｄ信号ＷＡＶ１、ＷＡＶ２、ＷＡＶ３と、書き込みアドレスレディ信号ＷＡＲＹ１、ＷＡＲＹ２、ＷＡＲＹ３を伝達する。また、書き込みデータチャネルは、書き込みデータ信号ＷＤ／ＬＴ１、ＷＤ／ＬＴ２と、書き込みデータＶａｌｉｄ信号ＷＤＶ１、ＷＤＶ２と、書き込みデータレディ信号ＷＤＲＹ１、ＷＤＲＹ２とを伝達する。また、書き込み応答チャネルは、書き込み完了応答信号ＢＲ１、ＢＲ２、ＢＲ３と、書き込み完了応答Ｖａｌｉｄ信号ＢＶ１、ＢＶ２、ＢＶ３と、書き込み完了応答レディ信号ＢＲＹ１、ＢＲＹ２、ＢＲＹ３を伝達する。
【００３０】
また、読み出しアドレスチャネルは、読み出しアドレス信号ＲＡ１、ＲＡ２と、読み出しアドレスＶａｌｉｄ信号ＲＡＶ１、ＲＡＶ２、ＲＡＶ３と、読み出しアドレスレディ信号ＲＡＲＹ１、ＲＡＲＹ２、ＲＡＲＹ３を伝達する。また、読み出しデータチャネルは、読み出しデータ信号ＲＤ１、ＲＤ２と、読み出しデータＶａｌｉｄ信号ＲＤＶ１、ＲＤＶ２と、読み出しデータレディ信号ＲＤＲＹ１、ＲＤＲＹ２を伝達する。
【００３１】
Ｖａｌｉｄ信号は、有効なデータ信号(又はアドレス信号)が出力されているか否かを示す。つまり、Ｖａｌｉｄ信号は、データ信号(又はアドレス信号)が有効に存在しているか否かを示す信号となる。レディ信号は、データ信号(又はアドレス信号)の取得が可能か否かを示す。つまり、データ信号(又はアドレス信号)が有効に存在している旨をＶａｌｉｄ信号が示しており、データ信号(又はアドレス信号)の取得が可能である旨をレディ信号示している場合に、Ｖａｌｉｄ信号の送信側とレディ信号の送信側とのハンドシェークが成立し、レディ信号の送信側でデータ信号(又はアドレス信号)が取得される。言い換えると、ハンドシェークが成立した場合に、送信側から受信側にデータ信号が有効に伝播する。
【００３２】
続いて、図２を参照して、書き込み応答制御部１０の構成について説明する。図２は、本発明の実施の形態１にかかるバスマスタ２０、書き込み応答制御部１０、レジスタスライス４０の詳細な接続関係を示す図である。
書き込み応答制御部１０は、信号生成部１００と、レディマスク信号セット部１０１と、レディマスク信号リセット部１０２と、レディ回路１０３、１０４とを有する。また、レジスタスライス４０は、サブレジスタスライス４００、４０１、４０２、４０３、４０４を有する。
【００３３】
信号生成部１００は、バスマスタ２０から出力された書き込みデータ信号ＷＤ／ＬＴ１の終了を検出した場合に、ダミーの書き込み応答信号をバスマスタ２０に出力する。書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１は、書き込み応答信号に相当する。
【００３４】
ここで、図３を参照して、信号生成部１００の状態遷移を説明する。図３は、本発明の実施の形態１にかかる信号生成部の状態遷移図である。
まず、信号生成部１００は、バスマスタ２０及びレジスタスライス４０のリセット後に、書き込み完了応答バイパス状態(Ｓ５００)となる。書き込み完了応答バイパス状態の場合、信号生成部１００は、サブレジスタスライス４０３から出力された書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３を、そのまま書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１としてバスマスタ２０に出力する。また、信号生成部１００は、バスマスタ２０から出力された書き込み応答レディ完了信号ＢＲＹ１を、そのまま書き込み完了応答レディ信号ＢＲＹ３としてサブレジスタスライス４０３に出力する。
【００３５】
信号生成部１００は、バスマスタ２０からアンキャッシュ属性の有効な書き込みアドレス信号ＷＡ／ＣＤ１が出力されると、書き込みデータ監視状態(Ｓ５０１)に遷移する(Ｓ５０３)。
書き込みデータ監視状態に遷移すると、信号生成部１００は、バスマスタ２０から最後の書き込みデータ信号ＷＤ／ＬＴ１がサブレジスタスライス４０２に出力されたか否かの監視を行なう。
【００３６】
信号生成部１００は、バスマスタ２０から最後の書き込みデータ信号ＷＤ／ＬＴ１がサブレジスタスライス４０２に出力されると、書き込み完了応答監視状態(Ｓ５０２)に遷移する(Ｓ５０４)。書き込み完了応答監視状態に遷移すると、信号生成部１００は、ダミーの書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を投機的に出力する。
【００３７】
ここで、ＡＸＩバス規格には、キャッシュ属性の書き込みと、アンキャッシュ属性の書き込みがある。バスマスタ２０は、これらの書き込みのうち、アンキャッシュ属性の書き込みを行った場合に、バススレーブ３０〜３２における書き込みの完了結果を示す書き込み完了応答信号ＢＲ１を待つ。そこで、信号生成部１００は、アンキャッシュ属性の書き込みが行われた場合に、書き込みデータ監視状態に遷移(Ｓ５０３)して、最後の書き込みデータ信号ＷＤ／ＬＴ１が伝播したときに、ダミーの書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を投機的に出力するようにしている。
【００３８】
このように、ダミーの書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を投機的にバスマスタ２０に出力することで、バスマスタ２０において、ＡＸＩバス規格において規定されている一連の書き込みアクセスが完了する。これにより、バスマスタ２０は、バススレーブ３０〜３２からサブレジスタスライス４０３を介して出力される真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３を待つことなく、次の書き込み又は読み込みアクセスの準備を開始することができる。
【００３９】
また、信号生成部１００は、サブレジスタスライス４０３から出力される真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３のマスクを開始する。信号生成部１００は、真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３をマスクすることで、有効な書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１が重複してバスマスタ２０に出力されないようにする。なお、ここでは、バスマスタ２０が書き込み完了応答信号ＢＲ１を取得しないようにすればよいため、ＡＸＩバス規格の仕組み上、書き込み完了応答Ｖａｌｉｄ信号ＢＶ３のみをマスクするようにしてもよい。
【００４０】
また、信号生成部１００は、バスマスタ２０から出力される書き込み完了応答レディ信号ＢＲＹ１のマスクを開始するとともに、ダミーの書き込み完了応答レディ信号ＢＲＹ３のサブレジスタスライス４０３への出力を開始する。
ここで、バスマスタ２０は、信号生成部１００からダミーの書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を受けた場合、有効でない書き込み完了応答レディ信号ＢＲＹ１を出力してしまっている可能性がある。そこで、信号生成部１００は、有効なダミーの書き込み完了応答レディ信号ＢＲＹ３を出力することで、サブレジスタスライス４０３から真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が出力されるときに、ハンドシェークが成立するようにする。
そして、信号生成部１００は、バススレーブ３０〜３２から真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が出力されるのを待つ。
【００４１】
信号生成部１００は、バススレーブ３０〜３２から出力された真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３がサブレジスタスライス４０３から入力されると、書き込み完了応答バイパス状態(Ｓ５００)に遷移する(Ｓ５０５)。これにより、信号生成部１００は、書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３のマスクを解除する。また、信号生成部１００は、書き込み完了応答レディ信号ＢＲＹ１のマスクを解除するとともに、ダミーの書き込み完了応答レディ信号ＢＲＹ３の出力を終了する。
【００４２】
レディマスク信号セット部１０１は、バスマスタ２０とサブレジスタスライス４０１との、書き込みアドレスチャネルにおけるハンドシェークの成立を検出した場合に、信号のマスクを指示するレディマスク要求信号１０５をレディ回路１０３、１０４に出力する。
ここで、ＡＸＩバス規格においては、バスマスタ２０からの書き込みアドレス信号ＷＡ／ＣＤ１又は読み込みアドレス信号ＲＡ１の出力をトリガに一連の書き込み又は読み込みにおける処理が行われる。そのため、本実施の形態において、書き込みアクセスとは、バスマスタ２０とレジスタスライス４０とで書き込みアドレスチャネルにおけるハンドシェークが成立して、バスマスタ２０から有効な書き込みアドレス信号ＷＡ／ＣＤ１が伝播するときから、バスマスタ２０に対して有効な書き込み完了応答信号が出力されるまでの一連の処理を言う。つまり、レディマスク信号セット部１０１は、書き込みアクセスを開始するハンドシェークの成立を検出した場合に、レディマスク要求信号１０５をレディ回路１０３、１０４に出力する。なお、このハンドシェークの成立の検出は、書き込みアドレスＶａｌｉｄ信号ＷＡＶ３と、書き込みアドレスレディ信号ＷＡＲＹ３とに基づいて行う。
【００４３】
レディマスク信号リセット部１０２は、バススレーブ３０〜３２からのバスマスタ２０に対する有効な書き込み完了応答信号ＢＲ３が出力されたことを検出した場合に、信号のマスクの解除を指示するレディマスク解除信号１０６をレディ回路１０３、１０４に出力する。なお、有効な書き込み完了応答信号ＢＲ３の検出は、書き込み応答Ｖａｌｉｄ信号ＢＶ３に基づいて行う。
【００４４】
レディ回路１０３は、レディマスク信号セット部１０１からのレディマスク要求信号１０５の入力に応じて、書き込みアドレスＶａｌｉｄ信号ＷＡＶ１をマスクするとともに、書き込みアドレスレディ信号ＷＡＲＹ３を、書き込みアドレスレディ信号ＷＡＲＹ１をマスクする。また、レディ回路１０３は、レディマスク信号リセット部１０２からのレディマスク解除信号１０６の入力に応じて、書き込みアドレスＶａｌｉｄ信号ＷＡＶ１及び書き込みアドレスレディ信号ＷＡＲＹ３のマスクを解除する。レディ回路１０３は、マスクを解除した場合、書き込みアドレスＶａｌｉｄ信号ＷＡＶ１を書き込みアドレスＶａｌｉｄ信号ＷＡＶ３として出力し、書き込みアドレスレディ信号ＷＡＲＹ３を書き込みアドレスレディ信号ＷＡＲＹ１として出力する。
【００４５】
レディ回路１０４は、レディマスク信号セット部１０１からのレディマスク要求信号１０５の入力に応じて、読み込みアドレスＶａｌｉｄ信号ＲＡＶ１をマスクするとともに、読み込みアドレスレディ信号ＲＡＲＹ３をマスクする。また、レディ回路１０４は、レディマスク信号リセット部１０２からのレディマスク解除信号１０６の入力に応じて、読み込みアドレスＶａｌｉｄ信号ＲＡＶ１及び読み込みアドレスレディ信号ＲＡＲＹ３のマスクを解除する。レディ回路１０４は、マスクを解除した場合、読み込みアドレスＶａｌｉｄ信号ＲＡＶ１を読み込みアドレスＶａｌｉｄ信号ＲＡＶ３として出力し、読み込みアドレスレディ信号ＲＡＲＹ３を読み込みアドレスレディ信号ＷＡＲＹ１として出力する。
【００４６】
なお、信号生成部１００、レディマスク信号セット部１０１、レディマスク信号リセット部１０２、レディ回路１０３、１０４及びサブレジスタスライス４００、４０１、４０２、４０３、４０４は、クロック信号ＣＬＫが供給されて動作する。
【００４７】
続いて、図４〜６を参照して、本発明の実施の形態１にかかるバスシステム１の動作について説明する。
まず、図４を参照して、信号生成部１００の動作について説明する。図４は、本発明の実施の形態１にかかる信号生成部１００の動作タイミングチャートである。
【００４８】
まず、信号生成部１００は、書き込み完了応答バイパス状態(Ｓ５００)で、バスマスタ２０からアンキャッシュ属性の有効な書き込みアドレス信号ＷＡ／ＣＤ１が出力されると、書き込みデータ監視状態(Ｓ５０１)に遷移する。なお、書き込みがアンキャッシュ属性か否かは、信号生成部１００が、バスマスタ２０から出力された書き込みアドレス信号ＷＡ／ＣＤ１を参照することで判定する。また、書き込みアドレス信号ＷＡ／ＣＤ１が有効か否かは、信号生成部１００が、レディ回路１０３から出力された書き込みアドレスＶａｌｉｄ信号ＷＡＶ３を参照することで判定する。
【００４９】
信号生成部１００は、書き込みデータ監視状態(Ｓ５０１)に移行後のサイクル３で、バスマスタ２０から出力された最後の書き込みデータ信号ＷＤ／ＬＴ１の入力を受けると、次のサイクル４で、ダミーの書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を投機的にバスマスタ２０に出力する。ここで、本実施の形態における動作の説明において、このように、単にＶａｌｉｄ信号又はレディ信号を出力する、と言った場合は、有効"１"なＶａｌｉｄ信号又はレディ信号が出力されていることを意味する。なお、書き込みデータ信号ＷＤ／ＬＴ１が最後か否かは、信号生成部１００が、バスマスタ２０から出力された書き込みデータ信号ＷＤ／ＬＴ１を参照することで判定する。
【００５０】
また、信号生成部１００は、サイクル４で、サブレジスタスライス４０３から出力される書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３のマスクを開始する。
これにより、信号生成部１００は、サイクル１０で、バススレーブ３０〜３２からサブレジスタスライス４０３を介して出力された真正の書き込み完了応答信号ＢＲ３(図示せず)及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が入力されても、真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３をマスクして、バスマスタ２０には伝達しない。このように、サイクル４からサイクル１０まで、書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３をマスクすることで、有効な書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１が重複してバスマスタ２０に出力されないようにする。
【００５１】
また、信号生成部１００は、サイクル４で、バスマスタ２０から出力される書き込み完了応答レディ信号ＢＲＹ１(図示せず)のマスクを開始するとともに、ダミーの書き込み完了応答レディ信号ＢＲＹ３(図示せず)のサブレジスタスライス４０３への出力を開始する。このように、サイクル４からサイクル１０まで、書き込み完了応答レディ信号ＢＲＹ１のマスクし、ダミーの書き込み完了応答レディ信号ＢＲＹ３を出力する。これにより、サイクル１０で、真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が出力された場合に、サブレジスタスライス４０３にハンドシェークの成立を認識させることができる。
【００５２】
信号生成部１００は、サイクル１０で、真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が入力されると、以降はバスマスタ２０に対して真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が出力される可能性はないため、サイクル１１で、真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３のマスクを解除する。また、信号生成部１００は、サイクル１１で、書き込み完了応答レディ信号ＢＲＹ１のマスクを解除するとともに、ダミーの書き込み完了応答レディ信号ＢＲＹ３の出力を終了する。
【００５３】
次に、図６を参照して、書き込み応答制御部におけるＶａｌｉｄ信号及びレディ信号のマスク動作について説明する前に、図５を参照して、Ｖａｌｉｄ信号及びレディ信号のマスク動作が必要となるケースの一例について説明する。図５は、読み出しアクセスが書き込みアクセスの順番を逆転する場合における書き込み応答制御部の動作タイミングチャートである。
【００５４】
図５は、サイクル３で、信号生成部１００が書き込みデータ監視状態であり、バスマスタ２０から出力された最後の書き込みデータ信号ＷＤ／ＬＴ１の入力を受けた場合について示している。信号生成部１００は、サイクル４で、ダミーの書き込み完了応答信号ＢＲ１及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を投機的にバスマスタ２０に出力する。しかし、サイクル１０で、バススレーブ３０〜３２からの真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が入力されるまでの間は、バススレーブ３０〜３２におけるデータの書き込みの完了は保障されていない。
【００５５】
バスマスタ２０は、サイクル３で出力した最後の書き込みデータ信号ＷＤ／ＬＴ１(図示せず)に応じて信号生成部１００から出力されたダミーの書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３の入力を、サイクル４で受けているため、直ちに次の書き込み又は読み込みアクセスの準備を開始する。ここで、図５では、バスマスタ２０がサイクル３で出力した書き込みデータ信号ＷＤ／ＬＴ１によってデータが書き込まれるアドレスと同じアドレスからのデータの読み出しを、サイクル５で開始した場合について示している。
【００５６】
バスマスタ２０は、サイクル５で、読み出しアドレス信号ＲＡ１(図示せず)及び読み出しアドレスＶａｌｉｄ信号ＲＡＶ１をサブレジスタスライス４０４に対して出力している。また、サブレジスタスライス４０４は、サイクル５で、読み出しアドレスレディ信号ＲＡＲＹ３をバスマスタ２０に対して出力している。このときに、レディ回路１０４において、本実施の形態１における読み出しアドレスＶａｌｉｄ信号ＲＡＶ１及び読み出しアドレスレディ信号ＲＡＲＹ３のマスク動作を実行していない場合、ハンドシェークが成立し、読み出しアドレス信号ＲＡ１がレジスタスライス４０を介して、ＡＸＩバス接続網５０に伝播する。
【００５７】
しかし、ＡＸＩバス接続網５０の調停の状態によっては、書き込みアクセスよりも先に読み出しアクセスがバススレーブ３０〜３２に対して行われる場合がある。つまり、最後の書き込みデータ信号ＷＤ／ＬＴ１及び書き込みデータＶａｌｉｄ信号よりも先に読み出しアドレス信号ＲＡ１及び読み出しＶａｌｉｄ信号ＲＡＶ１がＡＸＩバス接続網５０からバススレーブ３０〜３２に出力される場合がある。
【００５８】
この場合、バスマスタ２０は、書き込んだデータが読み出されることが期待値であるが、読み出しアクセスが書き込みアクセスを追い越してしまい、書き込みが行われる前のデータが読み出されてしまう。そうすると、バスマスタ２０における処理に矛盾等が発生してしまい、バスシステム１の動作が破綻してしまう可能性がある。
【００５９】
そこで、本実施の形態１では、レディ回路１０３、１０４によって、Ｖａｌｉｄ信号及びレディ信号のマスクを行うことで、書き込みアクセスを開始するハンドシェークが成立した後、バススレーブ３０〜３２からの真正の書き込み完了応答信号ＢＲ３が出力されて、データの書き込みの完了が保障されるまでは、次のアクセスを開始するハンドシェークを禁止する。これにより、アクセス順番の逆転を発生させないようにする。
【００６０】
次に、図６を参照して、本発明の実施の形態１にかかる書き込み応答制御部１０におけるＶａｌｉｄ信号及びレディ信号のマスク動作について説明する。図６は、本発明の実施の形態１にかかる書き込み応答制御部におけるＶａｌｉｄ信号及びレディ信号のマスク動作タイミングチャートである。なお、図６は、バスシステム１が図４と同一の動作をした場合における書き込み応答制御部の動作タイミングチャートとなる。
【００６１】
図６のサイクル３で、バスマスタ２０から出力された書き込みアドレスＶａｌｉｄ信号ＷＡＶ１と、サブレジスタスライス４０１から出力された書き込みアドレスレディ信号ＷＡＲＹ３が双方ともに有効"１"となるので、ハンドシェークが成立し、書き込みアドレス信号ＷＡ／ＣＤ１がバスマスタ２０からサブレジスタスライス４０１へと伝達される。
このように、レディマスク信号セット部１０１は、書き込みアドレスＶａｌｉｄ信号ＷＡＶ１及び書き込みアドレスレディ信号ＷＡＲＹ３が有効"１"となった場合に、次のサイクル４で、レディマスク要求信号１０５を"１"にアサートして、レディ回路１０３、１０４に出力する。
【００６２】
レディ回路１０３、１０４は、サイクル４で、"１"にアサートされたレディマスク要求信号１０５がレディマスク信号セット部１０１から入力されると、レディ回路１０３、１０４のそれぞれの内部において、"１"にアサートしたレディマスク信号１０７を生成して出力する。
レディ回路１０３は、"１"にアサートされたレディマスク信号１０７が内部に出力されている間は、書き込みアドレスＶａｌｉｄ信号ＷＡＶ１及び書き込みアドレスレディ信号ＷＡＲＹ３を"０"にマスクする。つまり、レディ回路１０３は、レディマスク信号１０７が内部に出力されている間は、無効"０"にした書き込みアドレスＶａｌｉｄ信号ＷＡＶ３及び書き込みアドレスレディ信号ＷＡＲＹ１を出力する。
【００６３】
レディ回路１０４は、レディマスク信号１０７が内部に出力されている間は、読み出しアドレスＶａｌｉｄ信号ＲＡＶ１及び読み出しアドレスレディ信号ＲＡＲＹ３を"０"にマスクする。つまり、レディ回路１０３は、レディマスク信号１０７が内部に出力されている間は、無効"０"にした読み出しアドレスＶａｌｉｄ信号ＲＡＶ３及び読み出しアドレスレディ信号ＲＡＲＹ１を出力する。
【００６４】
サイクル５で、バスマスタ２０が読み出しアドレスＶａｌｉｄ信号ＲＡＶ１を"１"にアサートするが、バスマスタ２０に入力される読み出しアドレスレディ信号ＲＡＲＹ１は、無効"０"にされている。そのため、バスマスタ２０は、サブレジスタスライス４０４とのハンドシェークは成立していないと判定する。また、同様に、サブレジスタスライス４０４が読み出しアドレスレディ信号ＲＡＲＹ３を有効"１"にしていても、サブレジスタスライス４０４に入力される読み出しアドレスＶａｌｉｄ信号ＲＡＶ３は、無効"０"にされている。そのため、サブレジスタスライス４０４は、バスマスタ２０とのハンドシェークは成立していないと判定する。
このようにして、バスマスタ２０からのバススレーブ３０〜３２への読み出しアクセスは、レディ回路１０４によって、レジスタスライス４０の手前の書き込み応答制御部１０でマスクされる。
【００６５】
サイクル１０で、信号生成部１００に有効"１"な書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が入力されるので、バススレーブ３０〜３２におけるデータの書き込みの完了は保障されたこととなる。そのため、レディマスク信号リセット部１０２は、サイクル１０で、有効"１"となった書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が入力されると、レディマスク解除信号１０６を"１"にアサートして、レディ回路１０３、１０４に出力する。
【００６６】
レディ回路１０３、１０４は、サイクル１０で、"１"にアサートされたレディマスク解除信号１０６が入力されると、レディ回路１０３、１０４のそれぞれの内部において、レディマスク信号１０７を"０"にディアサートする。
レディ回路１０３は、サイクル１１で、"０"にディアサートされたレディマスク信号１０７が内部に出力されると、書き込みアドレスＶａｌｉｄ信号ＷＡＶ１及び書き込みアドレスレディ信号ＷＡＲＹ３のマスクを解除する。これにより、レディ回路１０３は、バスマスタ２０から入力された書き込みアドレスＶａｌｉｄ信号ＷＡＶ１を書き込みアドレスＶａｌｉｄ信号ＷＡＶ３として出力する。また、レディ回路１０３は、サブレジスタスライス４０１から入力された書き込みアドレスレディ信号ＷＡＲＹ３を書き込みアドレスレディ信号ＷＡＲＹ１として出力する。
【００６７】
レディ回路１０４は、"０"にディアサートされたレディマスク信号１０７が内部に出力されると、サイクル１１で、読み込みアドレスＶａｌｉｄ信号ＲＡＶ１及び読み込みアドレスレディ信号ＲＡＲＹ３のマスクを解除する。これにより、レディ回路１０４は、バスマスタ２０から入力された読み込みアドレスＶａｌｉｄ信号ＲＡＶ１を読み込みアドレスＶａｌｉｄ信号ＲＡＶ３として出力する。また、レディ回路１０４は、サブレジスタスライス４０４から入力された読み込みアドレスレディ信号ＲＡＲＹ３を読み込みアドレスレディ信号ＲＡＲＹ１として出力する。
【００６８】
これにより、サイクル１１で、読み出しアドレスＶａｌｉｄ信号ＲＡＶ３と読み出しアドレスレディ信号ＲＡＲＹ１とがともに有効"１"となるため、バスマスタ２０とレジスタスライス４０とのハンドシェークが成立し、バススレーブ３０〜３２に対する読み出しアクセスの実行が開始される。
【００６９】
ここで、サイクル１０で、サブレジスタスライス４０３から出力される書き込み完了応答Ｖａｌｉｄ信号ＢＶ３は、バススレーブ３０〜３２における書き込みの完了結果を通知する書き込み完了応答信号ＢＲ１が有効に出力されている旨を示す。よって、サイクル１０では、バススレーブ３０〜３２において書き込みの完了が保障されていることになる。そのため、サイクル１０までレディ回路１０３、１０４において信号のマスクを行い、サイクル１１以降で、書き込み又は読み出しアクセスが行われるようにすることで、アクセス順序の逆転を発生させないようにして、アクセス順序を守ることができる。
【００７０】
続いて、上述した本実施の形態１におけるバスシステムにおけるデータ転送性能について、式を用いて説明する。なお、Ｘ１は、レジスタスライスの段数を示し、Ｙ１は、バスマスタが書き込み完了応答信号を取得してから次のアクセスの準備ができるサイクル数を示す。Ｚ１及びＺ２は、書き込みアクセス後に、連続して書き込み又は読み込みアクセスを行う(以下、「連続アクセス」とする)場合に、次のアクセスが開始されるまでに発生するレーテンシを示す。
まず、式(１)として説明した背景技術にかかるレーテンシＺ１(サイクル)は、式(２)で示される。
【００７１】
Ｚ１＝Ｘ１×２＋Ｙ１・・・(２)
【００７２】
背景技術では、連続アクセスにおけるレーテンシＺ１は、レジスタスライスの段数Ｘ１とバスマスタにおけるアクセス準備によるレーテンシＹ１の和となる。レジスタスライスの段数Ｘ１が２倍されているのは、上述したように、レジスタスライスを１段挿入する毎に、書き込みデータチャネルに出力される信号において発生する１サイクルの遅延と、書き込み応答チャネルに出力される信号において発生する１サイクルの遅延の合計２サイクル分の遅延が発生するからである。なお、Ｙ１は、バスマスタの論理段数や動作周波数に依存する。
【００７３】
次に、本実施の形態１にかかるレーテンシＺ２(サイクル)は、Ｘ１×２＞＝Ｙ１の場合、式(３)で示される。
【００７４】
Ｚ２＝Ｘ１×２・・・(３)
【００７５】
このように、Ｘ１×２＞＝Ｙ１の場合、レーテンシＺ２は、レジスタスライスにおいて発生するレーテンシ"Ｘ１×２"のみとなる。
その理由について具体例を挙げて説明すると、例えば、図４及び図６では、サイクル３で最後の書き込みデータ信号ＷＤ／ＬＴ１を出力しているが、レジスタスライスの段数が３であるため、"Ｘ１×２"は"３×２＝６"となり、レジスタスライスがなければサイクル４で返ってくる真正の書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が６サイクル遅延して、サイクル１０で返ってくる。よって、サイクル１１で、レディ回路１０３、１０４におけるマスクが解除されて、次のアクセスが可能となる。
【００７６】
ここで、Ｙ１が６の場合、つまり、Ｘ１×２＝Ｙの場合、サイクル４で、ダミーの書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を受けてから、次のアクセスの準備に、サイクル５〜１０までの６サイクルかかる。よって、バスマスタ２０は、サイクル１１で、次のアクセスが可能となる。この場合、サイクル１１で、レディ回路１０３、１０４におけるマスクは解除されているため、実際に次のアクセスが行われる。
【００７７】
また、Ｙ１が５の場合、つまり、Ｘ１×２＞Ｙの場合、サイクル４で、ダミーの書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を受けてから、サイクル５〜９までの５サイクルの次のアクセスに準備がかかる。よって、バスマスタ２０は、サイクル１０で、次のアクセスが可能となる。しかし、サイクル１０では、レディ回路１０３、１０４におけるマスクが解除されていないため、結局、マスクが解除されるサイクル１１で次のアクセスが行われる。
つまり、Ｘ１×２＞＝Ｙ１の場合は、"３×２＝６"サイクル遅延した、サイクル１１で、次のアクセスが行われる。そのため、レーテンシＺ２は、"Ｘ１×２"のみとなる。
【００７８】
ここで、例として、背景技術の場合と本実施の形態１のそれぞれの場合において、Ｘ１＝３、Ｙ１＝５としたバスシステムでの連続アクセスにおけるレーテンシを比較する。
背景技術における連続アクセスのレーテンシは、式(２)より、Ｚ１＝３×２＋５＝１１サイクルとなる。
次に、本実施の形態１における連続アクセスのレーテンシは、式(３)より、Ｚ２＝３×２＝６となる。よって、本実施の形態１によれば、背景技術に比べて、データ転送性能を５サイクル分向上する。
【００７９】
また、本実施の形態１にかかるレーテンシＺ２(サイクル)は、Ｘ１×２＜Ｙ１の場合、式(４)で示される。
【００８０】
Ｚ２＝Ｙ１・・・（４）
【００８１】
このように、Ｘ１×２＜Ｙ１の場合、レーテンシＺ２は、バスマスタにおけるアクセス準備によるレーテンシ"Ｙ１"のみとなる。
その理由について具体例を挙げて説明すると、例えば、図４及び図６では、サイクル３で最後の書き込みデータ信号ＷＤ／ＬＴ１を出力しているが、レジスタスライスの段数が３であるため、"Ｘ１×２"は"３×２＝６"となり、レジスタスライスがなければサイクル４で返ってくる真正の書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が６サイクル遅延して、サイクル１０で返ってくる。よって、サイクル１１で、レディ回路１０３、１０４におけるマスクが解除されて、次のアクセスが可能となる。
【００８２】
ここで、Ｙ１が７の場合、つまり、Ｘ１×２＜Ｙの場合、サイクル４で、ダミーの書き込み完了応答Ｖａｌｉｄ信号ＢＶ１を受けてから、次のアクセスの準備に、サイクル５〜１１までの７サイクルかかる。よって、バスマスタは、サイクル１２で、次のアクセスが可能となる。この場合、レディ回路１０３、１０４におけるマスクはサイクル１１で既に解除されているが、バスマスタ２０における次のアクセス準備ができるのがサイクル１２であるため、サイクル１２で、実際に次のアクセスが行われる。よって、Ｘ１×２＜Ｙ１の場合、レーテンシＺ２は、"Ｙ１"のみとなる。
【００８３】
ここで、例として、背景技術と本実施の形態１のそれぞれの場合において、Ｘ１＝３、Ｙ１＝８としたバスシステムでの連続サクセスにおけるレーテンシを比較する。
背景技術における連続アクセスのレーテンシは、式(２)より、Ｚ１＝３×２＋８＝１４サイクルとなる。
次に、本実施の形態１における連続アクセスのレーテンシは、式(４)より、Ｚ２＝８サイクルとなる。よって、本実施の形態１によれば、背景技術に比べて、データ転送性能を６サイクル分向上する。
【００８４】
式(２)〜式(４)を用いて説明したように、本実施の形態１によれば、レジスタスライスの段数が増加したとしても、レーテンシの悪化を最低限に抑えることができる。そのため、バスマスタからの連続アクセスにおけるレーテンシを向上させて、ＳｏＣの動作周波数にあったアクセスが可能となる。
【００８５】
以上に説明したように、本実施の形態１によれば、バスマスタから書き込みデータ信号が出力された場合に、投機的にダミーの書き込み応答信号をバスマスタに出力するようにしている。これにより、バスマスタにおいて、真正の書き込み応答信号を受ける前に、ダミーの書き込み応答信号の入力に応じて、次のアクセスの準備を開始することができるため、バススレーブにおける書き込みと、バスマスタにおける次のアクセスの準備を並列に処理することができる。そのため、書き込みアクセス後に、連続して書き込み又は読み込みアクセスを行う場合におけるレーテンシを向上させることができる。つまり、書き込みアクセスを行った場合において、データ転送性能を向上することができる。
【００８６】
本発明の実施の形態２．
図７を参照して、本発明の実施の形態２にかかるバスシステム２の構成について説明する。図７は、本発明の実施の形態２にかかるバスシステム２の構成図である。
【００８７】
本実施の形態２にかかるバスシステム２は、書き込み応答制御部１０に換わり、書き込み応答制御部１１を有する点が、実施の形態１のバスシステム１と異なる。また、本実施の形態２にかかるバスシステム２は、さらにＣＰＵ６０を有する点が、実施の形態１のバスシステム１と異なる。なお、図７は、バスマスタ２１、２２と、バススレーブ３１、３２の図示を省略している。
【００８８】
書き込み応答制御部１１は、エラーを検出した旨を通知する割り込み通知信号であるエラー通知信号１１３をＣＰＵ６０に出力する。また、書き込み応答制御部１１は、ＡＸＩバス接続網５０を介して、ＩＤ／アドレス情報を含むＩＤ／アドレス情報信号１１４をＣＰＵ６０に出力する。
ＣＰＵ６０は、書き込み応答制御部１１から出力されたエラー通知信号１１３の入力に応じて、ＡＸＩバス接続網５０を介して、ＩＤ／アドレス情報を要求するデータ出力要求信号１１５を書き込み応答制御部１１に出力する。
【００８９】
続いて、図８を参照して、本発明の実施の形態２にかかる書き込み応答制御部１１の構成について説明する。図８は、本発明の実施の形態２にかかる書き込み応答制御部１１の構成図である。
【００９０】
本実施の形態２にかかる書き込み応答制御部１１は、信号生成部１００に換わり、ｂｒｅｓｐ信号／エラー通知生成部１１０を有する点が、実施の形態１にかかる書き込み応答制御部１０と異なる。また、本実施の形態２にかかる書き込み応答制御部は、さらにＩＤ／アドレス保存部１１１を有する点が、実施の形態１にかかる書き込み応答制御部１０と異なる。なお、実施の形態１と同様の構成要素１０１、１０２、１０３、１０４については説明を省略する。
【００９１】
ｂｒｅｓｐ信号／エラー通知生成部１１０は、バスマスタ２０から出力された書き込みデータ信号の終了を検出した場合に、ダミーの書き込み応答信号をバスマスタ２０に出力する。また、ｂｒｅｓｐ信号／エラー通知生成部１１０は、真正の書き込み応答信号がエラーを示している場合に、ＣＰＵ６０にその旨を通知する。
【００９２】
ＩＤ／アドレス保存部１１１は、書き込みアクセスを開始するハンドシェークが成立した場合に、書き込みアドレス信号ＷＡ／ＣＤ１に含まれるデータを保存する。また、ＩＤ／アドレス保存部１１１は、真正の書き込み応答信号がエラーを示している場合に、保存したデータをＣＰＵ６０に出力する。ＩＤ／アドレス保存部１１１は、例えば、メモリやレジスタ等の記憶装置を含む。
また、ｂｒｅｓｐ信号／エラー通知生成部１１０及びＩＤ／アドレス保存部１１１は、クロック信号ＣＬＫが供給されて動作する。
【００９３】
続いて、図９を参照して、本発明の実施の形態２にかかるバスシステム２の動作について説明する。図９は、本発明の実施の形態２にかかるｂｒｅｓｐ信号／エラー通知生成部の動作タイミングチャートである。なお、図９は、実施の形態１の図４及び図６と同様の動作をした場合において、真正の書き込み完了応答信号ＢＲ３がエラーを示していたときにおける書き込み応答制御部の動作タイミングチャートとなる。したがって、実施の形態１と同様の動作については説明を省略する。
【００９４】
ｂｒｅｓｐ／エラー通知生成部１１０は、サイクル３で、書き込みアドレスＶａｌｉｄ信号ＷＡＶ３と書き込みアドレスレディ信号ＷＡＲＹ３が有効"１"となると、書き込みアドレス信号ＷＡ／ＣＤ１に含まれるデータであるＩＤ／アドレス情報を含むＩＤ／アドレス保存情報信号１１２をＩＤ／アドレス保存部１１１に出力する。ここで、サイクル３では、レディ回路１０３によるマスクは行われていないため、書き込みアドレスＶａｌｉｄ信号ＷＡＶ３及び書き込みアドレスレディ信号ＷＡＲＹ３の値は、図９の書き込みアドレスＶａｌｉｄ信号ＷＡＶ１及び書き込みアドレスレディ信号ＷＡＲＹ１の値と同様である。また、ＩＤ／アドレス情報とは、より具体的には、データの書き込みを行うアドレスや、ＡＸＩバス規格で定められているアクセスのＩＤ等の情報である。
ＩＤ／アドレス保存部１１１は、サイクル４で、ｂｒｅｓｐ／エラー通知生成部１１０から入力されたＩＤアドレス保存情報信号１１２に含まれるＩＤ／アドレス情報を格納する。
【００９５】
ｂｒｅｓｐ／エラー通知生成部１１０は、サイクル１０で、サブレジスタスライス４０３から真正の書き込み完了応答信号ＢＲ３及び書き込み完了応答Ｖａｌｉｄ信号ＢＶ３が入力される。ここで、バススレーブ３０〜３２は、データの書き込みができないエラーを検出した場合、書き込み完了応答信号にその旨を示すエラー情報を含めて出力する。バススレーブ３０〜３２は、例えば、バスマスタ２０が書き込みアドレス信号ＷＡ／ＣＤ１において、バススレーブ３０〜３２がアクセスすることができないアドレスを指定した場合等に、エラーを検出する。
【００９６】
ｂｒｅｓｐ／エラー通知生成部１１０は、サイクル１０で、サブレジスタスライス４０３から入力された書き込み完了応答信号ＢＲ３にエラー情報が含まれていた場合、サイクル１１で、エラー通知信号１１３をＣＰＵ６０に出力する。これにより、ＣＰＵ６０がエラーの発生を検出することができる。
【００９７】
ＣＰＵ６０は、エラー通知信号１１３が入力されると、サイクル１３で、データ出力要求信号１１５をＩＤ／アドレス保存部１１１に出力する。
ＩＤ／アドレス保存部１１１は、データ出力要求信号が入力されると、サイクル１４で、サイクル４で格納したＩＤ／アドレス情報を含めたＩＤ／アドレス情報信号１１４をＣＰＵ６０に出力する。
これにより、ＣＰＵ６０は、エラー検出時のＩＤ／アドレス情報を取得することができる。このように、エラーが発生した書き込みアクセスにおけるＩＤ／アドレス情報によって、エラー原因の解析を容易にする等することができる。
【００９８】
以上に説明したように、本実施の形態２によれば、真正の書き込み完了応答信号ＢＲ３がエラーの検出を示している場合に、その旨をＣＰＵ６０等の外部資源に対して出力するようにしている。そのため、書き込みアクセスにおけるエラーを正しく認識して、処理を行うことが可能となる。
【００９９】
また、本実施の形態２によれば、書き込みアクセスを開始するハンドシェークが成立した場合に、バスマスタ２０からレジスタスライス４０有効に伝播するに含まれるデータを格納し、書き込みアクセスにおけるエラーを検出した場合に、ＣＰＵ６０等の外部資源から、格納したデータを取得するようにしている。そのため、エラーが発生した書き込みアクセスおける情報の格納及び取得をすることができる。
【０１００】
なお、本発明は上述した実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本実施の形態では、レジスタスライスが３段の場合について例示したが、レジスタスライスの数はこれに限られない。
【符号の説明】
【０１０１】
バスシステム    １、２
書き込み応答制御部    １０
バスマスタ    ２０、２１、２２
バススレーブ    ３０、３１、３２
レジスタスライス    ４０、４１、４２
ＡＸＩバス接続網    ５０
信号生成部    １００
レディマスク信号セット部    １０１
レディマスク信号リセット部    １０２
レディ回路    １０３、１０４
レディマスク要求信号    １０５
レディマスク解除信号    １０６
レディマスク信号    １０７
ＣＰＵ    ６０
ｂｒｅｓｐ信号／エラー通知生成部    １１０
ＩＤ／アドレス保存部    １１１
ＩＤ／アドレス保存情報信号    １１２
エラー通知信号    １１３
ＩＤ／アドレス情報信号    １１４
データ出力要求信号    １１５
サブレジスタスライス    ４００、４０１、４０２、４０３、４０４
ＣＬＫ クロック信号
書き込みアドレス信号    ＷＡ／ＣＤ１、ＷＡ／ＣＤ２
書き込みアドレスＶａｌｉｄ信号  ＷＡＶ１、ＷＡＶ２、ＷＡＶ３
書き込みアドレスレディ信号    ＷＡＲＹ１、ＷＡＲＹ２、ＷＡＲＹ３
書き込みデータ信号    ＷＤ／ＬＴ１、ＷＤ／ＬＴ２
書き込みデータＶａｌｉｄ信号    ＷＤＶ１、ＷＤＶ２
書き込みデータレディ信号    ＷＤＲＹ１、ＷＤＲＹ２
書き込み完了応答信号    ＢＲ１、ＢＲ２、ＢＲ３
書き込み完了応答Ｖａｌｉｄ信号    ＢＶ１、ＢＶ２、ＢＶ３
書き込み完了応答レディ信号    ＢＲＹ１、ＢＲＹ２、ＢＲＹ１
読み出しアドレス信号    ＲＡ１、ＲＡ２
読み出しアドレスＶａｌｉｄ信号    ＲＡＶ１、ＲＡＶ２、ＲＡＶ３
読み出しアドレスレディ信号    ＲＡＲＹ１、ＲＡＲＹ２、ＲＡＲＹ３
読み出しデータ信号    ＲＤ１、ＲＤ２
読み出しデータＶａｌｉｄ信号    ＲＤＶ１、ＲＤＶ２
読み出しデータレディ信号    ＲＤＲＹ１、ＲＤＲＹ２
【図１】
2011095978.tif 000003
【図２】
2011095978.tif 000004
【図３】
2011095978.tif 000005
【図４】
2011095978.tif 000006
【図５】
2011095978.tif 000007
【図６】
2011095978.tif 000008
【図７】
2011095978.tif 000009
【図８】
2011095978.tif 000010
【図９】
2011095978.tif 000011