(57)【特許請求の範囲】
【請求項１】
多数のマスタのうちから第１マスタを選択してデータを第１プロトコルのバスに伝送するバス仲裁装置を含み、前記バス仲裁装置には多数のマスタのうちの前記第１マスタから読み出し命令が入力され、前記読み出し命令に対する応答が入力される前に、バス許可信号を多数のマスタのうちの第２マスタに伝達し、
前記バス仲裁装置は、前記多数のマスタの読み出し命令順に選択されるマスタを決定するよう構成され、
前記選択されたマスタは、読み出し命令に対する応答を受信することを特徴とするバスシステム。
【請求項２】
前記多数のマスタのうち所定のマスタの前記第１プロトコルがオープンコアプロトコルであり、前記多数のマスタのうち所定のマスタ以外のマスタの第２プロトコルがオープンコアプロトコルではない場合に、前記所定のマスタ以外のマスタに関連した前記第２プロトコルを前記第１プロトコルに変換するプロトコル変換器をさらに含むことを特徴とする請求項１に記載のバスシステム。
【請求項３】
前記プロトコル変換器は前記バスと前記バス仲裁装置との間に連結されることを特徴とする請求項２に記載のバスシステム。
【請求項４】
前記読み出し命令が前記バス仲裁装置から前記バスに送られた後に、前記バス仲裁装置はバスプロトコルを前記多数のマスタのうちの前記第２マスタに伝送することを特徴とする請求項１に記載のバスシステム。
【請求項５】
前記読み出し命令に対する応答が前記バス仲裁装置から受信されるときに、前記バス仲裁装置は前記バス許可信号を前記多数のマスタのうちの前記第１マスタに伝送することを特徴とする請求項４に記載のバスシステム。
【請求項６】
書き込み動作の間に書き込み命令と書き込みデータとが前記バス仲裁装置を介して前記バスに伝送されるまで、前記多数のマスタのうちの前記第１マスタが前記バス許可信号を有することを特徴とする請求項１に記載のバスシステム。
【請求項７】
前記バス仲裁装置は前記多数のマスタのうちの前記第１マスタからの少なくとも一つの読み出し命令に連関した読み出し情報を貯蔵することを特徴とする請求項１に記載のバスシステム。
【請求項８】
前記読み出し情報は少なくとも一つの読み出し情報と前記読み出し命令に応答して受信された読み出し情報のバーストサイズを含むことを特徴とする請求項７に記載のバスシステム。
【請求項９】
前記バス仲裁装置は、
前記マスタのうちの前記第２マスタからの前記バス許可信号に応答して前記マスタのうちの前記第２マスタに前記バス許可信号を許容し、前記バス許可信号が許容された前記マスタのうちの前記第２マスタのためのバス占有信号を生成する仲裁部と、
前記バス占有信号に応答して前記マスタのうちの前記第２マスタを前記バスに連結するマルチプレクサと、
前記読み出し情報を前記マスタのうちの前記第２マスタに伝送するデマルチプレクサとを含むことを特徴とする請求項１に記載のバスシステム。
【請求項１０】
前記仲裁部は、
前記マスタのうちの前記第２マスタからのバス占有要請に応答して前記マスタのうちの前記第２マスタに前記バス許可信号を許容し、前記バス占有信号を発生する第１仲裁回路と、
前記バス占有信号に応答して読み出し動作のとき、読み出し情報を貯蔵し、伝送パス情報を前記デマルチプレクサに印加し、前記読み出し情報がバスから受信されれば、前記読み出し情報を前記マスタのうちの前記第２マスタに伝送するように許容する第２仲裁回路とを含むことを特徴とする請求項９に記載のバスシステム。
【請求項１１】
前記読み出し情報は少なくとも前記第２マスタの一つの固有ＩＤと前記読み出し命令に応答して受信された前記読み出し情報のバーストサイズとを含むことを特徴とする請求項１０に記載のバスシステム。
【請求項１２】
前記伝送パス情報は前記読み出し情報に基づくことを特徴とする請求項１０に記載のバスシステム。
【請求項１３】
前記仲裁部は、
前記読み出し情報を貯蔵し、前記伝送パス情報信号を出力する読み出し情報貯蔵部と、
第１コントロール信号を前記読み出し情報貯蔵部に印加して、前記読み出し情報を前記読み出し情報貯蔵部に貯蔵し、第２コントロール信号を前記読み出し情報貯蔵部に印加して前記読み出し情報貯蔵部に貯蔵された前記読み出し情報を削除する第２仲裁回路とを含むことを特徴とする請求項１０に記載のバスシステム。
【請求項１４】
読み出し情報貯蔵部は、先入れ先出し（ＦＩＦＯ）メモリであることを特徴とする請求項１３に記載のバスシステム。
【請求項１５】
前記第２仲裁回路は有限状態マシンであることを特徴とする請求項１３に記載のバスシステム。
【請求項１６】
前記第１仲裁回路は有限状態マシンであることを特徴とする請求項１０に記載のバスシステム。
【請求項１７】
前記多数のマスタのうちの少なくとも一つはＡＭＢＡプロトコルを基盤としたＩＰコアであることを特徴とする請求項１に記載のバスシステム。
【請求項１８】
オープンコアプロトコルを基盤とするバスと、
ＡＭＢＡプロトコルを基盤とする多数のマスタと、
前記多数のマスタの間のバス許可信号を伝達するバス仲裁装置と、
前記オープンコアプロトコルおよび前記ＡＭＢＡプロトコルの間のデータを変換するプロトコル変換器とを含み、
前記バス仲裁装置は、
多数のマスタのうちから第１マスタを選択してデータを第１プロトコルのバスに伝送し、前記バス仲裁装置には多数のマスタのうちの前記第１マスタから読み出し命令が入力され、前記読み出し命令に対する応答が入力される前に、前記バス許可信号を多数のマスタのうちの第２マスタに伝達し、前記多数のマスタの読み出し命令順に選択されるマスタを決定するよう構成され、
前記選択されたマスタは、読み出し命令に対する応答を受信することを特徴とするバスシステム。
【請求項１９】
読み出し動作の間、前記バス仲裁装置は前記マスタのうちの少なくとも一つに連関した読み出し情報を貯蔵することを特徴とする請求項１８に記載のバスシステム。
【請求項２０】
前記マスタのうちの一つは読み出し命令と書き込みデータが書き込み動作の間に受信される時まで前記バス許可信号を維持することを特徴とする請求項１８に記載のバスシステム。
【請求項２１】
前記マスタのうちの一つは読み出し動作の間に読み出し命令が受信される時まで前記バス許可信号を維持することを特徴とする請求項１８に記載のバスシステム。
【請求項２２】
前記仲裁装置は、
前記マスタからのバス占有要請に応答して前記マスタのうちの一つにバス占有を許容し、現在バス占有が許容されたマスタのバス占有情報を生成するアービタと、
前記バス占有情報に従って前記バス占有が許容されたマスタからのデータを前記バスに伝達するマルチプレクサと、
前記バス占有情報に応答して前記バス占有が許容されたマスタが読み出し動作のとき、前記読み出し情報を貯蔵し、外部から読み出しデータが入力されれば、前記貯蔵された読み出し情報を検索して該当のマスタに前記読み出しデータの伝送を制御する読み出しデータ処理器とを含むことを特徴とする請求項１８に記載のバスシステム。
【請求項２３】
前記読み出しデータ処理器は、
前記読み出し情報を貯蔵し、伝送パス情報を生成する読み出し情報貯蔵部と、
第１制御信号を前記読み出し情報貯蔵部に印加して前記読み出し情報を前記読み出し情報貯蔵部に貯蔵し、第２制御信号を前記読み出し情報貯蔵部に印加して前記読み出し情報貯蔵部に貯蔵された読み出し情報を除去する仲裁回路と、
前記マスタのうちの一つに情報を伝達するデマルチプレクサとを含むことを特徴とする請求項２２に記載のバスシステム。
【請求項２４】
前記読み出し情報貯蔵部は先入れ先出しメモリであることを特徴とする請求項２３に記載のバスシステム。
【請求項２５】
前記仲裁回路は有限状態マシンであることを特徴とする請求項２３に記載のバスシステム。
【請求項２６】
前記アービタは有限状態マシンであることを特徴とする請求項２２に記載のバスシステム。
【請求項２７】
バス要請に応答して複数のマスタのうちの一つにバス許可信号を許容し、前記マスタのうちの一つのバス許可信号を示すバス占有情報信号を発生し、バスからの読み出し情報を前記マスタのうちの一つに伝達するバス仲裁装置と、
前記バス占有情報信号に応答して前記マスタのうちの一つを前記バスに連結するマルチプレクサと、
前記読み出し情報データを前記マスタのうちの一つに伝送するデマルチプレクサとを含み、
前記バス仲裁装置は、多数のマスタのうちから第１マスタを選択してデータを第１プロトコルのバスに伝送し、前記バス仲裁装置には多数のマスタのうちの前記第１マスタから読み出し命令が入力され、前記読み出し命令に対する応答が入力される前に、前記バス許可信号を多数のマスタのうちの第２マスタに伝達し、前記複数のマスタの読み出し命令順に選択されるマスタを決定するよう構成され、
前記選択されたマスタは、読み出し命令に対する応答を受信することを特徴とするバスシステム。
【請求項２８】
前記バス仲裁装置は読み出し動作のとき、前記マスタのうちの一つと連関した読み出し情報を順次に貯蔵することを特徴とする請求項２７に記載のバスシステム。
【請求項２９】
前記読み出し情報は選択的なマスタの固有ＩＤと前記選択的なマスタによって読み出された読み出し情報のバーストサイズとを含むことを特徴とする請求項２８に記載のバスシステム。
【請求項３０】
バス仲裁装置は、
前記マスタのうちの一つからの前記バス許可信号要請に応答して前記マスタのうちの一つに前記バス許可信号を許容し、前記マスタのうちの一つのためのバス占有情報信号を発生するアービタと、
前記バス占有情報信号に応答して読み出し動作のとき、読み出し情報を貯蔵し、伝送パス情報信号を前記デマルチプレクサに印加して前記読み出し情報を前記多数のマスタのうちの一つに伝送する読み出しデータ処理器とを含むことを特徴とする請求項２７に記載のバスシステム。
【請求項３１】
前記読み出しデータ処理器は、
読み出し情報を貯蔵し、前記伝送パス情報信号を発生する読み出し情報貯蔵部と、
前記読み出し情報を前記読み出し貯蔵部に貯蔵し、貯蔵された読み出し情報の一部が前記マスタのうちの一つに出力されるとき、前記貯蔵された読み出し情報の一部を除去する仲裁回路とを含むことを特徴とする請求項３０に記載のバスシステム。
【請求項３２】
前記読み出し情報貯蔵部は先入れ先出しメモリであることを特徴とする請求項３１に記載のバスシステム。
【請求項３３】
前記仲裁回路は有限状態マシンであることを特徴とする請求項３１に記載のバスシステム。
【請求項３４】
前記アービタは有限状態マシンであることを特徴とする請求項３０に記載のバスシステム。
【請求項３５】
オープンコアプロトコルに従って多数のマスタのためバス占有を仲裁する方法において、
前記多数のマスタのうちの一つのバス占有を要請する段階と、
前記多数のマスタのうちの一つのバス占有を仲裁する段階と、
前記多数のマスタのうちの一つがバスを介して第１動作を実行する段階と、
前記多数のマスタのうちの他の一つがバス許可信号を伝送する段階とを含み、
バス仲裁装置は、多数のマスタのうちから第１マスタを選択してデータを第１プロトコルのバスに伝送し、前記バス仲裁装置には多数のマスタのうちの前記第１マスタから読み出し命令が入力され、前記読み出し命令に対する応答が入力される前に、前記バス許可信号を多数のマスタのうちの第２マスタに伝達し、前記多数のマスタの読み出し命令順に選択されるマスタを決定するよう構成され、
前記選択されたマスタは、読み出し命令に対する応答を受信することを特徴とするバス占有仲裁方法。
【請求項３６】
前記第１動作は書き込み命令または読み出し命令のうちの少なくとも一つであることを特徴とする請求項３５に記載のバス占有仲裁方法。
【請求項３７】
前記多数のマスタによって使用されるプロトコルと前記オープンコアプロトコルとを変換する段階をさらに含むことを特徴とする請求項３５に記載のバス占有仲裁方法。
【請求項３８】
前記プロトコルはＡＭＢＡプロトコルであることを特徴とする請求項３５に記載のバス占有仲裁方法。
【請求項３９】
前記マスタのうちの一つは読み出し命令と読み出しデータが書き込み動作のとき、前記バスに送られる時までバス占有を維持することを特徴とする請求項３５に記載のバス占有仲裁方法。
【請求項４０】
バス許可信号を有するマスタからの読み出し命令を送る段階と、
読み出し命令に対する応答を受信し、バス仲裁装置に前記応答を貯蔵する段階と、
前記マスタに対する応答を送り、前記マスタは前記読み出し命令を送り、前記応答を受ける間の与えられた区間の間バス占有許可信号を有しない段階とを含み、
前記バス仲裁装置は、多数のマスタのうちから第１マスタを選択してデータを第１プロトコルのバスに伝送し、前記バス仲裁装置には多数のマスタのうちの前記第１マスタから読み出し命令が入力され、前記読み出し命令に対する応答が入力される前に、前記バス許可信号を多数のマスタのうちの第２マスタに伝達し、多数のマスタの読み出し命令順に選択されるマスタを決定するよう構成され、
前記選択されたマスタは、読み出し命令に対する応答を受信することを特徴とするバス占有仲裁方法。
【請求項４１】
バス許可信号を有したマスタからの読み出し命令を送る段階と、
前記バス許可信号を第２マスタに伝送する段階と、
前記読み出し命令に対する応答を受ける段階と、
第１マスタに対する応答を送る段階とを含み、
バス仲裁装置は、多数のマスタのうちから第１マスタを選択してデータを第１プロトコルのバスに伝送し、前記バス仲裁装置には多数のマスタのうちの前記第１マスタから読み出し命令が入力され、前記読み出し命令に対する応答が入力される前に、前記バス許可信号を多数のマスタのうちの第２マスタに伝達し、多数のマスタの読み出し命令順に選択されるマスタを決定するよう構成され、
前記選択されたマスタは、読み出し命令に対する応答を受信することを特徴とするデータ伝送方法。
【請求項４２】
与えられた時間に多数のマスタのうちの一つにバス許可信号を割り当て、前記マスタのうちの一つが読み出し命令を送れば、バス仲裁装置は読み出し命令に対する応答を待たず、前記バス許可信号を伝送し、
前記バス仲裁装置は、多数のマスタのうちから第１マスタを選択してデータを第１プロトコルのバスに伝送し、前記バス仲裁装置には多数のマスタのうちの前記第１マスタから読み出し命令が入力され、前記読み出し命令に対する応答が入力される前に、前記バス許可信号を多数のマスタのうちの第２マスタに伝達し、前記多数のマスタの読み出し命令順に選択されるマスタを決定するよう構成され、
前記選択されたマスタは、読み出し命令に対する応答を受信することを特徴とするバス仲裁システム。
【請求項４３】
前記読み出し命令によるバス伝送が完了すれば、前記バス仲裁装置は前記バス許可信号を前記マスタのうちの他のマスタに伝送することを特徴とする請求項４２に記載のバス仲裁システム。
【請求項４４】
請求項３５の方法を実行するバスシステム。
【請求項４５】
請求項４０の方法を実行するバスシステム。
【請求項４６】
請求項４１の方法を実行するバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムオンチップ(ＳＯＣ: Ｓｙｓｔｅｍ Ｏｎ ＣｈＩＰ)のバスシステムに係り、特に、複数のマスタ(Ｍａｓｔｅｒ)をオープンコアプロトコル(ＯＣＰ: Ｏｐｅｎ Ｃｏｒｅ Ｐｒｏｔｏｃｏｌ)を基盤とするオンチップバスシステム(Ｏｎ−ＣｈＩＰ  Ｂｕｓ  Ｓｙｓｔｅｍ)に効果的に適用するためのバスシステムに関する。
【背景技術】
【０００２】
最近、互いに異なる機能を有する複数のチップを一つのチップ上に集積するシステムオンチップの使用が普遍化されている。したがって、システムオンチップの設計において、急変する市場の要求に対応するために開発にかかる時間を減らすことが必須の要件となる。このために、設計されて使われている既存のチップブロックすなわち、ＩＰコア(ＩＰ Ｃｏｒｅ: Ｉｎｔｅｌｌｅｃｔｕａｌ Ｐｒｏｐｅｒｔｙ Ｃｏｒｅ)のリサイクルが徐々に拡がっている。このようなＩＰコアのリサイクルは製品開発にかかる時間を縮めるだけでなく、新たに開発されたシステムオンチップの信頼性を向上させるのにも効果的である。
【０００３】
一方、システムオンチップの効果的な設計のためには、一つのチップ上に集積された複数のＩＰコア間の相互通信のためのバスシステムの選択が何より重要である。現在使われている最も代表的なバスシステムはＡＲＭ(Ａｄｖａｎｃｅｄ ＲＩＳＣ Ｍａｃｈｉｎｅ)社のＡＭＢＡ(ＡＭＢＡ: Ａｄｖａｎｃｅｄ Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ Ｂｕｓ Ａｒｃｈｉｔｅｃｔｕｒｅ)プロトコルを基盤とするＡＨＢ(Ａｄｖａｎｃｅｄ Ｈｉｇｈ−ｐｅｒｆｏｒｍａｎｃｅ Ｂｕｓ)バスシステムであり、最近では、ＩＰコアのリサイクルにより相応しいオープンコアプロトコルを基盤とするソニック社(ＳＯＮＩＣｓ Ｉｎｃ．)のシリコンバックプレーンマイクロネットワーク(Ｓｉｌｉｃｏｎ Ｂａｃｋｐｌａｎｅ μＮｅｔｗｏｒｋ)の使用が徐々に増加している。したがって、従来のＡＭＢＡプロトコルを基盤として設計されたＩＰコアをオープンコアプロトコル基盤のバスシステムに適用するための方法及び装置が必要である。
【０００４】
図１はＡＲＭ社のＡＭＢＡプロトコルスペック２．０に載せられたＡＨＢバスシステムのブロック図である。図１に示したように、ＡＨＢバスシステムは複数のマスタ１００、１０２、１０４、スレーブ１２０、１２２、１２４、１２６、アービタ１１０、デコーダ１１８、及びマルチプレクサ回路１１２、１１４、１１８を含む。
【０００５】
ＡＨＢバスシステムで基本的にマスタ１００、１０２、１０４はスレーブにデータを書き込むか、読み出すためにアービタ１１０に先にバス占有を要請(Ｂｕｓ Ｒｅｑｕｅｓｔ)する。アービタ１１０はマスタ１００、１０２、１０４のバス占有要請に対して現在バスを使っているマスタの存在の有無と、あらかじめ定義されたマスタ１００、１０２、１０４の優先権(Ｐｒｉｏｒｉｔｙ)とを考慮して特定の一つのマスタにのみバス占有を許容(Ｂｕｓ Ｇｒａｎｔ)する。バス占有が許容されたマスタはバスマスタになって該当のスレーブにデータを書き込むか、読み出す。そして、一度バスマスタになったマスタはデータの書き込み、または読み出し動作が完全に終わるまでバスを占有し、他のマスタは現在のバスマスタによるデータの書き込み、または読み出し動作が終わるまで待機状態になっていなければならない。
【０００６】
一方、オープンコアプロトコルを基盤とするバスシステムはＡＨＢバスシステムとは異なってマスタの動作類型(書き込みまたは読み出し)に応じてデータの処理方法が異なる。すなわち、ＡＨＢバスシステムではマスタの動作類型にかかわらず、データの処理が完了するまでマスタがバスを占有する。しかし、オープンコアプロトコルを基盤とするバスシステムでは書き込み動作のときには、ＡＨＢバスシステムと同様にデータの処理が完了するまでマスタがバスを占有する。しかし、読み出し動作のときには、先にデータの読み出し命令のみを伝送し、マスタはバスの占有権を他のマスタにパスする。そして、該当のスレーブからデータが伝送されてくると、エージェント(Ａｇｅｎｔ)を介して伝送されたデータを受信する。このようにオープンコアプロトコルではマスタの読み出し動作に対してマスタの命令語伝送フェーズ(Ｃｏｍｍａｎｄ Ｐｈａｓｅ)と応答フェーズ(Ｒｅｓｐｏｎｓｅ Ｐｈａｓｅ)とを分離することによって、全体バスの使用効率(Ｂｕｓ Ｂａｎｄｗｉｄｔｈ)を高めるという長所がある。
【０００７】
図２はオープンコアプロトコルを基盤とする従来のシリコンバックプレーンマイクロネットワークのブロック図である。図２で、各マスタ２０２、２０４、２０６はＡＨＢバスシステムに相応しいＡＭＢＡプロトコルを基盤として設計されたと仮定すれば、各々のマスタ２０２、２０４、２０６はオープンコアプロトコルへの変換のために各々のプロトコル変換器２０８、２１０、２１２と連結され、各プロトコル変換器２０８、２１０、２１２はシリコンバックプレーンマイクロネットワークのエージェント２１４、２１６、２１８を介してシリコンバックプレーンバス(ＳＢ、２００)に連結される。各エージェント２１４、２１６、２１８はシリコンバックプレーンバス２００を介して相互連結されてマスタ間のデータ送受信を実行する。また、エージェント２１４、２１６、２１８は該当のマスタの読み出し動作のとき、マスタからの読み出し命令をスレーブに伝送し、以後、スレーブからデータが伝送されてくると、これをマスタに伝達する役割を実行する。図２のようなバスシステムの場合、すべてのマスタがエージェントを介して一つのシリコンバックプレーンバス２００に一対一に連結されるので、連結されるマスタの数に従って全体バスの速度(Ｃｌｏｃｋ Ｆｒｅｑｕｅｎｃｙ)が制限される。一般的に、システムオンチップは数十個のマスタとスレーブとで構成される。したがって、すべてのＩＰコア(マスタとスレーブ)を図２のように全部一対一にバスに連結すると、全体のバスシステムの動作速度を高めるのに障害となる。また、多数のエージェントによって全体バスサイズ(ｓｉｚｅ)が大きくなるという短所もある。これを解決するため、通常、複数のマスタを各マスタの機能ブロック別に一つのサブシステム(Ｓｕｂ−ｓｙｓｔｅｍ)に集め、サブシステム単位でバスに連結することによって、バスへの連結数を制限する。この場合、サブシステム別にマスタのバス接続を仲栽することが必要である。これによって一つのサブシステムに含まれた複数のマスタの中で選択された一つのマスタのみをバスに連結する。
【０００８】
図３は、ＡＨＢバスシステムに相応しいＡＭＢＡプロトコルを基盤として設計された複数のマスタ、を一つのエージェントを介してオープンコアプロトコル基盤のシリコンバックプレーンバスに連結するバスシステムのブロック図である。図３に示すように、複数のマスタ３１２、３１４、３１６を一つのエージェント３０２を介してバス３００に連結するためには、各マスタ３１２、３１４、３１６間のバス接続を仲栽するアービタ３１８と、アービタ３１８によって選択された一つのマスタに対してプロトコル変換を実行し、エージェント３０２を介してバス３００に連結するためのプロトコル変換器３０２とが必要である。このとき、マスタ３１２、３１４、３１６はＡＭＢＡプロトコルを基盤として設計されているので、アービタ３１８は図１について説明したように、マスタの動作類型にかかわらずデータ処理が終わるまで選択された一つのマスタにのみバス占有を許容する。したがって、図３に示すように、従来のバス仲裁方法と単純プロトコル変換とだけでは、選択されたマスタの書き込みまたは読み出し動作が完全に終わるまでは他のマスタの読み出し命令、または書き込み命令をシリコンバックプレーンマイクロネットワーク上のエージェント３０２に伝達することはできない。すなわち、前述のオープンコアプロトコルの長所であるマスタの命令語伝送フェーズ(Ｃｏｍｍａｎｄ Ｐｈａｓｅ)と応答フェーズ(Ｒｅｓｐｏｎｓｅ Ｐｈａｓｅ)との分離が不可能である。したがって、複数のマスタがバス使用を要請する場合、各マスタの動作要請に対する応答時間(Ｌａｔｅｎｃｙ)が長くなり、また、各マスタの動作要請命令に対するパイプライニング(Ｐｉｐｅ  ｌｉｎｉｎｇ)が不可能で全体バスシステムの性能低下をもたらす。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明では上述の問題を解決するために、複数のマスタに対するオープンコアプロトコル基盤のバスシステムへのプロトコル変換だけでなく、複数のマスタに対するバスの占有方法とマスタの読み出し命令に対する各マスタのＩＤ管理とを通じて効率的なバスシステムを提供する。
【課題を解決するための手段】
【００１０】
オープンコアプロトコルを基盤とする本発明のバスシステムはオープンコアプロトコル基盤のバスと複数のマスタ及び複数のマスタと連結されてマスタのバスに対する占有を仲栽し、選択されたマスタをバスに連結するバス仲裁装置を含む。そして、本発明でマスタは読み出し動作のとき、バス仲裁装置を介して読み出し命令をバスに伝送し、バス仲裁装置は読み出し命令を伝送したマスタの読み出し情報を順次に貯蔵する。
【発明の効果】
【００１１】
本発明のバスシステムはマスタの読み出し動作のとき、マスタのＩＤを効率的に管理することができる。また、これによってオープンコアプロトコルの長所である命令語伝送フェーズと応答フェーズとの分離が可能となり、バスの帯域幅を向上させることができる。さらに、複数のマスタによる命令語の完全なパイプライニングを可能にすることによって、各マスタによる命令語伝達時間を短縮させることができる。
【発明を実施するための最良の形態】
【００１２】
図４は本発明で複数のマスタをオープンコアプロトコル基盤のバスに効率的に接続させるためのバスシステムの実施形態を示すブロック図である。図４を参照すると、本発明のバスシステムは大きく複数のマスタ４０２、４０４、４０６とマルチプレクサ回路４２０と、バスアービタ４１０と、デマルチプレクサ回路４２２と、プロトコル変換器４２４とを含む。図４で複数のマスタ４０２、４０４、４０６はオープンコアプロトコルではなく、他のバスプロトコル(例えば、ＡＭＢＡプロトコル)を基盤として設計されたと仮定する。
【００１３】
バスアービタ４１０はマスタ４０２、４０４、４０６とマルチプレクサ回路４２０と、デマルチプレクサ回路４２２と、プロトコル変換器４２４とに各々連結され、各マスタのバス接続を仲栽する。そして、バスアービタ４１０は第１有限状態マシン(４１２、ＦＳＭ: Ｆｉｎｉｔｅ Ｓｔａｔｅ Ｍａｃｈｉｎｅ)、第２有限状態マシン４１４及び先入れ先出し(ＦＩＦＯ: Ｆｉｒｓｔ Ｉｎｐｕｔ Ｆｉｒｓｔ Ｏｕｔｐｕｔ)メモリ４１６で構成される。
【００１４】
第１有限状態マシン４１２は各マスタ４０２、４０４、４０６、第２有限状態マシン４１４及びマルチプレクサ回路４２０に各々連結される。そして、第１有限状態マシン４１２は各マスタ４０２、４０４、４０６から入力されるバス占有要請信号ＢＲＥＱ１、ＢＲＥＱ２、ＢＲＥＱ３に応答して各マスタ４０２、４０４、４０６のうちの一つのマスタに対してバス占有許容信号ＢＧＮＴ１、ＢＧＮＴ２、ＢＧＮＴ３のうちの一つを入力して、現在バス占有が許容されたマスタのバス占有情報ａｒｂ＿ｓｔａｔｅを生成してマルチプレクサ回路４２０及び第２有限状態マシン４１４に入力する。
【００１５】
第２有限状態マシン４１４は第１有限状態マシン４１２、先入れ先出しメモリ４１６及びプロトコル変換器４２４に連結される。そして、第２有限状態マシン４１４は第１有限状態マシン４１２からバス占有情報ＢＯＩが入力されて現在バスを占有したマスタが読み出し動作を実行する場合、該当のマスタの読み出し情報(読み出し命令を実行するマスタの固有ＩＤと読み出そうとする読み出しデータのバースト(Ｂｕｒｓｔ)サイズ)を先入れ先出しメモリ４１６に貯蔵するためのプッシュ命令ＦＰＵＳＨを先入れ先出しメモリ４１６に入力する。そして、プロトコル変換器４２４を介して読み出しデータが入力されれば、読み出しデータの量をチェックして該当のマスタへのデータ伝送が終了すれば、使用された読み出し情報を除去するためのポップ命令ＦＰＯＰを先入れ先出しメモリ４１６に入力する。
【００１６】
先入れ先出しメモリ４１６は第２有限状態マシン４１４とデマルチプレクサ回路４２２とに連結される。先入れ先出しメモリ４１６は第２有限状態マシン４１４からのプッシュ命令ＦＰＵＳＨに従って現在バスを占有したマスタの読み出し情報を順次に貯蔵するか、または第２有限状態マシン４１４からのポップ命令ＦＰＯＰに従って、最上に貯蔵された読み出し情報を除去する。そして、第２有限状態マシン４１４からのプッシュ命令に従って貯蔵された読み出し情報のうちの最上に貯蔵された読み出し情報に該当する伝送パス情報ＴＰＩをデマルチプレクサ回路４２２に入力する。伝送パス情報ＴＰＩは以後、プロトコル変換器４２４を介しスレーブから伝送される読み出しデータをどのようなマスタに伝達するかに関する情報を含んでいる。
【００１７】
マルチプレクサ回路４２０は各マスタ４０２、４０４、４０６、第１有限状態マシン４１２及びプロトコル変換器４２４に連結され、第１有限状態マシン４１２から入力されるバス占有情報ＢＯＩに従って該当のマスタからのデータをプロトコル変換器４２４に伝送する。
【００１８】
デマルチプレクサ回路４２２は先入れ先出しメモリ４１６、マスタ４０２、４０４、４０６及びプロトコル変換器４２４に各々連結され、先入れ先出しメモリ４１６から入力される伝送パス情報ＴＰＩに従ってプロトコル変換器４２４からのデータＳＤＡＴＡを該当のマスタに伝達する。
【００１９】
プロトコル変換器４２４はオープンコアプロトコルを基盤とするバスＯＣＰ、マルチプレクサ回路４２０、デマルチプレクサ回路４２２、および第２有限状態マシン４１４に連結される。プロトコル変換器４２４はマルチプレクサ回路４２０からのデータをオープンコアプロトコルに相応しいデータに変換してバスを介して伝送する。そして、マスタから読み出し命令を受けた該当のスレーブからバスを介して伝送された読み出しデータをマスタ４０２、４０４、４０６のバスプロトコルに相応しく変換してデマルチプレクサ回路４２２及び第２有限状態マシン４１４に入力する。
【００２０】
以下、図５と図６を参照して図４に示した本発明のバスシステムをより詳細に説明する。図５は図４のバスシステムで、マスタ４０２とマスタ４０４とは読み出し動作を実行し、マスタ４０６は書き込み動作を実行する場合の主要動作信号のタイミング図である。そして、図６は図５のような動作過程で各タイミング別に先入れ先出しメモリ４１６に貯蔵されるデータを示す図である。
【００２１】
ｔ０ではマスタ４０２が、ｔ１ではマスタ４０４が読み出し動作のためのバス占有要請ＲＤ＿ＢＲＥＱ１、ＲＤ＿ＢＲＥＱ２を第１有限状態マシン４１２に各々印加し、ｔ３ではマスタ４０６が書き込み動作のためのバス占有要請ＷＲ＿ＢＲＥＱ３を第１有限状態マシン４１２に印加したと仮定する。この場合、第１有限状態マシン４１２がｔ１でマスタ４０２にバス占有を許容すると、マスタ４０２はｔ１ 〜 ｔ３区間の間マルチプレクサ回路４２０を介して読み出し命令のみをバスに伝送する。すなわち、この区間の間マスタ４０２がバスマスタとして動作する。ｔ１ 〜 ｔ３区間に対して第１有限状態マシン４１２はマスタ４０２がバスマスタであることを知らせるバス占有情報ＢＯＩを第２有限状態マシン４１４とマルチプレクサ回路４２０とに入力して、マルチプレクサ回路４２０はマスタ４０２からの読み出し命令をプロトコル変換器４２４を介してバスに伝送する。そして、第２有限状態マシン４１４はｔ３でマスタ４０２による読み出し情報を先入れ先出しメモリ４１６に貯蔵するためのプッシュ命令ＦＰＵＳＨを先入れ先出しメモリ４１６に入力する。ｔ３で先入れ先出しメモリ４１６は第２有限状態マシン４１４からのプッシュ命令ＦＰＵＳＨに従って、マスタ４０２に対する読み出し情報Ｍ１を貯蔵(図６の６０４)する。図６の６０４に示したように、ｔ＝ｔ３でマスタ４０２に対する読み出し情報Ｍ１が先入れ先出しメモリ４１６の最上に位置するので、ｔ＝ｔ３から先入れ先出しメモリ４１６はマスタ４０２への伝送パス情報ＢＯＩをデマルチプレクサ４２２に入力する。すなわち、ｔ３以後、外部のスレーブから入力される最初の読み出しデータはデマルチプレクサ４２２を介してマスタ４０２に伝達される。
【００２２】
ｔ３でマスタ４０２によるバス占有が終われば、第１有限状態マシン４１２はマスタ４０４にバス占有を許容して、マスタ４０４はｔ３ 〜 ｔ４区間の間バスマスタとして動作する。上述のマスタ４０２の場合と同様に、マスタ４０４はマルチプレクサ回路４２０を介して読み出し命令のみをバスに伝送し、第２有限状態マシン４１４はｔ４でマスタ４０４による読み出し情報を先入れ先出しメモリ４１６に貯蔵(図６の ６０６)するためのプッシュ命令ＦＰＵＳＨを先入れ先出しメモリ４１６に入力する。ｔ４で先入れ先出しメモリ４１６は第２有限状態マシン４１４からのプッシュ命令ＦＰＵＳＨに従って、マスタ４０４に対する読み出し情報Ｍ２を貯蔵(図６の ６０６)する。
【００２３】
ｔ４でマスタ４０４のバス占有が終われば、第１有限状態マシン４１２はマスタ４０６にバス占有を許容して、マスタ４０６はｔ４ 〜 ｔ６区間の間書き込み命令と書き込みデータ全部に対する伝送を実行する。書き込み動作区間では先入れ先出しメモリ４１６に貯蔵されたデータの変化はない。
【００２４】
一方、ｔ＝ｔ３で伝送パス情報ＴＰＩがマスタ４０２に割り当てられているので、ｔ３以後の最初のスレーブから入力される読み出しデータはデマルチプレクサ回路４２２を経てマスタ４０２に伝送される。もし、ｔ５〜ｔ６'区間の間にスレーブからデマルチプレクサ回路４２２を介してマスタ４０２に読み出しデータが伝送されたら、この区間の間第２有限状態マシン４１４は入力される読み出しデータの量をチェックして読み出しデータの伝送が終わる時点ｔ＝ｔ６'で先入れ先出しメモリ４１６にポップ命令ＦＰＯＰを印加する。ｔ＝ｔ６'でのポップ命令ＦＰＯＰに従って、マスタ４０２に対する読み出し情報Ｍ１がｔ＝ｔ７で先入れ先出しメモリ４１６から除去されると、ｔ７で先入れ先出しメモリ４１６に貯蔵された読み出し情報は図６の６０８と同一である。すなわち、以前に貯蔵されたデータで最上のマスタ４０２に対する読み出し情報Ｍ２が先入れ先出しメモリ４１６の最上に位置する。
【００２５】
ｔ＝ｔ７で先入れ先出しメモリ４１６の最上に貯蔵された読み出し情報Ｍ２はマスタ４０４該当する読み出し情報であるので、このときからデマルチプレクサ回路４２２に印加される伝送パス回路ＴＰＩはマスタ４０４に対する経路情報である。前述のように、以後に入力される最初読み出しデータはデマルチプレクサ回路４２２を経てマスタ４０４に伝送される。そして、もし、ｔ７でマスタ４０４が要請した読み出しデータが該当のスレーブから伝送されれば、第２有限状態マシン４１４は入力される読み出しデータの量をチェックして読み出しデータの伝送が完了する時点で先入れ先出しメモリ４１６にポップ命令ＦＰＯＰを印加する。もし、ｔ＝ｔ７'で読み出しデータの伝送が完了すれば、ｔ７'で第２有限状態マシン４１４は先入れ先出しメモリ４１６にポップ命令ＦＰＯＰを印加し、先入れ先出しメモリ４１６は最上に貯蔵された読み出し情報Ｍ２を除去する。そして、これ以上読み出し命令を印加したマスタがなくて、すなわち、先入れ先出しメモリ４１６に貯蔵されたこれ以上の読み出し情報がなくて、伝送パス情報ＴＰＩはＮＵＬＬ状態になる。
【００２６】
以上で、本発明によるバスシステムの構成及び動作を図面を参照して詳しく説明したが、これは例示的なことに過ぎず、本発明の技術的思想を逸脱しない範囲内で多様な応用及び変更が可能である。
【図面の簡単な説明】
【００２７】
【図１】従来のＡＲＭ(Ａｄｖａｎｃｅｄ ＲＩＳＣ Ｍａｃｈｉｎｅ)社のＡＭＢＡ(ＡＭＢＡ: Ａｄｖａｎｃｅｄ Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ Ｂｕｓ Ａｒｃｈｉｔｅｃｔｕｒｅ)プロトコルスペック２．０に載せられたＡＨＢ(Ａｄｖａｎｃｅｄ Ｈｉｇｈ−ｐｅｒｆｏｒｍａｎｃｅ Ｂｕｓ)バスシステムのブロック図である。
【図２】オープンコアプロトコル(ＯＣＰ: Ｏｐｅｎ Ｃｏｒｅ Ｐｒｏｔｏｃｏｌ)を基盤とする従来ソニック社(ＳＯＮＩＣｓ．Ｉｎｃ)のシリコンバックプレーンマイクロネットワーク(Ｓｉｌｉｃｏｎ Ｂａｃｋｐｌａｎｅ Ｍｉｃｒｏｎｅｔｗｏｒｋ)のブロック図である。
【図３】図２に示したシリコンバックプレーンマイクロネットワークで複数のマスタを一つのエージェントを介してオープンコアプロトコル基盤のシリコンバックプレーンバスに連結するバスシステムのブロック図である。
【図４】本発明で複数のマスタをオープンコアプロトコル基盤のバスに効率的に接続させるためのバスシステムの実施形態を示すブロック図である。
【図５】図４に示した本発明のバスシステムで複数のマスタによるデータの読み出しと書き込み動作過程を示すタイミング図である。
【図６】図５のような動作過程から各タイミング別に図４の先入れ先出しメモリに貯蔵されるデータの変化を示す図である。
【符号の説明】
【００２８】
４１０  バス仲裁装置
４１２  第１有限状態マシン
４１４  第２有限状態マシン
４１６  先入れ先出しメモリ
４２０  マルチプレクサ回路
４２２  デマルチプレクサ回路
４２４  プロトコル変換器
【図１】
0004785112.tif 000002
【図２】
0004785112.tif 000003
【図３】
0004785112.tif 000004
【図４】
0004785112.tif 000005
【図５】
0004785112.tif 000006
【図６】
0004785112.tif 000007