(57)【要約】      （修正有）【課題】単一パッケージにプロセッサー装置を共に実装する、複数のダイを積み重ねるパッケージ方法を提供する。【解決手段】１つ以上の命令を実行するプロセッサーロジックは、２つ以上の向かい合わせに積み重ねられたダイ１０２，１０４に配分される。プロセッサーは、積み重ねられたダイの間に導電性インターフェース２７５を有し、ダイ間通信を可能にする。プロセッサーの性能（例えば、クロック周期当たりの命令数により測定される）及び熱及び電力管理の効率は、連携して命令を実行するよう共に機能する２つの積み重ねられたダイの間で、プロセッサーのコアを分離することにより、実現される。【選択図】図１７
2011029663.tif 000002
【特許請求の範囲】
【請求項１】
第１のダイに配置され、実行パイプライン動作の第１のステージを実行可能な実行パイプラインの第１のステージ部、
第２のダイに配置され、前記実行パイプラインの第１のステージ部が前記実行パイプライン動作の第１のステージを実行するのに応答して、前記実行パイプライン動作の第２のステージを実行可能な実行パイプラインの第２のステージ部、及び
前記実行パイプラインの第１のステージ部を前記実行パイプラインの第２のステージ部に結合する結合インターフェース、
を有し、
前記第１及び第２のダイは、前記実行パイプラインの第１のステージ部が前記実行パイプラインの第２のステージ部と少なくとも部分的に重なり合うように更に結合される、
ことを特徴とする装置。
【請求項２】
前記実行パイプラインの第１のステージ部は、スケジューリング動作を実行可能なスケジューリングステージを有し、
前記実行パイプラインの第２のステージ部は、前記スケジューリングステージが前記スケジューリング動作を実行するのに応答して、演算動作を実行可能な実行ステージを有する、
請求項１記載の装置。
【請求項３】
クリティカルデータパスは、前記実行パイプラインの第１のステージ及び前記実行パイプラインの第２のステージ部を有する、
請求項１記載の装置。
【請求項４】
前記実行パイプラインの第１のステージ部は、フェッチ動作を実行可能なフェッチステージを有し、
前記実行パイプラインの第２のステージ部は、デコード動作を実行可能なデコードステージを有する、
請求項１記載の装置。
【請求項５】
前記実行パイプラインの第１のステージ部は、演算動作を実行可能な実行ステージを有し、
前記実行パイプラインの第２のステージ部は、メモリーアクセス動作を実行可能なメモリーアクセスステージを有する、
請求項１記載の装置。
【請求項６】
前記実行パイプラインの第１のステージ部は、命令ポインタ生成動作を実行可能な命令ポインタ生成ステージを有し、
前記実行パイプラインの第２のステージ部は、フェッチ動作を実行可能なフェッチステージを有する、
請求項４記載の装置。
【請求項７】
前記実行パイプラインの第１のステージ部は、第１の命令パイプラインステージ動作を実行可能な第１の命令パイプラインステージを有し、
前記実行パイプラインの第２のステージ部は、第２の命令パイプラインステージ動作を実行可能な第１の命令パイプラインステージを有する、
請求項１記載の装置。
【請求項８】
前記第１のステージ及び第２のステージは、前記実行パイプラインの連続するステージである、
請求項１記載の装置。
【請求項９】
前記第１のステージ及び第２のステージは、前記実行パイプラインの連続するステージではない、
請求項１記載の装置。
【請求項１０】
前記実行パイプラインの第１のステージ部は、レジスタリネーム動作を実行可能なレジスタリネームステージを有し、
前記実行パイプラインの第２のステージ部は、退避動作を実行可能な退避ステージを有する、
請求項９記載の装置。
【請求項１１】
演算実行部及び第１の配列の一部を有する第１のダイ、
前記第１の配列の一部とダイ間結合により結合され、命令と関連付けられた演算動作中に前記第１の配列の一部と共に配列として連携して動作する第２の配列の一部を有する第２のダイ、
を有し、
前記ダイ間結合は、前記第１の配列の一部が前記第２の配列の一部と少なくとも部分的に重なり合うように、前記第１の配列の一部及び前記第２の配列の一部を更に結合する、
ことを特徴とする装置。
【請求項１２】
前記第１のダイは、第１のスケジューリング部の一部を更に有し、
前記第２のダイは、前記第１のダイとダイ間結合により結合される第２のスケジューリング部の一部を更に有し、前記第１のスケジューリング部の一部と共にスケジューリング部として連携して動作する、
請求項１１記載の装置。
【請求項１３】
前記第１のダイは、第１のアドレス生成部の一部を更に有し、
前記第２のダイは、第２のアドレス生成部の一部を更に有し、
前記第１のアドレス生成の一部は、前記第２のアドレス生成部の一部と結合され、前記第２のアドレス生成部の一部と共にアドレス生成部として連携して動作する、
請求項１１記載の装置。
【請求項１４】
前記配列は、レジスターファイルの配列、マイクロコードメモリーの配列及びキャッシュメモリーの配列のグループから選択された１つの配列である、
請求項１１記載の装置。
【請求項１５】
マイクロプロセッサーは、前記第１の配列の一部を有する前記第１のダイ、前記第２の配列の一部を有する前記第２のダイ及び前記第１のダイに配置されたインターフェースを有し、
当該装置は、前記マイクロプロセッサーの前記インターフェース部と結合されたメモリーを更に有するシステムであり、
前記メモリーは、前記マイクロプロセッサーにより実行されると、前記マイクロプロセッサーに前記第１のダイの前記第１の配列の一部及び前記第２のダイの前記第２の配列の一部を呼び出させる命令を格納する、
請求項１１記載の装置。
【請求項１６】
第１のダイに配置された演算ロジック、
第２のダイに配置されたキャッシュメモリー、及び
該キャッシュメモリーが前記演算ロジックと少なくとも部分的に重なり合うように、前記第１のダイを前記第２のダイに結合する結合インターフェース、
を有するプロセッサー。
【請求項１７】
前記演算ロジックは、前記キャッシュメモリーからデータを読み出すロードロジックを有する、
請求項１６記載のプロセッサー。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書は、一般に情報処理システムに関連し、より詳細には、ロジックが複数の積み重ねられたダイに区分化されているプロセッサーに関する。
【背景技術】
【０００２】
携帯電話及びノートパソコンのような電子機器は、一般に、プリント基板（ＰＣＢ）に搭載された複数の集積回路（ＩＣ）パッケージを有する。ＩＣパッケージは、一般に、基板又はリードフレーム上の単一のＩＣダイを有する。ダイ及び基板は、プラスチックのような素材に封入される。封入したパッケージは、そして、ＰＣＢのような別の基板に搭載される。種々のパッケージ方法が、このような電子素子の性能を向上するために利用されている。
【０００３】
マルチチップモジュール（ＭＣＭ）は、共通基板に相互接続された２つ以上の「裸の」又はパッケージされていない集積回路ダイを有することができるＩＣパッケージである。ＭＣＭは一般に、横方向に隣接するよう単一のパッケージに組み込まれた複数の個別ＩＣダイを有するので、ＭＣＭを利用する電子素子の大きさは削減できる。
【０００４】
システムオンチップ（ＳｏＣ）技術は、単一のＩＣダイ上の（携帯電話又はデジタルカメラのような）「システム」に必要な電子回路及び部品の大部分又は全てのパッケージ化である。例えば、音声検出装置のシステムオンチップは、音声受信機、アナログデジタル変換器、マイクロプロセッサー、メモリー、及び入出力制御ロジックを単一のＩＣダイに有して良い。
【０００５】
ＩＣパッケージの専有面積と体積を削減しようとする別の種類のＩＣパッケージ構成は、スタックドチップスケールパッケージ（スタックドＣＳＰ）として知られる。スタックドＣＳＰは、元来、空間効率的なＭＣＭであり、複数のダイが（一方向を向いて）積み重ねられ、単一パッケージに統合される。スタックドＣＳＰパッケージングは、単一パッケージ内に、フラッシュ及びＳＲＡＭ（スタティックランダムアクセスメモリー）のような、異種のダイを垂直に積み重ねることにより、携帯電話及び他のポータブル機器の製造者に、彼らの製品を小型化可能にさせる。２つ以上の異種ＩＣダイを単一パッケージに垂直に組み込んだスタックドＣＳＰを利用することにより、無線機器は、従来の単一ダイパッケージで構成される機器より、低コスト、軽量、及び小さい基板空間を有する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願明細書は、単一パッケージにプロセッサー装置を共に実装する、複数のダイを積み重ねるパッケージ方法を述べる。
【課題を解決するための手段】
【０００７】
例えば、プロセッサーの性能（例えば、クロック周期当たりの命令数により測定される）及び熱及び電力管理の効率は、連携して命令を実行するよう共に機能する２つの積み重ねられたダイの間で、プロセッサーのコアを分離することにより、実現される。
【図面の簡単な説明】
【０００８】
【図１】開示される特長を示すマルチダイプロセッサーの少なくとも１つの実施例のブロック図である。
【図２】マルチダイプロセッサーの少なくとも１つの実施例の更に詳細を示すブロック図である。
【図３】命令実行パイプラインを示す少なくとも１つの実施例を説明するデータフロー図である。
【図４】ロードアクセスパスを示すデータフロー図である。
【図５】スケジュール実行データパスを示すデータフロー図である。
【図６】マルチダイの表面の導電素子を示すブロック図である。
【図７】単一ダイのスカラープロセッサーのロジックのスカラー配置図の例を示すブロック図である。
【図８】図７に示されるロジックを２つの向かい合うスタックドダイの間に区分及び配置する、少なくとも１つの実施例を示すブロック図である。
【図９】マルチダイプロセッサーの少なくとも１つの実施例の距離を削減したロードアクセスデータパスの平面図である。
【図１０】マルチダイプロセッサーの少なくとも１つの実施例の距離を削減したスケジュール実行データパスの平面図である。
【図１１】少なくとも１つの実施例による、２つの向かい合うスタックドダイの間に区分化されたプロセッサーロジックのブロック間のジグザグ状のデータパスを示すブロック図である。
【図１２】２つの向かい合うスタックドダイの間に区分化された分離された配列の少なくとも１つの実施例を示すブロック図である。
【図１３】２つの向かい合うスタックドダイの間に区分化された分離された演算ロジックの少なくとも１つの実施例を示すブロック図である。
【図１４】２つの向かい合うスタックドダイの間に区分化された分離されたスケジューリングロジックの少なくとも１つの実施例を示すブロック図である。
【図１５】２つの向かい合うスタックドダイの間に区分化された分離された浮動小数点演算ロジックの少なくとも１つの実施例を示すブロック図である。
【図１６】２つの向かい合うスタックドダイの間に区分化された分離されたアドレス生成ロジックの少なくとも１つの実施例を示すブロック図である。
【図１７】マルチダイプロセッサーを有する処理システムの少なくとも１つの実施例を示すブロック図である。
【発明を実施するための形態】
【０００９】
本発明は、以下の図を参照して理解される。図中の類似の参照符号は、類似の要素を示す。これらの図は、本発明を制限するものではなく、プロセッサーのロジックが複数ダイの間で区分化されているマルチダイプロセッサーの装置及びシステムの選択的な実施例を説明するためのものである。
【００１０】
本願明細書は、マルチダイプロセッサー装置及びシステムの選択的な実施例を説明する。以下の説明では、要素間通信の仕組み、特定のパイプラインステージ、分割されたロジックの重なり構成等の多くの特定の詳細が述べられ、本発明の完全な理解を提供する。しかしながら、当業者は、本発明がそのような特定の詳細にかかわらず実施されて良いことを理解するだろう。更に、いくつかのよく知られた構造、回路等は、本発明を不必要に不明瞭にすることを避けるため、詳細に示されない。
【００１１】
図１は、１つ以上の命令を実行するマルチダイプロセッサーコア１００のブロック図である。プロセッサーコアは、汎用又は特定用途向けプロセッサー、デジタルシグナルプロセッサー、画像処理プロセッサー、通信プロセッサー、ネットワークプロセッサー、又は１つ以上の命令を実行する他のプロセッサーであって良い。図１は、第１のダイ１０２及び第２のダイ１０４を有するプロセッサーパッケ―ジ１００を示す。第１及び第２のダイは、連携して動作し命令を実行する。つまり、ダイ１０２、１０４のどちらも完全に機能するプロセッサーではなく、プロセッサーの機能は、２つのダイ１０２、１０４の間で「分離」されている。
【００１２】
第１のダイ１０２及び第２のダイ１０４のそれぞれの少なくとも１つの実施例は、表面と裏面を有する。「表面」は、形成された集積回路を有する側のダイの面を指す。この表面は、シリコン活性層を有する側のダイの面を指す。ダイの「裏面」は、（シリコン基板のような）非活性層を有する側であり、放熱板、Ｃ４  Ｉ／Ｏバンプ、基板等の別の構造と結合されて良い。
【００１３】
図１が示すように、第１のダイ１０２及び第２のダイ１０４の少なくとも１つの実施例は、向かい合う方向で共に結合されている。エポキシ樹脂又は他の接着剤を用いた結合機構よりむしろ、第１のダイ１０２と第２のダイ１０４の表面は、導電性インターフェースを経由して共に結合される。少なくとも１つの実施例では、第１のダイ１０２の表面にある導電素子１０６は、第２のダイ１０４の表面にある導電素子と結合される。例えば、対応する導電素子１０６、１０８は、共に結合され導電性のダイ間インターフェース（図２の２７５を参照）を作る銅バイアスであって良い。
【００１４】
図６は、第１のダイ６０２及び第２のダイ６０４上の導電素子１０６、１０８の配置の選択の範囲を更に示す。図６は、第１のダイ６０２及び第２のダイ６０４の表面を示す。留意すべきは、導電素子１０６、１０８は、それぞれダイ６０２、６０４の表面の如何なる位置に置かれても良いことである。図６は、各ダイ６０２、６０４の全体を覆う複数の導電素子１０６、１０８を示すが、当業者は、各ダイ６０２、６０４の表面の領域の如何なるサブセットも、導電素子１０６、１０８を有して良いことを理解するだろう。
【００１５】
図６は、各ダイ６０２、６０４は、周辺領域６０６及び中央領域６０８を有することを示す。第２のダイ６０２の導電素子１０６は、ダイの中央領域６０８ａ内に及び／又はダイの周辺領域６０６ａに沿って配置されて良い。同様に、第２のダイ６０４の導電素子１０８はまた、ダイ６０４の中央領域及び／又は周辺領域を含む、ダイ６０４の表面のどこに配置されて良い。結果として、どちらのダイの表面にも、「禁止」領域はない。従って、第１及び第２のダイ６０２、６０４は、同一の大きさ及び形状であって良い。それらは、従って、積み重ねられたとき、完全に重なり合う。他の実施例では、異なる大きさ及び形状が利用され、及び／又は重ね合わせは限定的又は部分的であって良い。
【００１６】
図２は、開示された技術に従い作成されたマルチダイプロセッサーの少なくとも１つの実施例２００の更に詳細を示すブロック図である。第１のダイ１０２の表面は、シリコン活性層２０３及び１つ以上の金属層２１４を有する。第２のダイ１０４の表面も、シリコン活性層２０５及び１つ以上の金属層２１６を有する。
【００１７】
図２は、ダイ１０２、１０４のそれぞれの裏面は、非活性のバルクシリコン２２０、２３０をそれぞれ有することを更に示す。第１のダイ１０２の裏面はまた、１つ以上の裏面バイアス２３３を有し、第１のダイ１０２のシリコン活性層２０３から金属の入出力（Ｉ／Ｏ）である半田バンプ２１２への通信経路を提供する。バイアス２３３は、例えば、銅でできていて良い。
【００１８】
Ｉ／Ｏ２１２バンプは、処理システムのインターフェース部（図１７の１７０４を参照）のような、マルチダイプロセッサーの外部の構造と通信するための手段を提供する。インターフェース部は、両方のダイに存在して良い、Ｉ／Ｏバンプ２１２と結合されて良い。代案として、Ｉ／Ｏバンプ２１２は、図２に示された第１のダイ１０２のように、２つのダイの１つにのみ存在して良い。従って、インターフェース部は、複数のダイの１つのみと結合される。インターフェース部は、Ｉ／Ｏバンプ２１２との通信で、処理システムの他の要素と通信するためのマルチダイプロセッサー２００の機構を提供する。例えば、インターフェース部及びＩ／Ｏバンプ２１２は、プロセッサーからのメモリーアクセス要求を処理するための、プロセッサー２００とメモリーシステム（図１７の１７５０を参照）の間の通信を促進する。
【００１９】
図２は、非活性層のシリコン２３０の裏面が放熱板２１０と結合されて良いことを示す。
【００２０】
図３は、プロセッサーの命令パイプライン３００の例を示すブロックフロー図である。図３に示された説明のため命令パイプライン３００は、以下のステージを有する。命令ポインタ生成３０２、命令フェッチ３０４、命令デコード３０６、レジスターリネーム３０８、スケジューリング３１２、実行３１３、及び命令退避３１４である。図３に示されたパイプライン３００は、単に説明を目的としたものであり、本願明細書で説明される技術は、如何なるプロセッサーにおいて利用されて良い。プロセッサーが命令パイプライン３００を利用する実施例では、パイプライン３００のステージは、図３と異なる順序で出現して良く、又はより多くの異なる又は他のステージに分離されて良い。
【００２１】
本願明細書で開示される技術は、パイプライン３００が図３と異なる又は多くのパイプラインステージを有するプロセッサーに利用されても良い。例えば、パイプライン３００の別の実施例は、ローテーション、例外検出等の追加のパイプラインステージを有して良い。更に、ＥＰＩＣ型（明示的並列コンピューティング）プロセッサーは、命令セットに種々の長さの命令を有するプロセッサーのパイプラインに現れるよりむしろ、ワードラインデコードステージ、構造的リネーム等のような、異なるパイプラインステージを有して良い。また、いくつかのプロセッサーは、命令をマイクロ動作にデコードするデコード段階３０６を有さなくて良い。
【００２２】
図４及び５は、命令の実行中に、パイプライン３００を通る種々のデータパスが生じて良いことを示す。これらパスのいくつかは、性能を決定づけるデータループを構成する。例えば、図４は、ロード命令の実行中に、ロードアクセスデータパス４２０が、命令パイプラインステージ３１３のロード／ストア演算実行部（図示されない）からデータキャッシュ３６５へ生じて良いことを示す。このようなロードアクセスデータパス４２０は、ソフトウェアコードに固有のデータ依存性のため、つまりいくつかの後に起こる命令は、前のロード命令からのデータがメモリーから読み出され、後の命令が利用可能になるまで実行できないため、性能を決定づけるデータループである。
【００２３】
同様に、他の性能を決定づけるループは、プロセッサーの命令の実行中に生じて良い。例えば、図５は、スケジュール実行データパス５２０も性能を決定づけるループであることを示す。同様に、このようなスケジュール実行データパス５２０は、ソフトウェアコードに固有のデータ依存性のため、つまりいくつかの後に起こる命令（コンシューマ）は、前の命令（プロデューサー）がコンシューマ命令により利用されるべきレジスター値を計算完了するまで実行できないため、性能を決定づけるループである。
【００２４】
例えば図１及び２にそれぞれ示された実施例１００、２００のような、マルチダイプロセッサーは、クリティカルデータパスを短縮するよう、複数のダイの間で区分化され良い。例えば、図４及び５にそれぞれ示されたロードアクセスパス４２０及びスケジュール実行パス５２０は、第１及び第２の向かい合うダイの間で、プロセッサーのロジックを賢明に区分化及び配置することにより、短縮されて良い。
【００２５】
図７は、例えば、スカラープロセッサーのレイアウトの例を示す。この例では、プロセッサーのロジックは、単一のダイ７００に配分される。図７は、図４及び５にそれぞれ示されるデータパス４２０、５２０を示す。ロードアクセスデ―タパス４２０は、汎用レジスターファイル７０２で開始し、ロジック７０４の演算実行部ブロック内のロード／ストア演算実行部を通り、そしてデータキャッシュ３７０６へ進みロードデータを取得する。データキャッシュ７０６に到達するため、演算実行部ロジック７０４を横切ることによる時間遅延は、参照符号７３２により示される。一旦、ロードデータがデータキャッシュ７０６から読み出されると、データは、実行ロジック７０４の前に戻される。データキャッシュ７０６から実行ロジック７０４の前へ所望のロードデータを得ることによる時間遅延は、参照符号７３０により示される。
【００２６】
スケジュール実行データパス５２０に関し、図７は、スカラープロセッサーロジック７００の例におけるパス５２０を示す。図７は、このようなパス５２０は、スケジューリングロジック７０８で開始し、汎用レジスターファイル７０２、実行ロジック７０４、データキャッシュ７０６を通り、そしてスケジューリングロジック７０８へ戻ることを示す。
【００２７】
図８は、プロセッサーロジックの少なくとも１つの実施例を、図７に示されたプロセッサーロジックの例のように示す。図８の例では、プロセッサーロジックは、２つの分離したダイ８０２、８０４の間に配分されている。図８はロジック特定の配置を示すが、図８は、プロセッサーの命令処理ロジックが２つ以上のダイに分離されて良いことを示す、単に一般的な目的のためのものであると理解されるべきである。図８に示される、第１及び第２のダイ８０２、８０４のプロセッサーロジックの特定の配置は、限定的なものではない。
【００２８】
プロセッサーロジックを２つのダイ８０２、８０４に分離する少なくとも１つの方法は、例えば、電力密度の問題を改善するよう設計されて良い。つまり、プロセッサーは多くの場合、面積当たりの電流値を所定の閾値に又はそれより低くするために努力している。比較的高い電力密度の領域は、比較的大きい電流量を必要とする。高電力密度領域のロジックの部分を第１のダイに配置し、高電力密度領域のロジックの残りの部分を第２のダイに配置することにより、領域の実装要件は緩和され、低電力密度設計になる。高電力密度領域のロジックを区分けし、その専有面積を削減し、そしてその電力消費を低減するこの能力は、図８に示される積み重ね方法の唯一の利点である。以下に説明されるように、他の利点もまた、このような方法から実現される。
【００２９】
図８は、図７に示されたスカラープロセッサーダイ７００の命令処理ロジックが分割され、実行ロジック７０４が第１のダイ８０２に、及びデータキャッシュ７０６が第２のダイ８０４に分割されるようにして良いことを示す。実行ロジック７０４は第１のダイ８０２の表面に配置されて良く、データキャッシュ７０６は第２のダイ８０４の表面に配置されて良い。データキャッシュ７０６及び実行ロジック７０４は、更に分割され、第１のダイ８０２が第２のダイ８０４の上に積み重なる時、データキャッシュロジック７０６が実行ロジック７０４に重なり合うようにして良い。例えば、ロジックは、２つのダイ８０２、８０４が積み重なる時、データキャッシュ７０６の先端８３０が実行ロジック７０４の先端８２０と重なり合うように分割されて良い。
【００３０】
更にスカラープロセッサーのロジックの分割は、図８にも示される。例えば、図７に示されたスケジューリングロジック７０８は、別のダイに配分された２つのロジック部分７０８ａ及び７０８ｂに分割されている。更に、図８は、Ｌ３キャッシュは、メモリー制御部（「ｍｅｍ」）、Ｌ２キャッシュ、退避ロジック（「ｒｅｔ」）、整数レジスターファイル（「ｉｒｅｇ」）、浮動小数点レジスターファイル（「ｆｒｅｇ」）、入出力ロジック（「Ｉ／Ｏ」）、フェッチロジック（「ｆｅｔｃｈ」）、浮動小数点演算実行ロジック（「ｆｐ」）、及び命令キューロジック（「ｉｑ」）と同様に、２つのダイに分割されて良いことを示す。
【００３１】
図９を参照すると、図４及び７に示されたロードアクセスループ４２０の新しいデータパス４２０ａは短縮され、図８に示されたマルチダイ方式において、時間効率が良くなっている。特に、図９は、データキャッシュ７０６の先端８３０が実行ロジック７０４の先端８２０と重なり合い、第２のダイの第９０４のデータキャッシュ７０６が第１のダイ９０２の実行ロジック７０４と重なり合うよう、プロセッサーロジックが分割される実施例における、ロードアクセスデータパス４２０を示す。（図９には図示されないが、当業者は、汎用レジスターファイル７０２は、例えば図８に示されるように２つのダイ９０２、９０４に分割されても良いことを理解するだろう。）
図９に示される新しいデータパス４２０ａは、ロードデータがデータキャッシュ７０６から読み出された後、データは、実行ロジック７０４の先端８２０に到達するために、実行ロジック７０４の全体に沿って伝送される必要がないため、効率的である。その代わり、データは、導電性のダイ内インターフェース２７５を経由して実行ロジック７０４の先端８２０へ直接送信されて良い。このように、データは実行ロジック７０４を横切る時間を必要とせず、従って、所望のロードデータをデータキャッシュ７０６から実行ロジック７０４の先端（図７の７３０）へ得るための時間遅延が回避又は削減される。同様に時間遅延の削減は、図７の参照番号７３２により示されるデータパスの部分において実現されて良い。
【００３２】
図９に示される実施例はまた、以上に説明された時間の効率化に加え、有利な熱管理効果を提供する。つまり、少なくともいくつかのプロセッサーの実施例では、実行ロジック７０４の演算実行部には、比較的「熱い」ロジックブロックがある。つまり、それらはかなりの内部トランジスタースイッチを有し及び従って比較的多くの熱を生じる。対照的に、少なくともいくつかの実施例では、データキャッシュ７０６は、「熱い」ブロックほど多くの熱を生じない、比較的「冷たい」ロジックブロックである。従って、図９に示される実施例は、「熱い」ブロックと「冷たい」ブロックが少なくとも部分的に重なり合うよう積み重ねるという更なる利点がある。このような熱い／冷たいブロックの積み重ねは、不利な熱的効果を最小限に抑え、「熱い」ブロックが互いに重なり合うようマルチダイプロセッサー内で積み重ねられることを防ぐことができる。つまり、冷たいブロックは、熱いブロックから熱を消散させる放熱板として効率的に利用されて良い。
【００３３】
図１０を参照する。スケジューリングロジック７０８の、異なるダイ１００２、１００４にそれぞれ配分される２つの部分７０８ａ、７０８ｂへの分割も、図５及び７に示されたスケジュール実行データパス５２０を効率化する。図１０は、新しいスケジュール実行データパス５２０ａも、ダイ内インターフェースを通じたダイ間通信の効率化されていることを示す。ダイ内通信のそれぞれは、互いに重なり合うロジック要素、７０８ａ及び７０８ｂ、７０４及び７０６の間のダイ間インターフェース２７５を通じた通信に関係する時間のみを有する。
【００３４】
図１１は、マルチダイプロセッサー１１００の実施例を示す。マルチダイプロセッサー１１００は、命令パイプライン３００（例えば図３を参照）のステージ３０２、３０４、３０６、３０８、３１２、３１３、３１４のロジック部分が、２つのダイ１１０２、１１０４に配分されるよう分割されている。パイプラインステージのロジックは、２つのダイ１１０２、１１０４に配分され、パイプラインの通信信号は、ダイ間インターフェース２７５を経由し、第１のダイ１１０２及び第２のダイ１１０４の間のジグザグのパス１１０６を辿り、パイプラインステートロジックの割り当てられた部分にアクセスする。このような配置は、ジグザグのパスに沿ったダイ間通信がパス長を削減し従って性能を向上させる点でより効率的なので、いくつかの実施例において有利である。
【００３５】
更に、図１１は、マルチダイプロセッサーの少なくとも１つの実施例１１００は、以上に説明したように、Ｉ／Ｏバンプ２１２及び放熱板２１０を有して良いことを示す。
【００３６】
図１２は、マルチダイプロセッサーの少なくとも１つの実施例を示す。図１２では、スカラー配置図１２００の配列１２０８は、分割され、２つのダイ１２０２、１２０４に配分される。配列１２０８は、汎用レジスターファイル、キャッシュ、浮動小数点レジスターファイル、又はマイクロコードＲＯＭ（リードオンリーメモリー）を含む、如何なる配列でも良い。図１２は、配列は、それぞれ異なるダイ１２０２、１２０４に配分されて良い、第１の部分１２０８ａ及び第２の部分１２０８ｂに分割されて良いことを示す。２つのダイ１２０２、１２０４が積み重ねられる時、２つのロジック部分１２０８ａ、１２０８ｂは、少なくとも部分的に重なり合って良い。このような場合、重なり合っている部分１２０８ａ、１２０８ｂの間の通信を促進させるダイ間インターフェース（図２の２７５を参照）を利用することにより、配列の全長が減少するので、配列のアクセス時間は、削減される。これは、例えば、レジスター間の全体の最悪の伝送時間を減少させるため、配列がレジスターファイル配列である、いくつかの実施例において有利である。
【００３７】
留意すべき点は、勿論、２つの部分１２０８ａ、１２０８ｂは、必ずしも完全に互いに重なり合う必要はない。例えば、「熱い」プロセッサーロジックブロックの重なり合う部分と関連する、可能性のある熱的効果を相殺するため、重なり合う部分は、部分１２０８ａ、１２０８ｂの一部のみが互いに重なり合うよう補正されて良い。
【００３８】
図１３は、マルチダイプロセッサーのレイアウトの少なくとも１つの実施例を示す。図１３は、スカラープロセッサー１３００の配置図は、整数演算実行部１３０６、ロード／ストア演算実行部１３０８、及び浮動小数点演算実行部１３１０を有することを示す。演算実行部のロジックブロック１３０６、１３０８及び１３１０は、２つのダイ１３０２及び１３０４の表面に配分されて良い。図１３は、整数演算実行部１３０６及びロード／ストア演算実行部１３０８が第１のダイ１３０２に配分され浮動小数点演算実行部１３１０が第２のダイ１３０４に配分され、第１のダイ１３０２と第２のダイ１３０４が積み重ねられた時、それらが互いに少なくとも部分的に重なり合うよう、演算実行部のロジックブロック１３０６、１３０８、１３１０は配分されて良いことを示す。少なくとも演算実行部１３０６、１３０８、１３１０を２つのダイ１３０２、１３０４に分割することは、演算実行部のトランジスター密度を最大２倍にし、従ってパス長による遅延を短縮し性能を向上させるので、このような配置は、いくつかの実施例において有利である。
【００３９】
図１４は、マルチダイプロセッサーのレイアウトの少なくとも１つの実施例を示す。図１４は、スケジューリングロジック１４０８を有するスカラープロセッサー１４００の配置図を示す。スケジューリングロジック１４０８は、２つのロジック部分１４０８ａ及び１４０８ｂに分割されて良い。スケジューリングロジック１４０８は、例えば、演算スケジューリング部１４０８ａ及びメモリー要求スケジューリング部１４０８ｂに分割されて良い。２つのロジック部分１４０８ａ及び１４０８ｂは、それぞれ第１のダイ１４０２及び第２のダイ１４０４に、第１のダイと第２のダイが積み重ねられた時、それらが少なくとも部分的に重なり合うよう、分割され良い。このような重ね合う部分は、命令実行のためのスケジュール動作を連係して達成するよう動作して良い。このような配置は、少なくともスケジューリングロジック１４０８の信号帯域が増加するので、いくつかの実施例において有利である。従って、これは、１つ以上の信号をスケジューリング部分１４０８ａ、１４０８ｂの間で同時に送信させるので、性能を向上させる。
【００４０】
図１５は、マルチダイプロセッサーのレイアウトの少なくとも１つの実施例を示す。図１５は、浮動小数点実行ロジック１５０８を有するスカラープロセッサー１５００の配置図を示す。浮動小数点実行ロジック１５０８は、２つのロジック部分１５０８ａ及び１５０８ｂに分割されて良い。ロジック１５０８は、例えば、非ＳＩＭＤ（単一命令多重データ）浮動小数点実行ロジック部１５０８ａ及びＳＩＭＤ浮動小数点実行ロジック部１５０８ｂに分割されて良い。２つのロジック部分１５０８ａ及び１５０８ｂは、それぞれ第１のダイ１５０２及び第２のダイ１５０４に、第１のダイ１５０２と第２のダイ１５０４が積み重ねられた時、それらが少なくとも部分的に重なり合うよう、分割され良い。このような配置は、少なくとも以上に説明されたように、トランジスター密度の増加及び信号帯域の増加のため、いくつかの実施例において有利である。
【００４１】
図１６は、マルチダイプロセッサーのレイアウトの少なくとも１つの実施例を示す。図１６は、アドレス生成１６０８を有するスカラープロセッサー１６００の配置図を示す。アドレス生成ロジック１６０８は、２つのロジック部分１６０８ａ及び１６０８ｂに分割されて良い。２つのロジック部分１６０８ａ及び１６０８ｂは、それぞれ第１のダイ１６０２及び第２のダイ１６０４に、第１のダイ１６０２と第２のダイ１６０４が積み重ねられた時、それらが少なくとも部分的に重なり合うよう、分割され良い。同様に、このような配置は、少なくとも以上に説明されたように、トランジスター密度の増加及び信号帯域の増加のため、いくつかの実施例において有利である。
【００４２】
図８−１６は、マルチダイプロセッサーの種々の実施例を示す。これらの例では、プロセッサーの命令処理ロジックは、２つのダイに配分される。このような実施例は説明を目的として提供され、限定するものではない。例えば、図８―１６に示された１つ以上の分割及び／又は配置の実施例は、単独で又は他の実施例と組み合わせて実施されて良い。つまり、単一のマルチダイプロセッサーでは、例として図９に示された分割は、図１２、１３、１４、１５及び／又は１６に示された分割と共に実施されて良い。
【００４３】
また例えば、２つのダイのプロセッサーの図示された実施例では、プロセッサーのロジック部分が各ダイに配置されているが、プロセッサーのロジックは、複数のダイに分割されて良い。例えば、向かい合うダイは、第１の上側のダイの部分及び第２の上側のダイの部分が第３の下側のダイと重なり合うよう、重なり合って良い。複数のダイに分割されたロジックは、いくつであっても、１つ以上の命令を実行するよう連携して動作する。
【００４４】
つまり、本願明細書に説明されたように、それぞれ複数のダイに配分されたロジック部分は、命令と関連付けられた１つ以上の実行動作を実行するよう、呼び出されて良い。ロジック部分は、命令パイプライン（例えば、図３に示された例であるパイプライン３００を参照）のような、実行動作を連携して完了するよう動作する。これらの実行動作は、アドレス生成、命令ポインタ生成、命令フェッチ、命令のマイクロ動作へのデコード、特定のデータ依存性を除去するためのレジスターリネーム、デスパッチ、スケジューリング、実行、及び退避を有して良いが、これらに限定されない。このように、実行動作は、命令に応じて実行されるサブ命令段階のタスクを有して良い。
【００４５】
ロジック部分は、特定の機能が分離されるよう、複数のダイに配分されて良い。つまり、アドレス生成部ロジックは、第１の部分は第１のダイに配分され、第２の部分は第２のダイに配分されるよう、第１の部分と第２の部分に分離されて良い。第１及び第２のロジック部分は、少なくとも部分的に重なり合い、アドレス生成部の動作を連携して実行するよう共に動作して良い。同様に、スケジューリング部は、汎用レジスターファイル、キャッシュ、浮動小数点レジスターファイル、又はマイクロコードメモリー配列のような配列に分離されて良い。メモリー制御部も、キャッシュ、変換検索バッファ、デコードロジック、リネームロジック、フェッチロジック、退避ロジック、及び浮動小数点演算実行部ロジックに分離されて良い。
【００４６】
以上に示されたように、ロジック部分は、ロジックブロックを分離するというより、連続するパイプラインステージの原型を保ったロジックブロックが、プロセッサーの複数のダイに配分されるよう、配分されて良い。パイプラインステージのためのロジックのこのような配置の結果、図１１に示されたように、ダイ間インターフェース２７５を通るジグザグの通信経路１１０６が作られる。
【００４７】
命令パイプラインの実行ステージと関連付けられた実行動作は、演算実行部による、整数又は浮動小数点命令コードのような、演算命令コードの実行を有して良い。本願明細書で用いられるように、「命令コード」という語は、浮動小数点演算実行部、演算ロジック部、又はロ―ド／ストア演算実行部のような、演算実行部により理解され実行され得る如何なる処理部も包含する。命令コードは、マイクロ動作であって良い。
【００４８】
命令パイプラインステージと関連付けられた実行動作は、演算実行部による、メモリーリード又はメモリーライト命令コードのような、メモリー命令コードの実行を有して良い。
【００４９】
以上の説明は、マルチダイプロセッサーの選択的な実施例を開示した。本願明細書に説明されたようなマルチダイプロセッサー１７０２は、図１７に示される処理システム１７００のような処理システムにおいて利用されても良い。システム１７００は、例えば、命令セットの１つ以上の命令を実行するために利用されて良い。この開示を目的として、処理システムは、例えば、デジタルシグナルプロセッサー（ＤＳＰ）、マイクロコントローラー、特定用途向け集積回路（ＡＳＩＣ）、又は以上の説明の実施例に示されたマルチダイプロセッサーのようなマイクロプロセッサーのようなプロセッサーを有する処理システムを含む。処理システム１７００は、全てインテル社から入手可能な、Ｉｔａｎｉｕｍ（商標）及びＩｔａｎｉｕｍ（商標）２マイクロプロセッサー、及びＰｅｎｔｉｕｍ（登録商標）、Ｐｅｎｔｉｕｍ（登録商標）Ｐｒｏ、Ｐｅｎｔｉｕｍ（登録商標）ＩＩ、Ｐｅｎｔｉｕｍ（登録商標）ＩＩＩ、及びＰｅｎｔｉｕｍ（登録商標）４マイクロプロセッサーに基づく処理システムの代表である。他のシステム（他のマイクロプロセッサーを有するパーソナルコンピューター（ＰＣ）、エンジニアリングワークステーション、パーソナルデジタルアシスタント及び他の手持ちサイズの機器、セットトップボックス等を含む）が利用されても良い。システム１７００の少なくとも１つの実施例は、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムの１つを実行して良い。しかしながら、例えば、他のオペレーティングシステム及びグラフィカルユーザーインターフェースが利用されても良い。
【００５０】
処理システム１７００は、メモリーシステム１７０５及びプロセッサー１７０２を有する。メモリーシステム１７０５は、プロセッサー１７０２の動作を制御するための命令１７４０及びデータ１７４１を格納してよい。メモリーシステム１７０５は、メモリーの一般的な表現であり、ハードドライブ、ＣＤ−ＲＯＭ、ランダムアクセスメモリー（ＲＡＭ）、ダイナミックランダムアクセスメモリー（ＤＲＡＭ）、スタティックランダムアクセスメモリー（ＳＲＡＭ）、フラッシュメモリー及び関連する回路のような、メモリーの種々の形態を含んで良い。メモリーシステム１７０５は、プロセッサー１７０２により実行されて良いデータ信号により表せられる命令１７４０及びデータ１７４１を格納して良い。
【００５１】
処理システム１７００は、インターフェース部分１７０４を有する。プロセッサー１７０２の第１のダイ１０２と第２のダイ１０４の間のダイ間インターフェース２７５というより、インターフェース部分１７０４は、ダイ１０２、１０４の１つのみ又は両方と結合されて良い。インターフェース部分１７０４は、プロセッサー１７０２とシステム１７００の他の要素の間の要素間信号を生成する。例えば、インターフェース部分１７０４は、プロセッサー１７０２とシステム１７０５の間の要素間信号を生成して良い。例えば、インターフェース部分１７０４は、メモリーからのデータ検索リード動作又はメモリーへのデータライトのような、メモリートランザクションを実行するため、プロセッサー１７０２とシステム１７０５の間の信号を生成して良い。インターフェース部分１７０４はまた、プロセッサー１７０２とＲＦ部、キーボード、外部記憶装置、モニター、マウス等のような他のシステム要素１７０７の間の信号を生成して良い。
【００５２】
以上の説明で、マルチダイプロセッサーの装置及びシステムの種々の特徴が開示された。説明を目的とし、特定の数値、例、システム及び構成が、完全な理解のために説明された。しかしながら、当業者は、説明された装置及びシステムが特定の詳細にかかわらず実施されて良いことを理解するだろう。当業者には、本発明から逸脱することなく、本発明の広範な特徴の範囲内で、変化及び変更がなされ得ることが明らかである。本発明の特定の実施例が示され説明されたが、請求の範囲は、その範囲に、本発明の真の範囲に収まる全ての変化及び変更を包含する。
【符号の説明】
【００５３】
１００  マルチダイプロセッサーコア
１０２、１０４  ダイ
１０６、１０８  導電素子
２０３、２０５  シリコン活性層
２１０  放熱板
２１２  Ｉ／Ｏバンプ
２１４、２１６  金属層
２２０、２３０  非活性のバルクシリコン
２３３  バイアス
３００  命令パイプライン
３０２、３０４、３０６、３０８、３１２、３１３、３１４  命令パイプラインのステージ
４２０  ロードアクセスデータパス
５２０  スケジュール実行データパス
７００  スカラープロセッサーダイ
７０２  汎用レジスターファイル
７０４  実行ロジック
７０６  データキャッシュ
７０８  スケジューリングロジック
７０８ａ、７０８ｂ  ロジック部分
８０２、８０４、９０２、９０４、１００２、１００４、１１０２、１１０４、１２０２、１２０４  ダイ
１７０２  マルチダイプロセッサー
１７０４  インターフェース部分
１７４０  命令
１７４１  データ
【図１】
2011029663.tif 000003
【図２】
2011029663.tif 000004
【図３】
2011029663.tif 000005
【図４】
2011029663.tif 000006
【図５】
2011029663.tif 000007
【図６】
2011029663.tif 000008
【図７】
2011029663.tif 000009
【図８】
2011029663.tif 000010
【図９】
2011029663.tif 000011
【図１０】
2011029663.tif 000012
【図１１】
2011029663.tif 000013
【図１２】
2011029663.tif 000014
【図１３】
2011029663.tif 000015
【図１４】
2011029663.tif 000016
【図１５】
2011029663.tif 000017
【図１６】
2011029663.tif 000018
【図１７】
2011029663.tif 000019