Intel GPU-Architektur, Unterschiede zu NVIDIA und AMD

Intel GPU-Architektur, Unterschiede zu NVIDIA und AMD

Wir assoziieren nicht oft die Intel Marke mit GPUs oder Grafikchips, was daran liegt, dass Intel bisher im unterdurchschnittlichen Segment geblieben ist. Darin sind die im Prozessor integrierten GPUs und die Einsteiger-GPUs enthalten, bei denen keine hohe Leistung erforderlich ist. Was bedeutet, dass es für viele nicht das gleiche Interesse hat wie NVIDIA und AMD GPUs, aber auch Intels Grafikarchitektur hat interessante Punkte, die wir im Folgenden definieren werden.

Intel war bei GPUs immer der dritte im Wettbewerb, schließlich ist es nicht ihr Hauptgeschäft und es geht um mehr als das, was sie tun, was CPUs sind. Obwohl sie in den letzten Jahren die Ressourcen erhöht haben und eine Reihe von Gaming-GPUs am Start haben. Seine Architektur weist jedoch eine Reihe von Unterscheidungsmerkmalen gegenüber seiner Konkurrenz auf.

Die Execution Unit, die Grundlage der Intel-GPUs

Intel EU-Video

Um den Unterschied in der Organisation oder Architektur von Intel-GPUs im Vergleich zu den anderen zu verstehen, müssen wir dies in einem NVIDIA- oder AMD-Prozessor verstehen GPU die Shader-Einheit ist die minimale Einheit, bei Intel die Execution Unit. woraus besteht es genau? Jede Ausführungseinheit ist ein Prozessor, der für Parallelität auf der Ebene des Ausführungsthreads oder des vollständigen TLP entwickelt wurde. Daher verfügt es über eine Steuereinheit, die Aufzeichnungen und die entsprechenden Ausführungseinheiten. Dies sind zwei SIMD-Einheiten von 4 32-Bit-Gleitkomma-ALUs und weitere 4 Ganzzahlen, die geschaltet werden und SIMD über Register unterstützen.

Dank des SIMD-On-Registers können sie durch Unterteilung der ALUs und ihrer zugehörigen Register mit der doppelten Anzahl von Operanden pro Taktzyklus für jede vorgenommene Unterteilung arbeiten. Somit können sie doppelt so viele 16-Bit-Gleitkommaoperationen wie 32-Bit ausführen, aber viermal mehr, wenn sie 8-Bit sind. Hinsichtlich der Funktionalität der Execution Units sind diese für die Ausführung der Shader-Programme verantwortlich, schließlich entsprechen sie den SIMD-Einheiten der Intel- und AMD-GPUs und haben daher die gleiche Aufgabe.

Intel Xe-Ausführungseinheiten

Beim Intel Xe hat das Team von Raja Koduri eine wichtige Änderung an der Steuereinheit vorgenommen, da sich nun zwei Execution Units die gleiche Steuereinheit teilen. Eine Änderung, die sehr an die erinnert, die AMD in seinen RDNA-Architekturen vorgenommen hat, bei denen zwei Compute Units zu einer einzigen Workgroup gruppiert sind. Etwas, das uns durch den Braindrain von AMD zu Intel nicht überraschen sollte. Diese Änderung hat dazu geführt, dass die Steuereinheit aktualisiert wurde, was sicherlich eine vollständige Änderung der internen ISA von Intel-GPUs für eine viel effizientere darstellt.

Sub-Slice, die Shader-Einheit

Intel Architektur Xe Hotchips (8)

Als Äquivalent zu Shader-Einheiten, die NVIDIA- und AMD-GPUs haben, haben wir bereits gesehen, dass es sich nicht um die Execution Units, sondern um die Sub-Slices handelt. Darin finden Sie die Execution Units gruppiert. Da jede Ausführungseinheit eine Untermenge eines Unterslice ist und das Slice die Obermenge des Unterslice ist, werden wir letzteres später sehen. Jeder Subslice beherbergt 16 Execution Units, was insgesamt 64 FP32-ALUs und 64 Integer-ALUs bedeutet. Eine Zahl, die diese Einheiten in Bezug auf die rohe Rechenleistung ihren AMD-Äquivalenten, Compute Units, entspricht.

Die restlichen Elemente, die wir in der Sublice finden können, sind die Klassiker einer Einheit dieses Typs, obwohl Intel eine andere Nomenklatur als üblich verwendet. Wie der sogenannte 3D-Sampler, der nach wie vor die klassische Einheit zur Handhabung und Filterung von Texturen ist, hat Intel dieser klassischen Einheit mit fester Funktion, die seit ihrer Einführung in allen 3D-Grafikprozessoren zu finden ist, einfach einen anderen Namen gegeben.

Intel Architektur Xe Hotchips (10)

Der Media Sampler ist jedoch ein viel interessanteres Stück, da er einzigartig für Intel-GPUs ist. Er besteht aus einer Reihe fester Funktionseinheiten, die wie folgt sind:

  • Die Video Motion Engine bietet eine Pixelbewegungsschätzung, die für Video-Encoder von entscheidender Bedeutung ist.
  • Der adaptive Videoskalar ist eine Einheit, die Bildglättungsfilter ausführt.
  • De-Noise / De-Interlace ist eine Einheit, die einerseits das Rauschen in einem Bild reduziert und andererseits Videos im Interlaced-Modus in den Progressive-Modus umwandelt.

Beginnend mit dem Intel Xe wurde der Media Sampler aus dem Subslice herausgenommen und ist zu einer eigenständigen Einheit geworden. Was weiterhin ein Differenzierungsstück in Bezug auf die Designs von NVIDIA und AMD ist.

The Slice, ein weiteres gemeinsames Element bei GPUs

Intel Architektur Xe Hotchips (7)

Der Slice in der Intel-GPU-Architektur entspricht im Fall von NVIDIA der Shader Engine oder dem GPC. Unterschiedliche Namen für eine Organisation von Einheiten voneinander. Im Inneren befinden sich die Subslices und eine Reihe fester Funktionseinheiten, die bei den GPUs anderer Unternehmen üblich sind.

Auch wenn die Nomenklatur verwirrend sein kann, zum Beispiel in den übrigen Architekturen ist die Rastereinheit normalerweise vereinheitlicht und diejenige, die den Tiefenpuffer erzeugt, beide Elemente treten im Fall von NVIDIA und AMD in der Rasterphase in einer gemeinsamen Einheit auf, aber Intel macht das separat.

Gleiches gilt für den Pixel-Dispatch und das Pixel-Back-End. Funktionen der ROP-Einheiten, die hier von zwei verschiedenen Elementen ausgeführt werden. Schließlich ist die zu erledigende Aufgabe in beiden Fällen die gleiche.

Die Intel GPU-Cache-Hierarchie

Intel Caches-GPU

Einer der Unterscheidungspunkte der gemeinsamen Architektur von Intel-GPUs im Vergleich zu AMD und NVIDIA ist genau, wie die Cache-Hierarchie organisiert ist. Im Fall von AMD stellen wir fest, dass die RX 6000 eine Hierarchie von vier Ebenen hat, wenn wir die neu eingebauten mitzählen Infinity-Cache. Im Fall von NVIDIA unterscheidet sich die Cache-Hierarchie von der von Intel und AMD, aber es geht nicht um die Konkurrenz zu Intel, auf die wir uns in diesem Artikel konzentrieren möchten, da er ihnen nicht gewidmet ist

Das Diagramm in diesem Abschnitt zeigt die interne Kommunikation innerhalb der GPU sowohl auf Subslice- als auch auf Slice-Ebene. Im Fall von Subslice haben wir den klassischen Datencache und gemeinsam genutzten lokalen Speicher. Aber im Gegensatz zu NVIDIA- und AMD-GPUs hat Intel traditionell einen zusätzlichen L2-Cache hinzugefügt, auf den sowohl der 3D-Sampler als auch der Media-Sampler zugreifen können. Das macht den L3-Cache der GPU zum GPU-Cache der obersten Ebene.

Intel Xe GPU-Architektur

Die Unterscheidung zwischen dem L1-Cache für Daten und damit für die Execution Units und dem L2 für die Texturen hat sich beim Intel Xe geändert, wo beide zu einem einzigen L1-Cache für Daten und Texturen zusammengefasst wurden. Jetzt haben sie also eine völlig Standardkonfiguration im Vergleich zu konkurrierenden GPUs.

Eine weitere Änderung betrifft den L3- oder Last-Level-Cache. Zeitgenössische GPUs unterstützen das sogenannte Tiled Caching, das darin besteht, dass sie nach Kacheln rastern, aber sie tun dies auf dem letzten Level-Cache und es besteht die Gefahr, dass die Daten in den Speicher fallen, wo die Energiekosten für die Wiederherstellung in die Höhe schnellen Sie haben es von 3 MB auf 16 MB erhöht.