IBM POWER

POWER-, PowerPC- en Power ISA-architectuur

Processorarchitectuur

Historisch

POWER · POWER2 · POWER3 · POWER4 · POWER5 · PPC6xx · PPC7xx · PPC74xx · PPC970 · PowerPC-AS · Broadway

Huidig

e200 · e300 · e500 · e600 · e5500 · e6500 · PA6T · POWER6 · POWER7 · POWER8 · POWER9 · Power10 · PPC4xx · Cell PPE · Xenon

Geannuleerd

e700 · Titan

Gerelateerde links

OpenPOWER Foundation · RISC · AIM-alliantie · System p · Power.org · PAPR · PReP · CHRP · AltiVec

IBM Power-microprocessors (oorspronkelijk POWER tot Power10) worden door IBM ontworpen en verkocht voor servers en supercomputers. POWER is een acroniem voor Performance Optimization With Enhanced RISC. De Power-lijn van microprocessors is gebruikt in IBM's RS/6000-, AS/400-, pSeries-, iSeries-, System p-, System i- en Power Systems-lijnen van servers en supercomputers. Ze zijn ook gebruikt in apparaten voor gegevensopslag en werkstations door IBM en door andere serverfabrikanten zoals Bull en Hitachi.

De Power-familie werd oorspronkelijk eind jaren tachtig op de markt gebracht en wordt nog steeds actief ontwikkeld. In het begin implementeerden ze de POWER-instructiesetarchitectuur (ISA), die uitgroeide tot PowerPC en later tot Power ISA. In augustus 2019 kondigde IBM aan dat Power ISA open source zou worden. Als onderdeel van de verhuizing werd ook aangekondigd dat de OpenPOWER Foundation zou toetreden tot The Linux Foundation.[1]

Het 801-onderzoeksproject

[bewerken | brontekst bewerken]

In 1974 startte IBM een project om een telefooncentrale te bouwen die voor die tijd een enorme rekenkracht vergde. Omdat de toepassing relatief eenvoudig was hoefde deze machine alleen I/O uit te voeren, elementaire berekeningen te maken en gegevens tussen registers en geheugen te verplaatsen. Er was geen behoefte aan speciale instructies om zware rekenkundige handelingen uit te voeren. Deze eenvoudige ontwerpfilosofie, waarbij elke stap van een complexe operatie expliciet wordt gespecificeerd door één machine-instructie en alle instructies in dezelfde constante tijd moeten worden voltooid, zou later bekend worden als RISC. Toen het telefooncentraleproject werd geannuleerd behield IBM het ontwerp van de processor voor algemeen gebruik en noemde deze 801, naar gebouw nummer 801 in het Thomas J. Watson Research Center.[2]

Het Cheetah-project

[bewerken | brontekst bewerken]

In 1982 ging IBM de superscalaire grenzen van het 801-ontwerp verkennen door meerdere uitvoeringseenheden te gebruiken om te bepalen of een RISC-machine meerdere instructies per cyclus kon uitvoeren met het oog op de prestaties te verbeteren. Er zijn veel wijzigingen aangebracht in het 801-ontwerp om meerdere uitvoeringseenheden mogelijk te maken, en de Cheetah-processor heeft afzonderlijke eenheden voor vertakkingsvoorspelling, berekeningen met vaste komma en met zwevende komma. In 1984 werd voor CMOS gekozen vanwege de verbeterde circuitintegratie en de betere prestaties.

Het America-project

[bewerken | brontekst bewerken]

In 1985 begon het onderzoek naar een RISC-architectuur van de tweede generatie bij het IBM Thomas J. Watson Research Center, waar de "AMERICA-architectuur" werd geproduceerd.[2] In 1986 begon IBM Austin met de ontwikkeling van computers uit de RS/6000-serie op basis van die architectuur. Dit zouden de eerste POWER-processors worden die gebruik maakten van de eerste POWER ISA.

De eerste IBM-computers waarin de POWER ISA is verwerkt zijn de RISC System/6000- of RS/6000-serie. Ze werden uitgebracht in februari 1990. Deze RS/6000-computers waren onderverdeeld in twee klassen: POWERstation-werkstations en POWERserver-servers. De eerste RS/6000 CPU heeft twee configuraties, genaamd "RIOS-1" en "RIOS.9" (beter gekend als de POWER1 CPU). Een RIOS-1-configuratie heeft in totaal 10 discrete chips: een instructiecache-chip, een fixed-point-chip, een floating-point-chip, 4 data L1-cache-chips, een opslagcontrolechip, input/output-chips en een klokchip.[3] De goedkopere RIOS.9-configuratie heeft 8 discrete chips: een instructiecache-chip, een fixed-point-chip, een floating-point-chip, 2 data-cache-chips, een opslagcontrolechip, een input/output-chip en een klokchip.

De POWER1 is de eerste microprocessor die gebruik maakte van het hernoemen van registers en out-of-order execution. Een vereenvoudigde en minder krachtige versie van de RIOS-1 met 10 chips werd in 1992 gemaakt voor de instapmodellen van de RS/6000-serie. Deze processor gebruikt slechts één chip en wordt RISC Single Chip of RSC genoemd.

POWER1-processoren
  • RIOS-1 – de originele versie met 10 chips
  • RIOS.9 – een minder krachtige versie van RIOS-1
  • POWER1+ – een snellere versie van RIOS-1 gemaakt met een verkleind fabricageproces
  • POWER1++ – een nog snellere versie van RIOS-1
  • RSC – een implementatie met één chip van RIOS-1
  • RAD6000 – een stralingsbestendige versie van de RSC die voornamelijk bedoeld is voor de ruimtevaart

IBM ontwikkelde de POWER2-processor als opvolger van de POWER1. Door het toevoegen van een tweede fixed-point-eenheid, een tweede krachtige floating-point-eenheid en andere prestatieverbeteringen en nieuwe instructies aan het ontwerp, leverde de POWER2 ISA bij zijn introductie in 1993 toonaangevende prestaties. De POWER2 was eveneens een ontwerp met meerdere chips, waar IBM een versie met één chip van maakte: de POWER2 Super Chip (of P2SC).[4] De P2SC werd in krachtige servers en supercomputers gebruikt. Bij de introductie in 1996 was de P2SC de grootste processor met het hoogste aantal transistoren en was hij toonaangevend op het gebied van drijvende-kommabewerkingen.

POWER2-processoren
  • POWER2 – Een processormodule met 6 tot 8 chips
  • POWER2+ – een goedkopere 6-chipversie van POWER2 met ondersteuning voor externe L2-caches
  • P2SC – een snellere versie met één chip van POWER2
  • P2SC+ – een nog snellere versie van P2SC dankzij een verkleind fabricageproces
Zie PowerPC voor het hoofdartikel over dit onderwerp.

In 1991 ging Apple op zoek naar een opvolger voor de CISC-gebaseerde Motorola 68000-familie van processoren die gebruikt werden in de Apple Macintosh-productlijn. Motorola experimenteerde in die tijd met een eigen RISC-platform, de 88000. IBM benaderde Apple met het doel samen te werken en de drie richtten de AIM-alliantie op om de PowerPC ISA te bouwen die sterk gebaseerd is op de POWER ISA, maar met toevoegingen van zowel Apple als Motorola. Het zou een complete 32/64 bit RISC-architectuur worden, variërend van zeer goedkope ingebedde microcontrollers tot zeer hoogwaardige supercomputer- en servertoepassingen.

Na twee jaar ontwikkeling werd in 1993 de PowerPC ISA geïntroduceerd. Dit was een aangepaste versie van de RSC-architectuur waarin enkele POWER-functies verwijderd waren, maar met enkele nieuwe drijvende-komma-instructies met enkele precisie en algemene register-naar-register vermenigvuldig- en deelinstructies. Er kwam ook een 64-bits versie van de ISA en ondersteuning voor SMP.

Het Amazon-project

[bewerken | brontekst bewerken]

In 1990 wilde IBM de low-end RS/6000 RISC- en de mid-range AS/400 CISC-serverarchitecturen samenvoegen tot één gemeenschappelijke RISC instructieset die zowel het AIX- als het OS/400-besturingssysteem van IBM kon draaien. De bestaande POWER en de aanstaande PowerPC instructiesets werden door het AS/400-team ongeschikt geacht, dus werd een uitbreiding op de 64-bit PowerPC-instructieset ontwikkeld: PowerPC-AS (voor Advanced Series of Amazon Series). Later werden uitbreidingen van het RS/6000-team en de AIM-alliantie toegevoegd en met de introductie van POWER4 in 2001 werden ze allemaal samengevoegd in één instructiesetarchitectuur: PowerPC v.2.0.[5]

De POWER3 uit 1998 begon als PowerPC 630, een opvolger van de commercieel mislukte PowerPC 620. Deze processor maakt gebruik van een combinatie van de POWER2 instructieset en de 32/64-bit PowerPC instructieset met ondersteuning voor SMP, allemaal vervat in één chip.[6] De POWER3 werd in grote mate gebruikt in RS/6000-computers. De tweede generatie, de POWER3-II, is de eerste commercieel verkrijgbare processor van IBM die gebruik maakt van koperen verbindingen. De POWER3 is de laatste processor die een POWER-instructieset gebruikt, alle volgende modellen gebruiken de PowerPC-instructiesets.

POWER3-processoren
  • POWER3 – Een combinatie van de POWER- en PowerPC-instructiesets
  • POWER3-II – Een snellere POWER3 vervaardigd volgens een verkleind, op koper gebaseerd fabricageproces

De POWER4 uit 2001 voegde de 32/64-bits PowerPC-instructieset en de 64-bits PowerPC-AS-instructieset van het Amazon-project samen in de nieuwe PowerPC v.2.0-specificatie, waardoor de RS/6000- en AS/400-computerfamilies van IBM werden verenigd. Naast de unificatie van de verschillende platforms, is POWER4 ook ontworpen om zeer hoge frequenties te bereiken en grote L2-caches te gebruiken. Het is de eerste commercieel verkrijgbare multicoreprocessor en bestond zowel in een versie met één chip als in een module met vier chips.[7] In 2002 maakte IBM op verzoek van Apple ook een versie met verminderde kosten en functies van de POWER4: de PowerPC 970.[8]

POWER4-processoren
  • POWER4 – De eerste dual-core microprocessor en de eerste PowerPC-processor die de 1 GHz-grens doorbreekt
  • POWER4+ – Een snellere POWER4 vervaardigd volgens een verkleind fabricageproces
Zie POWER5 voor het hoofdartikel over dit onderwerp.

De POWER5 uit 2004 bouwde voort op de populaire POWER4 en integreerde geheugencontrollers en simultane multithreading in het ontwerp, een technologie die pionierde in de op PowerPC-AS gebaseerde RS64-III-processor. POWER5 werd ontworpen voor multiprocessing op grote schaal en werd geleverd in modules met meerdere chips en ingebouwde grote L3-cachechips.[9]

POWER5-processoren
  • POWER5 – Een ontwerp met vier POWER5-chips en vier L3-cachechips op een grote multi-chipmodule
  • POWER5+ – Een snellere POWER5 vervaardigd volgens een verkleind fabricageproces, voornamelijk om het energieverbruik te verminderen
Zie Power ISA voor het hoofdartikel over dit onderwerp.
Schematisch overzicht van de verschillende POWER-, PowerPC- en Power ISA-instructiesets

In 2004 werd Power.org opgericht, een organisatie met als missie om de toekomstige ontwikkeling van de PowerPC-specificaties te verenigen en te coördineren. Dit was nodig omdat de PowerPC-specificatie gefragmenteerd geraakt was: Motorola had zijn halfgeleidertak afgesplitst in het nieuwe bedrijf Freescale Semiconductor, dat zich vooral concentreerde op 32-bit embedded toepassingen terwijl IBM zich bleef richten op high-end servers en supercomputer. Er was ondertussen ook een groep van PowerPC-licentiehouders zoals AMCC, Synopsys, Sony, Microsoft, P.A. Semi, Cray en Xilinx die duidelijkheid nodig hadden. De gezamenlijke inspanning was niet alleen om de ontwikkeling van de technologie maar ook om de marketing te stroomlijnen.

De nieuwe instructiesetarchitectuur heette Power ISA en voegde de PowerPC v.2.02-specificatie van POWER5 samen met de PowerPC Book E-specificatie van Freescale, evenals enkele gerelateerde technologieën zoals de Vector Multimedia Extensions (VMX) bekend onder de merknaam AltiVec en hardwarevirtualisatie. Deze nieuwe ISA heette Power ISA v.2.03 en POWER6 was de eerste high-end processor van IBM die er gebruik van maakte. Eerdere POWER- en PowerPC-specificaties werden voorgoed als verouderd geklasseerd, er worden geen processoren meer ontwikkeld op basis van deze oudere instructiesets.

Zie POWER6 voor het hoofdartikel over dit onderwerp.

POWER6 kwam in 2007 op de markt en was het resultaat van het ambitieuze eClipz-project om de I- (AS/400), P- (RS/6000) en Z- (Mainframe) instructiesets onder één gemeenschappelijk platform samen te voegen. I en P waren al samen met de POWER4, maar de eClipz-inspanningen slaagden er niet in om de op CISC gebaseerde z/Architecture te integreren. De z10-processor werd de eClipz-evenknie van POWER6. Vanaf 2021 wordt er door IBM nog steeds een aparte lijn processors ontwikkeld die z/Architecture implementeren, waarvan de nieuwste de IBM Telum is.[10]

Vanwege eCLipz is de POWER6 een ongebruikelijk ontwerp omdat het zich richtte op zeer hoge frequenties en geen gebruik maakte van out-of-order execution, wat nochtans sinds het prille begin een kenmerkende eigenschap was van POWER- en PowerPC-processors. POWER6 introduceerde ook de decimale drijvende-komma-eenheid in de Power ISA, iets dat het deelt met z/Architecture.

Met de POWER6 heeft IBM in 2008 de voormalige System p- en System i-server- en werkstationfamilies samengevoegd tot één familie: de Power Systems. Power Systems-machines kunnen verschillende besturingssystemen uitvoeren, zoals AIX, Linux en IBM i.

POWER6-processoren
  • POWER6 – Bereikte 5 GHz, wordt geleverd in een module met één enkele chip erop of in een multi-chipmodule met twee L3-cachechips
  • POWER6+ – Een kleine update, vervaardigd volgens hetzelfde proces als POWER6

POWER7 uit 2010 is een symmetrisch multiprocessorontwerp dat een substantiële evolutie doormaakte ten opzichte van het POWER6-ontwerp, waarbij de nadruk meer lag op energie-efficiëntie via meerdere kernen, simultane multithreading (SMT), out-of-order execution en grote eDRAM L3-caches in de chip. De chip met acht kernen kan 32 threads parallel uitvoeren[11] en heeft een modus waarin kernen kunnen worden uitgeschakeld om hogere frequenties te bereiken voor degenen die overblijven. POWER7 maakt gebruik van een nieuwe krachtige drijvende-komma-eenheid genaamd VSX die de functionaliteit van de traditionele FPU combineert met AltiVec. Zelfs bij een lagere kloksnelheid presteert elke POWER7-kern sneller dan zijn POWER6-tegenhanger.

POWER7-processoren
  • POWER7 – Wordt geleverd in modules met één chip of in multi-chipmodule-configuraties met vier chips voor gebruik in supercomputers
  • POWER7+ – Verkleind fabricageproces en verhoogde L3-cache en frequentie

De POWER8 uit 2014 is een 4 GHz, 12-coreprocessor met 8 hardwarethreads per core, voor een totaal van 96 threads voor parallelle uitvoering. De processor beschikt over 96 MB eDRAM L3-cache op de chip en 128 MB off-chip L4-cache, alsook over een nieuwe uitbreidingsbus met de naam CAPI die bovenop PCIe draait en de oudere GX-bus vervangt. De CAPI-bus kan worden gebruikt om speciale off-chip acceleratorchips zoals GPU's, ASIC's en FPGA's aan te sluiten.[12] De POWER8 is twee tot drie keer zo snel is als zijn voorganger, de POWER7.

De POWER9, die gelanceerd werd in 2017, is het eerste ontwerp dat elementen bevat van Power ISA v.3.0 die in december 2015 werd uitgebracht, inclusief de VSX-3-instructies. POWER9 bevat ook ondersteuning voor de NVLink-bustechnologie van Nvidia.[13]

De POWER9-processor wordt geleverd in vier versies: twee 24-core SMT4-versies bedoeld om PowerNV te gebruiken voor op- en uitschaaltoepassingen en twee 12-core SMT8-versies bedoeld om PowerVM te gebruiken voor op- en uitschaaltoepassingen. Mogelijk komen er in de toekomst meer versies, aangezien de POWER9-architectuur in licentie kan gegeven worden en gewijzigd kan worden door de leden van de OpenPOWER Foundation.[14]

Power10, geïntroduceerd in september 2021, is gebaseerd op Power ISA v.3.1. De processor werd ontworpen om hogere prestaties per watt te leveren en kreeg betere geheugen- en I/O-architecturen, met een focus op AI-workloads.[15] Het aantal functionele eenheden in elke Power10-kern is verdubbeld ten opzichte van zijn POWER9-voorganger. Elke chip heeft ook acht cryptoversnellers die algoritmen zoals AES en SHA-3 voor hun rekening nemen.[16]

De Power10-processor is beschikbaar in twee versies: een 15-core SMT8-versie bedoeld voor applicaties met een hoge doorvoer die minder rekenkracht vereisen en een 30-core SMT4-versie bedoeld voor rekenintensieve applicaties. Alhoewel beide versies fysisch identiek zijn en het verschil alleen bepaald wordt door de firmware in de chip, is het niet mogelijk om de configuratie van de chip achteraf te wijzigen.[17]

Specificaties

[bewerken | brontekst bewerken]
Naam Afbeelding ISA Bits Cores Fabr Transistoren Snelheid Jaartal
RIOS-1 POWER 32 bits 1 1,0 μm 6.9 miljoen 20–30 MHz 1990
RIOS.9 POWER 32 bits 1 1,0 μm 6.9 miljoen 20–30 MHz 1990
POWER1+ POWER 32 bits 1 6.9 miljoen 25–41,6 MHz 1991
POWER1++ POWER 32 bits 1 6,9 miljoen 25–62,5 MHz 1992
RSC POWER 32 bits 1 0,8 μm 1 miljoen 33–45 MHz 1992
POWER2 POWER2 32 bits 1 0,72 μm 23 miljoen 55–71,5 MHz 1993
POWER2+ POWER2 32 bits 1 0,72 μm 23 miljoen 55–71,5 MHz 1994
P2SC POWER2 32 bits 1 0,29 μm 15 miljoen 120–135 MHz 1996
P2SC+ POWER2 32 bits 1 0,25 μm 15 miljoen 160 MHz 1997
RAD6000 POWER 32 bits 1 0,5 μm 1,1 miljoen 20–33 MHz 1997
POWER3
  • POWER2
  • PowerPC 1.1
64 bits 1 0,35 μm 15 miljoen 200–222 MHz 1998
POWER3-II
  • POWER2
  • PowerPC 1.1
64 bits 1 0,25 μm Cu 23 miljoen 333–450 MHz 1999
POWER4
  • PowerPC 2.00
  • PowerPC-AS
64 bits 2 180 nm 174 miljoen 1–1,3 GHz 2001
POWER4+
  • PowerPC 2.01
  • PowerPC-AS
64 bits 2 130 nm 184 miljoen 1,2–1,9 GHz 2002
POWER5
  • PowerPC 2.02
  • Power ISA 2.03
64 bits 2 130 nm 276 miljoen 1,5–1,9 GHz 2004
POWER5+ PowerPC 2.02
Power ISA 2.03
64 bits 2 90 nm 276 miljoen 1,5–2,3 GHz 2005
POWER6 Power ISA 2.03 64 bits 2 65 nm 790 miljoen 3,6–5 GHz 2007
POWER6+ Power ISA 2.03 64 bits 2 65 nm 790 miljoen 3,6–5 GHz 2009
POWER7 Power ISA 2.06 64 bits 8 45 nm 1,2 miljard 2,4–4,25 GHz 2010
POWER7+ Power ISA 2.06 64 bits 8 32 nm 2,1 miljard 2,4–4,4 GHz 2012
POWER8 Power ISA 2.07 64 bits
  • 6
  • 12
22 nm
  • ?
  • 4,2 miljard
2,75–4,2 GHz 2014
  • POWER8
  • met NVLink
Power ISA 2.07 64 bits 12 22 nm 4,2 miljard 3,26 GHz 2016
POWER9 Power ISA 3.0 64 bits
  • 12
  • 24
14 nm 8 miljard ~4 GHz 2017
Power10 Power ISA 3.1 64 bits
  • 15
  • 30
7 nm 18 miljard 3,5–4 GHz 2021
Naam Afbeelding ISA Bits Cores Fabr Transistoren Snelheid Jaartal
Zie de categorie POWER microprocessors van Wikimedia Commons voor mediabestanden over dit onderwerp.