Az IBM POWER egy csökkentett utasításkészletű számítógépes (RISC) utasításkészlet-architektúra (ISA), amit az IBM fejlesztett ki. A név egy betűszó az angol „Performance Optimization With Enhanced RISC” kifejezésből.
Az ISA-t az IBM az 1990-es években csúcskategóriás mikroprocesszorainak alapjaként használta, és a cég számos szerverében, miniszámítógépeiben, munkaállomásaiban és szuperszámítógépében alkalmazták. Ezek a processzorok POWER1 (RIOS-1, RIOS.9, RSC, RAD6000) és POWER2 (POWER2, POWER2+ és P2SC) nevek alatt váltak ismertté.
Az ISA a PowerPC utasításkészlet-architektúrává fejlődött, majd 1998-ban elavult, mikor az IBM bevezette a POWER3 processzort, amely alapvetően egy 32/64 bites PowerPC processzor volt, de a visszafelé kompatibilitás érdekében tartalmazta az IBM POWER architektúrát is. Az eredeti IBM POWER architektúrát ezután elvetették. A PowerPC továbbfejlesztéséből 2006-ban alakult ki a harmadik Power utasításkészlet-architektúra.
Az IBM folytatja a PowerPC mikroprocesszor-magok fejlesztését, saját alkalmazásspecifikus integrált áramkör (ASIC) kínálatában történő felhasználásra. Sok nagy volumenű alkalmazásban alkalmaznak beágyazott PowerPC magokat.
Történet
A 801-es kutatási projekt
1974-ben az IBM egy kutatási projektet indított, melynek tervezési célja egy olyan nagy méretű telefonközpont-kapcsoló hálózat létrehozása volt, amely képes másodpercenként legalább 300 hívást kezelni. A tervek szerint gépi utasításra volt szükség az egyes hívások kezeléséhez, a valós idejű műveletvégzés fenntartásával, ebből adódóan egy 12 MIPS teljesítményű processzort tartottak szükségesnek. Ez a követelmény rendkívül ambiciózus volt abban az időben, de a tervezés során felismerték, hogy a korabeli CPU-k bonyolultságának nagy része elhagyható lehet, mivel ennek a gépnek csak olyan viszonylag egyszerű műveleteket kellett volna végeznie, mint a bemenet/kimenet, elágazások kezelése, regiszterek közötti összeadások, regiszterek és memória közötti adatmozgatás, és nem lett volna szükség speciális utasításokra nehezebb aritmetikai számítások végzéséhez.
Ez az egyszerű tervezési filozófia vált később ismertté RISC néven, melyben egy összetett művelet minden lépését explicit módon egyetlen gépi utasítás hajtja végre, és minden utasításnak ugyanakkora állandó idő alatt be kell fejeződnie.
1975-re a telefonközpont projektet prototípus nélkül megszüntették. A projekt első évében készített szimulációk becslései alapján azonban úgy tűnt, hogy a projekthez tervezett processzor nagyon ígéretes általános célú processzor lehet, így a munka a Thomas J. Watson kutatóközpont 801-es számú épületében, a 801-es projektben folytatódott.
Az 1982-es Cheetah projekt A Watson Kutatóközpontban két éven át vizsgálták a 801-es konstrukció szuperskalár lehetőségeit, például a tervezet megvalósíthatóságát több funkcionális egység alkalmazásával a teljesítmény javítása érdekében, hasonlóan az IBM System/360 91-es modellben és a CDC 6600-ban alkalmazott technikákhoz (bár a 91-es modell CISC kialakítású), annak megállapítására, hogy egy RISC gép képes-e ciklusonként több utasítást végrehajtani, vagy milyen tervezési változtatásokat kell végrehajtani a 801-es tervein, hogy lehetővé váljon több végrehajtó egység használata.
A teljesítmény növelése érdekében a Cheetah külön elágazáskezelő, fixpontos és lebegőpontos végrehajtóegységekkel rendelkezett. A 801-es tervein sok változtatást hajtottak végre, hogy lehetővé váljon több végrehajtó egység használata. A Cheetah gyártását eredetileg bipoláris emittercsatolt logikai (ECL) technológiával tervezték, de 1984-re a komplementer fém-oxid félvezetős, azaz CMOS technológia lehetővé tette az áramkörök integráltsági szintjének növelését, miközben javult a tranzisztorok logikai teljesítménye.
Az America projekt 1985-ben az IBM Thomas J. Watson Kutatóközpontjában megkezdődött a második generációs RISC architektúra kutatása, amely az „AMERICA architektúrát” eredményezte. 1986-ban az IBM austini egysége kezdte fejleszteni az ezen architektúrán alapuló RS/6000-as számítógép-sorozatot, amely az első POWER architektúrájú számítógépvonal.
POWER
1990 februárjában megjelentek az IBM első, POWER utasításkészletet alkalmazó számítógépei, a „RISC System/6000” vagy RS/6000-es sorozatú gépek. A számítógépeket két osztályba sorolták: munkaállomások és szerverek, ezért POWERstation és POWERserver néven mutatkoztak be. Az RS/6000-es CPU-nak két kiépítésbeli konfigurációja volt, az úgynevezett „RIOS-1” és „RIOS.9” (ez utóbbi ismertebb nevén a „POWER1” CPU). Egy RIOS-1 konfiguráció összesen 10 különálló csipet tartalmaz, a következőket: egy utasítás-gyorsítótár csip, fixpontos csip, lebegőpontos csip, 4 adat-gyorsítótár csip, tárolóvezérlő csip, bemenet-/kimeneti csipek és egy órajelgenerátor csip. bélyegkép|RIOS.9 avagy POWER1 Az olcsóbb RIOS.9 konfiguráció 8 külön csipből áll: egy utasítás-gyorsítótár csip, fixpontos csip, lebegőpontos csip, 2 adat-gyorsítótár csip, tárolóvezérlő csip, be-/kimeneti csip és egy órajelgenerátor csip.
A RIOS egycsipes megvalósítását, az RSC-t (a „RISC Single Chip” rövidítése), az alacsonyabb kategóriájú RS/6000-esekhez fejlesztették ki; az első RSC-t használó gépek 1992-ben jelentek meg.
POWER2
Az IBM 1989-ben, két évvel az Apple/IBM/Motorola szövetség megalakítása előtt kezdte el a POWER2 processzor fejlesztését austini részlegében, amelyet a POWER1 utódjának szántak. Annak ellenére, hogy az Apple/IBM/Motorola szövetség tevékenységének beindításához szükséges erőforrások átcsoportosítása lassította a fejlesztést, a POWER2 öt év alatt eljutott a kezdetektől a rendszer szállításáig. Egy második fixpontos egység, egy második lebegőpontos egység hozzáadásával a tervekhez és egyéb teljesítménynövelő technikák alkalmazásával a POWER2 vezető teljesítményt nyújtott 1993 novemberi bejelentésekor.
Az utasításkészletet új utasításokkal is bővítették: Négyszavas (quad-word) tárolóutasítások. A négyszavas betöltő utasítás két szomszédos dupla pontosságú értéket mozgat két szomszédos lebegőpontos regiszterbe. Hardveres négyzetgyök utasítás. Lebegőpontosból fixpontos formátumba konvertáló utasítások.
Az RS/6000 és RS/6000 SP2 termékcsaládok támogatására 1996-ban, az IBM saját tervezőcsapatával megvalósította a POWER2 egylapkás változatát, a P2SC („POWER2 Super Chip”) processzort, az Apple/IBM/Motorola szövetség keretén kívül. Ezt az IBM legfejlettebb és legsűrűbb CMOS-6S eljárásával gyártották. A P2SC egyetlen hatalmas lapkán egyesítette a POWER2 összes különálló utasítás-gyorsítótár, fixpontos, lebegőpontos, tárvezérlő és adat-gyorsítótár csipjeit. Bevezetésekor a P2SC volt az iparág legnagyobb és legtöbb tranzisztort tartalmazó processzora. A méretéből, összetettségéből és a fejlett CMOS gyártási eljárásból adódó kihívások ellenére már az első tape-out fázisból elkészült processzorváltozat forgalomba hozható volt, és vezető lebegőpontos teljesítményt nyújtott bemutatása idején. P2SC processzorokkal épült fel az IBM 1997-es Deep Blue akkoriban szuperszámítógép-kategóriájú sakkszámítógépe is, amely legyőzte Garri Kaszparov sakk-nagymestert, bár a gép teljesítménye leginkább a speciális sakk-áramköröknek volt köszönhető. Két kifinomult MAF típusúMAF: multiply-add fused, összevont szorzás-összeadás művelet lebegőpontos egységével és nagyon széles, alacsony késleltetésű memóriainterfészével a P2SC elsősorban a mérnöki és tudományos alkalmazásokat célozta meg. A P2SC-t végül felváltotta a POWER3, ami a kettős MAF lebegőpontos egységek mellett 64 bites SMP-t támogat,SMP: symmetric multiprocessing, szimmetrikus multiprocesszálás, szimmetrikus többprocesszoros feldolgozás, többprocesszoros számítógépes hardver- és szoftverarchitektúra és a PowerPC-re történő teljes átállást is magában foglalja.
Az architektúra
A POWER kialakítás közvetlenül a 801-es CPU leszármazottja, amelyet széles körben az első igazi RISC processzor-kialakításnak tartanak. A 801-est széles körben alkalmazták az IBM hardvereiben.
Az IBM nagyjából PC/RT számítógépei megjelenésével egyidőben indította el az America Project elnevezésű kutatási tervezetét, a piacon kapható legerősebb CPU megalkotása céljából. Elsősorban a 801-es konstrukció két problémájának kijavítását célozták meg: A 801-es megkövetelte, hogy minden utasítás egy órajelciklus során befejeződjön, ami kizárta a lebegőpontos utasításokat. Bár a dekóder ezen egyciklusú műveletek mellékhatásaként futószalagos volt, nem használt szuperskalár technológiát és lehetőségeket.
A lebegőpontos számítás az America Project középpontjába került, és az IBM számára megnyílt a lehetőség az 1980-es évek elején kifejlesztett új algoritmusok használatára, amelyekkel egyetlen ciklus alatt elvégezhető a 64 bites kétszeres pontosságú lebegőpontos szorzás és osztás. A kialakításban az FPU egysége el volt választva az utasításdekódertől és a fixpontos részektől, így ez lehetővé tette, hogy a dekóder egyidejűleg küldjön utasításokat az FPU és a (fixpontos) ALU végrehajtó egységek felé. Az IBM ezt még kiegészítette egy összetett utasításdekóderrel, amely képes volt egy lépésben egy utasítást lehívni, egy másikat dekódolni, és egyet elküldeni az ALU-nak és az FPU-nak, aminek eredményeképpen ez lett az egyik első használatban lévő szuperskalár CPU kialakítás.
A rendszer 32 db 32 bites fixpontos regisztert és további 32 db 64 bites lebegőpontos regisztert használt, mindet a saját egységében. Az elágazáskezelő egység tartalmaz még néhány „privát” regisztert saját belső használatára, beleértve a programszámlálót is.
Az architektúra másik érdekes jellemzője a virtuális címrendszer, amely minden címet egy 52 bites tartományba képez le. Ezáltal az alkalmazások egy „lapos” 32 bites térben oszthatják meg a memóriát, és minden programnak különböző, egyenként 32 bites címzésű blokkjai lehetnek.
A PowerPC ‘Architecture Book’ 2.02 verzió, Book I, „E” függelék: „PowerPC Felhasználói utasításkészlet-architektúra” dokumentum leírja a különbségeket a POWER és POWER2 utasításkészlet-architektúrák között, és a PowerPC utasításkészlet-architektúrának a POWER5 processzorban megvalósított változatát.
Megjegyzések
Jegyzetek
Fordítás
Források
- további információkat nyújt a POWER1, POWER2 és POWER3 rendszerekről
– Releváns részek: Chapter 1 (a POWER architektúra), Chapter 2 (hogyan kell az architektúrát megvalósítani), Chapter 6 (a POWER2 architektúra által bevezetett újdonságok), Appendix A és C (leírja az összes POWER utasítást), Appendix F (ismerteti a POWER és a PowerPC architektúrák közötti különbségeket) – Chapter 12: ismerteti a POWER architektúrát (korábbi nevén RIOS) és annak eredetét
További információk – HATALOM a népnek – a POWER és a PowerPC története az IBM szerint – Frank Soltis, A POWER architektúra története
Kapcsolódó szócikkek Power ISA
Kategória:Utasításkészlet-architektúrák Kategória:Mikroprocesszorok Kategória:1990 számítástechnikai újdonságai