Optimizarea performanței cu RISC îmbunătățit

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

POWER ( acronim pentru P erformance O ptimization W with E nhanced R ISC) este un set de instrucțiuni RISC dezvoltat de IBM . Această arhitectură a fost folosită ca bază pentru crearea PowerPC arhitecturii (destinate pentru Macintosh PC - uri , stații de lucru IBM unele și încorporate aplicații), la care rămâne foarte asemănătoare.

POWER este, de asemenea, numele seriei de microprocesoare care au fost dezvoltate din setul de instrucțiuni. Procesoarele sunt utilizate ca procesor principal în multe servere IBM, minicomputere , stații de lucru și supercalculatoare . De la procesorul POWER3 și ulterior arhitectura este în întregime pe 64 de biți și se bazează pe specificația PowerPC. POWER3, de asemenea, nu implementează unele instrucțiuni vechi POWER care au fost eliminate din setul de instrucțiuni PowerPC și nu implementează extensii POWER2, ​​cum ar fi ifq sau stfq.

Istorie

Proiectul 801

În 1974, IBM a început un proiect de dezvoltare a unui switcher telefonic performant capabil să gestioneze până la 300 de apeluri pe secundă. Gestionarea fiecărui apel a necesitat aproximativ 20.000 de instrucțiuni, iar gestionarea lor în timp real a fost estimată să necesite un procesor de cel puțin 12 MIPS. Pentru vremea respectivă au fost solicitări foarte ambițioase, dar inginerii au înțeles că procesorul nu trebuie să aibă complexitatea și flexibilitatea clasice, deoarece, în esență, trebuie doar să gestioneze intrarea și ieșirea datelor, să gestioneze sume, sărituri, să copieze între registre și altele. instrucțiuni elementare. Practic, procesorul nu trebuia să fie echipat cu instrucțiuni matematice complexe, deoarece nu erau necesare.

Filozofia de proiectare a fost bazată pe simplitate, instrucțiunile au fost specificate direct, fără utilizarea microcodului, au fost executate în timp constant și au necesitat doar un ciclu de ceas. Multe caracteristici comune cu arhitecturile moderne RISC.

În 1975 , proiectul telefonic a fost anulat înainte de construirea unui prototip. Totuși, din estimările și simulările efectuate în timpul proiectului, s-a observat că procesorul ar putea fi folosit și pentru sarcini generice și că proiectarea acestuia a fost foarte promițătoare. Proiectul a continuat la clădirea 801 a Centrului de Cercetare Thomas J. Watson și a devenit Proiectul 801 [1] .

Proiect de cercetare „Cheetah”

Timp de doi ani, din 1982, limitele suprascalare ale proiectului 801 au fost analizate și explorate la Centrul de cercetare Watson. Implementarea modelului 801 a fost analizată și a fost explorată posibilitatea implementării mai multor unități funcționale pentru îmbunătățirea performanței, similar cu ceea ce se făcuse în computerul System / 360 Model 91 și CDC 6600 (deși Modelul 91 se baza pe o arhitectură CISC ). Pentru a determina dacă proiectul RISC poate gestiona mai multe instrucțiuni pe ciclu sau dacă proiectul trebuie modificat pentru a gestiona mai multe instrucțiuni pe ciclu.

Pentru a îmbunătăți performanța, Cheetah a separat unitățile de număr sărituri, întregi și cu virgulă mobilă. Multe modificări ale proiectului 801 au fost făcute pentru a gestiona mai multe unități de procesare. Cheetah a fost inițial conceput pentru producție cu tehnologie bipolară ECL , dar în 1984 tehnologia CMOS a îmbunătățit nivelul de integrare și performanță al tranzistoarelor.

Proiectul America

În 1985, cercetările privind a doua generație de arhitecturi RISC au fost începute în laboratoarele IBM Thomas J. Watson Research Center și au produs „arhitectura AMERICA”. În 1986, IBM Austin a început dezvoltarea seriei RS / 6000 bazată pe această arhitectură.

În 1990 IBM a introdus primul sistem bazat pe arhitectura POWER, sistemul a fost numit RISC System / 6000 sau RS / 6000 . RS / 6000 a fost împărțit în două clase, stație de lucru și server, numite POWERstation și POWERserver. Procesoarele sistemelor RS / 6000 au fost numite RIOS (mai târziu RIOS I sau POWER1 ) și au fost formate din 11 integrate. Instrucțiuni cache, unități întregi, unități cu virgulă mobilă, patru unități încorporate de cache de date, unitate de stocare, două unități de intrare / ieșire și ceas.

O versiune single-chip a RIOS, RSC (de la RISC Single Chip ) a fost dezvoltată pentru versiunile low-end RS / 6000 și prima mașină bazată pe acest chip a fost introdusă în 1992.

PowerPC

Pictogramă lupă mgx2.svg Același subiect în detaliu: PowerPC .

IBM a realizat că arhitectura POWER ar putea fi utilizată cu unele ajustări ale pieței de masă și că ar putea fi licențiată către alți furnizori. Compania a contactat Apple propunând colaborarea pentru realizarea unei serii de microprocesoare bazate pe arhitectura POWER. Apple a contactat Motorola , furnizorul de procesare de lungă durată al Apple, și a cerut companiei să se alăture alianței datorită experienței sale îndelungate în producția de volum mare și să aibă un al doilea furnizor de procesoare. Acest parteneriat între companii a fost numit alianța AIM de către A pple, I BM și M otorola.

Rezultatul alianței a fost noua arhitectură PowerPC, o versiune modificată a arhitecturii POWER. Arhitectura PowerPC a adăugat instrucțiuni cu virgulă mobilă de precizie simplă și instrucțiuni de multiplicare și divizare între registre. Arhitectura a eliminat instrucțiuni specializate, cum ar fi instrucțiunile de multiplicare și divizare, utilizând registrul MQ. De asemenea, a adăugat suport pentru arhitectura pe 64 de biți.

Primul PowerPC a fost procesorul PowerPC 601 bazat pe RSC.

PUTERE2

În 1993, IBM a văzut succesul RIOS / POWER1 original dezvoltând procesorul POWER2 . El a adăugat o a doua unitate cu virgulă mobilă și o a doua unitate pentru numere întregi. Au fost introduse noi instrucțiuni în setul de instrucțiuni:

  • Instrucțiuni de memorare cu patru cuvinte. Instrucțiunile cu patru cuvinte copiază două date adiacente cu precizie dublă în două registre cu virgulă mobilă.
  • Instrucțiuni rădăcină pătrată în hardware
  • Instrucțiuni de conversie în virgulă mobilă către număr întreg

În 1996 a fost introdusă o versiune cu un singur chip a POWER2, ​​P2SC ( POWER2 Super Chip ).

Amazon

În 1990, echipa de dezvoltare IBM a AS / 400 acum System i a proiectat un set de instrucțiuni RISC pentru a înlocui instrucțiunile CISC ale AS / 400 existent. Designul original a fost o variantă a setului extins de instrucțiuni IMPI pe 64 de biți, cu adăugarea de instrucțiuni RISC pentru a accelera aplicațiile comerciale care ar folosi computerele AS / 400. IBM a cerut utilizarea procesorelor PowerPC, dar echipa de dezvoltare a susținut că procesorul nu avea un set de instrucțiuni adecvat pentru aplicații comerciale. O extensie PowerPC numită Amazon a fost dezvoltată pentru proiect.

În acel moment, echipa de dezvoltare RS / 6000 s-a opus utilizării PowerPC-urilor pentru mașini de înaltă performanță, deoarece echipa a crezut că instrucțiunile din POWER2 pe care proiectul PowerPC le-a eliminat erau importante. Amazon a fost extins pentru a include și instrucțiunile solicitate de echipa RS / 6000.

Designul primului procesor bazat pe setul Amazon a fost numit Belatrix (numele uneia dintre stelele constelației Orion numită și steaua Amazonului ). Belatrix a fost foarte ambițios ca proiect și a fost finalizat în cele din urmă. IBM Austin (locația în care a fost dezvoltat RS / 6000) a dezvoltat un procesor PowerPC pe 64 de biți cu extensii POWER2 pe care el l-a numit POWER3. IBM Rochester (locația în care a fost dezvoltat AS / 400) a început dezvoltarea primului procesor PowerPC pe 64 de biți de înaltă performanță cu extensii AS / 400 în timp ce IBM Endicott a început dezvoltarea versiunii low-end single-chip a procesorului PowerPC cu Extensii AS / 400.

Versiunea high-end Muskie multi-chip a procesorului PowerPC cu extensii AS / 400 și Cobra , versiunea PowerPC monocip cu extensii AS / 400 au fost introduse în 1995.

În 1997 IBM Rochester a lansat Muskie versiunea PowerPC pentru RS / 6000. A fost folosit de RS / 6000 sub numele RS64 și, de asemenea, în AS / 400 cu același nume.

PUTERE3

În 1997 a fost introdus POWER3 . Numit inițial PowerPC 630 a fost redenumit pentru a indica continuarea liniei POWER. Procesorul a implementat setul de instrucțiuni PowerPC pe 64 de biți, inclusiv toate instrucțiunile opționale (pentru timp). Procesorul avea două unități în virgulă mobilă, trei unități întregi și două unități de încărcare / stocare. Mai târziu, procesoarele POWER au implementat setul de instrucțiuni PowerPC pe 32 și 64 de biți. Procesoarele nu mai erau produse compatibile doar cu setul de instrucțiuni POWER sau POWER2.

PUTERE4

În 2001 a fost introdus POWER4 . Era evident un procesor PowerPC pe 64 de biți, dar a inclus extensiile AS / 400 și a fost utilizat atât în ​​AS / 400, cât și în RS / 6000 înlocuind POWER3 și RS64. Setul de instrucțiuni implementat a fost denumit PowerPC 2.00, iar noul set a adăugat mai multe instrucțiuni.

În 2002 a fost lansat PowerPC 970 , un derivat al POWER4 cu adăugarea unei unități VMX ( AltiVec ) care a fost folosită de Apple în Power Mac G5 , primul Macintosh și primul desktop de pe piață în masă care funcționează pe 64 de biți.

PUTERE5

În 2005 a fost introdus POWER5 . Un procesor multicore cu suport pentru simultan multithreading a două fire și, prin urmare, capacitatea de a gestiona patru procesoare logice. POWER5 a adăugat multe instrucțiuni la setul de instrucțiuni care a fost numit PowerPC2.01. POWER5 + a adăugat mai multe instrucțiuni și setul a luat numele de PowerPC 2.02.

PUTERE6

POWER6 , un succesor direct al POWER5, a fost prezentat în mai 2007 . POWER6 adaugă unități VMX la suportul procesorului și hardware-ului pentru aritmetica zecimală în plus față de aritmetica binară utilizată în mod normal în procesoare. Aceasta este cea mai mare schimbare de la trecerea POWER3 la PowerPC64. Procesorul are un design dual core și este livrat cu o frecvență maximă de 4,7 GHz la 65 nm.

PUTERE7

POWER7 este succesorul POWER6, care a fost introdus pe 8 februarie 2010. Este legat de o subvenție de la DARPA privind dezvoltarea supercomputerelor. Are o putere de procesare mai mult decât dublă decât cea oferită de predecesorul POWER6, obținută printre altele cu o frecvență de funcționare mai mică decât aproape 5 GHz a POWER6, sau de la 3,0 la 4,14 GHz și aceasta, combinată cu noul proces de producție la 45 nm, scade consumul procesorului.

PUTERE8

POWER8 este succesorul POWER7, care a fost introdus în august 2013 și introdus pe piață în iunie 2014.

PUTERE9

POWER9 , care a fost lansat în 2017, este fabricat utilizând un proces FinFET de 14nm și este disponibil în 4 versiuni: două cu 24 de nuclee SMT4 și două cu 12 nuclee SMT8. Probabil vor exista și alte versiuni în viitor, deoarece arhitectura POWER9 este disponibilă pentru licențiere și modificări pentru membrii fundației OpenPOWER .

PUTERE10

POWER10 este o arhitectură care va fi introdusă probabil în 2020. Ar trebui să fie caracterizată printr-un număr mare de nuclee și I / O foarte eficiente. Se presupune că va fi realizat cu tehnologie de 10nm.

Arhitectură

Designul POWER derivă direct de la IBM 801 , considerat de mulți drept primul microprocesor RISC adevărat. 801 a fost utilizat pe scară largă în hardware-ul IBM, dar nu a devenit cunoscut publicului larg până la lansarea IBM PC / RT slab performant la mijlocul anilor 1980 .

Odată cu lansarea PC / RT, IBM a început proiectul America cu intenția de a crea cel mai puternic procesor de pe piață. S-au concentrat pe două probleme principale ale 801:

  1. a necesitat executarea tuturor instrucțiunilor într-un singur ciclu de ceas, împiedicând să aibă loc calculul în virgulă mobilă ;
  2. deși decodificatorul de instrucțiuni a fost structurat cu o conductă așa cum a fost descris mai sus, 801 nu a fost suprascalar .

Calculul în virgulă mobilă a devenit punctul fierbinte al Proiectului America , iar IBM a reușit să utilizeze noi algoritmi dezvoltați la începutul anilor 1980, care puteau efectua multiplicarea și împărțirea cu precizie dublă într-un singur ciclu de ceas. FPU a fost separat de decodorul de instrucțiuni și ALU , permițându-i acestuia să trimită instrucțiunile respective către unitățile funcționale în același timp. IBM a inclus, de asemenea, un decodor de instrucțiuni complex care putea prelua simultan o instrucțiune, decoda o alta și trimite încă una către ALU sau FPU, făcându-l astfel una dintre primele mașini superscalare.

Sistemul a folosit treizeci și două de registre pe 32 de biți întregi și tot atâtea registre pe 64 de biți pentru virgulă mobilă, în unitățile lor respective. Unitatea de predicție a ramurilor ( BPU ) avea, de asemenea, propriile registre, inclusiv acel contor (PC).

801 avea un design simplu, iar supracorecția conținută de POWER l-a făcut un procesor mai complex decât majoritatea procesorelor RISC ale vremii. Setul de instrucțiuni al POWER și al PowerPC conține mai mult de o sută de instrucțiuni cu lungime variabilă, dintre care multe sunt variații ale altora, spre deosebire de exemplu de ARM care are doar treizeci și patru.

O altă caracteristică interesantă a acestei arhitecturi este un sistem de adresare virtual care plasează toate adresele într-un mediu de 52 de biți. În acest fel aplicațiile pot partaja memoria într-un mediu „plat” pe 32 de biți și fiecare program poate avea blocuri diferite de câte 32 de biți fiecare.

Aplicații

Primul procesor POWER1 a constat din trei cipuri : unitatea de predicție a instrucțiunilor (BPU), întreaga unitate (ALU) și unitatea cu virgulă mobilă (FPU). Acestea au fost conectate pe o placă mare pentru a forma un singur sistem. POWER1 a fost utilizat în principal în stațiile de lucru RS / 6000 .

POWER2 a fost în esență un POWER1 îmbunătățit și a fost cel mai lung procesor din această serie: a fost lansat în 1993 și era încă în uz cinci ani mai târziu. Acesta conținea o FPU suplimentară, o memorie cache de 256 KB suplimentară și o capacitate de calcul în virgulă mobilă pe 128 de biți .

POWER3 a urmat în 1998 , inclusiv suport complet pe 64 de biți, rămânând în același timp complet compatibil cu setul de instrucțiuni POWER anterior. Acesta a fost unul dintre obiectivele proiectului PowerPC, iar POWER3 a fost primul procesor IBM care a profitat de acesta. De asemenea, a adăugat un al treilea ALU și un decodor de instrucțiuni suplimentar, pentru un total de opt unități funcționale.

Seria POWER4 include două procesoare complete (similare cu o viteză mai mare POWER3) pe un singur cip și oferă posibilitatea de a vă conecta la viteză mare cu până la alte trei perechi de POWER4. Acestea pot fi așezate împreună pe o placă de bază pentru a compune un multiprocesor simetric cu opt procesoare. Atunci când un proces necesită o viteză mare, mai degrabă decât un calcul complex, o pereche de procesoare poate fi dezactivată, astfel încât restul de trei să aibă magistrala cache L3 gratuită. POWER4, chiar și unic, este considerat de mulți ca fiind cel mai puternic procesor disponibil.

În 2003, IBM a dezvoltat o versiune single-core a POWER4 pentru computerele personale Apple , numită PowerPC 970, cunoscută și sub numele de PowerPC G5 .

IBM a lansat POWER5 în 2004 . Versiunea de 1,9 GHz a obținut cel mai mare scor pentru un singur procesor CPU în benchmark-ul SPECfp . POWER5 este baza eServer i5 și p5. Îmbunătățirile față de POWER4 includ o memorie cache L2 mai mare, un controler de memorie on- chip , simultan multithreading , care apare sistemului de operare ca mai multe procesoare, un sistem de gestionare a energiei mai avansat, un mod dedicat cu o singură sarcină , Hypervisor (un sistem de virtualizare) și eFuse (un hardware pentru corectarea erorilor). Ravi Arimilli, proiectant-șef la IBM, a declarat: „POWER5 este un design intermediar, care poate fi utilizat pentru aplicații de nivel înalt sau chiar de nivel scăzut, cum ar fi lame .”. Serverele bazate pe POWER5 oferă posibilități de virtualizare (adică prezentarea resurselor sistemului într-un mod mai legat de gândirea și logica umană decât de realitatea software-ului sau hardware-ului): partiționare logică și partiționare micro . Se pot crea până la zece LPAR-uri (partiții logice) pentru fiecare CPU, iar sistemul mai mare pe 64 de căi poate gestiona până la 256 de sisteme de operare independente. Memoria, consumul de energie al procesorului și I / O pot fi transferate între partiții.

POWER6 a fost introdus în mai 2007 .

În 2010 a fost comercializat POWER7, capabil de un consum extrem de redus de energie, utilizat pentru construcția unei noi generații de supercalculatoare.

CPU derivate

PowerPC a fost în esență un POWER1 ale cărui instrucțiuni de bază au fost parțial emulate prin microcod , folosind o interfață de magistrală bazată pe designul Motorola 88000 . Acest lucru a permis IBM să utilizeze CPU-ul în multe stații de lucru, schimbând doar placa de bază. Arhitecturile au diferit de atunci, dar rămân compatibile cu instrucțiunile.

Seria RS64 se bazează pe PowerPC și, prin urmare, pe POWER și a fost utilizată în liniile RS / 6000 și AS / 400. Fiind optimizat pentru aplicații comerciale, îi lipsește puterea de calcul în virgulă mobilă a seriei POWER. În prezent, linia POWER4 a preluat și va fi căutată mai multă putere.

Procesorul PowerPC Gekko fabricat de IBM este o versiune modificată a PowerPC 750CXe și a fost utilizat de Nintendo GameCube . IBM a dezvoltat, de asemenea, procesorul pentru Wii (consola succesivă a GameCube), IBM Broadway .

Procesorul Cell este un alt derivat al arhitecturii POWER și include un nucleu similar cu un procesor POWER3 limitat în calculul în virgulă mobilă, asociat cu opt procesoare vectoriale independente. Este inima consolei Sony PlayStation 3 , procesorul pare capabil să depășească orice altă arhitectură actuală a pieței desktop-urilor în calcul paralel și SIMD ; caracteristici care au captat atenția întregii industrii.

Procesorul Xenon , care alcătuiește Xbox 360 Microsoft , derivă din arhitectura PowerPC. Are o structură triple-core și o viteză de 3,2 GHz. [2]

Notă

  1. ^ Prezentare generală a procesorului IBM 801 ((PDF)) [ Broken Link ]
  2. ^ IBM Developerworks - referință procesor Xenon

Bibliografie

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT