Performance Optimization With Enhanced RISC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 1:
'''POWER''' è il nome di unaun architettura[[set di istruzioni[[CPU]] [[Reduced instruction set computer|RISC]] sviluppata da [[IBM]], ed è l'[[acronimo]] di '''P'''erformance '''O'''ptimization '''W'''ith '''E'''nhanced '''R'''ISC (oltre a significare ''potenza'' in [[lingua inglese|inglese]]). I microprocessori POWER sono usati come CPU principale in molti [[server]], [[minicomputer]], [[workstation]] e [[supercomputer]] IBM. Questa architettura è stata utilizzata come base per la creazione dell'architettura [[PowerPC]] (destinata ai [[personal computer|PC]] [[Macintosh]], ad alcune workstation IBM e ad applicazioni [[embedded]]), a cui rimane molto simile.
 
POWER è il nome anche della serie di [[microprocessore|microprocessori]] che sono stati sviluppati a partire dal set di istruzioni. I processori sono usati come CPU principale in molti [[server]], [[minicomputer]], [[workstation]] e [[supercomputer]] IBM. Dal processore [[POWER3]] e successivi l'architettura è interamente a 64 bit e basata sulle specifiche PowerPC. Il POWER3 inoltre non implementa alcune vecchie istruzioni POWER che furono rimosse dal set di istruzioni del PowerPC e non implementa le estensioni del POWER2 come l'ifq o il stfq.
==Architettura==
 
==Storia==
===Il progetto 801 ===
Nel 1974 IBM avviò un progetto volto a sviluppare uno switcher telefonico ad alte prestazioni in grado di gestire fino a 300 chiamate per secondo. La gestione di ogni chiamata richiedeva circa 20.000 istruzioni e la loro gestione in tempo reale si stimò che richiedesse un processore da almeno 12 MIPS. Per l'epoca erano delle richieste molto ambiziose ma gli ingegneri compresero che il processore non doveva avere la classica complessità e flessibilità dato che in sostanza doveva solamente gestire l'ingresso e l'uscita dei dati, gestire somme, salti, copia tra registri e altre istruzioni elementari. In sostanza il processore non doveva essere dotato di istruzioni matematiche complesse dato che non erano necessarie.
 
La filosofia di progetto era basata sulla semplicità, le istruzioni erano specificate direttamente, senza uso di microcodice, venivano eseguite in tempo costante e richiedevano solo un ciclo di clock. Molte caratteristiche in comune con le moderne architetture [[RISC]].
 
Nel 1975 il progetto telefonico fu cancellato prima della realizzazione di un prototipo. Dalle stime a dalle simulazioni svolte durante il progetto tuttavia si notava che il processore poteva essere utilizzato anche per compiti generici e che il suo disegno era molto promettente. Il progetto continuò al [[Thomas J. Watson Research Center]] edificio 801, e divenne il progetto [[IBM 801|801]].
 
===1982 progetto di ricerca “Cheetah”===
Per due anni al centro di ricerca Watson Research Center i limiti superscalari del progetto ''801'' furono analizzati ed esplorati. L'implementazione dell'801 fu analizzata e fu esplorata la possibilità di implementare più unità funzionali per migliorare le prestazioni, similmente a quanto era stato fatto nel computer [[System/360]] Model 91 e nel [[CDC 6600]] (sebbene il Model 91 era basato su un'architettura CISC). Per determinare se il progetto RISC potesse gestire più istruzioni per ciclo o se il progetto dovesse essere modificato per gestire più istruzioni per ciclo.
 
Per migliorare le prestazioni ''Cheetah'' separò le unità di salto, di gestione degli interi e dei numeri in virgola mobile. Molti cambiamenti al progetto ''801'' furono apportati per gestire più unità di elaborazione. ''Cheetah''inzialmente venne progettato per la produzione con la tecnologia [[bipolar junction transistor|bipolare]] [[emitter coupled logic|ECL]], ma nel 1984 la tecnologia [[CMOS]] migliorò il livello di integrazione e le prestazioni dei transistor.
 
===Il progetto America ===
Nel 1985 la ricerca sulla seconda generazione di architetture RISC venne avviata nei laboratori IBM Thomas J. Watson Research Center, e produsse "AMERICA architecture". Nel 1986 l'IBM Austin avviò lo sviluppo della serie [[RS/6000]] basandola su questa architettura.
 
Nel 1990 IBM presentò il primo sistema basato sull'architettura POWER, il sistema venne chiamato ''RISC System/6000'' o ''RS/6000''. L'RS/6000 era diviso in due classi, [[workstation]] e [[server]] che vennero chiamati POWERstation e POWERserver. I processori dei sistemi RS/6000 vennero chiamati RIOS ( in seguito RIOS I o [[POWER1]]) ed era composto da 11 integrati. Cache istruzioni, unità per i numeri interi, unità per i numeri in virgola mobile, quattro integrati per la cache dati, l'unità di memorizzazione, due unità di input/output e il clock.
 
Una versione su singolo chip del RIOS, RSC ( da [[RISC single Chip]]) venne sviluppato per le versioni di fascia bassa RS/6000 e la prima macchina basata su questo chip fu presentata nel 1992.
 
===PowerPC===
{{vedi anche|PowerPC}}
IBM si rese conto che l'architettura POWER poteva venir utilizzata con alcuni aggiustamenti per il mercato di massa e che poteva venir venduta in concessione ad altri fornitori. La società contattò [[Apple Computer]] proponendo la collaborazione per la realizzazione di una serie di microprocessori basati su architettura POWER. Apple contatto [[Motorola]], fornitore di lunga data di processori per Apple e chiese alla società di entrare nell'alleanza per via della sua lunga esperienza nella produzione in alti volumi e per avere un secondo fornitore di processori. Questa collaborazione tra le società venne chiamata [[alleanza AIM]] da '''A'''pple, '''I'''BM e '''M'''otorola.
 
Il risultato dell'alleanza fu la nuova architettura PowerPC, una versione modificata dell'architettura POWER. L'architettura PowerPC aggiunse delle istruzioni a singola precisione in virgola mobile e delle istruzioni di moltiplicazione e divisione tra registri. L'architettura rimosse delle istruzioni specializzata come l'istruzione di moltiplicazione e divisione utilizzante il registro MQ. Inoltre aggiunse il supporto per l'architettura a 64 bit.
 
Il primo PowerPC fu il processore [[PowerPC 601]] basato su RSC.
 
===POWER2===
Nel 1993 IBM visto il successo dell'originale RIOS/POWER1 sviluppo il processore [[POWER2]]. Vi aggiunse una seconda unità in virgola mobile e una seconda unità per i numeri interi. Nuove istruzioni vennero inserite nel set di istruzioni.
 
 
*Istruzioni di memorizzazione di Quad-word. Le istruzioni quad-word copiano due dati in doppia precisione adiacenti in due registri in virgola mobile.
*Istruzioni di radice quadrata in hardware
*Istruzioni di conversioni da virgola mobile a intero
 
Nel 1996 venne presentato una versione a singolo chip del POWER2 il P2SC (''POWER2 Super Chip'').
 
===Amazon===
Nel 1990 il team di sviluppo IBM dell'[[AS/400]] progetto un set di istruzioni RISC per rimpiazzare le istruzioni CISC degli esistenti AS/400. Il progetto originale era una variante del set di istruzioni ''IMPI'' esteso a 64 bit con l'aggiunta di istruzioni RISC per accelerare le applicazioni commerciali che avrebbero fatto uso dei computer AS/400. IBM spinse per l'utilizzo dei processori PowerPC ma il team di sviluppo argomentò che il processore non disponeva di un'adeguato set di istruzioni per le applicazioni commerciali. Un'estensione per il PowerPC chiamata ''Amazon'' venne sviluppata per il progetto.
 
In quel periodo il team di sviluppo dell'RS/6000 era contrario all'utilizzo dei PowerPC per le macchine ad alte prestazioni dato che il team riteneva importanti le istruzioni presenti nel POWER2 che il progetto PowerPC aveva rimosso. Amazon venne esteso per includere anche le istruzioni richieste dal team dell'RS/6000.
Il progetto del primo processore basato sul set Amazon fu chiamato ''Belatrix'' (il nome di una delle stelle della costellazione di Orione chiamata anche ''la stella dell'amazzone''). Belatrix era molto ambizioso come progetto e infine venne completato. IBM Austin (la sede dove fu sviluppato l'RS/6000) sviluppo un processore PowerPC a 64 bit con le estensione del POWER2 che chiamò POWER3. IBM Rochester (la sede dove fu sviluppato l'AS/400) avviò lo sviluppo del primo processore PowerPC a 64 bit ad alte prestazioni con estensioni AS/400 mentre IBM Endicott avviò lo sviluppo della versione di fascia bassa a singolo chip del processore PowerPC con estensioni AS/400.
 
''Muskie'' la versione di fascia alta multi-chip del processore PowerPC con estensioni AS/400 e ''Cobra'', la versione singolo chip PowerPC con estensioni AS/400 vennero presentati nel 1995.
 
Nel 1997 IBM Rochester rilasciò ''Muskie'' la versione PowerPC per RS/6000. Venne utilizzato dall'RS/6000 con il nome di [[RS64]] e anche negli AS/400 con lo stesso nome.
 
 
===POWER3===
Nel 1997 il [[POWER3]] venne presentato. Inizialmente chiamato PowerPC 630 venne rinominato per indicarne la continuazione della linea POWER. Il processore implementava il set di istruzioni PowerPC a 64 bit, incluse tutte le istruzioni opzionali (per l'epoca). Il processore aveeva due unità in virgola mobile, tre unità per i numeri interi e due load/store. I successivi processori POWER implementarono il set di istruzioni PowerPC a 32 e 64 bit. NOn vennero più prodotti processori compatibili con il solo set di istruzioni POWER o POWER2.
 
===POWER4===
Nel 2001 il [[POWER4]] venne presentato. Era ovviamente un processore PowerPC a 64 bit ma includeva le estensioni AS/400 e venne utilizzato sia negli AS/400 che negli RS/6000 sostituendo il POWER3 e l'RS64. Il set di istruzioni implementato venne chiamato PowerPC 2.00 ed il nuovo set aggiunse altre istruzioni.
 
Nel 2002 fu rilasciato il [[PowerPC G5|PowerPC 970]] un derivato del POWER4 con l'aggiunta di un'unità VMX ([[AltiVec]]) che venne utilizzato da Apple nei [[PowerMac G5]], il primo Macintosh a 64 bit.
 
===POWER5===
Nel 2005 venne presentato il [[POWER5]]. Un processore multicore con supporto del [[multithreading simultaneo]] di due thread e quindi la capacità di gestire quattro processori logici. POWER5 aggiunse molte istruzioni al set di istruzioni che venne chiamato PowerPC2.01.
 
Il POWER5+ aggiunse altre istruzioni e il set prese il nome di PowerPC 2.02.
 
===POWER6===
Il [[POWER6]], diretto successore del POWER5 attualmente è sotto sviluppo. Il POWER6 aggiungerà delle unità VMX al processore. Questo è il più grosso cambiamento dal tempo del POWER3 che passo al PowerPC64. Il processore ha un progetto dual core e dovrebbe avere una frequenza operativa di circa 5 GHz a 65 nm. Il suo rilascio è previsto per metà del 2007.
 
===POWER7===
Il [[POWER7]] sarà il successore del POWER6. Il processore dovrebbe esser rilasciato nel 2010 ed è collegato a un finanziamento del [[DARPA]] riguardante lo sviluppo di supercomputer.
 
==Architettura==
Il design POWER discende direttamente dall'[[IBM 801]], considerato da molti il primo vero microprocessore RISC. L'801 fu molto usato nell'hardware IBM, ma non divenne noto al grande pubblico fino al lancio dell'[[IBM PC/RT]], dalle prestazioni mediocri, alla metà degli [[anni 1980|anni '80]].
 
Line 19 ⟶ 89:
 
==Applicazioni==
 
La prima CPU [[POWER1]] consisteva di tre ''chip'': l'unità di predizione delle istruzioni (BPU), l'unità intera (ALU) e l'unità in virgola mobile (FPU). Questi erano collegati su una grossa scheda per costituire un sistema unico. Il POWER1 fu usato soprattutto nelle workstation [[RS/6000]].
 
Line 32 ⟶ 101:
IBM ha lanciato il [[POWER5]] nel [[2004]]. La versione a 1,9 GHz ha fatto segnare il più alto punteggio mai segnato da una CPU a processore singolo nel [[benchmark (informatica)|benchmark]] [[SPECfp]]. Il POWER5 è alla base dei eServer i5 e p5. I miglioramenti rispetto al POWER4 includono una cache L2 più grande, un ''memory controller'' integrato nel ''chip'', il [[multithreading]] simultaneo, che appare al [[sistema operativo]] come più CPU, un più avanzato sistema di gestione della potenza, una modalità ''single-tasking'' dedicata, l'''Hypervisor'' (un sistema per la virtualizzazione) e l'eFuse (un hardware per la correzione degli errori). Ravi Arimilli, capo designer della IBM ha affermato: "Il POWER5 è un design intermedio, che può essere impiegato per impieghi ad alto livello o anche di basso livello come i ''blade''.". I server basati su POWER5 offrono possibilità di [[virtualizzazione]] (cioè di presentazione delle risorse di sistema in un modo più legato al pensiero e alla logica umana che alla realtà del software o dell'hardware): ''logical partitioning'' e ''micro partitioning''. Possono essere create fino a dieci LPAR (partizioni logiche) per ogni CPU, e il sistema più grande a 64 vie può gestire fino a 256 sistemi operativi indipendenti. La memoria, l'assorbimento della CPU e l'I/O possono essere trasferiti tra le partizioni.
 
Al [[20052006]], è in corso lo sviluppo del [[POWER6]] e del [[POWER7]].
 
==CPU derivate==
 
Il [[PowerPC]] era essenzialmente un POWER1 le cui istruzioni di base erano in parte emulate via [[microcodice]], usando una interfaccia bus basata sul design del [[Motorola 88000]]. Questo permise ad IBM di usare la CPU in molte workstation, cambiando solo la scheda madre. Da allora le architetture si sono differenziate, ma rimangono compatibili a livello di istruzioni.
 
La serie [[RS64]] si basa sul PowerPC (e quindi sul POWER) ed è stata usata nelle linee [[RS/6000]] ed [[AS/400]]. Essendo ottimizzata per applicazioni commerciali, non possiede la potenza nel calcolo in virgola mobile della serie POWER. Attualmente gli è subentrata la linea POWER4.
 
Il processore IBM ''Gekke'' è una versione modificata del [[PowerPC G3|PowerPC 750CXe]] e venne utilizzato dal [[Nintendo GameCube]]. IBM ha sviluppato anche il processore per [[Wii]] la console successore del GameCube.
 
Il processore [[Cell]] è un altro derivato dell'architettura POWER, e include un ''core'' simile ad un processore POWER3 limitato nel calcolo in virgola mobile, accostato a otto processori vettoriali indipendenti. Destinato ad essere il cuore della futura [[Sony]] [[PlayStation 3]], il processore sembra in grado di superare qualsiasi altra attuale architettura del mercato desktop nel [[calcolo parallelo]] e [[SIMD]]; caratteristiche che hanno catturato l'attenzione dell'intero settore.
 
Il processore Xenon, che andrà a comporrecompone l'[[Xbox 360]] di [[Microsoft]], deriva invece dall'architettura PowerPC. Ha una struttura ''triple-core'' ed una velocità di 3,2 GHz. <ref>[http://www-128.ibm.com/developerworks/power/library/pa-fpfxbox/ IBM Developerworks - Xenon processor reference]</ref>
 
== Riferimenti ==
* {{en}} [http://domino.research.ibm.com/tchjr/journalindex.nsf/ResVolumes?OpenView&Start=1&Count=1000&Expand=16.1#16.1 IBM Journal of R&D, Volume 34, Issue 1 (1990)] - IBM Journal of Research and Development issue on the original RS/6000
* {{en}} {{cite journal|author=John Cocke and Victoria Markstein|year=1990|title=The evolution of RISC technology at IBM|journal=IBM Journal of Research and Development|volume=34|issue=1|pages=4-11|url=http://www.research.ibm.com/journal/rd/341/ibmrd3401C.pdf}}
* {{en}} Anderson, S.; Bell, R.; Hague, J.; et al. [http://www.redbooks.ibm.com/pubs/pdfs/redbooks/sg245155.pdf RS/6000 Scientific and Technical Computing: POWER3 Introduction and Tuning Guide]
* {{en}} {{cite book | author=Soltis, Frank G. | title=Inside the AS/400: Featuring the AS/400e Series, 2nd Edition | pages=pp.13-48 | publisher=29th Street Press | year=1997 | id=ISBN 1-882419-66-9}}
* {{en}} [http://www.ibm.com/servers/eserver/pseries/hardware/whitepapers/power/ppc_arch.html PowerPC Architecture], an IBM article giving POWER and PowerPC history
* {{en}} [http://www.ibm.com/servers/eserver/pseries/hardware/whitepapers/power/ppc_601.html PowerPC 601 Microprocessor], an IBM white paper on the 601
 
<references/>
 
== Collegamenti esterni ==
* {{en}} [http://www.ibm.com/chips/power/ IBM Power Architecture] - Official IBM website
* {{en}} [http://www.ibm.com/systems/linux/power/ Linux on Power]
* {{en}} [http://www.ibm.com/collaboration/wiki/display/LinuxP/ Linux on Power WIKI]
* {{en}} [http://www.ibm.com/developerworks/power IBM Power Architecture weekly magazine]
* {{en}} [http://www.power.org/ Power.org]
* {{en}} [http://www.ibm.com/developerworks/power/library/pa-powerppl/ POWER to the people] - an IBM history of POWER and PowerPC
* {{en}} [http://www.the400squadron.com/amug/200406/NotPowerPC.htm When Is PowerPC Not PowerPC?] - History of the POWER Architecture by [[Frank Soltis]]
* {{en}} [http://www.nersc.gov/vendor_docs/ibm/asm/migrating_source.htm#be6c5d1351jeff Migrating Source Programs]
* {{en}} [http://www-128.ibm.com/developerworks/library/pa-expert1.html Meet the experts: John McCalpin] - interesting discussion on power5 and beyond
 
[[Categoria:Microprocessori IBM]]