(57)【要約】【課題】チップ設計におけるチップの再設計時間を最小に抑える。【解決手段】カスタム設計チップを、可変でスケーラブルなモジュールマルチプロセッサ設計で、設計を含むモジュールの再設計を行わずに提供する方法である。この設計では、ＰＵモジュール、第１の複数のアシストプロセッシングモジュール、及び、各々が複数のアシストプロセッシングモジュールのうち異なる１つに関連付けられている第１の複数のＤＭＡコントロールモジュールが含まれる。複数のモジュールのうち１つ以上のモジュールを含む、第１のマルチプロセッサ設計を生成し、この第１の設計から、削減する、及び／又は、追加するモジュールの数を予め選択する。更に、予め選択されたモジュールが選択された数削減及び／又は追加された、第２のマルチプロセッサ設計を行う。【選択図】図４
2010272876.tif 000002
【特許請求の範囲】
【請求項１】
カスタム設計チップを、可変でスケーラブルなモジュールマルチプロセッサ設計で、前記設計を含むモジュールの再設計を行わずに提供する方法であって、
前記複数のモジュールに含まれるモジュールを有するマルチプロセッサ設計を生成するステップと、
前記マルチプロセッサ設計から、削減する、及び／又は、追加する前記モジュールの数を選択するステップと、
各モジュール上の、クロック及び電源供給メッシュの相対位置を規格化するステップと、
各モジュールの少なくとも１つの寸法のサイズを規格化するステップと、
バス接続部を必要とする各モジュールの同じ相対位置にモジュールバス接続部を設けるステップと、を含む
方法。
【請求項２】
前記複数のモジュールには、１以上のプロセッシングモジュール、及び前記１以上のプロセッシングモジュールにより制御される複数のアシストプロセッシングモジュールが含まれる、
請求項１記載の方法。
【請求項３】
集積回路チップであって、
前記チップ上に、モジュール回路の実質的部分を含む複数のモジュールを有し、前記複数のモジュールのうちの１以上は、前記複数のモジュールの他のモジュールと異なるファンクショナリティを有しており、かつ、前記複数のモジュールの各々の電気的接続部は、同一箇所に配置されており、
前記複数のモジュールの各々と相対的に同様に接続されたクロックメッシュを有し、
前記複数のモジュールの各々と相対的に同様に接続されたデバッグコントロールバスを有し、
前記複数のモジュールの各々と相対的に同様に接続されたパフォーマンスモニタバスを有し、
前記複数のモジュールの各々と相対的に同様に接続されたパワーマネージメントコントロールバスを有し、
前記複数のモジュールの各々と相対的に同様に接続された通信バスを有し、更に、
前記複数のモジュールの各々と相対的に同様に接続された電源メッシュを有する、
集積回路チップ。
【請求項４】
マルチプロセッサ集積回路チップであって、
異なるファンクショナリティを有する一方で電気接続ポイントの構成及び位置が共通とされた、複数のプロセッサコンポーネントモジュールと、
前記複数のプロセッサコンポーネントモジュールの、前記共通して構成及び配置された電気接続ポイントにインターコネクトされた、通信、電源供給及びクロックメッシュと、を含む
マルチプロセッサ集積回路チップ。
【請求項５】
プロセッサ集積回路チップを設計する方法であって、
異なるファンクショナリティを持つプロセッサコンポーネントモジュールを、同一の電気接続レイアウトを有する構成とするステップと、
前記集積回路上の、複数のポテンシャルコンポーネントモジュール位置の各々に対して、同じ相対接続ポイントを有するように、複数の通信及び電源供給メッシュの各々を構成するステップと、
所与のプロセッサのファンクショナリティを実現するために、前記コンポーネントモジュールのうちの適切なコンポーネントモジュールを、前記ポテンシャルコンポーネントモジュール位置に挿入するステップと、を含む
方法。
【請求項６】
集積回路チップ設計のファンクショナリティの変更を簡素化する方法であって、
モジュール寸法及び前記モジュールの電気的接続部配置のルールセットに従い、ファンクショナリティの異なる複数のプロセッサコンポーネントモジュールを構成するステップと、
前記複数のプロセッサコンポーネントモジュールとともに使用する電源供給、通信、及び全てのテストメッシュを、前記複数のプロセッサコンポーネントモジュールと同一手法で接続するよう構成するステップと、を含む
方法。
【請求項７】
チップ設計時間を短縮する方法であって、
チップの実装位置を示すグリッドの所定の相対位置に複製したモジュールを配置するステップと、
前記複製したモジュールの各々に対して、規格化した構造の電気的接続部を、電源供給及びクロックメッシュに加えて通信バスにも与えるステップと、を含む
方法。
【請求項８】
マルチプロセッサチップに組み込まれたコンポーネントの物理検証を簡素化する方法であって、規格化したモジュールの複製モジュールを使用するステップを含み、これにより所与のモジュールが所定のルールに従っているかをチェックすることで、ファンクショナリティが同じその他のモジュールの物理検証に対しての要件を最小限に抑える、
方法。
【請求項９】
チップ再設計のフレキシビリティを高める方法であって、
初期チップ設計で様々なファンクショナリティを有して電気接続及び寸法が規格化されたモジュールを使用するステップと、
前記チップの能力を高めるために、必要に応じて、前記既存の規格化したモジュールを更に追加するステップと、を有する
方法。
【請求項１０】
集積回路チップであって、
複数の回路機能を有する回路モジュールのための、チップの実装位置を示すグリッドの複数の所定の位置と、
前記所定の相対位置のうちのいくつかに設けられた、第１タイプの複数の複製モジュールと、
前記所定の相対位置のうちのその他の位置に設けられた、第２タイプの複数の複製したモジュールと、
前記複数の複製したモジュールの各々に接続された、規格化された構造の電気接続と、を含む
集積回路チップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路プロセッサチップ設計に関する。
【背景技術】
【０００２】
通常、新たなアプリケーション、新たな機能セット、あるいは従来のアプリケーションの機能向上のためにマルチプロセッサが要求される場合、新たなチップ設計が行われる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このような新たなチップ設計を行う場合、多大な努力が必要となる。言い換えれば、新たなチップが、既存のマルチプロセッサチップと同様に、一般的な機能を有するコンポーネントを備えていても、これら様々なコンポーネントの数が変化することもある。一例として、所与のアプリケーションに対して、あるマルチプロセッサチップは、ＲＡＭ（Random Access Memory）をかなりの数必要とする一方でキャッシュあるいは浮動小数点演算能力は最小限で良いという場合もある。別のアプリケーションでは、キャッシュあるいは浮動小数点演算能力のいずれかが拡張され、ＲＡＭはそれほど重要でないということもある。その他のアプリケーションにおいて、そのファンクショナリティあるいは機能性は、主にメディアアプリケーションを目的とする場合もある。
【課題を解決するための手段】
【０００４】
所与の、あるいは第１チップの様々な機能モジュールを作成するにあたって、まず、設計ルールセットを設定することが望ましい。これにより、この第１の、あるいは既存のモジュールチップ設計を使用して、実質的にモジュールを新たに作成することなく、既存のチップ作成に使用したモジュールの数を増減するというプロセスを実行することで、新たなチップを作成する。このようにモジュールを規格化することで、所与のアプリケーションに対してその能力を増減することが必要であると判断される場合、チップの再設計時間を最小に抑えることができる。更に、所与のファンクショナリティを有する複数の複製されたモジュールのうちの１つが物理検証を終えると、チップ設計処理とともに必要な、必須の物理検証時間も実質的に減る。
【０００５】
本発明は、完成品を得るために、基本設計からモジュールを増やして、あるいは、減らして、カスタムチップを簡単に構成することができるよう、ルールセットに従って構成された、基本のモジュールチップ設計を利用するステップを含む。
本発明及びその利点を更に完全に理解するために、以下の詳細な説明において、添付の図面を参照する。
【図面の簡単な説明】
【０００６】
【図１】マルチプロセッサＰＥ（プロセッシングエレメント）の主要コンポーネントを示すブロック図。
【図２】グラフィックシンセサイザーとして構成されたマルチプロセッサＰＥの主要コンポーネントを示したブロック図。
【図３】複数のＰＥを備えた大規模集積回路を含む、主要コンポーネントのブロック図。
【図４】使用されたモジュールアプローチの説明に用いられたモジュールチップの部分平面図を単純化したブロック図。
【発明を実施するための形態】
【０００７】
以下の記載において、ＰＥ（Processor Element:プロセッサエレメント）は、プロセッシングユニット（ＰＵ）を含む。一般的にＰＵは、マルチプロセッサオペレーションの複数のＡＰＵ（Attached or Assisting Processor Unit:付加プロセッシングユニット）のオペレーションに関連付けられ、また、そのオペレーションの制御に使用される。各ＡＰＵは、ＬＳ（Local Storage:ローカルストレージ）及び浮動小数点処理能力などの、その他の内部コンポーネントを含み得る。通常、ＰＥは、ＤＭＡＣ（Direct Memory Access Controller:ダイレクトメモリアクセスコントローラ）も含み、また、何らかの方法でメモリに接続される。このメモリは、ＳＲＡＭ（Static Random Access Memory:スタティックＲＡＭ）、ＣＤＲＡＭ（Custom Dynamic Random Access Memory:カスタムダイナミックランダムアクセスメモリ）などのような、様々な形態であり得る。ＰＥは、何らかの手法により、ある種のＩ／Ｏ（入力／出力）インターフェースを介してその他のエレメント及びコンポーネントに接続される。その他のエレメント及びコンポーネントとしては、モニタ、外部メモリ、プリンタ、などが挙げられる。ＰＥは、単に演算処理を行うためにセットアップされるか、あるいは、ＧＳ（グラフィックシンセサイザー）として動作するというように、その他の機能を提供するものとしてもよい。ＧＳとして動作するようにセットアップされる場合、ＰＥは、ピクセルエンジン、イメージキャッシュ、及び、ＣＲＴＣ（Cathode Ray Tube Controller:ブラウン管コントローラ）などの、付加的コンポーネントを含み得る。上述したこれらのコンポーネント、例えば、ＰＵ、ＡＰＵ、ＣＲＴＣ、ピクセルエンジン、ＤＭＡＣなどの各々は、集積回路チップの構成に利用される、別々のモジュールとみなされ得る。各コンポーネントは、その他のアプリケーションのために、浮動小数点演算モジュール、ＤＳＰ（Digital Signal Processingデジタル信号処理）モジュール、及びＦＰＧＡ（Field Programmable Data Array:フィールドプログラマブルデータアレイ）などを含み得る。
【０００８】
本書類に示した教示及びルールに従って設計されたマルチプロセッサチップの種類に関する更なる情報は、２００２年９月２６日にＵＳ２００２／０１３８７０７ Ａ１号として公開された、２００１年３月２２日出願の米国特許出願第０９／８１５，５４４号等の、様々な米国特許出願に見出すことができる。この出願の教示は、参照として本願に組み込まれている。
【０００９】
図１において、ＰＥ１００は、演算処理用のセットアップを概略的に示し、メモリ１０２と通信した状態で示されている。
【００１０】
図２において、ＰＥ２００は、グラフィックシンセサイザーとしてのセットアップを概略的に示し、メモリ２０２と通信した状態で示されている。
【００１１】
図３は、４つのＰＥ３０２、３０４、３０６、及び３０８を含むシングルチップ３００を示す。このチップ３００は、Ｉ／Ｏブロック３１０に接続し、オフチップバスを介してチップ３００の外部デバイスと通信する。チップ３００は、別々にビデオデバイスにも接続している。
【００１２】
図４では、ＰＵモジュール４０２を取り付けた、チップ４００の一部の例示的上面図を示す。モジュールを含むＡＰＵ４０４と４０６とのペアが並列にかつ、ＰＵ４０２に隣接して実装される。ＡＰＵ４０４とＡＰＵ４０６に隣接して、別のモジュールを含むＡＰＵ４０８と４１０との同様のペアが図示される。ＡＰＵ４０８とＡＰＵ４１０に隣接して、ピクセルエンジンモジュール４１２とイメージキャッシュモジュール４１４が図示される。モジュールの各々は、リング型バス４１６によって相互接続される。図示するように、モジュールの各々の中央部分にバス４１６が接続しており、そのために、ＡＰＵの各々に、接続セットを与えることもできる。図４に示すチップの一部は、図２に例示したグラフィック機能を実現するのに必要な多くのコンポーネントあるいはモジュールを含む。図４の説明図は、完全なＰＥを示すことを意図するものではなく、本発明によるモジュールマルチプロセッサの設計に用いるプロセスの説明に用いられるものである。図示されていない部分としては、バス４１６を外部メモリに接続するメモリアクセスコントローラが挙げられる。同様に、図示されてはいないが、集積回路チップには共通のアイテムとしては、クロック信号をモジュールの各々に送るための、図示したコンポーネントに重ねられるクロックメッシュが挙げられる。更に、モジュールの各々に電力供給を行うために使用する電力供給メッシュが存在する。図３のブロック３１０に示すようなＩ／Ｏコントローラを介しての、外部デバイスとの通信には、オフチップバス３１２を使用する。上述した電力供給及び通信メッシュは、それらのファンクショナリティが全く違っていても、以下に述べるルールに従って、同一の方法で、多くのモジュールの各々と接続される。このようにして、通信バスメッシュ、クロックあるいは電力供給メッシュなどの同一のメッシュは、モジュールのファンクショナリティに関係なく、所与の物理的位置でモジュールに接続し得る。
【００１３】
本発明による、マルチプロセッサチップ、例えば３００など、の設計に用いる設計法は、いくつかの規格化されたルールに従う。既に述べたルールの１つとしては、少なくとも１つの寸法、例えば、幅、が実質的に同寸法となるように、モジュールの各々を設計すること、が挙げられる。ＰＵモジュールなどの、その他のコンポーネントと比べると、ＡＰＵが実質的に要求する体積は小さいこと、更に、多くのＡＰＵは一般的にＰＥで使用されることから、２つのＡＰＵを、その両面がバス４１６に接続し得るように、単一のモジュールにおいて並列に設計した。モジュール４０２、４１２、及び４１４等のいずれのモジュールも、単一の総合的ファンクショナリティが与えられるように構成されたものとなっており、これにより、バスへの接続部は、モジュールの同じ相対位置に設けられている。
従って、第２ルールとしては、全モジュールが、モジュールの同じ相対位置において、通信バス、電力供給、クロック、テスト、及び、あらゆる電気的接続を有すること、が挙げられる。２つの完全に別の機能を有するようにモジュールが設計される場合、その両側面部分が共通のバスに接続するように設計される。別のルールとしては、全モジュールにセルフテストロジックを組み込み、また、全モジュールに対して同じ方法でそのテスト結果を出力する、ことが挙げられ得る。言い換えれば、更なるルールとして、共通のバス上のシングルバス、あるいはパスセットから全データが集められることになるが、コンポーネント試験は分散して行われる。本システムのプロセッサコンポーネントモジュールの設計に従う別のルールとしては、プロセッサの機能を非常に一般化したこと、が挙げられる。
言い換えれば、ＡＰＵは、あるプロセッサが他のプロセッサと比較して一つの機能をよりうまく実行できるかを考慮して設計するよりは、全てをうまく処理できるよう設計されたものとなっている。明らかに、これまでに示したルールセットは完全なものではなく、むしろ、プロセスの例に過ぎない。そのために、各ＰＥの各モジュールは、寸法、及び、その他のモジュールや、その他の通常使用される回路、例えば、電力供給、クロック、テスト、及び、通信への相互接続に関して、ＰＥのあらゆるモジュールとできるだけ同一である必要がある。更に、各モジュールは、できるだけ違いのないタイプのモジュールが使用され得るように、できる限り一般化される。
【００１４】
上述したルールあるいはパラメータセットを念頭において、チップ３００などの所与のチップが一旦設計されると、３０２などの演算処理のＰＥ、あるいは、３０６などのグラフィック性能のＰＥだけを備えて、カスタマイズされたチップが容易に生成され得るのは明らかであろう。更に、所与のチップ上のＰＥ数を容易に２つにまで減らす、あるいは８つまで増やすことができる。更に、ＰＥのＡＰＵ数を８から６に減らすことが望まれる場合、チップ上に要求される各ＰＥから１つのＡＰＵモジュールを減らすことで、そのような減算を簡単に行うことができる。好適な実施形態では、全てのモジュールは相互に、あるいは、４１６などのリングバスを介して、メモリと通信するので、設計をそのように変更する場合は、単に通信するモジュールの数が減るだけとなる。
【００１５】
要約すると、本発明は、各モジュールがチップ上のその他のモジュール、及び、外部デバイスと実質的に同じ方法で通信し、また、各モジュールのバス及び信号メッシュ接続部が、同一基準で設計され、構成されるように、モジュールを用いてマイクロプロセッサチップを設計するステップを含む。そのようなルールセットを使用することによって、類似しているもののカスタム化されたチップの設計が可能になり、個々のモジュールに更なる設計をすることなく、個別にカスタム設計したチップ上のモジュール数を増加あるいは減少させることができる。更に、親チップに使用された、同一ルールの接続及び機械的構造が適用されるので、カスタムチップのための設計時間を非常に短縮することができる。チップ上のモジュール数を増やす、あるいは、減らす、という変更だけの場合、単にチップのスケールアップまたはスケールダウンを行うことがより簡単であろう。既に述べたように、モジュールを規格化することによって、所与のアプリケーションがより高い、あるいは、より低い性能を必要とすると判断されると、チップの再設計時間を極最小に抑えることができる。更に、所与のファンクショナリティの複数の複製されたモジュールのうちの１つが物理検証を終えると、チップ設計処理とともに、必須の物理検証時間が実質的に減る。
【００１６】
具体的な実施形態を参照して本発明を説明してきたが、そのような説明は限定的な意味に解釈されることを意図するものではない。本発明の他の実施形態とともに、開示された実施形態の様々な変形は、本発明の説明を読めば、当業者には明らかであろう。従って、請求項は、本発明の範疇に属する全てのそのような変形あるいは実施形態をカバーするものであると考えられる。
要約すると、本実施形態においては、マルチプロセッサ集積回路チップとともに使用できる機能モジュールの処理あるいは設計アプローチが開示されている。このアプローチには、各モジュールの寸法を実質的に同じ寸法に維持すること、及び、全モジュール上に、同様に構成されたバス、電源供給、クロック、及び、Ｉ／Ｏ接続部を有すること、が挙げられる。また、使用を簡単にするための更なる要件として、各モジュールの能力をできるだけ一般化すること、及び、各モジュール内で最初に実施される、テストなどの機能を分散化すること、が挙げられる。そのような考慮事項あるいはルールを使用することによって、所与のタイプのカスタムチップ設計を実質的に簡単にする。また、初期チップ設計に基づき、初期チップの設計が無事完了した後に、同様のアプリケーションにおいて、更なるカスタムチップの設計を非常に簡単に行うことができる。チップ能力要件が再定義され、あるいは、変更される場合、モジュールを規格化して所与のチップにモジュールを複製することによって、初期チップの再設計時間に加えて、初期チップ設計の物理検証時間も低減する。その後に設計されるチップ、あるいは、更にカスタマイズされたチップは、いずれも、既に確立されたパラメータに基づいて固有のモジュールが増加あるいは減少されたものとなる。
【符号の説明】
【００１７】
１０２、２０２ メモリ
３００ チップ
３１２ オフチップバス
４００ チップ
４０２ モジュール
４１２ ピクセルエンジンモジュール
４１４ イメージキャッシュモジュール
４１６ リング型バス
【図１】
2010272876.tif 000003
【図２】
2010272876.tif 000004
【図３】
2010272876.tif 000005
【図４】
2010272876.tif 000006