(57)【要約】  バス・マッチングする装置及び方法である。当該装置は、インターフェーシング・バス幅により特徴付けられるインターフェーシング・バスと、当該インターフェーシング・バスに接続されたマスタ・デバイスとを備える。当該マスタ・デバイスは、マスタ・デバイス・インターフェースを備える。当該装置は更に、複数のスレーブ・デバイスを備える。各スレーブ・デバイスは、インターフェーシング・バスに結合され、且つスレーブ・デバイス・インターフェースを含む。少なくとも１つのスレーブ・デバイス・インターフェースが、複数のインターフェーシング・バス部分に対して並列に接続される。当該装置は更に、インターフェーシング・バス及びマスタ・デバイスに接続された制御論理を備える。当該制御論理が、インターフェーシング・バスを介したデータの転送を表す制御信号を与えるよう適合されている。当該制御論理は更に、複数のスレーブ・デバイスのインターフェーシング・バスへの接続性に応答するよう構成されている。当該接続性が、データ転送特性に応答し、且つ前記インターフェーシング・バスの幅と各デバイス・インターフェースの幅との関係に応答する。
2008512754.tif 000002
【特許請求の範囲】
【請求項１】
バス・マッチングする方法であって、
第１のエンディアン・モード・データ転送及び第２のエンディアン・モード・データ転送のデータ転送特性を受け取るステップと、
前記データ転送特性に応答して、且つインターフェーシング・バスの幅と各デバイス・インターフェースの幅との間の関係に応答して、複数のデバイスのインターフェーシング・バスへの接続性を決定するステップであって、少なくとも１つのデバイス・インターフェースが複数のインターフェーシング・バス部分に対して並列に結合される、前記決定するステップと、
前記インターフェーシング・バスを介したデータの転送を表す制御信号を与えるように制御論理を構成するステップであって、前記制御論理が前記接続性に応答して構成される、前記構成するステップと
を備える方法。
【請求項２】
或る一定のデバイスの接続性を決定する前記のステップが、インターフェーシング・バス・エンディアン・モードと前記或る一定のデバイスのエンディアン・モードとの間の関係に応答する請求項１記載の方法。
【請求項３】
前記データ転送特性が、データをデータ転送中に搬送する少なくとも１つのインターフェーシング・バス部分の識別を備える請求項１記載の方法。
【請求項４】
スレーブ・デバイスのバスが前記インターフェーシング・バスより狭い場合、前記インターフェーシング・バスを介して前記スレーブ・デバイスに与えられるべきデータを複写するようにマスタ・デバイス・インターフェースを構成するステップを更に備える請求項１記載の方法。
【請求項５】
インターフェーシング・バス幅により特徴付けられるインターフェーシング・バスと、
前記インターフェーシング・バスに結合されたマスタ・デバイスであって、マスタ・デバイス・インターフェースを備えるマスタ・デバイスと、
各スレーブ・デバイスが前記インターフェーシング・バスに結合され且つスレーブ・デバイス・インターフェースを備え、少なくとも１つのスレーブ・デバイス・インターフェースが複数のインターフェーシング・バス部分に対して並列に結合される、複数のスレーブ・デバイスと、
前記インターフェーシング・バス及び前記マスタ・デバイスに結合された制御論理と、を備え、
前記制御論理が、前記インターフェーシング・バスを介したデータの転送を表す制御信号を与えるよう適合されており、
前記制御論理が、前記複数のスレーブ・デバイスの前記インターフェーシング・バスへの接続性に応答するよう構成されており、
前記接続性が、データ転送特性に応答し、且つ前記インターフェーシング・バスの幅と各デバイス・インターフェースの幅との関係に応答する、装置。
【請求項６】
前記マスタ・デバイス・インターフェースが、前記インターフェーシング・バス幅と前記スレーブ・デバイス・インターフェースの幅との関係に応答して、スレーブ・デバイスへ転送されるべきデータを選択的に複写するよう適合されている請求項５記載の装置。
【請求項７】
前記データ転送特性が、第１のエンディアン・モードで及び第２のエンディアン・モードで前記インターフェーシング・バスを介したデータ転送を表す請求項５記載の装置。
【請求項８】
前記装置が、セルラ電話器である請求項５記載の装置。
【請求項９】
インターフェーシング・バスを介したデータ転送に関係すべきスレーブ・デバイス及びマスタ・デバイスを選択するステップと、
前記スレーブ・デバイスの幅、前記インターフェーシング・バスの幅、及び前記スレーブ・デバイス及び前記マスタ・デバイスの前記インターフェーシング・バスへの接続性に応答して、前記データ転送の特性を決定するステップであって、前記インターフェーシング・バスが複数のスレーブ・デバイスに結合され、少なくとも１つのスレーブ・デバイスが複数のインターフェーシング・バス部分に対して並列に結合され、前記接続性が前記スレーブ・デバイス及び前記インターフェーシング・バスのエンディアン・モードに応答する、前記決定するステップと、
前記の決定された特性に応答して前記データを転送するステップと
を備える方法。
【請求項１０】
前記データ転送特性が、データをデータ転送中に搬送する少なくとも１つのインターフェーシング・バス部分の識別を備える請求項９記載の方法。
【請求項１１】
スレーブ・デバイスのバスが前記インターフェーシング・バスより狭い場合、前記インターフェーシング・バスを介して前記スレーブ・デバイスに与えられるべきデータを複写するようにマスタ・デバイス・インターフェースを構成するステップを更に備える請求項９記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス・マッチングのための装置及び方法に関し、特に、異なるバス幅及び異なるエンディアン・モードにより特徴付けられている複数のデバイスをサポートする装置及び方法に関する。
【背景技術】
【０００２】
データは、２つのタイプのデータ順序付けモード、即ち、リトル・エンディアン・モードとビッグ・エンディアン・モードとのうちの１つで編成される。リトル・エンディアン・モードでは、データの最下位部分（通常バイト）が、そのデータの最上位部分より低いメモリ・アドレスに格納される。ビッグ・エンディアン・モードでは、データの最下位部分（通常バイト）が、そのデータの最上位部分より高いメモリ・アドレスに格納される。
【０００３】
最新のプロセッサ・ベースのシステムは、プロセッサ、メモリ・モジュール、インターフェース及び類似のもののような複数の構成要素を含む。最新のプロセッサ・ベースのシステムの複雑さが増大すること、並びにこれらのシステムの設計プロセスを速めるという益々増大する要望のため、出来るだけ多くのハードウエア・デバイスを再使用し、且つソフトウエア部品を再使用するという必要性が存在する。
【０００４】
様々なソフトウエア部品並びにハードウエア部品が、或る一定のエンディアン・モードで動作することができる一方、他のものが別のモードで動作することができる。異なるエンディアン・モードの部品間をインターフェースするため、様々なアプローチが提案された。発明の名称が「エンディアネス独立メモリ・インターフェース（Ｅｎｄｉａｎｅｓｓｅ  ｉｎｄｅｐｅｎｄｅｎｔ  ｍｅｍｏｒｙ  ｉｎｔｅｒｆａｃｅ）」であるＬｉｎの米国特許特許Ｎｏ．６４８３７５３、及び発明の名称が「トラブルがエンディアン・プロセスで遅延を生じることなしに複数のバイト単位での認識に決して誘発されないエンディアン変換装置及びエンディアン変換方法（Ｅｎｄｉａｎ  ｃｏｎｅｖｅｒｓｉｏｎ  ａｐｐａｒａｕｓｅｓ  ａｎｄ  ａｎ  ｅｎｄｉａｎ  ｃｏｎｅｖｅｒｓｉｏｎ  ｍｅｔｈｏｄ  ｉｎ  ｗｈｉｃｈ  ａ  ｔｒｏｕｂｌｅ  ｉｓ  ｎｅｖｅｒ  ｉｎｄｕｃｅｄ  ｉｎ  ａ  ｒｅｃｏｇｎｉｔｉｏｎ  ａｔ  ａ  ｐｌｕｒａｌ−ｂｙｔｅ  ｕｎｉｔ  ｗｉｔｈｏｕｔ  ａｎｙ  ｄｅｌａｙ  ｉｎ  ａｎ  ｅｎｄｉａｎ  ｐｒｏｃｅｓｓ）」であるＳｕｚｕｋｉ他の米国特許出願Ｎｏ．２００１００３８３４８は、全て本明細書に援用されているが、エンディアン・モードのミスマッチ問題を管理する従来技術の装置及び方法の例を与える。
【０００５】
インターフェーシング・バスに接続されるデバイスのインターフェースの幅と異なるインターフェーシング・バス幅を有するインターフェーシング・バスを接続することはまた、デバイスのメモリ空間を空費することを含む場合がある。それは、多くの場合、このメモリ空間がインターフェーシング・バス幅と整列しているよう配列されているからである。例えば、ワード幅のインターフェーシング・バスに接続されているバイト幅のデバイスは、デバイスが常にデータ・バイトを事前定義されたバイトのインターフェーシング・バスへ書き込むことを保証するため、強制的に、そのデバイスに空のバイトをデータ・バイトの各対同士間に残させる。
【０００６】
異なるバス幅及び異なるエンディアン・モードのデバイス同士間をインターフェースする複雑さは、インターフェーシング・バスがデータをゼロに対して整列するようにしないとき更に増大される。インターフェーシング・バスは、そのデータの場所を決定するバイト・イネーブル信号を搬送するが、しかし異なるエンディアン・モードで動作するデバイスは、同じバイト・イネーブル信号を異なる要領で解釈する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
異なるバス・サイズを有し且つ異なるエンディアン・モードを有する複数のデバイスを相互接続するシステム及び方法を提供する要求がある。
【課題を解決するための手段】
【０００８】
本発明は、様々なバス幅及び異なるエンディアン・モードのデバイスをインターフェーシング・バスに接続することを可能にするバス・マッチングのための方法を提供する。幅がインターフェーシング・バスより狭いバスを有するデバイスは、インターフェーシング・バスの様々な部分に対して並列に接続され、そしてバイト・イネーブル論理は、インターフェーシング・バスからのデータの適正な検索を可能にする制御信号を与える。本方法は、コストが高く且つデバイスの速度を遅くする追加のデータ・マルチプレクサを必要としない。
【０００９】
本発明は、図面と関係した以下の詳細な説明からより完全に理解されそして認められるであろう。
【発明を実施するための最良の形態】
【００１０】
以下の説明は、バイトのデータを転送することに関連する。当業者は、開示されたシステム及び方法が必要に応じて変更を加えて異なるサイズのデータ部分に適用することができ、そしてまたアドレス及びアドレスの一部分を転送することに適用することができることを認めるであろう。
【００１１】
図１は、本発明の一実施形態に従った、インターフェーシング・バス１００を含む装置１２０を示す。説明を簡単にするため、インターフェーシング・バス１００は３２ビット幅であると仮定する。これは、必ずしもそうであることではなくて、他の幅のインターフェーシング・バスを用いることができる。
【００１２】
３２ビットのデータに加えて、インターフェーシング・バス１００はまた、制御信号及びアドレス信号を搬送するが、これらの信号は、他の手段により搬送されることができることに注目されたい。制御信号は、ＲＥＡＤ／ＷＲＩＴＥ信号（読み取り／書き込み信号）、並びに転送されるデータ量並びに搬送されたデータの場所を指示するバイト・イネーブル信号を含む。
【００１３】
インターフェーシング・バス１００は、３２データ・ビット１００（０）−１００（３１）を有し、そしてそれは、リトル・エンディアン・モードで動作する。これらの３２ビットは、４バイト１０１（０）−１０１（９）のような複数の部分で構成される。
【００１４】
インターフェーシング・バス１００は、第１の周辺装置１０、第２の周辺装置２０及び第３の周辺装置３０のような複数のスレーブ・デバイスに接続される。インターフェーシング・バス１００はまた、プロセッサ４０のようなマスタ・デバイスに接続される。その上、プロセッサ４０及び周辺装置１０−３０は、バイト・イネーブル論理５０に接続されている。全ての周辺装置は、リトル・エンディアン・モードで動作する。
【００１５】
更に、インターフェーシング・バス１００は、データ転送と関連した周辺装置のアドレスを搬送するための複数のアドレス・ビット（一括して参照番号１０２で示す。）を含む。
【００１６】
第１の周辺装置１０は、４バイト１１（０）−１１（３）で構成される３２ビットのバス幅（これはまたインターフェース幅又はスレーブ・デバイス幅と呼ばれる。）を有する。
第１の周辺装置１０のインターフェースの各ビットは、対応のインターフェース・ビット１００（０）−１００（３１）に接続される。説明を簡単にするため、各ラインが１バイトを表す４本のラインがこの接続を示す。
【００１７】
第２の周辺装置２０は、２バイト２１（０）−２１（１）で構成されている１６ビットのバス幅を有する。第１のバイト２１（０）は、インターフェーシング・バス１００の第１及び第３のバイト１０１（０）及び１０１（２）に並列に接続され、そして第２のバイト２１（１）は、インターフェーシング・バス１００の第２及び第４のバイト１０１（１）及び１０１（３）に並列に接続され、それによりデータ・ワード（例えば、２バイト・ワード）をそのバイト・アライメントに拘わらず受け取る。換言すると、マスタ読み取りバスは、スレーブ読み取りバスに対して２回接続され、そしてスレーブ書き込みバスは、マスタ書き込みバスの複数のバイトのうちの１つに接続される。
【００１８】
第３の周辺装置３０は、バイト３０（０）のバス幅を有する。このバイト３０（０）は、インターフェーシング・バス１００の第１、第２、第３及び第４のバイト１０１（０）−１０１（３）に並列に接続され、それによりインターフェーシング・バス１００を介して転送されるデータ・バイトを、このデータ・バイトが整列されるバイトに拘わらず受け取る。
【００１９】
プロセッサ４０は、１又はそれより多いバイト・イネーブル信号をバイト・イネーブル信号ＢＥ（０）−ＢＥ（３） １１０（０）−１１０（３）から発生し、インターフェーシング・バス１００の第１（最下位）バイト、第２バイト、第３バイト及び第４（最上位）バイトを含む当該インターフェーシング・バス１００の１又はそれより多いバイトを介して１又はそれより多いバイトのデータを転送することを指示する。単一のバイト・イネーブル信号より多くのものが、複数のバイト・データをインターフェーシング・バス１００を介して転送するときアサートされることができる。
【００２０】
周辺装置のそれぞれが、デバイス・インターフェースを介してインターフェーシング・バス１００に接続される。説明を簡単にするため、単一のボックスは、各周辺装置及びその対応のインターフェースを表す。
【００２１】
プロセッサ４０は、データ・アクセス・サイズに応じて、インターフェーシング・バス１００を介してデータを複写するプロセッサ・インターフェース４２を有する。例えば、プロセッサ４０がデータ・バイトを書き込まなければならない場合、プロセッサ・インターフェース４２は、データ・バイトを４回複写し、それによりインターフェーシング・バス１００の各バイトは、そのデータ・バイトを搬送する。例えば、プロセッサ４０がデータ・ワードを書き込まなければならない場合、プロセッサ・インターフェース４２は、データ・ワードを２回複写し、それによりインターフェーシング・バス１００の各半分がそのデータ・ワードを搬送する。本発明の別の実施形態に従って、その複写はまた、目標周辺装置の接続性に応答する。
【００２２】
データをプロセッサ・インターフェース４２で複写することにより、データをスワップするための複数のマルチプレクサを利用する代わりに、単一のマルチプレックシング・エンティティが要求され、従って、デバイスの複雑さ並びにスペースを著しく低減する。それはまた、より速いデバイスを提供する。
【００２３】
バイト・イネーブル信号ＢＥ（０）−ＢＥ（３）が、バイト・イネーブル論理５０に与えられ、次いで、バイト・イネーブル論理５０は、対応の制御信号を周辺装置に送る。各周辺装置のバス幅が他の周辺装置と異なるので、バイト・イネーブル論理５０は、各周辺装置につき１つ当てで、３つの回路を含む。
【００２４】
第１の回路５１は、実際に、ＢＥ（０）−ＢＥ（３）を変わらない状態で第１の周辺装置１０へ送る。従って、４バイト・データがインターフェーシング・バス１００を介して第１の周辺装置１０に向けて転送される場合、インターフェーシング・バス１００は、第１の周辺装置１０のアドレスＡＤＤＲ＿Ｐ１をライン１０２を介して搬送し、４データ・バイトをライン１００（０）−１００（３１）を介して搬送し、そして第１の回路５１は、ライン１００（０）−１００（３）を介した４バイトのデータの転送を表す４つのバイト・イネーブル信号ＢＥ（０）−ＢＥ（３）を第１の周辺装置１０に与える。
【００２５】
第２の回路５３は、２つのＯＲゲート５４及び５６を含み、当該２つのＯＲゲート５４及び５６は、第２の周辺装置に対して、インターフェーシング・バス１００の奇数バイトを介したデータ・バイトの転送とインターフェーシング・バス１００の偶数バイトを介したデータ・バイトの転送とをそれぞれ表すバイト・イネーブル信号ＢＥ２２及びＢＥ２４を発生する。第２の回路５３の構造は、データ・ワードがインターフェーシング・バス１００の２つの連続したバイトを介して転送されることとそのような転送がワード整列されていることとの仮定に基づいている。
【００２６】
従って、データ・ワードがインターフェーシング・バス１００を介して第２の周辺装置２０に向けて転送される場合、インターフェーシング・バス１００は、第２の周辺装置２０のアドレスＡＤＤＲ＿Ｐ２をライン１０２を介して搬送し、２つのデータ・バイトをインターフェーシング・バス１００の２つの連続したバイトを介して（例えば、ビット１００（１６）−１００（３１）を介して）搬送し、そして第２の回路５３は、インターフェーシング・バス１００を介した２バイトのデータの転送を表す２つの第２周辺装置バイト・イネーブル信号ＢＥ２２及びＢＥ２４を第２の周辺装置２０に与える。
【００２７】
第３の回路５７は、データ・バイトがインターフェーシング・バス１００のいずれのバイトを介して与えられるときは常に第３の周辺装置３０に対して第３周辺装置バイト・イネーブル信号ＢＥ３０を発生する。
【００２８】
従って、データ・バイトがインターフェーシング・バス１００を介して第３の周辺装置３０に向けて転送される場合、インターフェーシング・バス１００は、第３の周辺装置３０のアドレスＡＤＤＲ＿Ｐ３をライン１０２を介して搬送し、データ・バイトをインターフェーシング・バス１００の１バイトを介して（例えば、ビット１０１（１６）−１００（２３）を介して搬送し、そして第３の回路５７は、インターフェーシング・バス１００を介した１バイトのデータの転送を表す第３周辺装置バイト・イネーブル信号ＢＥ３０を第３の周辺装置３０に与える。
【００２９】
以下の表は、インターフェーシング・バス１００を介して搬送される様々な信号並びにデータを示す。表１は、プロセッサ４０がデータを周辺装置の１つに書き込む書き込み動作を示す。表２は、プロセッサ４０がデータを周辺装置から読み出す読み出し動作を示す。
【００３０】
「データ・アドレス」信号は、インターフェーシング・バスを介して搬送されるデータが整列されるバイトを指示し、そして「アクセス・サイズ」信号は、インターフェーシング・バスを介して搬送されるデータのサイズを指示する。表１はまた、プロセッサ・インターフェース４２に与えられるデータを指示する「プロセッサ内のデータ」欄と、インターフェーシング・バス１００を介して現れるデータを表す「インターフェーシング・バス上のデータ」欄とを有する。バイト・イネーブル信号と、「データ・アドレス」及び「アクセス・サイズ」の対とは、同じ情報を搬送することに注目されたい。表２はまた、周辺装置により与えられるデータを指示する「周辺装置上のデータ」欄を含む。
【００３１】
【表１】
2008512754.tif 000003
【００３２】
【表２】
2008512754.tif 000004
【００３３】
周辺装置により与えられたデータを複写することにより、周辺装置のメモリ空間は、通常一層広いインターフェーシング・バスにも拘わらず、周辺装置バス幅に整列されることができる。
【００３４】
図２は、本発明の別の実施形態に従った、インターフェーシング・バス１００′を含む装置１３０を示す。インターフェーシング・バス１００′は、４バイト１０１′（０）−１０１′（３）で構成された３２データ・ビット１００′（０）−１００′（３１）を有する。
【００３５】
インターフェーシング・バス１００′は、ビッグ・エンディアン・モードで動作する一方、インターフェーシング・バス１００′に接続されている周辺装置１０、２０及び３０は、リトル・エンディアン・モードで動作する。従って、周辺装置は、インターフェーシング・バス１００′にスワップされたフォーメーション（ｓｗａｐｐｅｄ  ｆｏｒｍａｔｉｏｎ）で接続される。例えば、第１の周辺装置１０のバイト１１（０）−１１（３）は、インターフェーシング・バス１００′のバイト１０１′（３）−１０１′（０）に接続され、第２の周辺装置２０のバイト２１（０）は、インターフェーシング・バス１００′のバイト１０１′（１）及び１０１′（３）に対して並列に接続され、一方第２の周辺装置２０のバイト２１（１）は、インターフェーシング・バス１００′のバイト１０１′（０）及び１０１′（２）に並列に接続される。
【００３６】
図１及び図２は、同じエンディアン・モードを有するがしかし異なるバス幅を有する周辺装置を示すが、これは、必ずしもそうであるわけではないことに注目されたい。インターフェーシング・バスは、異なるエンディアン・モードで動作する周辺装置同士間でインターフェースすることができ、そしてまた同じインターフェース幅の周辺装置同士間でインターフェースすることができる。
【００３７】
図３は、本発明の一実施形態に従ってデータをインターフェーシング・バス１００を介して搬送する方法２００を示すフロー・チャートである。説明を簡単にするため、プロセッサ４０はデータを第３の周辺装置３０のような或る一定の周辺装置に書き込むインターフェーシング・バス・マスタとして動作し、次いで、その或る一定の周辺装置は、インターフェーシング・バス・スレーブとして動作すると仮定する。
【００３８】
方法２００は、どの周辺装置へデータを書き込むかを判断するステップ２１０により開始する。図１で説明した例を参照すると、その判断は、通常、プロセッサ４０により実行されるソフトウエアにより書き取られる（ｄｉｃｔａｔｅｄ）。
【００３９】
ステップ２１０には、周辺装置のバス幅、インターフェーシング・バスのバス幅、及びインターフェーシング・バスに対する周辺装置の接続性に応答して、データ転送の特性を決定するステップ２２０が続く。
【００４０】
周辺装置のバスがインターフェーシング・バスより狭い場合、プロセッサ・インターフェース４２は、データを複写しなければならない。このステップはまた、バイト・イネーブル信号のようなどの制御信号を書き込み動作中に送るべきかを決定することを含む。
【００４１】
前の仮定を参照すると、第３の周辺装置３０の幅は、バイトであり、従って、プロセッサ・インターフェース４２は、データ・バイトを４回複写しなければならない。更に、バイト・イネーブル信号が、単一のＯＲゲートに与えられ、それにより、データ・バイトのアライメントに拘わらず、そして周辺装置のエンディアン・モードに拘わらず、第３のインターフェースは、インターフェーシング・バス１００を介した１バイトのデータの転送を表す第３のインターフェース・バイト・イネーブル信号ＢＥ３０を受け取るであろう。
【００４２】
ステップ２２０には、上記の決定に応答してデータを周辺装置に書き込むステップ２３０が続く。前に言及した例を参照すると、プロセッサ４０は、ＡＤＤＰ３をインターフェーシング・バス１００のビット１０２を介して送り、ＷＲＩＴＥ（書き込み）信号（図示せず）をアサートし、そしてプロセッサ・インターフェース４２は、データ・バイトを４回複写し、そして第３の周辺装置３０は、ＢＥ３０を受け取り、そしてそのデータ・バイトを読み取る。
【００４３】
図４は、本発明の別の実施形態に従ってデータをインターフェーシング・バス１００を介して搬送する方法２００を示すフロー・チャートである。説明を簡単にするため、プロセッサ４０は、データを第２の周辺装置２０のような或る一定の周辺装置から読み取るインターフェーシング・バス・マスタとして動作し、その或る一定の周辺装置は、インターフェーシング・バス・スレーブとして動作すると仮定する。
【００４４】
方法３００は、どの周辺装置からデータを読み出すべきかを判断するステップ３１０により開始する。図１で説明した例を参照すると、その判断は、通常、プロセッサ４０により実行されるソフトウエアにより書き取られる。
【００４５】
ステップ３１０には、周辺装置のバス幅、インターフェーシング・バスの幅、及び周辺装置のエンディアン・モードに応答してデータ転送の特性を決定するステップ３２０が続く。
【００４６】
周辺装置により与えられるデータの複写に起因して、プロセッサ・インターフェース４２は、インターフェーシング・バスのどのビットを読み取るべきか、またどれを無視すべきかのみを判断しなければならない。このステップはまた、バイト・イネーブル信号、ＲＥＡＤ（読み取り）信号及び類似のもののようなどの制御信号を読み取り動作中に送るべきかを決定することを含む。上記の複写は、（マスタ・インターフェースにおけるように）いずれの論理によるのでなくデータ・ビットを接続することにより行われる。マスタ・デバイス（プロセッサのようなもの）は、スレーブ・バス幅及び類似のものに従ってどのビットを読み取るべきかを判断すべきでなく、そしてそれは、接続性がデータが適切なビットに沿って与えられることを保証することと同じように通常にデータを読み取ることができる。
【００４７】
前の仮定を参照すると、第２の周辺装置２０の幅は、ワードであり、そしてそのワードは、２回複写され、従って、プロセッサ・インターフェース４２は、インターフェーシング・バス１００のどのバイト対を読み取るべきかを判断しなければならない。更に、バイト・イネーブル信号ＢＥ（０）−ＢＥ（３）が２つのＯＲゲートに与えられ、それによりデータ・ワードのアライメントに拘わらず、第２の周辺装置２０は、インターフェーシング・バス１００を介したデータ・ワードの転送を表す２つの第２インターフェース・バイト・イネーブル信号ＢＥ２２及びＢＥ２４を受け取るであろう。
【００４８】
ステップ３２０には、上記の決定に応答してデータを周辺装置から読み出すステップ３３０が続く。前に言及した例を参照すると、プロセッサ４０は、ＡＤＤＰ２をインターフェーシング・バスのビット１０２を介して送り、プロセッサ・インターフェース４２は、例えば、インターフェーシング・バスの最下位ワードを読み取り、ＲＥＡＤ信号並びにＢＥ２２及びＢＥ２４信号を第２の周辺装置２０に送り、次いで、当該第２の周辺装置２０は、複写されるべきデータ・ワードをインターフェーシング・バス１００に与える。
【００４９】
図５は、本発明の一実施形態に従ってバス・マッチングする方法４００を示すフロー・チャートである。方法４００は、集積回路の設計段階中に実行されることが都合よい。
方法４００は、第１のエンディアン・モードで及び第２のエンディアン・モードでデータ転送特性を受け取るステップ４１０により開始する。この特性は、データを搬送するバス・インターフェース部分の識別（ＩＤ）を含む。インターフェーシング・バス１００がＳＲＣＩＰ ＢｌｕｅＳｋｙバスのようなアドレスに整列されたバスであるとき、それに対してデータが整列されるそのインターフェーシング・バス部分のアドレスは、マスタ・インターフェーシング・バス・デバイスにより発生され、そしてそのインターフェーシング・バスを介して送られる。このアドレスは、異なるエンディアン・モードで動作するデバイスにより異なった要領で解釈されることができる。
【００５０】
ステップ４１０には、データ転送特性に応答して、そしてインターフェーシング・バスの幅と各デバイス・インターフェースの幅との関係に応答して、複数のデバイスのインターフェーシング・バスへの接続性を決定するステップ４２０が続く。そこにおいては、少なくとも１つのデバイス・インターフェースは、複数のインターフェーシング・バス部分に対して並列に結合される。図１及び図２で説明した例を参照すると、デバイス、特にスレーブ・デバイスの接続性は、インターフェーシング・バスを介した異なるサイズのデータを、当該バスのエンディアン・モードに拘わらず転送することを可能にする。
【００５１】
ステップ４２０には、インターフェーシング・バスを介したデータの転送を表す制御信号を与えるように制御論理を構成し、一方制御論理が上記の接続性に応答して構成されるステップ４３０が続く。図１及び図２で説明した例を参照すると、制御論理は、ＢＥ３０、ＢＥ２２及びＢＥ２４のような制御信号を発生して、転送されたデータのサイズを指示するのに対して、これらの制御信号は、スレーブ・デバイスの接続性に応答する要領でバイト・イネーブル信号により駆動される。
【００５２】
本発明者は、本方法を、セルラ電話器内に含まれるシステムオンチップに適用した。システムオンチップは、ビッグ・エンディアン・モード並びにリトル・エンディアン・モードで動作することができるマルチプル・プロセッサ（ｍｕｌｔｉｐｌｅ  ｐｒｏｃｅｓｓｏｒ）を含む。プロセッサのエンディアン・モードは、それらプロセッサ同士間で通信するとき又は内部デバイス（メモリ・ブロックのようなもの）と通信するとき、変わることができるが、しかしこれらプロセッサと、インターフェーシング・バスを介して接続される周辺装置のような外部デバイスとの間の通信は、変わらないままである。
【００５３】
本発明は、典型的には狭いバスを有する古い（旧来の）周辺装置を典型的にはより大きいバスを有する最新のプロセッサに接続することを容易にする。
本明細書で説明したものの変形、変更及び他の実施形態が、特許請求の範囲に記載された本発明の趣旨及び範囲から逸脱することなしに当業者により行われるであろう。従って、本発明は、上記の例示的記載によって定義されるものではなく、代わって添付の特許請求の範囲の趣旨及び範囲により定義されるものである。
【図面の簡単な説明】
【００５４】
【図１】図１は、本発明の一実施形態に従った、インターフェーシング・デバイスを含む装置の概略図である。
【図２】図２は、本発明の別の実施形態に従った、インターフェーシング・バスを含む装置の概略図である。
【図３】図３は、本発明の一実施形態に従ってデータをインターフェーシング・バスを介して搬送する方法を示すフロー・チャートである。
【図４】図４は、本発明の一実施形態に従ってデータをインターフェーシング・バスを介して搬送する方法を示すフロー・チャートである。
【図５】図５は、本発明の一実施形態に従ってバス・マッチングする方法を示すフロー・チャートである。
【図１】
2008512754.tif 000005
【図２】
2008512754.tif 000006
【図３】
2008512754.tif 000007
【図４】
2008512754.tif 000008
【図５】
2008512754.tif 000009
【国際調査報告】
2008512754.tif 000010
2008512754.tif 000011
2008512754.tif 000012