banner
Nachrichtenzentrum
Umfangreiche Erfahrung gepaart mit modernster Ausrüstung

Freche Chiplets treffen auf Super-NoCs

Sep 01, 2023

Clive 'Max' Maxfield | 22. August 2023

Ich beobachte in letzter Zeit immer mehr Aktivitäten auf dem Gebiet der Chiplets (mehrere Siliziumwürfel auf einem gemeinsamen Substrat). Einige der großen Player nutzen bereits seit einiger Zeit proprietäre Inhouse-Implementierungen, aber die Dinge scheinen sich so zu entwickeln, dass in nicht allzu ferner Zukunft jeder an dem Spaß teilhaben kann.

Bevor wir uns mit Elan und Hingabe (und natürlich Selbstbewusstsein) kopfüber ins Getümmel stürzen, könnte es nützlich sein, ein paar Begriffe zu definieren, um sicherzustellen, dass wir alle zum gleichen Dudelsackspiel tanzen.

Beginnen wir mit dem integrierten Schaltkreis (IC), der sich auf einen Schaltkreis bezieht, der aus einer Ansammlung von Komponenten (Transistoren, Widerstände usw.) besteht, die auf einem kleinen flachen Stück Halbleitermaterial implementiert sind. Obwohl eine Vielzahl von Halbleitern verwendet werden kann, ist Silizium am gebräuchlichsten, weshalb diese Geräte allgemein als „Siliziumchips“ bezeichnet werden.

Der Begriff „monolithischer integrierter Schaltkreis“ wird oft verwendet, um die Tatsache widerzuspiegeln und hervorzuheben, dass alles auf einem einzigen, soliden, nahtlosen Stück Silizium implementiert ist, wodurch sich diese Schaltkreise von ihren Vorgängern unterscheiden, die aus Sammlungen diskreter (einzeln verpackter) Komponenten erstellt wurden.

ICs können analoger, digitaler oder Mixed-Signal-ICs (sowohl analog als auch digital) sein. Ich werde Radiofrequenzgeräte (RF) nicht erwähnen, denn wenn ich nur darüber nachdenke, was nötig ist, um ein solches Gerät zu entwerfen, schmerzt es in mir.

Die Begriffe ASIC, ASSP und SoC sorgen bei Unvorsichtigen oft für Verwirrung. Wie ich in meinem Buch Bebop to the Boolean Boogie: An Unconventional Guide to Electronics (das ich selbst oft als Referenz verwende) geschrieben habe: „Im Allgemeinen ist ein anwendungsspezifischer integrierter Schaltkreis (ASIC) eine Komponente, die von und/oder entworfen wurde. oder von einem einzelnen Unternehmen in einem bestimmten System verwendet werden. Im Vergleich dazu ist ein anwendungsspezifisches Standardprodukt (ASSP) ein Gerät für allgemeinere Zwecke, das mit ASIC-Tools und -Technologien erstellt wird, aber für die Verwendung durch mehrere Systemdesignhäuser gedacht ist . Unterdessen ist ein System-on-Chip (SoC) ein ASIC oder ASSP, der als komplettes Subsystem fungiert, einschließlich eines oder mehrerer Prozessoren, Speicher, Peripheriegeräte, benutzerdefinierter Logik usw.

Hier gibt es mehrere Dinge, die es zu beachten gilt. Wenn sie die Begriffe ASIC und ASSP hören, denken viele Menschen reflexartig an digitale Geräte, aber das liegt daran, dass diese Leute aus dem digitalen Bereich kommen. Analoge Designer betrachten ihre rein analogen Kreationen möglicherweise durchaus als ASICs und ASSPs. Analog-Fans sagen auch gerne, dass Digital eine Teilmenge von Analog sei, was erklärt, warum sie nicht viele Freunde haben und auf Partys oft alleine in der Ecke stehen. Allerdings enthalten selbst „rein digitale“ Geräte, die unglaublich viele digitale Funktionen enthalten, fast immer eine Handvoll analoger Elemente zur Überwachung von Spannung und Temperatur sowie einige größere analoge Funktionen wie Phasenregelkreise (PLLs).

Um die 1970er Jahre war es üblich, nur kleine Mengen digitaler Logik in einem IC zu implementieren (ich denke an Geräte der 7400er-Serie von Texas Instruments und Komponenten der 4000er-Serie von RCA). Damals enthielten Leiterplatten (PCBs) möglicherweise Hunderte dieser Komponenten. Im Laufe der Zeit sind wir dazu übergegangen, weniger Geräte zu haben, die jeweils mehr digitale Funktionen enthalten.

Jeder Halbleiterprozess hat Regeln zur Mindestgröße der Strukturen, die auf dem Chip hergestellt werden können. Jeder Prozess der neuen Generation wird als Technologieknoten oder Prozessknoten bezeichnet und durch die minimale Feature-Größe gekennzeichnet, die durch diesen Prozess erreicht werden kann (ich vereinfache die Dinge, aber ich bin sicher, Sie verstehen das Wesentliche). In der Vergangenheit wurden diese Strukturgrößen (daher Prozessknoten) in Millionstel Metern (Mikrometer oder µm) angegeben. Die ersten ASICs, die ich um 1980 entworfen habe, waren Toshiba-Geräte, die auf dem 5-µm-Knoten implementiert waren. Heutzutage werden Prozessknoten in Milliardstel Metern (Nanometer oder nm) angegeben.

Im Laufe der Jahre, als die Geometrien (die Größe der Strukturen auf Chips) schrumpften, wurde es möglich, immer mehr Transistoren auf derselben Fläche unterzubringen. Fortschritte bei den Fertigungswerkzeugen und -technologien ermöglichten außerdem die Herstellung immer größerer Würfel (Chips). Wie groß? Also…

Machen Sie eine Pause, um tief durchzuatmen … 1996 verfügte der Intel Pentium Deschutes, der im 0,25-µm-(250-nm)-Prozessknoten implementiert wurde, über 7,5 Millionen Transistoren, was für die damalige Zeit eine erstaunliche Zahl war. Im Jahr 2003 umfasste der IBM PowerPC 790, der im 90-nm-Prozessknoten entstand, 58 Millionen Transistoren. Im Jahr 2007 enthielt der Intel Xeon 5400, der im 45-nm-Prozess hergestellt wurde, 820 Millionen Transistoren. Im Jahr 2010 verfügte der Intel Westmere-EX, der im 32/28-nm-Prozessknoten hergestellt wurde, über 2,6 Milliarden Transistoren. Im Jahr 2018 verfügte der Apple A12 Bionic, der im 7-nm-Prozessknoten realisiert wurde, über 6,9 Milliarden Transistoren. In jüngerer Zeit, im Jahr 2022, prahlt der Apple A16 Bionic, der am 4-nm-Prozessknoten ins Rennen ging, mit mehr als 15 Milliarden Transistoren … und atmet wieder aus (Puh!).

Einerseits ist das alles sehr aufregend. Ich kenne mehrere relativ kleine Startup-Unternehmen, die Transistorgeräte im Wert von mehreren Milliarden hergestellt haben. Andererseits stoßen wir an die Grenzen dessen, was mit den heutigen Technologien machbar ist. Beispielsweise liegt die theoretische Grenze für eine Fotomaske, die im Extrem-Ultraviolett-Verfahren (EUV) verwendet wird, bei ~850 mm2 (ca. 29 mm x 29 mm im Quadrat). Wenn wir in der Praxis etwa 600 mm2 (z. B. 25 mm x 25 mm) passieren, beginnt die Ausbeute – also die Anzahl der Chips, die funktionieren, im Vergleich zu der Anzahl, die nicht funktionieren – dramatisch zu sinken (trauriges Gesicht).

Die Aufteilung der Funktionalität auf mehrere, einzeln verpackte Geräte ist aufgrund des Stromverbrauchs und der Verzögerungen, die mit der Chip-zu-Chip-Verbindung (C2C) verbunden sind, keine Option (naja, es ist keine gute Option). Die Lösung besteht darin, mehrere Würfel – in diesem Zusammenhang allgemein als Chiplets bezeichnet – zu nehmen und auf einem gemeinsamen Substrat zu montieren. Dieses Substrat kann organisch* wie eine kleine Leiterplatte mit hoher Dichte oder ein Halbleiter sein, und das Ergebnis wird als Multi-Die-System bezeichnet (*der Begriff „organisch“ wird in diesem Zusammenhang verwendet, weil die Moleküle, die die Kunststoffe und Harze bilden, in diesem Substrat verwendet werden Substrate haben ein „Rückgrat“, das aus Kohlenstoffatomen besteht, und Kohlenstoff ist das Schlüsselelement für organisches Leben, wie wir es kennen).

Mehrere Chiplets können auf einem gemeinsamen Substrat montiert werden, um ein Multi-Die-System zu bilden.

Ich habe mich gerade mit den Jungs und Mädels von Synopsys über all das unterhalten, weil sie sich mit den Tools und Technologien beschäftigt haben, die zum Entwerfen und Verifizieren von Multi-Chip-Systemen dieser Art erforderlich sind, von Silizium-IP über Chiplet-IP bis hin zu Multi-Chip-Systemen -Die architektonische Erkundung und Multi-Die-Verpackung.

Die Leute von Synopsys sagen, dass sie bisher vier Hauptanwendungsfälle für Chiplets identifiziert haben. Das erste Szenario besteht darin, einfach mehrere Kopien desselben Chips auf dem Substrat zu montieren, beispielsweise eine Reihe von CPUs, GPUs oder NPUs. Das zweite Szenario besteht darin, ein Design zu nehmen, das Sie wirklich gerne auf einem einzelnen monolithischen Chip implementieren würden, aber dieser Chip wäre zu groß und die Ausbeute wäre zu gering, sodass Sie ihn in zwei oder mehr Chiplets aufteilen müssen.

Das dritte Szenario basiert auf der Tatsache, dass Sie zwar die Hauptfunktionalität digitaler Geräte am neuesten und besten Prozessknoten implementieren möchten, den Sie sich leisten können, dieser Knoten jedoch möglicherweise keine Vorteile für einige Eingabe-/Ausgabefunktionen bietet, z. Geschwindigkeitstransceiver. Wenn man darüber hinaus bedenkt, dass Funktionen wie Transceiver eine komplexe Mischung aus hochentwickelten analogen und digitalen Funktionen beinhalten, sollten Sie, sobald Sie einen Transceiver in einem Prozessknoten haben, möglicherweise bei dieser bestehenden, bewährten und risikofreien Lösung bleiben. Ein gutes Beispiel für dieses Szenario sind Intel Agilex 7 FPGAs und SoC FPGAs (wobei ein SoC FPGA ein Hard Processor Subsystem, kurz HPS, enthält).

Beispielhaftes Mitglied der Intel Agilex 7 SoC FPGA F-Series-Familie.

Zusätzlich zum Hauptchip enthalten Intel Agilex 7-Geräte zwei bis sechs Transceiver-Chiplets (XCVR), die sie Kacheln nennen. Diese XCVR-Kacheln, die 400-Gbit/s-Ethernet-, PCIe- und Compute Express Link (CXL)-Schnittstellen unterstützen können, werden mithilfe der EMIB-Technologie (Embedded Multi-Die Interconnect Bridge) von Intel mit dem Haupt-FPGA-Chip verbunden.

Das letzte Szenario beinhaltet die Aufteilung der Funktionalität des Geräts in mehrere heterogene Würfel, die jeweils am optimalen Knoten (in Bezug auf Kosten, Leistung, Leistung usw.) für ihre Funktion implementiert werden. Beispielsweise könnte ein HF-Chip mit einem 28-nm-Prozessknoten implementiert werden, ein Chip mit Hochgeschwindigkeits-Analog-Digital-Wandlern (ADCs) könnte in einem 16-nm-Prozessknoten implementiert werden und jedes „geheime Eichhörnchen“ könnte digital sein Die Logik kann mithilfe eines 5-nm-Prozessknotens realisiert werden. Das verblüffendste Beispiel, das ich für so etwas gesehen habe, sind die Geräte der Intel Data Center GPU Max-Serie (früher bekannt als Ponte Vecchio GPUs). Ich meine – 47 Kacheln und über 100 Milliarden Transistoren – was gibt es da nicht zu lieben? (Ich bin nur froh, dass mir nicht die Aufgabe übertragen wurde, alle Transistoren zu zählen.)

Die Intel Data Center GPU Max Series bietet ein extremes Beispiel für eine Chiplet-basierte Implementierung.

So weit, ist es gut. Es gibt jedoch einen Teil dieses Rätsels, über den wir noch nicht nachgedacht haben: Wie „sprechen“ die Chiplets über eine Die-to-Die-Verbindung (D2D) miteinander? Um ehrlich zu sein, hatte ich noch nicht einmal darüber nachgedacht, bis die Leute von Synposys erwähnten, dass sie mit Network-on-Chip (NoC)-Unternehmen zusammenarbeiten, weil sie mir sagten: „Wir wollen, dass sich NoCs in mehreren Chiplets wie ein verhalten.“ Ein einzelner Super-NoC bietet die höchstmöglichen Bandbreiten bei geringstmöglicher Latenz.“

Die bloße Erwähnung eines „Super NoC“ ließ alle möglichen Ideen in meinem armen alten Kopf herumschwirren. Für den Fall, dass NoCs für Sie neu sind, möchte ich Ihnen einen kurzen Überblick geben. Die Art von ICs, von denen wir hier sprechen, bestehen aus Funktionsblöcken, die als Intellectual Property (IP)-Blöcke bekannt sind. In der Antike (vor dem Jahr 2000) enthielt ein IC möglicherweise eine relativ kleine Anzahl relativ kleiner IPs, die alle über einen Bus miteinander kommunizierten. Als die Anzahl der IPs und die Größe dieser IPs zunahm, begannen Entwickler, Crossbar-Switches einzusetzen. Aber die Anzahl und Größe der IPs nahm weiter zu, was dazu führte, dass Crossbar-Switches in Überlastungsprobleme gerieten und ihnen die Puste ausging.

Die Lösung bestand darin, zu einem NoC zu wechseln. Erinnern wir uns daran, dass jede IP ihre eigenen Schnittstelleneigenschaften hat (Datenbreite, Taktfrequenz usw.). Außerdem verwendet jede IP eines der vielen Standardprotokolle, die von der SoC-Branche übernommen wurden (OCP, APB, AHB, AXI, STBus, DTL usw.). Die Lösung besteht darin, dass jede IP mit einer Funktion namens Socket verbunden wird (ich vereinfache die Dinge noch einmal etwas). Im Falle einer IP, die Daten übertragen möchte, paketiert und serialisiert der zugehörige Socket die Daten in eine normalisierte Form, die für den Transport über das Netzwerk geeignet ist. Wie in einem normalen Netzwerk können sich mehrere Pakete, die zwischen mehreren IPs übertragen werden, gleichzeitig im Umlauf befinden. Wenn ein Paket am Ziel ankommt, wandelt der mit der Ziel-IP verbundene Socket das eingehende Paket wieder in die von dieser IP verwendete Form um.

NoCs können in allen möglichen Topologien implementiert werden, einige einfache Beispiele dafür habe ich unten gezeigt. In einigen Fällen kann ein Chip mehrere NoCs verwenden, beispielsweise einen 1D-Baum, der einen Teil des ICs abdeckt, und ein 2D-Netz, das beispielsweise die Anforderungen eines anderen Teils des Geräts berücksichtigt.

Einige Beispiele für NoC-Topologien.

Tatsächlich sind viele IP-Blöcke mittlerweile so groß, dass sie ihre eigenen NoCs im Inneren verwenden – vielleicht sollten wir diese Networks-in-IPs (NiPs) nennen, aber denken Sie daran, das ist nur etwas, was ich spontan erfunden habe – und dann jedes dieser NiPs ist mit dem NoC des Hauptchips verbunden. Wenn wir also die D2D-Verbindung zwischen den Chiplets, die ein Multi-Die-System bilden, implementieren wollen, wäre ein Super NoC eine Möglichkeit.

Da ich mehr erfahren wollte, rief ich meinen Freund Frank Schirrmeister an, der Vice President Solutions and Business Development bei Arteris IP ist. Wenn jemand weiß, was in der Welt der NoCs vor sich geht, dann sind es die Leute von Arteris. Beispielsweise ist ein Arteris-NoC in 70 % der SoCs enthalten, die für den Antrieb von Fahrerassistenzsystemen (Advanced Driver Assistance Systems, ADAS) in Automobilen auf der ganzen Welt verwendet werden.

Frank wies darauf hin, dass Sie, wenn Sie möchten, dass Ihr NoC im Rahmen einer D2D-Implementierung die Chiplet-Grenze überschreitet, darüber nachdenken müssen, ob Ihre Chiplets Cache-kohärent sein sollen oder nicht (Arteris bietet FlexNoC für Anwendungen an, die nicht kohärent sind). Interconnect und Ncore für Anwendungen, die eine kohärente Verbindung erfordern), die Protokollschicht (PCIe, CHI, AXI, CXL, CCIX, proprietär…), die Verbindungsschicht (Paketierung über AMBA, CXS, CPI, proprietär…) und die physikalische Schicht (PCIe). , BoW, UCIe, XSR…).

Die Art und Weise, wie ich die Arteris NoC-Interconnect-IP-Technologie typischerweise grafisch dargestellt gesehen habe, ist unten dargestellt.

Arteris NoC verbindet IP im Kontext eines monolithischen SoC.

Da ich nun jedoch mein Interesse an den Konzepten von Super NoCs zum Ausdruck brachte, die im Kontext der D2D-Chiplet-Verbindung in Multi-Chip-Systemen verwendet werden, war Frank so freundlich, eine entsprechende grafische Darstellung wie unten gezeigt zur Verfügung zu stellen.

Arteris NoC verbindet IP im Kontext eines Multi-Die-Systems.

Hier gibt es noch viel mehr zu besprechen. Wir könnten zum Beispiel Tage (möglicherweise Wochen) damit verbringen, die Feinheiten der verschiedenen Akronyme zu entschlüsseln, die ich herumgeworfen habe (PCIe, CHI, AXI, CXL, CCIX, AMBA, CXS, CPI, BoW, UCIe, XSR…).

Nehmen wir zum Beispiel die Leute von Eliyan, die sagen, dass ihre NuLink-D2D-Verbindungslösung eine UCIe-konforme Verbindung mit der doppelten Bandbreite und der halben Leistung liefert (ich hoffe, dass ich mich in nicht allzu ferner Zukunft mit ihnen darüber unterhalten kann). Zukunft).

Außerdem unterhielt ich mich kürzlich mit Mateus Grellert, einem Assistenzprofessor an der Universidade Federal do Rio Grande do Sul (UFRGS). Mateus sagte mir: „Unsere Forschungsgruppe an der UFRGS arbeitet derzeit mit unseren Industriepartnern an Projekten im Zusammenhang mit der Entwicklung von Chiplet-basierten Systemen, einschließlich Designmethoden, Kommunikationsschnittstellen und Tools, die die Markteinführungszeit verkürzen können.“

Mateus fuhr fort, dass die Kommunikationsstrategien und -protokolle, die sie untersuchten, NoCs und NoPs umfassten. Als ich nach der mir unbekannten NoP-Nomenklatur fragte, antwortete Mateus: „NoP bedeutet Network-on-Interposer.“ Es ist die SiP-Version eines NoC. Ich bin mir nicht sicher, ob es sich bereits um einen geprägten Begriff handelt, aber ich bin in einem Artikel über Chiplet-basierte skalierbare In-Memory-Beschleunigung (SIAM) darauf gestoßen, den ich gerade gelesen habe.“

Ich sage Ihnen: Ich lerne jeden Tag etwas Neues. Ich werde einige Zeit damit verbringen, mit mehr Menschen zu reden, damit ich die Einzelheiten dieser Angelegenheit kennenlernen kann. In der Zwischenzeit freue ich mich wie immer über Ihre fesselnden Kommentare, aufschlussreichen Fragen und klugen Vorschläge.

Weitere Informationen zu Textformaten