Macht ISA
Designer | |
---|---|
Bits | 32-Bit/64-Bit (32 → 64) |
Eingeführt | 2006 |
Ausführung | 3.1 |
Entwurf | RISC |
Typ | Register registrieren |
Codierung | Behoben/variabel |
Verzweigung | Bedingungscode |
Endiangess | Big/Bi |
Erweiterungen | Altivec, Powerpc-as, Apu, DSP, CBEA |
Offen | Ja, und lizenzfrei |
Register | |
|

Macht ISA ist ein Reduzierter Befehlssatz Computer (RISC) Anweisungsset Architektur (ISA), der derzeit von der entwickelt wurde OpenPower Foundation, geführt von IBM. Es wurde ursprünglich von IBM und dem inzwischen aufgelösten Power.org Branchengruppe. Macht ISA ist eine Entwicklung der Powerpc ISA, erstellt von den Fusionen des Core Powerpc ISA und des optionalen Buches E für eingebettete Anwendungen. Der Zusammenschluss dieser beiden Komponenten im Jahr 2006 wurde von Power.org -Gründern IBM und geleitet Freescale Semiconductor.
Die ISA ist in mehrere unterteilt Kategorien die in einem bestimmten beschrieben werden Buch. Prozessoren implementieren eine Reihe dieser Kategorien, die für ihre Aufgabe erforderlich sind. Für die Implementierung bestimmter Kategorien sind verschiedene Klassen von Prozessoren erforderlich, beispielsweise ein Serverklassenprozessor enthält die Kategorien: Base, Server, Schwimmpunkt, 64-Bitusw. Alle Prozessoren implementieren die Basiskategorie.
Power ISA ist ein RISC Architektur laden/store. Es hat mehrere Sätze von Register:
- 32 × 32-Bit- oder 64-Bit-Allzweckregister (GPRS) für Ganzzahloperationen.
- 64 × 128-Bit-Vektor-Skalarregister (VSRs) für Vektoroperationen und schwimmende Punktvorgänge.
- 32 × 64-Bit-Floating-Punkt-Register (FPRS) als Teil des VSRs für Gleitkommaoperationen.
- 32 × 128-Bit-Vektorregister (VRS) als Teil des VSRs für Vektoroperationen.
- 8 × 4-Bit-Zustandsregisterfelder (CRS) zum Vergleich und Steuerfluss.
- 11 Spezielle Register verschiedener Größen: Zählerregister (CTR), Link Register (LR), Zeitbasis (TBU, TBL), Alternative Time Base (ATBU, ATBL), ACCUMATUR (ACC), Statusregister (Xer, FPSCR, VSCR, Spefscr).
Anweisungen bis zu Version 3.0 haben eine Länge von 32 Bit, mit Ausnahme der VLE-Untergruppe (variabler Länge), die höhere liefert Codedichte Für Low-End-eingebettete Anwendungen und Version 3.1, die das Präfixen zum Erstellen von 64-Bit-Anweisungen einführten. Die meisten Anweisungen sind Triadic, d.h. zwei Quelloperanden und ein Ziel. Single und Doppelte Genauigkeit IEEE-754 konforme schwimmende Punktvorgänge werden unterstützt, einschließlich zusätzlicher Fusions -Multiply -Add (FMA) und Dezimal-Gleitkomma-Anweisungen. Es gibt Bestimmungen für Einzelanweisung, mehrere Daten (SIMD) Operationen zu Ganzzahl- und Gleitkomma -Daten zu bis zu 16 Elementen in einer Anweisung.
Power ISA hat Unterstützung für Harvard Zwischenspeicher, d.h. Daten- und Anweisungs -Caches teilenund Unterstützung für einheitliche Caches. Speichervorgänge sind ausschließlich geladen/speichern, aber zulassen Ausführende Ausführung. Es gibt auch Unterstützung für beide Big und Little-Endian Ansprache mit separaten Kategorien für modifizierte und pro-Seite-Endianess und Unterstützung für beide 32-Bit und 64-Bit Adressierung.
Zu den unterschiedlichen Betriebsmodi gehören Benutzer, Supervisor und Hypervisor.
Kategorien
- Base - Das meiste von Buch I und Buch II
- Server -Buch III-S
- Eingebettet -Buch III-e
- Miser - Gleitkomma, Vektor, Signalverarbeitung, Cache -Verriegelung, Dezimalerschwimmpunkt usw.
Bücher
Die Power ISA -Spezifikation ist in fünf Teile unterteilt, die als "Bücher" bezeichnet werden:
- Buch i – Architektur für Benutzeranweisungen Deckt den Basisbefehlssatz ab, der dem Anwendungsprogrammierer zur Verfügung steht. Speicherreferenz, Durchflussregelung, Ganzzahl, schwimmender Punkt, numerische Beschleunigung, Programmierung auf Anwendungsebene. Es enthält Kapitel über Hilfsabwicklungseinheiten wie Digitale Signalprozessoren (DSPS) und die Altivec Verlängerung.
- Buch II – Virtuelle Umgebungsarchitektur Definiert das Speichermodell, das dem Anwendungsprogrammierer verfügbar ist, einschließlich Timing, Synchronisation, Cache -Management, Speicherfunktionen, Byte -Bestellung.
- Buch III – Betriebsumgebung Architektur Enthält Ausnahmen, Interrupts, Speicherverwaltung, Debug -Einrichtungen und spezielle Kontrollfunktionen. Es ist in zwei Teile unterteilt.
- Buch III-S -Definiert die Supervisor-Anweisungen für allgemeine Implementierungen im Allgemeinen/Server. Es ist hauptsächlich der Inhalt des Buches III des ehemaligen Powerpc Isa.
- Buch III-e - Definiert die für eingebetteten Anwendungen verwendeten Supervisor -Anweisungen. Es wird vom ehemaligen Powerpc -Buch E. abgeleitet
- Buch VLE – Codierte Anweisungsarchitektur variabler Länge Definiert alternative Anweisungen und Definitionen aus den Büchern I-III, die für höhere Unterrichtsdichte und Anwendungen mit sehr niedrigem Ende bestimmt sind. Sie verwenden 16-Bit-Anweisungen und Big-Endian-Byte-Bestellung.
Komplizieren
Neu in Version 3 des Power ISA ist, dass Sie nicht die gesamte Spezifikation implementieren müssen, um konform zu sein. Die Ausbreitung von Anweisungen und Technologien hat die vollständige Spezifikation unhandlich gemacht, sodass die OpenPower -Stiftung beschlossen hat, eine gestufte Kombination zu ermöglichen.
Diese Ebenen umfassen Optional und obligatorisch Anforderungen, jedoch ist ein häufiges Missverständnis, dass es nichts gibt, dass eine Implementierung auf einer niedrigeren Ebene konform ist, sondern zusätzliche ausgewählte Funktionen von höheren Ebenen und benutzerdefinierten Erweiterungen aufweist. Es wird jedoch empfohlen, eine Option bereitzustellen, um zusätzliche Funktionen über das deklarierte Teilmengenniveau des Designs hinaus zu deaktivieren.
Ein Design muss auf seiner deklarierten Untergruppe konform sein, um den Schutz der Stiftung bezüglich der Verwendung von zu nutzen geistiges Eigentum, sei es Patente oder Warenzeichen. Dies wird im OpenPower EULA erklärt.[1]
Ein konformes Design muss:[2]
- Unterstütz die Base die Architektur
- Und unterstützen mindestens einen der Untergruppen
- SFS -Skalar-Fixpunkt-Untergruppe. 129 Anweisungen. Grundlegende Anweisungen für Fixpunkt- und Lade-/Speicheranweisungen, die wirklich die sind Base die Architektur.
- Sffs -Skalarfestpunkt + Floating-Punkt-Untergruppe. 214 Anweisungen. Hinzufügen von schwimmenden Punktvorgängen zur Basis.
- LCS - Subset von Linux Compliancy. 962 Anweisungen. Für Linux der Server-Klasse bestimmt, füge Funktionen wie 64-Bit, optionales SIMD/VSX, Radix MMU, Little Endian-Modus und Hypervisor-Unterstützung hinzu.
- ACS – AIX Untergruppe. 1099 Anweisungen. Um AIX auszuführen und Funktionen wie Dezimal- und Quad -Präzisions -Schwimmpunkt, Big Endian -Modus und symmetrische Multiprozessierung hinzuzufügen.
- Kann eine der Merkmale des LCS und ACS als umfassen Optional oder aus der Immer optional Funktionen wie Matrix Math und Power Management.
- Optionale Funktionen müssen bei der Auswahl in ihrer Gesamtheit implementiert werden (eine teilweise Implementierung eines optionalen Merkmals ist nicht zulässig)
- Könnte beinhalten Brauch Erweiterungen, spezifisch für die Implementierung, implementiert in der Architektur Sandbox.
Wenn die Erweiterung allgemein genug ist, fordert die OpenPower -Stiftung diese Implementierer auf, sie als Anfrage für Kommentare (RFC) an die OpenPower ISA Arbeitsgruppe. Beachten Sie, dass es nicht ausschließlich notwendig ist, sich der OpenPower -Stiftung anzuschließen, um RFCs einzureichen.[3]
- Viel kann in Hardware oder Firmware implementiert werden.
Diskrepanz von EABI und Linux Compliancy
Die EABI -Spezifikationen vordiert Die Ankündigung und Schaffung der Untergruppen der Komplomation.
In Bezug auf die Linux Compliancy-Teilmenge mit VSX (SIMD) Optional: 2003–4, 64-Bit EABI V1.9 wurde SIMD optional gemacht,[4] Um jedoch im Juli 2015 die Leistung für IBM Power9 -Systeme zu verbessern, wurde Simd gemacht obligatorisch in EABI V2.0.[5] Diese Diskrepanz zwischen SIMD ist optional in der Linux -Komplanzebene, aber in EABI V2.0 obligatorisch, kann ohne erhebliche Anstrengung nicht korrigiert werden: Rückwärtsverträglichkeit für Linux -Verteilungen ist keine praktikable Option. Gegenwärtig bleibt neue OpenPower -Implementierer, die Standard -Linux -Verteilungen ausführen möchten, massiv 962 Anweisungen implementieren. Im Gegensatz dazu erfordert RISC-V RV64GC, das Minimum für Linux, nur 165.[6]
Spezifikationen
Power ISA V.2.03
Die Spezifikation für Power ISA v.2.03[7] basiert auf dem früheren Powerpc Isa v.2.02[8] in Power5+ und das Buch e[9] Erweiterung der Powerpc Spezifikation. Das Buch, in dem ich fünf neue Kapitel über Hilfsabwicklungseinheiten enthielt, wie DSPs und die Altivec Verlängerung.
- Konforme Kerne
Power ISA V.2.04
Die Spezifikation für Power ISA v.2.04[10] wurde im Juni 2007 abgeschlossen. Es basiert auf Power ISA v.2.03 und enthält in erster Linie Änderungen an der Buch III-S Teil in Bezug auf Virtualisierung, Hypervisor Funktionen, logische Partitionierung und Virtuelle Seite Handhabung.
- Konforme Kerne
- Alle Kerne, die frühere Versionen der Macht ISA entsprechen
- Das Pa6t Kern von P.A. Halb
- Titan Von AMCC
Power ISA V.2.05
Die Spezifikation für Power ISA V.2.05[11] wurde im Dezember 2007 veröffentlicht. Es basiert auf Power ISA v.2.04 und enthält hauptsächlich Änderungen zu Buch i und Buch III-S, einschließlich signifikanter Verbesserungen wie Dezimalarithmetik (Kategorie: Dezimalerschwimmpunkt in Buch i) und Server -Hypervisor -Verbesserungen.
- Konforme Kerne
- Alle Kerne, die frühere Versionen der Macht ISA entsprechen
- Power6
- Powerpc 476
Power ISA V.2.06
Die Spezifikation für Power ISA v.2.06[12] wurde im Februar 2009 veröffentlicht und im Juli 2010 überarbeitet.[13] Es basiert auf Power ISA v.2.05 und enthält Erweiterungen für den Power7 -Prozessor und E500-MC-Kern. Ein wesentliches neues Merkmal sind Vektor-Scalar-Floating-Punkt-Anweisungen (Anweisungen (VSX).[14] Buch III-e Enthält auch eine signifikante Verbesserung der eingebetteten Spezifikation in Bezug auf Hypervisor und Virtualisierung bei einzelnen und multi -Core -Implementierungen.
Die Spezifikation wurde im November 2010 in die Power ISA V.2.06 Revision B Spec überarbeitet und die Virtualisierungsfunktionen verbessert.[13][15]
- Konforme Kerne
Power ISA V.2.07
Die Spezifikation für Power ISA V.2.07[16] wurde im Mai 2013 veröffentlicht. Es basiert auf Power ISA v.2.06 und beinhaltet wichtige Verbesserungen an Logische Partitionsfunktionen, Transaktionsspeicher, erweiterte Leistungsüberwachung, neue Speicherkontrollfunktionen, Ergänzungen der VMX- und VSX-Vektoranlagen (VSX-2) zusammen mit AES[16]: 257[17] und Galois -Gegenmodus (GCM), SHA-224, SHA-256,[16]: 258 SHA-384 und SHA-512[16]: 258 (SHA-2) kryptografische Erweiterungen und zyklische Redundanzprüfung (CRC) Algorithmen.[18]
Die Spezifikation wurde im April 2015 an die Power ISA V.2.07 B Spec überarbeitet.[19]
- Konforme Kerne
Power ISA V.3.0
Die Spezifikation für Power ISA V.3.0[20][21] wurde im November 2015 veröffentlicht. Es ist das erste, das nach der Gründung der OpenPower Foundation herauskommt und Verbesserungen für ein breites Spektrum an Workloads enthält und den Server und die eingebetteten Kategorien entfernt, während die Kompatibilität rückwärts beibehält und die Unterstützung für VSX-3-Anweisungen unterstützt. Zu den neuen Funktionen gehören 128-Bit-Quad-Precision-Gleitkomma-Operationen, a ZufallszahlengeneratorHardware-unterstützt Müllsammlung und Hardware-durcheinander gebrachtes vertrauensvolles Computing.
Die Spezifikation wurde im März 2017 an die Power ISA V.3.0 B Spec überarbeitet.[22] und im Mai 2020 erneut zu v3.0c überarbeitet.[23] Der wichtigste Unterschied zwischen V3.0B und V3.0C besteht darin, dass die in V3.1 aufgeführten Komplizierniveaus auch zu V3.0c hinzugefügt wurden.
- Konforme Kerne
- Alle Kerne, die frühere Versionen der Macht ISA entsprechen
- Power9[24]
- OpenPower -Mikrowatt
- Libre-soc strebt nur eine eingebettete FP -Kombination mit Power ISA 3.0 an
Power ISA V.3.1
Die Spezifikation für Power ISA V.3.1[25] wurde im Mai 2020 veröffentlicht. Hauptsächlich Unterstützung für neue Funktionen, die in Power10 eingeführt wurden, enthält jedoch auch den Begriff der Optionalität für die PowerISA -Spezifikation. Anweisungen können jetzt acht sein Bytes lang, "vorangestellte Anweisungen", im Vergleich zu den üblichen vier Byte -Wortanweisungen. Es werden auch viele neue Funktionen für SIMD- und VSX -Anweisungen hinzugefügt.
Ein wesentlicher Vorteil der neuen 64-Bit-Anweisungen ist die Erweiterung der unmittelbaren Zweige in Zweigen auf 34-Bit.
- Konforme Kerne
Siehe auch
Verweise
- ^ Endgültiger Entwurf der Macht Isa Eula
- ^ Die Open Power ISA: Architekturkomplizierung und zukünftige Stiftungen
- ^ Abschnitt 2.2 der OPF -Leistung ISA EULA
- ^ ELF PP64 ABI
- ^ OpenPower EABI V2
- ^ Seite 18 RISC-V "Green Card"
- ^ "Power ISA V.2.03". Power.org. 2006-09-29. Archiviert von das Original Am 2012-11-24. Abgerufen 2010-10-20.
- ^ "Powerpc Architecture Book, Version 2.02". IBM. 2005-02-24. Archiviert von das Original Am 2007-10-18. Abgerufen 2007-03-16.
- ^ "Powerpc Buch E V.1.0" (PDF). IBM. 2002-05-07. Abgerufen 2007-03-16.
- ^ "Power ISA Version 2.04" (PDF). Power.org. 2007-06-12. Archiviert von das Original (PDF) am 2007-09-27. Abgerufen 2007-06-14.
- ^ "Power ISA Version 2.05". Power.org. 2007-10-23. Archiviert von das Original Am 2012-11-24. Abgerufen 2007-12-18.
- ^ "Power.org debütiert Spezifikationsvorschüsse und neue Dienste auf der Power Architecture Developer Conference" (Pressemitteilung). Power.org. 2007-09-24. Archiviert von das Original Am 2007-10-12. Abgerufen 2007-09-24.
- ^ a b "Power ISA Version 2.06 Revision B". Power.org. 2010-07-23. Archiviert von das Original Am 2012-11-24. Abgerufen 2011-02-12.
- ^ "Arbeitsbelastungsbeschleunigung mit der IBM Power Vector-Scalar-Architektur". IBM. 2016-03-01. Abgerufen 2017-05-02.
- ^ "Power ISA 2.06 Rev. B ermöglicht eine vollständige Hardware -Virtualisierung für den eingebetteten Raum". Eetimes. 2010-11-03. Abgerufen 2011-06-08.
- ^ a b c d "Power ISA Version 2.07" (PDF). Power.org. 2013-05-15. Abgerufen 2015-05-23.
- ^ Barbosa, Leonidas (2014-09-21). "Power8 In-Core-Kryptographie". IBM.
- ^ Leistungsoptimierungstechniken für Leistungsoptimierung und Tuning für IBM Power Systems -Prozessoren einschließlich IBM Power8. IBM. August 2015. p. 48. ISBN 9780738440927.
- ^ "Power ISA Version 2.07 B". Power.org. 2015-04-09. Abgerufen 2017-01-06.
- ^ Ankündigung einer neuen Ära der Offenheit mit Power 3.0
- ^ "Power ISA Version 3.0". OpenPowerFoundation.org. 2016-11-30. Abgerufen 2017-01-06.
- ^ "Power ISA Version 3.0 B". Power.org. 2017-03-27. Abgerufen 2019-08-11.
- ^ Liste der Macht -ISA -Spezifikationen
- ^ [Patch, engagiert] Fügen Sie die volle Leistung ISA 3.0 / Power9 Binutils Unterstützung hinzu
- ^ "Power ISA Version 3.1". OpenPowerFoundation.org. 2020-05-01. Abgerufen 2020-05-23.
- ^ SEO, Carlos Eduardo (2020-05-12). "Wir haben die Anweisungs -Architektur für Power10 veröffentlicht. Power ISA v3.1 ist im IBM -Portal für OpenPower erhältlich.". Twitter.com. Abgerufen 2020-05-23.