Prozessorregister - Processor register

Ein Prozessorregister ist ein schnell zugänglicher Ort, der dem Prozessor eines Computers zur Verfügung steht . Register bestehen normalerweise aus einer kleinen Menge an schnellem Speicher , obwohl einige Register spezifische Hardwarefunktionen haben und schreibgeschützt oder schreibgeschützt sein können. In der Computerarchitektur werden Register typischerweise durch andere Mechanismen als den Hauptspeicher adressiert , können jedoch in einigen Fällen einer Speicheradresse, z. B. DEC PDP-10 , ICT 1900 , zugewiesen werden .

Fast alle Computer, ob Lade-/Speicherarchitektur oder nicht, laden Daten aus einem größeren Speicher in Register, wo sie für arithmetische Operationen verwendet und durch Maschinenbefehle manipuliert oder getestet werden . Manipulierte Daten werden dann oft zurück in den Hauptspeicher gespeichert, entweder durch denselben Befehl oder durch einen nachfolgenden. Moderne Prozessoren verwenden entweder statischen oder dynamischen RAM als Hauptspeicher, wobei auf letztere in der Regel über eine oder mehrere Cache-Ebenen zugegriffen wird .

Prozessorregister befinden sich normalerweise an der Spitze der Speicherhierarchie und bieten die schnellste Möglichkeit, auf Daten zuzugreifen. Der Begriff bezieht sich normalerweise nur auf die Gruppe von Registern, die direkt als Teil eines Befehls codiert sind, wie durch den Befehlssatz definiert . Moderne Hochleistungs-CPUs verfügen jedoch oft über Duplikate dieser „Architekturregister“, um die Leistung durch Registerumbenennung zu verbessern , was eine parallele und spekulative Ausführung ermöglicht . Modernes x86- Design hat diese Techniken um 1995 mit den Veröffentlichungen von Pentium Pro , Cyrix 6x86 , Nx586 und AMD K5 übernommen .

Greift ein Computerprogramm wiederholt auf dieselben Daten zu, spricht man von einer Referenzlokalität . Das Halten häufig verwendeter Werte in Registern kann für die Leistung eines Programms entscheidend sein. Die Registerzuweisung erfolgt entweder durch einen Compiler in der Codegenerierungsphase oder manuell durch einen Assemblersprachenprogrammierer .

Größe

Register werden normalerweise nach der Anzahl der Bits gemessen, die sie aufnehmen können, zum Beispiel ein " 8-Bit- Register", " 32-Bit- Register" oder ein " 64-Bit- Register" oder noch mehr. In einigen Befehlssätzen können die Register in verschiedenen Modi arbeiten, indem sie ihren Speicher in kleinere aufteilen (z. B. 32-Bit in vier 8-Bit-Einheiten), in die mehrere Daten (Vektor oder eindimensionales Datenarray ) geladen werden können und gleichzeitig operiert. Typischerweise wird es implementiert, indem zusätzliche Register hinzugefügt werden, die ihren Speicher in ein größeres Register abbilden. Prozessoren, die in der Lage sind, einen einzelnen Befehl für mehrere Daten auszuführen, werden als Vektorprozessoren bezeichnet .

Typen

Ein Prozessor enthält oft mehrere Arten von Registern, die nach ihrem Inhalt oder den darauf wirkenden Anweisungen klassifiziert werden können:

  • Benutzerzugängliche Register können durch Maschinenbefehle gelesen oder geschrieben werden. Die häufigste Aufteilung von benutzerzugänglichen Registern ist in Datenregister und Adressregister.
    • Datenregister skönnennumerische DatenwertewieIntegerund in einigen Architekturen Gleitkommawerte sowieZeichen, kleineBit-Arraysund andere Daten enthalten. In einigen älteren und unteren CPUswird für viele Operationen implizitein spezielles Datenregister, bekannt alsAkkumulator, verwendet.
    • Adressregister sHoldAdressenund werden von Anweisungen verwendet werdendie indirekt ZugriffPrimärspeicher.
      • Einige Prozessoren enthalten Register, die nur zum Halten einer Adresse oder nur zum Halten numerischer Werte verwendet werden können (in einigen Fällen als Indexregister verwendet, dessen Wert als Offset von einer Adresse hinzugefügt wird); andere erlauben Registern, beide Arten von Mengen zu speichern. Es gibt eine Vielzahl möglicher Adressierungsmodi , die verwendet werden, um die effektive Adresse eines Operanden anzugeben.
      • Der Stapelzeiger wird verwendet, um den Laufzeitstapel zu verwalten . Selten werden andere Datenstacks durch dedizierte Adressregister adressiert, siehe Stack-Maschine .
    • Universalregister ( GPRs ) können sowohl Daten als auch Adressen speichern, dh sie sind kombinierte Daten-/Adressregister; in einigen Architekturen, die Registerdatei wird vereinigt , so dass die GPRs speichern können Gleitkommazahlen auch.
    • Statusregister haltenWahrheitswertehäufig verwendetum zu bestimmenob eine Anweisung soll oder nicht ausgeführt werden.
    • Gleitkommaregister s(FPRs) speichernGleitkommazahlenin vielen Architekturen.
    • Konstante Register halten NurLese-Wertewie beispielsweise null, eins, oderPI.
    • Vektorregister halten Daten fürVektorverarbeitungerfolgt durchSIMDAnweisungen (Single Instruction, Multiple Data).
    • Spezialregister ( SPR s) halten den Programmzustand; sie enthalten normalerweise den Programmzähler , auch Befehlszeiger genannt, und das Statusregister ; der Programmzähler und das Statusregister könnten in einem Programmstatuswort- (PSW)-Registerkombiniert werden. Der oben erwähnte Stack-Pointer ist manchmal auch in dieser Gruppe enthalten. Eingebettete Mikroprozessoren können auch Register haben, die spezialisierten Hardwareelementen entsprechen.
    • In einigen Architekturen speichern modellspezifische Register (auch maschinenspezifische Register genannt ) Daten und Einstellungen, die sich auf den Prozessor selbst beziehen. Da ihre Bedeutung mit dem Design eines bestimmten Prozessors verbunden ist, kann nicht erwartet werden, dass sie zwischen den Prozessorgenerationen Standard bleiben.
    • Speichertyp-Bereichsregister (MTRRs)
  • Interne Register – Register, auf die nicht durch Befehle zugegriffen werden kann, werden intern für Prozessoroperationen verwendet.
  • Architekturregister- Die für Software, die durch eine Architektur definiert ist, sichtbaren Register entsprechen möglicherweise nicht der physischen Hardware, wenn eine Registerumbenennung durch die zugrunde liegende Hardware durchgeführt wird.

Hardwareregister sind ähnlich, treten jedoch außerhalb von CPUs auf.

In einigen Architekturen (wie SPARC und MIPS ) ist das erste oder letzte Register in der Integer- Registerdatei ein Pseudoregister , das so verdrahtet ist, dass es beim Lesen immer Null zurückgibt (hauptsächlich um die Indizierungsmodi zu vereinfachen). überschrieben werden. In Alpha wird dies auch für die Gleitkommaregisterdatei durchgeführt. Aus diesem Grund werden Registerdateien häufig so zitiert, dass sie ein Register mehr haben, als tatsächlich verwendbar sind; zum Beispiel werden 32 Register zitiert, wenn nur 31 von ihnen in die obige Definition eines Registers passen.

Beispiele

Die folgende Tabelle zeigt die Anzahl der Register in mehreren Mainstream-CPU-Architekturen. Beachten Sie, dass in x86-kompatiblen Prozessoren der Stapelzeiger ( ESP ) als ganzzahliges Register gezählt wird, obwohl es eine begrenzte Anzahl von Befehlen gibt, die verwendet werden können, um seinen Inhalt zu bearbeiten. Ähnliche Vorbehalte gelten für die meisten Architekturen.

Obwohl alle oben aufgeführten Architekturen unterschiedlich sind, sind fast alle eine Grundanordnung, die als Von Neumann-Architektur bekannt ist und zuerst vom ungarisch-amerikanischen Mathematiker John von Neumann vorgeschlagen wurde . Bemerkenswert ist auch, dass die Anzahl der Register bei GPUs viel höher ist als bei CPUs.

Die Architektur GPRs/Daten+Adressregister FP-
Register
Anmerkungen
AT&T Hobbit 0 Stapel von 7 Stapelmaschine
Cray-1 8 Skalardaten, 8 Adressen 8 Skalar, 8 Vektor (64 Elemente) Skalare Datenregister können Ganzzahl- oder Gleitkommazahlen sein; auch 64 skalare Scratch-Pad-T-Register und 64 Adress-Scratch-Pad-B-Register
4004 1 Akku, 16 weitere 0 Register A dient allgemeinen Zwecken, während die Register r0–r15 für die Adresse und das Segment dienen.
8008 1 Akku, 6 weitere 0 Das A-Register ist ein Akkumulator, für den alle Arithmetiken durchgeführt werden; die H- und L-Register können in Kombination als Adressregister verwendet werden; alle Register können als Operanden in Lade-/Speicher-/Bewegungs-/Inkrement-/Dekrement-Befehlen und als anderer Operand in arithmetischen Befehlen verwendet werden. Es ist keine FP-Einheit verfügbar.
8080 1 Akku, 6 weitere 0 Plus einen Stapelzeiger. Das A-Register ist ein Akkumulator, für den alle Arithmetiken durchgeführt werden; die Registerpaare B+C, D+E und H+L können in einigen Befehlen als Adressregister verwendet werden; alle Register können als Operanden in Lade-/Speicher-/Bewegungs-/Inkrement-/Dekrement-Befehlen und als anderer Operand in arithmetischen Befehlen verwendet werden. Einige Anweisungen verwenden nur H+L; eine andere Anweisung vertauscht H+L und D+E. Fließkomma-Prozessoren für den 8080 waren Intel 8231 , AMD Am9511 und Intel 8232 . Sie waren auch mit dem Z80 und ähnlichen Prozessoren problemlos verwendbar .
iAPX432 0 Stapel von 6 Stapelmaschine
16-Bit-x86 6 Stapel von 8 (wenn FP vorhanden) 8086 / 8088 , 80186 / 80188 , 80286 , mit 8087 , 80187 oder 80287 für Gleitkomma, mit einem 80 Bit breiten, 8 tiefen Registerstapel mit einigen Befehlen, die Register relativ zum oberen Ende des Stapels als Operanden verwenden können; ohne 8087/80187/80287, keine Gleitkommaregister
IA-32 8 Stapel von 8 (wenn FP vorhanden), 8 (wenn SSE/MMX vorhanden) 80386 erforderte 80387 für Gleitkomma, spätere Prozessoren hatten eingebaute Gleitkomma, wobei beide einen 80 Bit breiten, 8 tiefen Registerstapel mit einigen Befehlen hatten, die Register relativ zur Spitze des Stapels als Operanden verwenden konnten. Der Pentium III und später hatten die SSE mit zusätzlichen 128-Bit-XMM-Registern.
x86-64 16 16/32 FP-Register sind 128-Bit-XMM-Register, die später mit AVX/AVX2 zu 256-Bit -YMM-Registern und mit AVX-512 zu 512-Bit-ZMM0-ZMM31-Registern erweitert werden .
Xeon Phi 16 32 Einschließlich 32 256/512-Bit-ZMM-Registern mit AVX-512.
Fairchild F8 ein Akkumulator, 64 Scratchpad-Register, ein indirektes Scratchpad-Register (ISAR) n / A Anweisungen können direkt auf die ersten 16 Scratchpad-Register verweisen und können indirekt über die ISAR . auf alle Scratchpad-Register zugreifen
Geode GX 1 Daten, 1 Adresse 8 Geode GX/ Media GX / 4x86 / 5x86 ist die Emulation des 486/Pentium-kompatiblen Prozessors von Cyrix / National Semiconductor . Wie Transmeta verfügte der Prozessor über eine Übersetzungsschicht, die x86-Code in nativen Code übersetzte und ausführte. Es unterstützt keine 128-Bit-SSE-Register, sondern nur den 80387-Stack von acht 80-Bit-Gleitkommaregistern und unterstützt teilweise 3DNow! von AMD. Der native Prozessor enthält nur 1 Daten- und 1 Adressregister für alle Zwecke und wird in 4 Pfade des 32-Bit-Namensregisters r1 (Basis), r2 (Daten), r3 (Rückwärtszeiger) und r4 (Stackzeiger) innerhalb des Scratchpad-SRAM übersetzt für Integer-Operationen und verwendet den L1-Cache für die x86-Codeemulation (beachten Sie, dass er mit einigen 286/386/486-Befehlen im Realmodus nicht kompatibel ist). Später wurde das Design aufgegeben, nachdem AMD das IP von National Semiconductor erworben und es mit Athlon-Kern im Embedded-Markt gebrandmarkt hatte.
SunPlus SPG 0 6 Stapel + 4 SIMD Ein 16-Bit breiter 32-Bit-Adressraum-Stack-Maschinenprozessor der taiwanesischen Firma Sunplus Technology, der in der V.Smile-Reihe von Vtech für Bildungszwecke und in Videospielkonsolen wie Wireless 60, Mattel HyperScan und XaviXPORT zu finden ist. es fehlt jegliches Allzweckregister oder internes Register zum Benennen/Umbenennen, aber seine Gleitkommaeinheit verfügt über einen 80-Bit-6-Stufen-Stack und vier 128-Bit-VLIW-SIMD-Register auf einem Vertex-Shader-Coprozessor.
VM Labs Nuon 0 1 ein 32-Bit-Stack-Maschinenprozessor, der von VM Labs für Multimedia-Zwecke entwickelt wurde. Es ist auf der firmeneigenen DVD-Player-Konsolenlinie Nuon und dem Game Wave Family Entertainment System von ZaPit Games zu finden. Das Design war stark von Intels MMX-Technologie beeinflusst, es enthielt einen 128 Byte großen Unified-Stack-Cache für Vektor- und Skalarbefehle. Der vereinheitlichte Cache kann durch Bankumbenennung in 8 128-Bit-Vektorregister oder 32 32-Bit-SIMD-Skalarregister unterteilt werden. In dieser Architektur findet sich kein Integer-Register.
Nios II 31 8 Nios II basiert auf dem MIPS IV-Befehlssatz und verfügt über 31 32-Bit-GPRs, wobei Register 0 fest mit Null verdrahtet ist und 8 64-Bit-Gleitkommaregister
Motorola 6800 2 Daten, 1 Index 0 Plus einen Stapelzeiger
Motorola 68k 8 Daten (d0-d7), 8 Adresse (a0-a7) 8 (wenn FP vorhanden) Das Adressregister 8 (a7) ist der Stapelzeiger. 68000, 68010, 68012, 68020 und 68030 erfordern eine FPU für Gleitkomma; 68040 hatte FPU eingebaut. FP-Register sind 80-Bit.
SH 16-Bit 1 6
Emotions-Engine 3(VU0)+ 32(VU1) 32 SIMD (integriert in UV1) + 2x 32 Vector (dedizierter Vektor-Coprozessor, der sich in der Nähe seiner GPU befindet) Der Hauptkern der Emotion Engine (VU0) ist ein stark modifizierter DSP-Generalkern, der für allgemeine Hintergrundaufgaben dient und einen 64-Bit-Akkumulator, zwei allgemeine Datenregister und einen 32-Bit-Programmzähler enthält. Ein modifizierter ausführbarer MIPS III-Kern (VU1) dient der Spieldaten- und Protokollsteuerung und enthält 32 Einträge 32-Bit-Allzweckregister für die Ganzzahlberechnung und 32 Einträge 128-Bit-SIMD-Register zum Speichern von SIMD-Befehlen, Streaming-Datenwerten und einigen Ganzzahlen Berechnungswert. ein Akkumulatorregister zum Verbinden der allgemeinen Gleitkommaberechnung mit der Vektorregisterdatei auf dem Coprozessor. Der Coprozessor wird über eine 128-Bit-Vektorregisterdatei mit 32 Einträgen erstellt (kann nur Vektorwerte speichern, die vom Akkumulator in die CPU übergeben werden.) Das Hauptprozessormodul (VU0 + VU1 + VPU0 + VPU1) basiert auf dem modifizierten MIPS-Befehlssatz und der Akkumulator ist in diesem Fall kein Allzweck, sondern ein Steuerstatus.
CUDA konfigurierbar, bis zu 255 pro Thread Frühere Generationen erlaubten bis zu 127/63 Register pro Thread ( Tesla / Fermi ). Je mehr Register pro Thread konfiguriert werden, desto weniger Threads können gleichzeitig ausgeführt werden. Register sind 32 Bit breit, Gleitkommazahlen mit doppelter Genauigkeit und 64-Bit-Zeiger erfordern zwei Register. Hat zusätzlich bis zu 8 Prädikatsregister pro Thread
CDC 6000-Serie 16 8 8 'A'-Register A0-A7 halten 18-Bit-Adressen; 8 'B'-Register B0-B7 halten 18-Bit-Integer-Werte (wobei B0 fest auf Null gesetzt ist); 8 'X'-Register X0-X7 halten 60 Bits von Integer- oder Gleitkomma-Daten. Sieben der acht 18-Bit-A-Register waren mit ihren entsprechenden X-Registern verbunden: Das Setzen eines der Register A1 bis A5 auf einen Wert verursachte eine Speicherladung des Inhalts dieser Adresse in das entsprechende X-Register. In ähnlicher Weise verursachte das Setzen einer Adresse in die Register A6 oder A7 eine Speicherabspeicherung an dieser Stelle im Speicher von X6 oder X7. (Die Register A0 und X0 wurden nicht so gekoppelt).
System/360 , System/370 , System/390 , z/Architektur 16 4 (wenn FP vorhanden); 16 in G5 und späteren S/390-Modellen und z/Architecture FP war in System/360 optional und in S/370 und höher immer vorhanden. In Prozessoren mit Vector Facility gibt es 16 Vektorregister, die eine maschinenabhängige Anzahl von 32-Bit-Elementen enthalten. Einigen Registern wird durch Aufrufkonventionen ein fester Zweck zugewiesen ; zum Beispiel wird Register 14 für Unterprogramm-Rückkehradressen verwendet und für ELF- ABIs wird Register 15 als Stapelzeiger verwendet. Der S/390 G5-Prozessor hat die Anzahl der Gleitkommaregister auf 16 erhöht.
MMIX 256 256 Ein von Donald Knuth in den späten 1990er Jahren für pädagogische Zwecke entworfenes Instruktionsset .
NS320xx 8 8 (wenn FP vorhanden)
Xelerated X10 1 32 ein 32/40-Bit-Stack-Maschinenbasierter Netzwerkprozessor mit modifiziertem MIPS-Befehl und 128-Bit-Gleitkommaeinheit.
Parallaxenpropeller 0 2 Ein 8/16-Bit-Sliced-Stack-Maschinencontroller mit acht Kernen und einem einfachen Logikzirkus im Inneren, hat acht Zahnradzähler (Kern) und enthält jeweils drei 8/16-Bit-Spezialsteuerregister mit 32 Bit x 512 Stack-RAM, trägt jedoch kein allgemeines Register für ganzzahlige Zwecke. Im Gegensatz zu den meisten Schattenregisterdateien in modernen Prozessoren und Mehrkernsystemen kann auf alle diese Stack-RAMs im Zahnrad auf Befehlsebene zugegriffen werden, die bei Bedarf als ein großer einzelner Universalkern fungieren können. Die Gleitkommaeinheit ist extern und enthält zwei 80-Bit-Vektorregister.
Itanium 128 128 Und 64 1-Bit-Prädikatsregister und 8 Verzweigungsregister. Die FP-Register sind 82-Bit.
SPARC 31 32 Globales Register 0 ist fest mit 0 verbunden. Verwendet Registerfenster .
IBM POWER 32 32 Und 1 Link und 1 Zählregister.
Leistungs-ISA 32 32 Und 1 Link und 1 Zählregister. Prozessoren, die die Vector-Funktion unterstützen, verfügen außerdem über 32 128-Bit-Vektorregister,
Schwarzflosse 8 Daten, 2 Akkus, 6 Adressen 0 Und Stapelzeiger und Rahmenzeiger. Zusätzliche Register werden verwendet, um Null-Overhead-Schleifen und Ringpuffer-DAGs (Datenadreßgeneratoren) zu implementieren.
IBM Cell SPE 128 128 GPRs, die Integer-, Adress- oder Gleitkommawerte enthalten können
PDP-10 16 Alle können allgemein verwendet werden (integer, float, Stackpointer, jump, indexing, etc.). Jedes 36-Bit-Speicher- (oder Register-) Wort kann auch als Halbwort manipuliert werden, das als (18-Bit-)Adresse betrachtet werden kann. Andere Wortinterpretationen werden von bestimmten Anweisungen verwendet. In den ursprünglichen PDP-10-Prozessoren entsprachen diese 16 GPRs auch den Haupt- (dh Kern- )Speicherplätzen 0-15; eine als "schneller Speicher" bezeichnete Hardwareoption implementierte die Register als separate ICs und Verweise auf Speicherplätze 0-15 bezogen auf die IC-Register. Spätere Modelle implementierten die Register als "schnellen Speicher" und ließen weiterhin die Speicherplätze 0-15 auf sie verweisen. Bewegungsanweisungen nehmen (Register, Speicher) Operanden an: MOVE 1,2ist Register-Register und MOVE 1,1000ist Speicher-zu-Register.
PDP-11 7 6 (wenn FPP vorhanden) R7 ist eigentlich der Programmzähler. Jedes Register kann ein Stapelzeiger sein, aber R6 wird für Hardware-Interrupts und Traps verwendet.
Mehrwertsteuer 16 Die GPRs werden auch für Gleitkommawerte verwendet. Drei der Register haben spezielle Verwendungen: R12 (Argument Pointer), R13 (Frame Pointer) und R14 (Stack Pointer), während sich R15 auf den Programmzähler bezieht.
Alpha 31 31 Die Register R31 (Ganzzahl) und F31 (Gleitkomma) sind fest auf Null verdrahtet.
6502 1 Daten, 2 Index 0 6502s Inhalt A (Akkumulator)-Register für Hauptzweck-Datenspeicherung und Speicheradresse (8-Bit-Daten/16-Bit-Adresse), X,Y sind indirekte und direkte Indexregister (jeweils) und SP-Register sind nur spezifische Indizes.
W65C816S 1 0 65c816 ist der 16-Bit-Nachfolger des 6502. X,Y, D (Direct Page-Register) sind Bedingungsregister und SP-Register sind nur spezifische Indizes. Hauptakkumulator auf 16 Bit (C) erweitert, während 8 Bit (A) aus Kompatibilitätsgründen beibehalten werden und Hauptregister kann jetzt bis zu 24 Bit adressieren (16 Bit breiter Datenbefehl/24 Bit Speicheradresse).
65k 1 0 Direkter Nachfolger von 6502, 65002 nur Inhalt A (Akku)-Register für Hauptzweck-Datenspeicherung und Erweiterung der Datenbreite auf 32-Bit- und 64-Bit-Befehlsbreite, Unterstützung virtueller 48-Bit-Adressen im Softwaremodus, X, Y sind immer noch Bedingungsregister und bleiben 8-Bit- und SP-Register sind spezifischer Index, erhöhen sich jedoch auf 16-Bit-Breite.
MeP 4 8 Der Media-Embedded-Prozessor war ein von Toshiba entwickelter 32-Bit-Prozessor, ein modifizierter 8080-Befehlssatz mit nur A, B, C, D-Registern, die in allen Modi (8/16/32 Bit) verfügbar und mit x86 nicht kompatibel sind, jedoch 80 Bit enthalten Gleitkommaeinheit, die x87-kompatibel ist.
PIC-Mikrocontroller 1 0
AVR-Mikrocontroller 32 0
ARM 32-Bit (ARM/A32, Thumb-2/T32) 14 Variiert (bis zu 32) r15 ist der Programmzähler und nicht als GPR verwendbar; r13 ist der Stapelzeiger; r8-r13 kann über einen Prozessormodusschalter für andere (banked) ausgeschalten werden. Ältere Versionen hatten eine 26-Bit-Adressierung und verwendeten obere Bits des Programmzählers (r15) für Status-Flags, wodurch dieses Register 32-Bit wurde.
ARM 32-Bit (Daumen) 8 16 Version 1 von Thumb, die nur den Zugriff auf die Register r0 bis r7 unterstützte
ARM- 64-Bit (A64) 31 32 Register r31 ist der Stack-Zeiger oder festverdrahtet auf 0, je nach Kontext.
MIPS 31 32 Integer-Register 0 ist fest mit 0 verdrahtet.
RISC-V 31 32 Integer-Register 0 fest mit 0 verdrahtet. Die für Systeme mit sehr begrenzten Ressourcen gedachte Variante RV32E verfügt über 15 Integer-Register.
Offenbarung 64 (pro Kern) Jeder Befehl steuert, ob Register als Ganzzahlen oder Gleitkommazahlen einfacher Genauigkeit interpretiert werden. Die Architektur ist auf 4096 Kerne mit derzeit verfügbaren 16- und 64-Kern-Implementierungen skalierbar.

Verwendungszweck

Die Anzahl der auf einem Prozessor verfügbaren Register und die Operationen, die mit diesen Registern ausgeführt werden können, haben einen erheblichen Einfluss auf die Effizienz des Codes, der durch optimierte Compiler generiert wird . Die Strahler-Nummer eines Ausdrucksbaums gibt die Mindestanzahl von Registern an, die zum Auswerten dieses Ausdrucksbaums erforderlich sind.

Siehe auch

Verweise