JP7478229B2 - 統合キャッシュを有するアクティブブリッジチップレット - Google Patents

統合キャッシュを有するアクティブブリッジチップレット Download PDF

Info

Publication number
JP7478229B2
JP7478229B2 JP2022516307A JP2022516307A JP7478229B2 JP 7478229 B2 JP7478229 B2 JP 7478229B2 JP 2022516307 A JP2022516307 A JP 2022516307A JP 2022516307 A JP2022516307 A JP 2022516307A JP 7478229 B2 JP7478229 B2 JP 7478229B2
Authority
JP
Japan
Prior art keywords
chiplet
gpu
active bridge
access request
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022516307A
Other languages
English (en)
Other versions
JPWO2021061941A5 (ja
JP2022550686A (ja
Inventor
ジェイ. サレハ スカイラー
ウー ルイジン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2022550686A publication Critical patent/JP2022550686A/ja
Publication of JPWO2021061941A5 publication Critical patent/JPWO2021061941A5/ja
Application granted granted Critical
Publication of JP7478229B2 publication Critical patent/JP7478229B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01TMEASUREMENT OF NUCLEAR OR X-RADIATION
    • G01T1/00Measuring X-radiation, gamma radiation, corpuscular radiation, or cosmic radiation
    • G01T1/16Measuring radiation intensity
    • G01T1/20Measuring radiation intensity with scintillation detectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0837Cache consistency protocols with software control, e.g. non-cacheable data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • High Energy & Nuclear Physics (AREA)
  • Molecular Biology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

携帯電話、携帯情報端末(PDA)、デジタルカメラ、ポータブルプレイヤ、ゲーミング及び他のデバイス等のコンピューティングデバイスでは、より多くの性能及び特徴を、より小さなスペースに集積することが要求されている。その結果、単一の集積回路(IC)パッケージ内に集積されるプロセッサダイの密度及びダイの数が増加している。一部の従来のマルチチップモジュールは、2つ以上の半導体チップをキャリア基板上に並べて搭載したものや、場合によってはキャリア基板上に搭載されたインタポーザ(いわゆる「2.5D」)上に搭載したものがある。
添付図面を参照することによって、本開示をより良好に理解することができ、その多数の特徴及び利点が当業者に明らかになる。異なる図面で同じ符号が使用されている場合、類似又は同一のアイテムを示している。
いくつかの実施形態による、GPUチップレットを結合するためのアクティブブリッジチップレットを採用したプロセシングシステムを示すブロック図である。 いくつかの実施形態による、アクティブブリッジチップレットによって結合されたGPUチップレットのキャッシュ階層を示すブロック図である。 いくつかの実施形態による、GPUチップレット及びアクティブブリッジチップレットの断面図を示すブロック図である。 いくつかの実施形態による、GPUチップレット及びアクティブブリッジチップレットの別の断面図を示すブロック図である。 いくつかの実施形態による、3つのチップレット構成を利用したプロセシングシステムを示すブロック図である。 いくつかの実施形態による、チップレット間通信を実行する方法を示すフローチャートである。
従来のモノシリックダイ設計は、製造コストがますます高くなってきている。CPUアーキテクチャでは、相互通信をあまり必要としない別のユニットにCPUコアを分ける方がCPUの異種的な計算的性質に適しているので、製造コストの低減及び歩留まりの向上のためにチップレットがうまく利用されている。対照的に、GPUの作業は、その性質上、並列作業を含む。しかしながら、GPUが処理するジオメトリは、完全な並列作業の部分だけでなく、異なる部分間で同期的な順序付けが必要な作業も含む。したがって、複数のGPUに作業の一部を分散させるGPUプログラミングモデルは、システム全体で共有リソースのメモリコンテンツを同期させて、アプリケーションにメモリのコヒーレントなビューを提供することが困難であり、計算的コストがかかるので、非効率になりがちである。さらに、論理的な観点から、アプリケーションは、システムが単一のGPUしか有していないことを想定して記述される。すなわち、従来のGPUが多くのGPUコアを含む場合でさえ、アプリケーションは、単一のデバイスをアドレス指定するようにプログラムされる。少なくともこれらの理由から、チップレット設計手法をGPUアーキテクチャに持ち込むことは、歴史的に困難とされてきた。
比較的単純なプログラミングモデルを変更することなく、GPUチップレットを使用してシステム性能を向上させるために、図1~図6は、GPUチップレットを結合するためにアクティブブリッジチップレットを利用するシステム及び方法を示す。様々な実施形態では、アクティブブリッジチップレットは、チップレット間通信のためのアクティブシリコンダイである。様々な実施形態では、システムは、グラフィックプロセシングユニット(GPU)チップレットアレイの第1のGPUチップレットに通信可能に結合された中央処理ユニット(CPU)を含む。GPUチップレットアレイは、バスCPUを介してCPUに通信可能に結合された第1のGPUチップレットと、アクティブブリッジチップレットを介して第1のGPUチップレットに通信可能に結合された第2のGPUチップレットと、を含み、それによって、システムオンチップ(SoC)を、「チップレット」又は「GPUチップレット」と呼ばれる小さな機能グループに分解し、「チップレット」又は「GPUチップレット」は、SoC(例えば、GPU)の様々なコアの機能を実行する。
現在では、様々なアーキテクチャは、従来のGPUダイの全体にわたってコヒーレントである少なくとも1つのレベルのキャッシュ(例えば、L3又は他の最終レベルキャッシュ(LLC))を既に有している。ここで、チップレットベースのGPUアーキテクチャは、それらの物理リソース(例えば、LLC)を異なるダイ上に配置し、それらの物理リソースを通信可能に結合して、その結果、LLCレベルが、全てのGPUチップレットにわたって統一され、キャッシュコヒーレントを維持する。よって、大規模並列環境(massively parallel environment)内で動作しているにもかかわらず、L3キャッシュレベルはコヒーレントである。動作中、CPUからGPUへのメモリアドレス要求は、単一のGPUチップレットのみに送信され、GPUチップレットは、アクティブブリッジチップレットと通信して、要求されたデータを探す。CPUから見ると、単一のダイのモノシリックGPUをアドレス指定しているように見える。これにより、アプリケーションからは、大容量のマルチチップレットGPUが単一のデバイスに見えるように使用することができる。
図1は、いくつかの実施形態による、GPUチップレットを結合するためのアクティブブリッジチップレットを採用したプロセシングシステム100を示すブロック図である。図示した例では、システム100は、命令を実行するためのセントラルプロセシングユニット(CPU)102と、3つの例示されるGPUチップレット106-1,106-2,106-N(まとめて、GPUチップレット106)等の1つ以上のGPUチップレットのアレイ104と、を含む。様々な実施形態では、本明細書で使用される「チップレット」という用語は、限定されないが、以下の特性、1)チップレットが全ての問題を解決するために使用される計算ロジックの少なくとも一部を包含したアクティブシリコンダイを含むこと(すなわち、計算作業負荷が複数のアクティブシリコンダイにわたって分散される)、2)チップレットが同一の基板上のモノシリックユニットとして共にパッケージ化されること、及び、3)それらの個別の計算ダイ(すなわち、GPUチップレット)の組み合わせが単一のモノシリックユニットであるという概念をプログラミングモデルが保存すること(すなわち、各チップレットが計算作業負荷を処理するためにチップレットを使用するアプリケーションに対して個別のデバイスとして公開しない)、を含む任意のデバイスを指す。
様々な実施形態では、CPU102は、バス108を介して、ダイナミックランダムアクセスメモリ(DRAM)等のシステムメモリ110に接続されている。様々な実施形態では、システムメモリ110は、スタティックランダムアクセスメモリ(SRAM)及び不揮発性RAM等を含む他のタイプのメモリを使用して実装される。例示する実施形態では、CPU102は、ペリフェラルコンポーネントインターコネクト(PCI)バス、PCI-Eバス、又は、他のタイプのバスとして実装されたバス108を介して、システムメモリ110と、GPUチップレット106-1と通信する。しかしながら、システム100のいくつかの実施形態では、直接接続を通じて、又は、他のバス、ブリッジ、スイッチ及びルータ等を介して、CPU102と通信しているGPUチップレット106-1を含む。
図示するように、CPU102は、グラフィックコマンドを生成するための1つ以上のアプリケーション(複数可)112と、ユーザモードドライバ116(又は、カーネルモードドライバ等の他のドライバ)とを実行すること等のいくつかの処理を含む。様々な実施形態では、1つ以上のアプリケーション112は、システム100又はオペレーティングシステム(OS)において作業を生成するアプリケーション等のように、GPUチップレット106の機能を利用するアプリケーションを含む。いくつかの実施形態では、アプリケーション112は、グラフィカルユーザインタフェース(GUI)及び/又はグラフィックシーンをレンダリングするようにGPUチップレット106に命令する1つ以上のグラフィック命令を含む。例えば、いくつかの実施形態では、グラフィック命令は、GPUチップレット106によってレンダリングされる1つ以上のグラフィックプリミティブのセットを定義する命令を含む。
いくつかの実施形態では、アプリケーション112は、ユーザモードドライバ116(又は、同様のGPUドライバ)を呼び出すために、グラフィックアプリケーションプログラミングインタフェース(API)114を利用する。ユーザモードドライバ116は、表示可能なグラフィック画像に1つ以上のグラフィックプリミティブをレンダリングするための1つ以上のコマンドを、1つ以上のGPUチップレットのアレイ104に発行する。アプリケーション112がユーザモードドライバ116に発行したグラフィック命令に基づいて、ユーザモードドライバ116は、グラフィックをレンダリングするためにGPUチップレットが実行する1つ以上の動作を指定する1つ以上のグラフィックコマンドを策定する。いくつかの実施形態では、ユーザモードドライバ116は、CPU102上で実行されるアプリケーション112の一部である。例えば、いくつかの実施形態では、ユーザモードドライバ116は、CPU102上で実行されるゲーミングアプリケーションの一部である。同様に、いくつかの実施形態では、カーネルモードドライバ(図示省略)は、CPU102上で実行されるオペレーティングシステムの一部である。
図1に示す実施形態では、アクティブブリッジチップレット118は、GPUチップレット106(すなわち、GPUチップレット106-1~106-N)を相互通信可能に結合する。3つのGPUチップレット106が図1に示されているが、チップレットアレイ104内のGPUチップレットの数は、設計上の選択の問題であり、以下により詳細に説明するような他の実施形態において変化する。図2に関してより詳細に後述するような様々な実施形態では、アクティブブリッジチップレット118は、GPUチップレットダイ間の高帯域幅ダイ間相互接続として機能するアクティブシリコンブリッジを含む。さらに、アクティブブリッジチップレット118は、チップレット間通信を提供し、クロスチップレット同期信号をルーティング(経路指定)するために、共有された、統合された最終レベルキャッシュ(LLC)を有するメモリクロスバーとして動作する。キャッシュは、本質的にアクティブなコンポーネント(すなわち、動作のために電力を必要とする)であるため、メモリクロスバー(例えば、アクティブブリッジチップレット118)は、それらのキャッシュメモリを保持するためにアクティブである。したがって、キャッシュサイジングは、アクティブブリッジチップレット118の物理サイズに応じて、異なるチップレット構成に従う異なるアプリケーションに対して構成可能であり、アクティブブリッジチップレット118(例えば、GPUチップレット106)が通信可能に結合されたベースチップレット(複数可)(例えば、GPUチップレット106)は、アクティブブリッジチップレット118上のこの外部キャッシュにコスト(例えば、物理スペース及び電力制約等に関連するコスト)を払わない。
全体的な動作の概要として、CPU102は、バス108を介して単一のGPUチップレット(すなわち、GPUチップレット106-1)に通信可能に結合される。CPUからチップレット106のアレイ104へのトランザクション又は通信は、GPUチップレット106-1において受信される。その後、任意のチップレット間通信は、他のGPUチップレット106上のメモリチャネルにアクセスするために、必要に応じてアクティブブリッジチップレット118を介してルーティングされる。このようにして、GPUチップレットベースのシステム100は、ソフトウェア開発者の観点から、単一のモノシリックGPUとしてアドレス指定可能な(例えば、CPU102及び任意の関連するアプリケーション/ドライバがチップレットベースのアーキテクチャを意識しない)GPUチップレット106を含み、したがって、プログラマ又は開発者の側で任意のチップレット特有の考慮事項を必要としないようにすることが可能である。
図2は、いくつかの実施形態による、アクティブブリッジチップレットによって結合されたGPUチップレットのキャッシュ階層を示すブロック図である。ビュー200は、図1のGPUチップレット106-1,106-2と、アクティブブリッジチップレット118の階層ビューと、を提供する。GPUチップレット106-1,106-2の各々は、複数のワークグループプロセッサ202(WGP)と、所定のチャネルのL1キャッシュメモリ206と通信する複数の固定機能ブロック204(GFX)と、を含む。各GPUチップレット106は、個々にアクセス可能な複数のL2キャッシュメモリ208バンクと、L3チャネルにマッピングされた複数のメモリPHY212(グラフィックダブルデータレート(GDDR)メモリへの接続を示すための、図2におけるGDDRとして表される)チャネルと、を含む。L2レベルのキャッシュは、単一のチップレット内でコヒーレントであり、L3レベル(L3キャッシュメモリ210又は他の最終レベル)のキャッシュは、統合され、GPUチップレット106の全てにわたってコヒーレントである。言い換えると、アクティブブリッジチップレット118は、GPUチップレット106とは別のダイ上にある統合されたキャッシュ(例えば、図2のL3/LLC)を含み、2つ以上のGPUチップレット106を共に通信可能にリンク付けする外部の統合されたメモリインタフェースを提供する。したがって、GPUチップレット106は、レジスタ転送レベル(RTL)の観点から始まって、モノシリックシリコンダイとして作用し、完全なコヒーレントメモリアクセスをもたらす。
様々な実施形態では、L3レベル210のキャッシュは、メモリアタッチ型(memory-attached)最終レベルである。従来のキャッシュ階層では、ルーティングは、L1レベルのキャッシュとL2レベルのキャッシュとの間で行われ、また、L2レベルとメモリチャネルとの間で行われる。このルーティングは、単一のGPUコア内でL2キャッシュがコヒーレントであることを可能にする。しかしながら、GDDRメモリへのアクセスを有する異なるGPUコア(ディスプレイエンジン、マルチメディアコア又はCPU等)が、GPUコアによって操作されるデータにアクセスしたい場合に、他のGPUコアが最新データにアクセスできるようにL2レベルのキャッシュをGDDRメモリにフラッシュする必要があるため、ルーティングは、同期ポイントを導入する。そのような動作は、計算コストがかかり、非効率である。対照的に、メモリコントローラとGPUチップレット106との間にあるメモリアタッチ型最終レベルL3 210は、全てのアタッチコアにキャッシュ及びメモリの一貫した「ビュー」を提供することによって、これらの問題を回避する。
メモリアタッチ型最終レベルL3 210は、キャッシュ階層のL3レベルを、GPUチップレット106ではなく、アクティブブリッジチップレット118に配置する。したがって、別のクライアントがデータ(例えば、CPUがアクセスするDRAM内のデータ)にアクセスする場合、CPU102は、SDFファブリック216を通過及び接続して、L3レベル210から読み出す。さらに、要求されたデータがL3レベル210にキャッシュされていない場合、L3レベル210は、GDDRメモリから読み込む(図示しないが、メモリPHY212を介して)。したがって、L2レベル208は、データを含み、フラッシュされない。他の実施形態では、L3レベル210がメモリアタッチ型最終レベルである代わりに、L3レベルのキャッシュは、キャッシュ階層内でSDFファブリック216の上に配置される。しかしながら、このような構成では、L3レベル(及び、メモリPHYS212)は、各GPUチップレット106に対してローカル(局所的)であり、したがって、アクティブブリッジチップレット118において統合されたキャッシュの一部ではない。
各GPUチップレット106のグラフィックデータファブリック214(GDF)は、L1キャッシュメモリ206の全てをL2キャッシュメモリ208のチャネルの各々に接続し、それによって、ワークグループプロセッサ202及び固定機能ブロック204の各々がL2キャッシュメモリ208の何れかのバンクに記憶されたデータにアクセスすることを可能にする。各GPUチップレット106も、グラフィックコア(GC)及びシステムオンチップ(SOC)IPコアにわたってアクティブブリッジチップレット118にルーティングするスケーラブルデータファブリック216(SDF)(SOCメモリファブリックとしても知られる)を含む。GCは、CU/WGP、固定機能グラフィックブロック、及び、L3の上のキャッシュ等を含む。従来のグラフィック及び計算に対して使用されるGPUの一部(すなわち、GC)は、ビデオ復号、ディスプレイ出力、及び、同一のダイ上に包含される様々なシステムサポート構造等の補助的GPU機能を処理するために使用されるGPUの他の部分と区別可能である。
アクティブブリッジチップレット118は、GPUチップレットの全て(例えば、図2におけるGPUチップレット106-1及び106-2)にルーティングする複数のL3キャッシュメモリ210チャネルを含む。このようにして、メモリアドレス要求は、統合されたL3キャッシュメモリ210にアクセスするように、アクティブブリッジチップレット118上の適切なレーンにルーティングされる。さらに、複数のGPUチップレット106に及ぶ等のように、アクティブブリッジチップレット118の物理的サイズが大きいので、当業者は、スケーラブルな量の(異なる実施形態では、メモリ及びロジックの量を増大又は減少させるようにスケーラブルされる)L3/LLCキャッシュメモリ及びロジックが、いくつかの実施形態では、アクティブブリッジチップレット118上に配置されることを認識するであろう。アクティブブリッジチップレット118は、複数のGPUチップレット106をブリッジし、したがって、ブリッジチップレット、アクティブブリッジダイ、又は、アクティブシリコンブリッジと交換可能に呼ばれる。
図3を参照して、チップレットベースのアーキテクチャの追加の詳細を理解することができ、図3は、いくつかの実施形態による、アクティブブリッジ結合GPUチップレットの断面図を示すブロック図である。ビュー300は、セクションA-Aにおいて取られた図1のGPUチップレット106-1,106-2及びアクティブブリッジチップレット118の断面図を提供する。様々な実施形態では、各GPUチップレット106は、シリコン貫通ビア(TSV)無しに構成される。上述したように、GPUチップレット106は、アクティブブリッジチップレット118によって通信可能に結合される。様々な実施形態では、アクティブブリッジチップレット118は、シリコン、ゲルマニウム又は他の半導体材料から構成され、異なる実施形態では、バルク半導体、絶縁体上の半導体又は他の設計から構成された相互接続チップである。
アクティブブリッジチップレット118は、異なる実施形態では、単一のレベル又は複数のレベル上にある複数の内部導体トレース(図示省略)を含む。トレースは、導電路を介して、例えば、GPUチップレット106のPHY領域の導体構造(例えば、図2のメモリPHY212)と電気的に連結する。このようにして、アクティブブリッジチップレット118は、GPUチップレット106間の通信を通信可能に結合し、ルーティングし、それによって、アクティブルーティングネットワークを形成するアクティブブリッジダイである。
図3に示すように、キャリアウェーハ302は、GPUチップレット106-1,106-2に結合されている。この実施形態の構成では、TSV304は、アクティブブリッジチップレットを通過してGPUチップレット106に至るが、グラフィックコアダイ(複数可)自体は、何れのTSVでも構成されない。代わりに、信号データを通すために、誘電体貫通ビア(TDV)306は、ギャップフィル誘電体層308を通じてトンネルする。ギャップフィル誘電体層308(又は、他のギャップフィル材料)は、ブリッジチップレットダイ及びグラフィックコアダイ(複数可)が存在しないエリア(例えば、GPUチップレット106とアクティブブリッジチップレット118との間の垂直方向の不一致を有するエリア)を占有する。図示するように、TDV306は、GPUチップレット106の入力/出力(I/O)パワーを、異なる実施形態では半田バンプ及びマイクロバンプ等を含む半田相互接続310に下向きに接続する。このようにして、ギャップフィル誘電体層308は、GPUチップレット106及びアクティブブリッジチップレット118の両方のバンプ(例えば、バンプ312)の両方の平面を同じ平面にする。
様々な実施形態では、図3に示すようなコンポーネントは、相互接続構造310,312(例えば、半田ボール等)を介して、回路基板又は他の構造等の他の電気構造と電気的に連結する。しかしながら、当業者は、他の実施形態において、本開示の範囲から逸脱することなく、ピン、ランドリッドアレイ構造及び他の相互接続等の様々なタイプの相互接続構造が使用されることを認識するであろう。
図4は、いくつかの実施形態による、GPUチップレット及びアクティブブリッジチップレットの別の断面図を示すブロック図である。ビュー400は、セクションA-Aにおいて取られた図1のGPUチップレット106-1,106-2及びアクティブブリッジチップレット118の断面図を提供する。上述したように、GPUチップレット106は、アクティブブリッジチップレット118によって通信可能に結合される。様々な実施形態では、アクティブブリッジチップレット118は、異なる実施形態では、シリコン、ゲルマニウム又は他の半導体材料から構成され、異なる実施形態では、バルク半導体、絶縁体上の半導体又は他の設計から構成された相互接続チップである。
アクティブブリッジチップレット118は、異なる実施形態では単一のレベル又は複数のレベル上にある複数の内部導体(図示省略)を含む。トレースは、導電路を介して、例えば、GPUチップレット106のPHY領域の導体構造(例えば、図2のメモリPHY212)と電気的に連結する。このようにして、アクティブブリッジチップレット118は、GPUチップレット106間の通信を通信可能に結合し、ルーティングし、それによって、アクティブルーティングネットワークを形成するアクティブブリッジダイである。
図4に示すように、及び、図3のコンポーネントと同様の方法で、キャリアウェーハ402は、GPUチップレット106-1,106-2に結合されている。しかしながら、図3の実施形態とは対照的に、各GPUチップレット106は、シリコン貫通ビア(TSV)404を含む。この実施形態の構成では、TSV404は、GPUチップレット106を貫通するが、アクティブブリッジチップレット118自体は、如何なるTSVも用いて構成されない。さらに、TSV404は、異なる実施形態では半田バンプ及びマイクロバンプ等を含む半田相互接続406にアクティブブリッジチップレット入力/出力(I/O)パワーを下方に接続するので、アクティブブリッジ結合GPUチップレットは、如何なるTDVも含まない。相互接続構造408は、GPUチップレット106に電気的に結合する。様々な実施形態では、ダミーシリコンの層410(又は、他のギャップフィル材料)は、ブリッジチップレットダイ及びグラフィックコアダイ(複数可)が存在しないエリア(例えば、GPUチップレット106とアクティブブリッジチップレット118との間で垂直方向の不一致を有するエリア)を占有する。このようにして、ダミーシリコンの層410は、GPUチップレット106及びアクティブブリッジチップレット118を通信可能及び電気的に結合することに関連する相互接続バンプの両方を同じ平面にし、モノシリックチップを形成する。
様々な実施形態では、図4に示すようなコンポーネントは、相互接続構造406,408(例えば、半田ボール等)を介して、回路板、基板又は他の構造等の他の電気構造と電気的に連結する。しかしながら、当業者は、他の実施形態では、ピン、ランドリッドアレイ構造及び他の相互接続等の様々なタイプの相互接続構造が使用されることを認識するであろう。
図1~図4に関して上述したようなアクティブブリッジチップレット118は、2つ以上のダイのルーティングファブリック間の通信を提供し、コヒーレントなL3メモリアクセスに均一なメモリアクセス動作(又は、ほとんど均一なメモリアクセス動作)を提供する。当業者は、物理的複製の性質によって利用されるGPUチップレットの数に基づいて、プロセシングシステムの性能が線形的にスケールする(例えば、GPUチップレットの数が増加すると、メモリPHY212及びWGP202等の数も増加する)ことを認識するであろう。
図5を参照すると、いくつかの実施形態による、3つのチップレット構成を利用するプロセシングシステムのブロック図が示されている。プロセシングシステム500は、図1のプロセシングシステム100と同様であるが、説明を容易にするために特定の要素を省略する。図示するように、システム500は、CPU102と、例示されるGPUチップレット106-1,106-2,106-3等の3つのGPUチップレットと、を含む。CPU102は、バス108を介してGPUチップレット106-1と通信する。全体的な動作の概要として、プロセシングシステム500は、マスタ-スレーブトポロジを利用し、マスタ-スレーブトポロジでは、CPU102(すなわち、GPUチップレット106-1)と直接通信する単一のGPUチップレットは、マスタチップレット(以下では、プライマリチップレット又はホストGPUチップレット)として指定される。他のGPUチップレットは、アクティブブリッジチップレット118を介してCPU102と間接的に通信し、スレーブチップレット(以下では、セカンダリGPUチップレット(複数可))として指定される。したがって、プライマリGPUチップレット106-1は、CPU102からGPUチップレットアレイ104の全体への単数エントリポイントとして機能する。
図5に示すように、一例では、CPU102は、プライマリGPUチップレット106-1にアクセス要求(例えば、読み込み要求、書き込み要求、及び、GPUチップレットにおいて作業を実行する命令等)を送信する。図2に関してより詳細に上述したように、GPUチップレット106-1は、複数のワークグループプロセッサ(図示省略)及び複数の固定機能ブロック(図示省略)を含む。プライマリGPUチップレットコントローラ502は、GPUチップレットアレイ104の最終レベルキャッシュ(LLC)(例えば、本明細書で説明するようなL3キャッシュメモリ)に接続し、LLCとデータファブリッククロスバーのロジックの電気的にアクティブな部分(例えば、図2のSDF216)との間のルーティングを処理する。
プライマリGPUチップレットコントローラ502は、アクセス要求に関連するデータが、単一のプライマリGPUチップレット106-1内でのみコヒーレントなメモリにローカルにキャッシュされるかどうか、又は、データが、アクティブブリッジチップレット118において統合されたL3キャッシュメモリ210にキャッシュされるかどうかを判別する。アクセス要求に関連するデータが、単一のプライマリGPUチップレット106-1内でコヒーレントなメモリにローカルにキャッシュされると判別したことに基づいて、プライマリGPUチップレットコントローラ502は、プライマリGPUチップレット106-1においてアクセス要求をサービスする。しかしながら、アクセス要求に関連するデータが、共通して共有されるL3キャッシュメモリ210にキャッシュされると判別したことに基づいて、プライマリGPUチップレットコントローラ502は、サービスするためにアクティブブリッジチップレット118にアクセス要求をルーティングする。アクティブブリッジチップレット118は、プライマリGPUチップレット106-1に結果を返し、プライマリGPUチップレット106-1は、発信リクエスタ(すなわち、CPU102)に、要求されたデータを返す。このようにして、CPU102は、単一の外部ビューのみを有し、バス108を介した2つ以上のGPUチップレットへの直接通信を必要としない。
当業者は、図5では、3つのGPUチップレットの中央を横切る矩形のアクティブブリッジチップレットダイ118の特定のコンテキストが説明されているが、他の実施形態では、様々な他の構成、ダイ形状及びジオメトリが様々な実施形態において利用されることを認識するであろう。例えば、いくつかの実施形態では、チップレットは、正方形のGPUチップレットの1つ以上のコーナーにおいてアクティブブリッジチップレットを含み、その結果、複数のGPUチップレットがチップレットアレイ内で共にタイル状に配置される。同様に、他の実施形態では、GPUチップレットは、GPUチップレットの側面全体に及ぶアクティブブリッジチップレットを含み、その結果、複数のGPUチップレットは、長い行/列構成で、介在するアクティブブリッジチップレットと共に並べられる。
図6は、いくつかの実施形態による、チップレット間通信を実行する方法600を示すフローチャートである。ブロック602において、GPUチップレットアレイのプライマリGPUチップレットは、要求CPUからメモリアクセス要求を受信する。例えば、図5を参照すると、プライマリGPUチップレット106-1は、CPU102からアクセス要求を受信する。いくつかの実施形態では、プライマリGPUチップレット106-1は、バス108を介してそのスケーラブルデータファブリック216においてアクセス要求を受信する。
ブロック604において、プライマリGPUチップレット106-1は、要求されたデータがキャッシュされた位置を識別する。すなわち、プライマリGPUチップレット106-1は、データが、アクティブブリッジチップレット118における統合されたL3キャッシュメモリ210にキャッシュされるかどうかを判別する。例えば、図5を参照すると、プライマリGPUチップレット106-1のプライマリGPUチップレットコントローラ502は、アクセス要求に関連するデータが、単一のプライマリGPUチップレット106-1内でのみコヒーレントなメモリにローカルにキャッシュされるかどうかを判別する。アクセス要求に関連するデータが、単一のプライマリGPUチップレット106-1内でコヒーレントなメモリにローカルにキャッシュされるとプライマリGPUチップレットコントローラ502が判別した場合、ブロック606において、プライマリGPUチップレットコントローラ502は、プライマリGPUチップレット106-1においてアクセス要求をサービスする。その後、ブロック612において、プライマリGPUチップレットは、バス108を介して発信リクエスタ(すなわち、CPU102)に、要求されたデータを返す。いくつかの実施形態では、要求されたデータをCPU102に返すことは、プライマリGPUチップレット(すなわち、GPUチップレット106-1)のスケーラブルデータファブリック216において要求されたデータを受信することと、要求されたデータを、バス108を介してCPU102に送信することと、を含む。
ブロック604に再度戻すると、アクセス要求に関連するデータが、共通して共有されるL3キャッシュメモリ210にキャッシュされるとプライマリGPUチップレットコントローラ502が判別した場合、ブロック608において、プライマリGPUチップレットコントローラ502は、サービスするためにアクティブブリッジチップレット118にアクセス要求をルーティングする。いくつかの実施形態では、メモリアクセス要求をルーティングすることは、スケーラブルデータファブリック216が、アクティブブリッジチップレット118と通信することと、スケーラブルデータファブリック216が、メモリアクセス要求に関連するデータをアクティブブリッジチップレット118に要求することと、を含む。さらに、要求するデータが、アクティブブリッジチップレット118のL3にキャッシュされていない場合、メモリアクセス要求は、L3ミスとして扱われ、アクティブブリッジチップレット118は、GDDRメモリにアタッチされ、要求をサービスすることを担当するGPUチップレットに要求をルーティングする。要求がルーティングされたGPUチップレットは、要求されたデータをGDDRメモリからフェッチし、要求されたデータをアクティブブリッジチップレットに返す。
ブロック610において、アクティブブリッジチップレット118は、プライマリGPUチップレット106-1に結果を返す。特に、戻り通信は、ブロック608においてメモリアクセス要求がルーティングされたアクティブブリッジチップレット118の同じ信号経路を介してルーティングされる。他の実施形態では、要求データポート及び戻りデータポートは、同じ物理経路を共有しない。
ブロック612において、プライマリGPUチップレットは、要求されたデータを、バス108を介して発信リクエスタ(すなわち、CPU102)に返す。いくつかの実施形態では、要求されたデータをCPU102に返すことは、要求されたデータを、プライマリGPUチップレット(すなわち、GPUチップレット106-1)のスケーラブルデータファブリック216においてアクティブブリッジチップレット118から受信することと、要求されたデータを、バス108を介してCPU102に送信することと、を含む。このようにして、CPU102は、単一の外部ビューのみを有し、バス108を介した2つ以上のGPUチップレット106への直接通信を必要としない。
したがって、本明細書で説明するように、アクティブブリッジチップレットは、プログラマモデル/開発者の観点から、GPUチップレットの実装が従来のモノシリックGPUとして見えるように、相互接続されたGPUチップレットのセットを使用してモノシリックGPU機能を展開する。1つのGPUチップレットのスケーラブルデータファブリックは、アクティブブリッジチップレット上の下位レベルキャッシュ(複数可)にアクセスするのとほぼ同時に、同じチップレット上の下位レベルキャッシュにアクセスすることが可能であるため、追加のチップレット間コヒーレンシプロトコルを必要とすることなく、GPUチップレットがキャッシュコヒーレンシを維持することを可能にする。この低レイテンシのチップレット間キャッシュコヒーレンシは、ソフトウェア開発者の観点から、チップレットベースのシステムがモノシリックGPUとして動作することを可能にし、よって、プログラマ又は開発者の側でチップレット特有の考慮事項を回避することができる。
本明細書で開示されるように、いくつかの実施形態では、システムは、グラフィックプロセシングユニット(GPU)チップレットアレイの第1のGPUチップレットに通信可能に結合された中央処理ユニット(CPU)を含み、GPUチップレットアレイは、バスを介してCPUに通信可能に結合された第1のGPUチップレットと、アクティブブリッジチップレットを介して第1のGPUチップレットに通信可能に結合された第2のGPUチップレットと、を含み、アクティブブリッジチップレットは、GPUチップレットアレイの第1のチップレット及び第2のGPUチップレットによって共有されるレベルのキャッシュメモリを含む。一態様では、前記レベルのキャッシュメモリは、GPUチップレットアレイの第1のGPUチップレット及び第2のGPUチップレットにわたってコヒーレントである統合されたキャッシュメモリを含む。別の態様では、前記レベルのキャッシュメモリは、第1のGPUチップレットのメモリコントローラとオフダイメモリとの間に配置されたメモリアタッチ型最終レベルのキャッシュを含む。さらに別の態様では、アクティブブリッジチップレットは、GPUチップレットアレイ内のGPUチップレットを通信可能に結合する。
一態様では、第1のGPUチップレットは、CPUからメモリアクセス要求を受信するように構成されたスケーラブルデータファブリックをさらに含む。別の態様では、スケーラブルデータファブリックは、メモリアクセス要求に関連するデータをアクティブブリッジチップレットに要求するようにさらに構成される。さらに別の態様では、アクティブブリッジチップレットは、GPUチップレットアレイのGPUチップレット間のチップレットツーチップレット通信のためのメモリクロスバーを含む。さらに別の態様では、システムは、第1のGPUチップレットにおける第1のキャッシュメモリ階層であって、第1のキャッシュメモリ階層の第1のレベルは、第1のGPUチップレット内でコヒーレントである、第1のキャッシュメモリ階層と、第2のGPUチップレットにおける第2のキャッシュメモリ階層であって、第2のキャッシュメモリ階層の第1のレベルは、第2のGPUチップレット内でコヒーレントである、第2のキャッシュメモリ階層と、を含む。別の態様では、アクティブブリッジチップレットにおけるレベルのキャッシュメモリは、第1のキャッシュメモリ階層の最終レベル及び第2のキャッシュメモリ階層の最終レベルの両方を含む統合されたキャッシュメモリを含み、統合されたキャッシュメモリは、GPUチップレットアレイの第1のGPUチップレット及び第2のGPUチップレットにわたってコヒーレントである。
いくつかの実施形態では、方法は、GPUチップレットアレイ第1のGPUチップレットにおいて、中央処理ユニット(CPU)からメモリアクセス要求を受信することと、第1のGPUチップレットのアクティブブリッジチップレットコントローラにおいて、メモリアクセス要求に関連するデータが、第1のGPUチップレット及びGPUチップレットアレイの第2のGPUチップレットによって共有されるアクティブブリッジチップレットにキャッシュされると判別することと、アクティブブリッジチップレットにおける統合された最終レベルキャッシュにメモリアクセス要求をルーティングすることと、CPUに、メモリアクセス要求に関連するデータを返すことと、を含む。一態様では、メモリアクセス要求をルーティングすることは、スケーラブルデータファブリックが、メモリアクセス要求に関連するデータをアクティブブリッジチップレットに要求することをさらに含む。別の態様では、方法は、スケーラブルデータファブリックを介して、第1のGPUチップレットに、メモリアクセス要求に関連するデータを返すことを含む。
一態様では、メモリアクセス要求を受信することは、スケーラブルデータファブリックが、CPUからメモリアクセス要求を受信することを含む。別の態様では、方法は、スケーラブルデータファブリックを介して、アクティブブリッジチップレットから、メモリアクセス要求に関連するデータを受信することを含む。さらに別の態様では、方法は、アクティブブリッジチップレットの統合されたキャッシュメモリにデータをキャッシュすることを含み、統合されたキャッシュメモリは、第1のGPUチップレットにおける第1のキャッシュメモリ階層の最終レベルであって、第1のキャッシュメモリ階層の第1のレベルは、第1のGPUチップレット内でコヒーレントである、第1のキャッシュメモリ階層の最終レベルと、GPUチップレットアレイの第2のGPUチップレットにおける第2のキャッシュメモリ階層の最終レベルであって、第2のキャッシュメモリ階層の第1のレベルは、第2のGPUチップレット内でコヒーレントである、第2のキャッシュメモリ階層の最終レベルと、を含む。
いくつかの実施形態では、プロセッサは、中央処理ユニット(CPU)と、第1のGPUチップレットを含むGPUチップレットアレイであって、第1のGPUチップレットは、アクティブブリッジチップレットコントローラを含む、GPUチップレットアレイと、統合された最終レベルキャッシュと、を含み、プロセッサは、第1のGPUチップレットにおいて、CPUからメモリアクセス要求を受信し、第1のGPUチップレットのアクティブブリッジチップレットコントローラにおいて、メモリアクセス要求に関連するデータが、第1のGPUチップレット及びGPUチップレットアレイの第2のGPUチップレットによって共有されるアクティブブリッジチップレットにキャッシュされることを判別し、アクティブブリッジチップレットにおける統合された最終レベルキャッシュにメモリアクセス要求をルーティングし、CPUに、メモリアクセス要求に関連するデータをルーティングする、ように構成されている。一態様では、プロセッサは、スケーラブルデータファブリックを介して、メモリアクセス要求に関連するデータをアクティブブリッジチップレットに要求するように構成されている。別の態様では、プロセッサは、スケーラブルデータファブリックを介して、第1のGPUチップレットに、メモリアクセス要求に関連するデータを返すように構成されている。さらに別の態様では、プロセッサは、スケーラブルデータファブリックを介して、CPUからメモリアクセス要求を受信するように構成されている。さらに別の態様では、第1のGPUチップレットは、スケーラブルデータファブリックを介して、アクティブブリッジチップレットから、メモリアクセス要求に関連するデータを受信するように構成されている。
コンピュータ可読記憶媒体は、命令及び/又はデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の非一時的な記憶媒体又は非一時的な記憶媒体の組み合わせを含む。このような記憶媒体には、限定されないが、光学媒体(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク)、磁気媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、磁気ハードドライブ)、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)若しくはキャッシュ)、不揮発性メモリ(例えば、読取専用メモリ(ROM)若しくはフラッシュメモリ)、又は、微小電気機械システム(MEMS)ベースの記憶媒体が含まれ得る。コンピュータ可読記憶媒体(例えば、システムRAM又はROM)はコンピューティングシステムに内蔵されてもよいし、コンピュータ可読記憶媒体(例えば、磁気ハードドライブ)はコンピューティングシステムに固定的に取り付けられてもよいし、コンピュータ可読記憶媒体(例えば、光学ディスク又はユニバーサルシリアルバス(USB)ベースのフラッシュメモリ)はコンピューティングシステムに着脱可能に取り付けられてもよいし、コンピュータ可読記憶媒体(例えば、ネットワークアクセス可能ストレージ(NAS))は有線又は無線ネットワークを介してコンピュータシステムに結合されてもよい。
いくつかの実施形態では、上記の技術のいくつかの態様は、ソフトウェアを実行するプロセッシングシステムの1つ以上のプロセッサによって実装されてもよい。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶され、又は、非一時的なコンピュータ可読記憶媒体上で有形に具現化された実行可能命令の1つ以上のセットを含む。ソフトウェアは、1つ以上のプロセッサによって実行されると、上記の技術の1つ以上の態様を実行するように1つ以上のプロセッサを操作する命令及び特定のデータを含むことができる。非一時的なコンピュータ可読記憶媒体は、例えば、磁気若しくは光ディスク記憶デバイス、例えばフラッシュメモリ、キャッシュ、ランダムアクセスメモリ(RAM)等のソリッドステート記憶デバイス、又は、他の1つ以上の不揮発性メモリデバイス等を含むことができる。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、1つ以上のプロセッサによって解釈若しくは実行可能な他の命令フォーマットであってもよい。
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、1つ以上のさらなるアクティビティが実行される場合があり、1つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。

Claims (19)

  1. グラフィックプロセシングユニット(GPU)チップレットアレイの第1のGPUチップレットに通信可能に結合された中央処理ユニット(CPU)を備え、
    前記GPUチップレットアレイは、
    バスを介して前記CPUに通信可能に結合された第1のGPUチップレットと、
    アクティブブリッジチップレットを介して前記第1のGPUチップレットに通信可能に結合された第2のGPUチップレットと、を含み、
    前記アクティブブリッジチップレットは、前記第1のGPUチップレットと前記第2のGPUチップレットとの間のチップレット間通信を提供し、前記第1のGPUチップレット及び前記第2のGPUチップレットによって共有されるレベルのキャッシュメモリを含み、
    前記CPUからのメモリアクセス要求を前記第1のGPUチップレットが受信したことに応じて、前記第1のGPUチップレットは、前記メモリアクセス要求に関連するデータを前記アクティブブリッジチップレットに要求するように構成されている、
    システム。
  2. 前記レベルのキャッシュメモリは、前記GPUチップレットアレイの前記第1のGPUチップレット及び前記第2のGPUチップレットにわたってコヒーレントである統合されたキャッシュメモリを含む、
    請求項1のシステム。
  3. 前記レベルのキャッシュメモリは、前記第1のGPUチップレットのメモリコントローラとオフダイメモリとの間に配置されたメモリアタッチ型最終レベルのキャッシュを含む、
    請求項1のシステム。
  4. 前記アクティブブリッジチップレットは、前記GPUチップレットアレイ内のGPUチップレットを通信可能に結合する、
    請求項1のシステム。
  5. 前記第1のGPUチップレットは、前記CPUから前記メモリアクセス要求を受信するように構成されたスケーラブルデータファブリックをさらに含む、
    請求項1のシステム。
  6. 前記アクティブブリッジチップレットは、前記GPUチップレットアレイのGPUチップレット間のチップレットツーチップレット通信のためのメモリクロスバーを含む、
    請求項1のシステム。
  7. 第1のGPUチップレットにおける第1のキャッシュメモリ階層であって、前記第1のキャッシュメモリ階層の第1のレベルは、前記第1のGPUチップレット内でコヒーレントである、第1のキャッシュメモリ階層と、
    第2のGPUチップレットにおける第2のキャッシュメモリ階層であって、前記第2のキャッシュメモリ階層の第1のレベルは、前記第2のGPUチップレット内でコヒーレントである、第2のキャッシュメモリ階層と、をさらに備える、
    請求項1のシステム。
  8. 前記アクティブブリッジチップレットにおける前記レベルのキャッシュメモリは、前記第1のキャッシュメモリ階層の最終レベル及び前記第2のキャッシュメモリ階層の最終レベルの両方を含む統合されたキャッシュメモリを含み、前記統合されたキャッシュメモリは、前記GPUチップレットアレイの前記第1のGPUチップレット及び前記第2のGPUチップレットにわたってコヒーレントである、
    請求項7のシステム。
  9. GPUチップレットアレイの第1のGPUチップレットにおいて、メモリアクセス要求を中央処理ユニット(CPU)から受信することと、
    前記第1のGPUチップレットのアクティブブリッジチップレットコントローラにおいて、前記メモリアクセス要求に関連するデータが、前記GPUチップレットアレイの前記第1のGPUチップレット及び第2のGPUチップレットによって共有されるアクティブブリッジチップレットにキャッシュされると判別することと、
    前記メモリアクセス要求を、前記アクティブブリッジチップレットにおける統合された最終レベルキャッシュにルーティングすることと、
    前記メモリアクセス要求に関連するデータを前記CPUに返すことと、を含む、
    方法。
  10. 前記メモリアクセス要求をルーティングすることは、スケーラブルデータファブリックが、前記メモリアクセス要求に関連するデータを前記アクティブブリッジチップレットに要求することを含む、
    請求項9の方法。
  11. 前記スケーラブルデータファブリックを介して、前記メモリアクセス要求に関連するデータを前記第1のGPUチップレットに返すことをさらに含む、
    請求項10の方法。
  12. 前記メモリアクセス要求を受信することは、スケーラブルデータファブリックが、前記メモリアクセス要求を前記CPUから受信することを含む、
    請求項9の方法。
  13. 前記スケーラブルデータファブリックを介して、前記メモリアクセス要求に関連するデータを前記アクティブブリッジチップレットから受信することをさらに含む、
    請求項12の方法。
  14. 前記アクティブブリッジチップレットの統合されたキャッシュメモリにデータをキャッシュすることをさらに含み、
    前記統合されたキャッシュメモリは、
    前記第1のGPUチップレットにおける第1のキャッシュメモリ階層の最終レベルであって、前記第1のキャッシュメモリ階層の第1のレベルは、前記第1のGPUチップレット内でコヒーレントである、前記第1のキャッシュメモリ階層の最終レベルと、
    前記GPUチップレットアレイの第2のGPUチップレットにおける第2のキャッシュメモリ階層の最終レベルであって、前記第2のキャッシュメモリ階層の第1のレベルは、前記第2のGPUチップレット内でコヒーレントである、前記第2のキャッシュメモリ階層の最終レベルと、を含む、
    請求項9の方法。
  15. プロセッサであって、
    中央処理ユニット(CPU)と、
    第1のGPUチップレットを含むGPUチップレットアレイであって、前記第1のGPUチップレットは、アクティブブリッジチップレットコントローラを含む、GPUチップレットアレイと、
    統合された最終レベルキャッシュと、を備え、
    前記プロセッサは、
    前記第1のGPUチップレットにおいて、メモリアクセス要求を前記CPUから受信することと、
    前記第1のGPUチップレットの前記アクティブブリッジチップレットコントローラにおいて、前記メモリアクセス要求に関連するデータが、前記GPUチップレットアレイの前記第1のGPUチップレット及び第2のGPUチップレットによって共有されるアクティブブリッジチップレットにキャッシュされることを判別することと、
    前記メモリアクセス要求を、前記アクティブブリッジチップレットにおける前記統合された最終レベルキャッシュにルーティングすることと、
    前記メモリアクセス要求に関連するデータを前記CPUに返すことと、
    を行うように構成されている、
    プロセッサ。
  16. 前記プロセッサは、スケーラブルデータファブリックを介して、前記メモリアクセス要求に関連するデータを前記アクティブブリッジチップレットに要求するように構成されている、
    請求項15のプロセッサ。
  17. 前記プロセッサは、前記スケーラブルデータファブリックを介して、前記メモリアクセス要求に関連するデータを前記第1のGPUチップレットに返すように構成されている、
    請求項16のプロセッサ。
  18. 前記プロセッサは、スケーラブルデータファブリックを介して、前記メモリアクセス要求を前記CPUから受信するように構成されている、
    請求項15のプロセッサ。
  19. 前記第1のGPUチップレットは、前記スケーラブルデータファブリックを介して、前記メモリアクセス要求に関連するデータを前記アクティブブリッジチップレットから受信するように構成されている、
    請求項18のプロセッサ。
JP2022516307A 2019-09-27 2020-09-24 統合キャッシュを有するアクティブブリッジチップレット Active JP7478229B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/585,452 US11507527B2 (en) 2019-09-27 2019-09-27 Active bridge chiplet with integrated cache
US16/585,452 2019-09-27
PCT/US2020/052433 WO2021061941A1 (en) 2019-09-27 2020-09-24 Active bridge chiplet with integrated cache

Publications (3)

Publication Number Publication Date
JP2022550686A JP2022550686A (ja) 2022-12-05
JPWO2021061941A5 JPWO2021061941A5 (ja) 2023-09-25
JP7478229B2 true JP7478229B2 (ja) 2024-05-02

Family

ID=75163457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022516307A Active JP7478229B2 (ja) 2019-09-27 2020-09-24 統合キャッシュを有するアクティブブリッジチップレット

Country Status (6)

Country Link
US (2) US11507527B2 (ja)
EP (1) EP4035020A4 (ja)
JP (1) JP7478229B2 (ja)
KR (1) KR20220066122A (ja)
CN (2) CN114514514B (ja)
WO (1) WO2021061941A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11704271B2 (en) 2020-08-20 2023-07-18 Alibaba Group Holding Limited Scalable system-in-package architectures
US20220320042A1 (en) * 2021-03-30 2022-10-06 Advanced Micro Devices, Inc. Die stacking for modular parallel processors
US11403255B1 (en) * 2021-06-29 2022-08-02 Red Hat, Inc. Managing discovered chiplets based on physical topology
US20230077750A1 (en) * 2021-09-13 2023-03-16 Intel Corporation Disaggregated mesh and l4 cache
US20230114164A1 (en) * 2021-10-07 2023-04-13 Intel Corporation Atomic handling for disaggregated 3d structured socs
US20220107808A1 (en) * 2021-12-16 2022-04-07 Intel Corporation Method to reduce register access latency in split-die soc designs
GB2611377B (en) 2022-03-30 2023-11-01 Imagination Tech Ltd Memory allocation for 3-D graphics rendering
GB2611376B (en) * 2022-03-30 2023-11-01 Imagination Tech Ltd Multi-core draw splitting
US20240193844A1 (en) * 2022-12-08 2024-06-13 Advanced Micro Devices, Inc. Configurable multiple-die graphics processing unit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110072213A1 (en) 2009-09-23 2011-03-24 Nickolls John R Instructions for managing a parallel cache hierarchy
JP2011523745A (ja) 2008-05-30 2011-08-18 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 分散型レベル1キャッシュシステム及び集中型レベル2キャッシュを有するシェーダ複合体
WO2012137339A1 (ja) 2011-04-07 2012-10-11 富士通株式会社 情報処理装置、並列計算機システムおよび演算処理装置の制御方法
JP2015524979A (ja) 2012-08-17 2015-08-27 インテル・コーポレーション ユニファイドメモリアーキテクチャを介したメモリ共有
US20190221556A1 (en) 2018-01-12 2019-07-18 Wilfred Gomes Distributed semiconductor die and package architecture

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3959914B2 (ja) 1999-12-24 2007-08-15 株式会社日立製作所 主記憶共有型並列計算機及びそれに用いるノード制御装置
US8860741B1 (en) * 2006-12-08 2014-10-14 Nvidia Corporation Graphics processor with memory management unit and cache coherent link
US8766988B2 (en) 2009-10-09 2014-07-01 Nvidia Corporation Providing pipeline state through constant buffers
US9899329B2 (en) 2010-11-23 2018-02-20 X-Celeprint Limited Interconnection structures and methods for transfer-printed integrated circuit elements with improved interconnection alignment tolerance
US8683160B2 (en) 2011-06-22 2014-03-25 International Business Machines Corporation Method and apparatus for supporting memory usage accounting
US9679530B2 (en) 2012-04-30 2017-06-13 Nvidia Corporation Compressing graphics data rendered on a primary computer for transmission to a remote computer
US9443783B2 (en) 2012-06-27 2016-09-13 Taiwan Semiconductor Manufacturing Company, Ltd. 3DIC stacking device and method of manufacture
US9305807B2 (en) 2014-02-27 2016-04-05 Palo Alto Research Center Incorporated Fabrication method for microelectronic components and microchip inks used in electrostatic assembly
US9768145B2 (en) 2015-08-31 2017-09-19 Taiwan Semiconductor Manufacturing Company, Ltd. Methods of forming multi-die package structures including redistribution layers
GB2547252B (en) 2016-02-12 2019-12-11 Advanced Risc Mach Ltd Graphics processing systems
US9761559B1 (en) 2016-04-21 2017-09-12 Micron Technology, Inc. Semiconductor package and fabrication method thereof
US11277922B2 (en) 2016-10-06 2022-03-15 Advanced Micro Devices, Inc. Circuit board with bridge chiplets
US10672743B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D Compute circuit with high density z-axis interconnects
KR102393946B1 (ko) 2016-10-07 2022-05-03 엑셀시스 코포레이션 직접-접합된 네이티브 상호접속부 및 능동 베이스 다이
DE102017103095A1 (de) 2017-02-15 2018-08-16 Infineon Technologies Ag Handhaben eines dünnen Wafers während der Chipherstellung
US10282309B2 (en) 2017-02-24 2019-05-07 Advanced Micro Devices, Inc. Per-page control of physical address space distribution among memory modules
US10282811B2 (en) * 2017-04-07 2019-05-07 Intel Corporation Apparatus and method for managing data bias in a graphics processing architecture
US10540318B2 (en) 2017-04-09 2020-01-21 Intel Corporation Graphics processing integrated circuit package
US10430147B2 (en) 2017-04-17 2019-10-01 Intel Corporation Collaborative multi-user virtual reality
US10510721B2 (en) 2017-08-11 2019-12-17 Advanced Micro Devices, Inc. Molded chip combination
US10992017B2 (en) 2018-11-15 2021-04-27 Intel Corporation Semiconductor package comprising chiplets disposed on a substrate which are electromagnetically coupled by dielectric waveguides and a computing networks formed therefrom
US11289424B2 (en) 2018-11-29 2022-03-29 Taiwan Semiconductor Manufacturing Company, Ltd. Package and method of manufacturing the same
US10803548B2 (en) 2019-03-15 2020-10-13 Intel Corporation Disaggregation of SOC architecture
US11043986B2 (en) 2019-04-15 2021-06-22 Intel Corporation Reduction of cross-capacitance and crosstalk between three-dimensionally packed interconnect wires
US11063019B2 (en) 2019-07-17 2021-07-13 Taiwan Semiconductor Manufacturing Company, Ltd. Package structure, chip structure and method of fabricating the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523745A (ja) 2008-05-30 2011-08-18 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 分散型レベル1キャッシュシステム及び集中型レベル2キャッシュを有するシェーダ複合体
US20110072213A1 (en) 2009-09-23 2011-03-24 Nickolls John R Instructions for managing a parallel cache hierarchy
WO2012137339A1 (ja) 2011-04-07 2012-10-11 富士通株式会社 情報処理装置、並列計算機システムおよび演算処理装置の制御方法
JP2015524979A (ja) 2012-08-17 2015-08-27 インテル・コーポレーション ユニファイドメモリアーキテクチャを介したメモリ共有
US20190221556A1 (en) 2018-01-12 2019-07-18 Wilfred Gomes Distributed semiconductor die and package architecture

Also Published As

Publication number Publication date
EP4035020A1 (en) 2022-08-03
CN114514514B (zh) 2023-10-17
CN114514514A (zh) 2022-05-17
KR20220066122A (ko) 2022-05-23
EP4035020A4 (en) 2023-10-25
JP2022550686A (ja) 2022-12-05
US11507527B2 (en) 2022-11-22
US20210097013A1 (en) 2021-04-01
CN117827737A (zh) 2024-04-05
US20230305981A1 (en) 2023-09-28
WO2021061941A1 (en) 2021-04-01

Similar Documents

Publication Publication Date Title
JP7478229B2 (ja) 統合キャッシュを有するアクティブブリッジチップレット
KR102500802B1 (ko) 플래쉬 집적 고 대역폭 메모리 장치
US11841803B2 (en) GPU chiplets using high bandwidth crosslinks
US10496561B2 (en) Resilient vertical stacked chip network for routing memory requests to a plurality of memory dies
US11474950B2 (en) Memory controller including plurality of address mapping tables, system on chip, and electronic device
US11276459B2 (en) Memory die including local processor and global processor, memory device, and electronic device
JP2021057570A (ja) メモリリソースを有するチップレットを備えたパッケージデバイス
CN114968371A (zh) 用于为不同的应用域配置并行处理器的技术
WO2021061949A1 (en) Fabricating active-bridge-coupled gpu chiplets
WO2022109770A1 (en) Multi-port memory link expander to share data among hosts
US20230317561A1 (en) Scalable architecture for multi-die semiconductor packages
US20230315334A1 (en) Providing fine grain access to package memory
US20230318825A1 (en) Separately storing encryption keys and encrypted data in a hybrid memory
TWI839537B (zh) 封裝裝置、運算系統及用以形成封裝裝置之方法
US20230418508A1 (en) Performing distributed processing using distributed memory
US20240047364A1 (en) Connectivity layer in 3d devices
US11928039B1 (en) Data-transfer test mode
US12013810B2 (en) Non-homogeneous chiplets
US20240079036A1 (en) Standalone Mode
JP2024511776A (ja) モジュール式並列プロセッサのためのダイ積層
JP2023507330A (ja) 電力節約のためのクロックイネーブルとしてのバイトイネーブルの転用

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230914

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240419

R150 Certificate of patent or registration of utility model

Ref document number: 7478229

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150