(57)【特許請求の範囲】
【請求項１】
プロセッサ単一方向入力バスと、
プロセッサ単一方向出力バスと、
レシーバの第１組および第１ゲーティング・ネットワークを介して前記プロセッサ単一方向入力バスに選択的に結合されるデバイス単一方向入力バスであって、前記単一方向デバイス入力バスが、前記レシーバの第１組の信号線を介して前記プロセッサ単一方向入力バスの対応する信号線に選択的に結合される、デバイス単一方向入力バスと、
レシーバの第２組、ドライバの第１組、および第２ゲーティング・ネットワークを介して前記プロセッサ単一方向出力バスおよび前記プロセッサ単一方向入力バスに選択的に結合されるデバイス両方向入出力バスであって、前記デバイス両方向入出力バスが、前記レシーバの第２組の信号線を介して前記プロセッサ単一方向入力バスの対応する信号線に選択的に結合されるとともに、前記ドライバの第１組の信号線を介して前記プロセッサ単一方向出力バスの対応する信号線に選択的に結合される、デバイス両方向入出力バスと、
前記第２ゲーティング・ネットワークを介して、（１）第１状態である時に前記ドライバの第１組をイネーブルし、前記レシーバの第２組をディスエーブルし、（２）第２状態である時に前記ドライバの第１組をディスエーブルし、前記レシーバの第２組をイネーブルするように動作可能なモード選択信号線と、
前記第１ゲーティング・ネットワークを介して、（１）第１状態である時に前記レシーバの第１組をイネーブルし、前記レシーバの第２組をディスエーブルし、（２）第２状態である時に前記レシーバの第１組をディスエーブルし、前記レシーバの第２組をイネーブルするように動作可能なバス・ゲーティング信号線とを備え、
前記プロセッサ単一方向入力バスおよび前記プロセッサ単一方向出力バスでの同時的な単一方向バス動作を可能にするために前記デバイス単一方向入力バスおよび前記デバイス両方向入出力バスを同時に使用する時には、前記モード選択信号線および前記バス・ゲーティング信号線の各々がそれぞれの前記第１状態にセットされ、
前記プロセッサ単一方向入力バスおよび前記プロセッサ単一方向出力バスでの順次的な単一方向バス動作を可能にするために前記デバイス両方向入出力バスのみを使用する時には、前記バス・ゲーティング信号線が前記第２状態にセットされるとともに、当該単一方向バス動作がドライブ動作またはレシーブ動作のいずれであるかに応じて、前記モード選択信号線が前記第１状態または前記第２状態にセットされるようにしたことを特徴とする、プロセッサ・バス構造。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、全般的にはデータ処理システムに関し、具体的には、マイクロプロセッサと外部システム要素の間の入出力通信に関する。
【０００２】
【従来の技術】
マイクロプロセッサ・チップ（集積回路）は、複雑さが増し、コンピュータ・システムのより多くの機能がマイクロプロセッサ・チップに集積されてきた。しかし、チップの性能は、情報、命令、およびデータの流れに依存する。プロセッサ速度が高まるのに対応して、プロセッサにデータおよび命令をより高速に供給する必要が生じる。メモリは、マイクロプロセッサ・チップとの通信における帯域幅についての要求が高まっているシステム要素の１つである。メモリ・アクセス速度の向上は、必ずコストの増加をまねいた。数年来、メモリは、性能要素に区分されてきた。キャッシュ・メモリは、マイクロプロセッサによって最もアクセスされる情報をロードされる高速メモリである。キャッシュ・メモリは、最高速であり、高性能システムでは、通常は、マイクロプロセッサ・チップ上に配置される。キャッシュ・メモリは、通常は、１チップ上のすべてのメモリのうちで、最高速のアクセス、最大の電力、最高のコスト、および最大のビットあたり面積を有するスタティックＲＡＭである。メモリ帯域幅、したがってキャッシュ・サイズが、プロセッサ速度に伴って増加するので、一部の高速メモリは、マイクロプロセッサ・チップの外に配置しなければならない。１チップ上に必要なすべての高速メモリを含めることは、チップ・サイズの増大を引き起こし、したがって、所与の設計に関する許容限度を超えて歩留まりを下げ、コストを高める。
【０００３】
一部のマイクロプロセッサ設計では、所与の設計の入出力ドライバおよび入出力ピンの数を減らす方法として、入出力信号線で両方向バスが使用される。両方向バスは、通常は、読取と書込を同時に行うことができないので、高い入出力帯域幅を必要とする多くのアプリケーションで、システム速度が低下する可能性がある。この問題に対する解決策の１つが、入出力の数を増やし、入力信号線用と出力信号線用の別々の単一方向バスを作り、したがって、帯域幅を倍にすることである。単一方向入出力バスは、マイクロプロセッサ・チップから出て第２レベル・パッケージングに接続されなければならない入出力の数を増やすことによって、チップ・コストを高める。入出力がより多くなると、システム・ボードのコストならびにそのマイクロプロセッサ・チップを使用するシステムの配線の複雑さも高まる可能性がある。
【０００４】
システムが性能を必要とする場合には、通常は、高い性能を実現するために高いコストを支払うことが適当である。しかし、多くの場合に、複数のシステム・レベル製品に所与のチップ・アーキテクチャおよび設計を使用することが望ましい。この場合には、システムの売上または収入の増加で回収できない場合に、性能に金をかけたくはない。しかし、特定のマイクロプロセッサ・チップ設計のユニットをより多く製造することによる経済規模を達成することによって総合製造コストを削減するために、システム全体のボリュームを使用することが有利になるはずである。
【０００５】
【発明が解決しようとする課題】
本発明は、マイクロプロセッサ・チップの入出力構造の代替設計によって、この問題に対する解決策を提供する。
【０００６】
【課題を解決するための手段】
本発明は、任意選択として高性能単一方向バスまたは低性能両方向バスに構成することができるマイクロプロセッサ・バス構造を開示する。マイクロプロセッサ・チップは、内部プロセッサ単一方向入出力バスを用いて設計される。これらのバスは、選択的に制御されるデバイス両方向入出力バスおよび任意選択で配線されるデバイス単一方向入力バスに結合される。動作の１つのモードでは、デバイス単一方向入力バスが、第１レベル・パッケージングを介して外部的に配線される。デバイス両方向入出力バスのレシーバをディスエーブルし、デバイス単一方向入力バスのレシーバをプロセッサ単一方向入力バスに結合できるようにする、２進単一方向イネーブル信号線も、この時に配線される。２進両方向モード制御信号線も配線されて、デバイス両方向バス内のドライバをイネーブルする。マイクロプロセッサ・チップは、第１レベル・パッケージ配線およびプリント回路ボード相互接続を介してプロセッサから外部デバイスに配線された、入力および出力のための別々の単一方向バスを有する。動作のもう１つのモードでは、デバイス単一方向入力バスがチップの外部に配線されず、２進単一方向イネーブル信号線が選択されず、単一方向レシーバがゲート・オフされる。デバイス両方向入出力バスが、プロセッサ単一方向入出力バスに結合される。２進両方向モード制御信号線はプロセッサの制御下のままになり、これによって、デバイス両方向入出力バスのドライバまたはレシーバを選択的にイネーブルすることができる。
【０００７】
前述は、以下の本発明の詳細な説明をよりよく理解できるようにするために、本発明の特徴および技術的長所をかなり大まかに示したものである。本発明の追加の特徴および長所は、本発明の請求の対象を形成する以下の部分で説明される。
【０００８】
【発明の実施の形態】
以下の説明では、本発明の完全な理解を提供するために、具体的なワード長またはバイト長などの多数の具体的な詳細を示す。しかし、そのような具体的な詳細なしで本発明を実施できることは、当業者には明白であろう。他の場合には、不要な詳細で本発明を不明瞭にしないために、周知の回路はブロック図形式で示した。ほとんどの部分で、タイミングの検討および類似物に関する詳細は、そのような詳細が本発明の完全な理解を得るのに必要でなく、関連技術における通常の技術を有するものの技術の範囲内である限り、省略した。
【０００９】
ここで図面を参照すると、図では、図示の要素が必ずしも原寸通りではないが、類似のまたは同様の要素は、複数の図面を通じて同一の符号によって指定されている。
【００１０】
図１は、入出力バス１０２を介して結合された、プロセッサ１００および入出力デバイス１０１からなるデータ処理システムを示す図である。入出力バス１０２は、Ｎビット幅であるものとして図示されている。この場合のＮは、バスの任意のビット数を表す。入出力バス１０２は、両方向バスとして指定される。というのは、プロセッサ１００から入出力デバイス１０１へのまたは入出力デバイス１０１からプロセッサ１００へのデータが、同一の配線または結合媒体を介して伝送されるからである。ほとんどの両方向バスは、同時に両方向ではないので、プロセッサ１００などのデバイスは、情報を送るためにプロセッサ１００をゲーティングし、情報を受け取るために入出力デバイス１０１もゲーティングするバス・マスタ（図示せず）に要求を送らなければならない。入出力デバイス１０１が、プロセッサ１００に送らなければならないデータを有し、それと同時にプロセッサ１００が、入出力デバイス１０１に送らなければならないデータを有する場合には、入出力デバイス１０１は、通常は、その要求がバス・マスタによって許可されるのを待つ。入出力バス１０２の競合のために、図１に示された入出力バス１０２の速度が低下する。最悪の場合、競合のオーバーヘッドを含む同等の送出要求および受取要求がある場合は、バスは、その送出または受取の帯域幅の半分未満に低速化するはずである。
【００１１】
図２は、２つの単一方向バス２００および２０１によって結合された同一のシステム要素を示す図であり、単一方向バス２００はデータ送出用、単一方向バス２０１はデータ受取用である。単一方向バス２００および２０１によって、バス競合が除去され、いずれかのデバイス（この例では、プロセッサ１００または入出力デバイス１０１）が、情報の送出と受取を同時に行えるようになる。図２のシステムに必要な配線または接続の数は、図１に示されたシステムの２倍である。
【００１２】
例示のシステムの構成でバス速度およびバス競合の問題があるのは、プロセッサと外部メモリの間の通信である。処理速度が速くなるほど、プロセッサがより高速に命令を実行する必要が生じ、データまたは処理機能で生成された結果の送出および格納をより高速に行う必要が生じる。しかし、所与のシステム・アーキテクチャをサポートするのに必要なメモリの量はプロセッサ命令実行速度と共に増加するので、チップ上に十分な高速（キャッシュ）メモリを配置して、プロセッサ・チップから離れた外部メモリへの高速通信の必要を完全になくすことが、常に可能なわけではない。
【００１３】
チップから結合される外部デバイスへ出る入出力信号線の性能は、これらの信号線での通信の速度が高まるにつれて、入出力信号線のキャパシタンス、インダクタンス、および長さによって劣化する。また、チップから出る入出力信号線の数によって、チップおよび外部とチップを結合する導体を収納する構造である第１レベル・パッケージのコストが引き上がる。第１レベル・パッケージまたは集積回路パッケージには、モジュールまたはプリント回路ボードもしくはプリント回路カードのいずれかである次のレベルの配線構造への結合に使用される導体が含まれる。集積回路が、それを他のチップまたは構成要素に結合する配線構造に直接に配線される「チップ・オン・ボード」または「チップ・オン・モジュール」回路パッケージを有することも可能である。
【００１４】
チップ・オン・ボードまたはチップ・オン・モジュールのいずれかでは、集積回路またはチップの入出力の数によって、集積回路またはプロセッサ・チップがその上で他のシステム・デバイスに配線される回路ボードの複雑さも増す。最新のプロセッサが高性能動作を容易にするために非常に幅広の入出力接続バスを有することがめずらしくない。これらの幅広の入出力バスによって、単一方向バスが使用される場合に、入出力および配線の問題はさらに複雑になる。
【００１５】
図３に、本発明のもう１つの実施形態を示す。破線３２０は、ＲＯ−１  ３２７ないしＲＯ−Ｎ  ３２８によって表される単一方向信号線のＮビット・バスの回路を示す。レシーバ（図ではＲＥＣ）３０２ないし３０５は、単にＮビット幅デバイス入出力バスの２つのレシーバである。入力信号であるＲＯ−１  ３２７およびＲＯ−Ｎ  ３２８は、レシーバ３０２および３０５に結合される。本発明のこの実施形態では、レシーバ３０２および３０５の出力が、オープン・コレクタ（図ではＯＣ）ＡＮＤゲートであるゲート３０１および３０４に結合される。ゲート３０１および３０４の出力は、オープン・コレクタ・デバイスとして図示されているように、これらの出力とオープン・コレクタのゲートであるゲート３０７および３１３とのワイヤードＯＲを容易にする。ゲート３０１および３０４またはゲート３０７および３１３の出力は、プロセッサ１００などのプロセッサへの入力になる。
【００１６】
破線３２１は、Ｎビット幅デバイス両方向入出力バスの２つのドライバおよび２つのレシーバを囲んでいる。Ｄ−１  ３２５ないしＤ−Ｎ  ３２６によって示されるプロセッサ（図示せず）からの出力信号線は、それぞれドライバ３０９および３１５に結合される。ドライバ３０９および３１５は、ドライバ・イネーブル信号線−ＤＲ  ３１１によってゲーティングされる。ドライバ・イネーブル−ＤＲ  ３１１がロウの時には、ドライバ３０９および３１５がイネーブルされ、ゲート３０７および３１３がディスエーブルされる。この条件の下で、信号線Ｄ／Ｒ−１  ３２９ないしＤ／Ｒ−Ｎ  ３３０によって示される両方向バスは、ドライブ・モードになる。ドライバ・イネーブル−ＤＲ  ３１１がハイの時には、ドライバ３０９および３１５がディスエーブルされ、＋ＥＮ  ３０６もロウの場合にはゲート３０７および３１３がイネーブルされる。＋ＥＮ  ３０６がハイの場合には、ゲート３０７および３１３がディスエーブルされ、ゲート３０１および３０４がイネーブルされて、２つの別々のバスでの単一方向バス動作が可能になる。
【００１７】
図３の回路は、プロセッサ側で単一方向であり、配線されたデバイス出力構造側で単一方向または両方向のいずれかであるバス構造の多数の可能な実施形態の１つの例にすぎない。本発明のこの実施形態では、プロセッサ入力バス信号線であるＲ−１  ３２３ないしＲ−Ｎ  ３２４が、Ｎビット幅プロセッサ入力バスの２つの信号線の例である。同様に、プロセッサ出力バス信号線であるＤ−１  ３２５ないしＤ−Ｎ  ３２６は、Ｎビット幅プロセッサ出力バスの２つの信号線である。これらの２つの単一方向バスおよび＋ＥＮ  ３０６は、基本マイクロプロセッサ・チップ構造内に設計される。ゲート３０１、３０４、３０７、および３１３によって示されるバス・ゲーティング・ネットワークの例は、両方向または単一方向のいずれかのデバイス・バス構造の選択を可能にするために実施される。
【００１８】
デバイス入出力性能が重要である応用例では、Ｄ／Ｒ−１  ３２９ないしＤ／Ｒ−Ｎ  ３３０によって例示される両方向バス信号線とＲＯ−１  ３２７ないしＲＯ−Ｎ  ３２８によって例示される単一方向バス信号線の両方が、２つの太線３３４および３３６によって例示される配線を使用して第１レベル・チップ・パッケージングを介してチップの外部に配線されるはずである。これに対応して、単一方向通信をサポートする入出力デバイスを、プリント回路カードを介してマイクロプロセッサ・チップに配線することができる。
【００１９】
＋ＥＮ  ３０６ゲート信号線を、太線３３９によって示される配線接続およびゲート３４０によって適当なレベルにセットして、プロセッサ・チップ内部の単一方向通信をイネーブルする。＋ＥＮ  ３０６のハイ・レベルによって、ゲート３０７および３１３もディスエーブルされ、レシーバ３０８および３１４がプロセッサ単一方向入力バスから除去される。
【００２０】
マイクロプロセッサ・チップが使用可能であるが、システムが入出力速度を必要としない応用例では、Ｄ／Ｒ−１  ３２９などの両方向信号線だけが、第１レベル・チップ・パッケージングを介してチップの外部に配線されるはずである。＋ＥＮ  ３０６ゲーティング信号線は、太線３３９によって示される配線接続が第１レベル・パッケージングを介してグラウンドに接続されない時にプルアップ抵抗３３１によって適当なレベルに駆動して、ゲート３０１および３０４を介して例示のレシーバ３０２および３０５をディスエーブルすることができる。さらに、太線３３４および３３６によって例示される接続を省略することができる。両方向バス構造は、低コスト・チップ・パッケージおよびより単純なプリント回路ボード配線のためにイネーブルされる。
【００２１】
本発明を実施するための代表的なハードウェア環境を、図４に示す。図４は、本発明のマイクロプロセッサ・チップ設計などの中央処理装置（ＣＰＵ）４１０と、システム・バス４１２を介して相互接続された複数の他のユニットとを有する、本発明によるデータ処理システム４１３の典型的なハードウェア構成を示す図である。データ処理システム４１３には、ランダム・アクセス・メモリ（ＲＡＭ）４１４、読取専用メモリ（ＲＯＭ）４１６、ディスク装置４２０およびテープ装置４４０などの周辺デバイスをシステム・バス４１２に接続する入出力アダプタ４１８、キーボード４２４またはタッチ・スクリーン・デバイス（図示せず）などの他のユーザ・インターフェース・デバイスをシステム・バス４１２に接続するユーザ・インターフェース・アダプタ４２２、データ処理システム４１３をデータ処理ネットワークに接続する通信アダプタ４３４、およびシステム・バス４１２をディスプレイ装置４３８に接続するディスプレイ・アダプタ４３６が含まれる。ＣＰＵ４１０には、マイクロプロセッサ内に一般的に見られる回路、たとえば実行ユニット、バス・インターフェース・ユニット、算術演算装置などの回路を含む、図示されていない他の回路を含めることができる。ＣＰＵ４１０は、単一の集積回路上に存在することもできる。本発明のバス構造を有するマイクロプロセッサ・チップを使用して、さまざまなシステム・ソリューションが可能になるはずである。
【図面の簡単な説明】
【図１】プロセッサがＮビット両方向入出力バスを介して入出力デバイスに結合されるデータ処理システムを示す図である。
【図２】プロセッサがＮビット単一方向入出力バスを介して入出力デバイスに結合されるデータ処理システムを示す図である。
【図３】単一方向バス構造または両方向バス構造のいずれかを選択するためのゲーティングを示す、本発明の一実施形態の回路実施形態を示す図である。
【図４】本発明に従って構成されたデータ処理システムを示す図である。
【符号の説明】
３０１  ゲート
３０２  レシーバ
３０４  ゲート
３０５  レシーバ
３０６  ＋ＥＮ
３０７  ゲート
３０８  レシーバ
３０９  ドライバ
３１１  −ＤＲ
３１３  ゲート
３１４  レシーバ
３１５  ドライバ
３２３  Ｒ−１
３２４  Ｒ−Ｎ
３２５  Ｄ−１
３２６  Ｄ−Ｎ
３２７  ＲＯ−１
３２８  ＲＯ−Ｎ
３２９  Ｄ／Ｒ−１
３３０  Ｄ／Ｒ−Ｎ
３３１  プルアップ抵抗
【図１】
0003574061.tif 000002
【図２】
0003574061.tif 000003
【図３】
0003574061.tif 000004
【図４】
0003574061.tif 000005