Performance Optimization With Enhanced RISC: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Ortografia |
|||
(71 versioni intermedie di 47 utenti non mostrate) | |||
Riga 1:
'''
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.
== 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]] <ref>{{collegamento interrotto|1=[https://www.research.ibm.com/journal/rd/273/ibmrd2703E.pdf Overview sul processore IBM 801((PDF))] |data=aprile 2018 |bot=InternetArchiveBot }}</ref>.
===
Per due anni, dal 1982, 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 [[IBM System/360|System/360]] Model 91 e nel [[CDC 6600]] (sebbene il Model 91
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''
=== 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
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.
Riga 23:
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.▼
▲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
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 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
Il primo PowerPC fu il processore [[PowerPC 601]] basato su RSC.
=== POWER2 ===
Nel 1993 IBM visto il successo dell'originale RIOS/POWER1
* 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'[[IBM System i|AS/400 ora System i]]
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)
''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
=== POWER3 ===▼
▲===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 aveva 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
=== 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
===
Il [[POWER7]] è il successore del POWER6, presentato l'8 febbraio 2010. È collegato a un finanziamento del [[DARPA]] riguardante lo sviluppo di supercomputer. Ha una potenza elaborativa più che doppia rispetto a quella offerta dal predecessore POWER6, ottenuta tra l'altro con una frequenza operativa inferiore ai quasi 5 GHz del POWER6, ovvero dai 3,0 ai 4,14 GHz e questo, unito al nuovo processo produttivo a 45 nm, diminuisce i consumi del processore.
▲Il [[POWER6]], diretto successore del POWER5 attualmente è sotto sviluppo. Il POWER6 aggiungerà delle unità VMX al processore e il supporto hardware per l' aritmetica decimale, al posto della binaria usualmente usata nei processori. 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.
===
Il [[
==
[[POWER9]], che è stato lanciato nel 2017, è prodotto usando un processo FinFET a 14 nm ed è disponibile in 4 versioni: due con 24 core SMT4 e due con 12 core SMT8. Probabilmente ci saranno ulteriori versioni in futuro visto che l'architettura POWER9 è disponibile per licensing e modifiche per i membri della fondazione [[OpenPOWER]].
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 RT|IBM PC/RT]], dalle prestazioni mediocri, alla metà degli [[anni 1980|anni '80]].▼
=== POWER10 ===
Mentre il PC/RT veniva rilasciato sul mercato, IBM diede inizio all'''America Project'', con l'intenzione di creare la CPU più potente sul mercato. Si concentrarono su due problemi principali dell'801:▼
[[POWER10]] è stato presentato in agosto 2020 e introdotto nel mercato nel settembre 2021.
Caratterizzato da una architettura a 15 core è realizzato con una tecnologia a 7nm.
== Architettura ==
#richiedeva che tutte le istruzioni venissero eseguite all'interno di un singolo ciclo di clock, impedendo lo svolgimento di calcolo in [[virgola mobile]];▼
▲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 RT|IBM PC/RT]], dalle prestazioni mediocri, alla metà degli [[anni 1980|anni
#nonostante il ''decoder'' delle istruzioni fosse strutturato con una [[pipeline dati|pipeline]] per quanto descritto sopra, l'801 non era [[microprocessore superscalare|superscalare]].▼
▲Mentre il PC/RT veniva
Il calcolo in virgola mobile divenne il pallino dell'''America Project'', e IBM poté usare nuovi algoritmi sviluppati nei primi anni '80 che potevano eseguire moltiplicazioni e divisioni a [[IEEE 754#Precisione doppia (64 bit)|precisione doppia]] in un singolo ciclo di clock. La [[Floating Point Unit|FPU]] era separata dal ''decoder'' delle istruzioni e dall'[[Arithmetic Logic Unit|ALU]], permettendo al primo di poter inviare le rispettive istruzioni alle unità funzionali nello stesso tempo. IBM inoltre inserì un complesso ''instruction decoder'' che poteva compiere contemporaneamente il [[fetch]] di una istruzione, la decodifica di un'altra e l'invio di un'altra ancora all'ALU o alla FPU, risultando così una delle prime macchine superscalari. ▼
▲# richiedeva che tutte le istruzioni venissero eseguite all'interno di un singolo ciclo di clock, impedendo lo svolgimento di calcolo in [[virgola mobile]];
▲# nonostante il ''decoder'' delle istruzioni fosse strutturato con una [[pipeline dati|pipeline]] per quanto descritto sopra, l'801 non era [[microprocessore superscalare|superscalare]].
▲Il calcolo in virgola mobile divenne il pallino dell{{'}}''America Project'', e IBM poté usare nuovi algoritmi sviluppati nei primi anni '80 che potevano eseguire moltiplicazioni e divisioni a [[IEEE 754#Precisione doppia (64 bit)|precisione doppia]] in un singolo ciclo di clock. La [[Floating Point Unit|FPU]] era separata dal ''decoder'' delle istruzioni e dall'[[Arithmetic Logic Unit|ALU]], permettendo al primo di poter inviare le rispettive istruzioni alle unità funzionali nello stesso tempo. IBM inoltre inserì un complesso ''instruction decoder'' che poteva compiere contemporaneamente il ''[[instruction fetch|fetch]]'' di una istruzione, la decodifica di un'altra e l'invio di un'altra ancora all'ALU o alla FPU, risultando così una delle prime macchine superscalari.
Il sistema usava trentadue [[CPU|registri]] interi a [[32 bit]] e altrettanti a [[64 bit]] per la virgola mobile, nelle rispettive unità. Anche la [[Predizione delle diramazioni|BPU]] (''branch prediction unit'') aveva i suoi propri registri, incluso quello contatore (PC).
Line 87 ⟶ 93:
Un'altra interessante caratteristica di questa architettura un sistema di ''indirizzamento virtuale'' che inserisce tutti gli indirizzi in un ambiente a 52 bit. In questo modo le applicazioni possono condividere memoria in un ambiente "piatto" a 32 bit e ogni programma può avere blocchi differenti di 32 bit ciascuno.
== 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 [[IBM System p|RS/6000]].
Il [[POWER2]] era in sostanza un POWER1 migliorato e fu il processore di questa serie più longevo: fu lanciato nel [[1993]] ed era ancora usato cinque anni dopo. Conteneva una FPU addizionale, 256 KB di memoria [[CPU cache|cache]] in più e la capacità di calcolo in virgola mobile a [[128 bit]].
Il [[POWER3]] seguì nel [[1998]], includendo un pieno supporto del 64 bit, rimanendo tuttavia completamente compatibile con l{{'}}''instruction set'' POWER precedente. Questo era uno degli obiettivi del progetto PowerPC e il POWER3 fu il primo processore IBM a trarne vantaggio. Aggiungeva inoltre una terza ALU ed un ulteriore ''instruction decoder'', per un totale di otto unità funzionali.
La serie [[POWER4]] include due CPU complete (simili ad un POWER3 con velocità superiore) su un unico ''chip'', e offre la possibilità di collegamento ad alta velocità con fino ad altre tre paia di POWER4. Questi possono essere posti insieme su una [[scheda madre]] per comporre un [[multiprocessore simmetrico]] con otto CPU. Quando un processo richiede un'alta velocità piuttosto che un calcolo complesso, una coppia di CPU può essere disabilitata in modo che le tre rimanenti abbiano il [[Bus (informatica)|bus]] per la cache L3 libero. Il POWER4, anche singolo, è considerato da molti la CPU più potente disponibile.
Nel [[2003]] IBM ha sviluppato una versione ''single-core'' del POWER4 per i [[personal computer]] di [[Apple]], chiamata PowerPC 970, ovvero [[PowerPC G5]].
IBM ha lanciato il [[POWER5]] nel [[2004]]. La versione a 1,9
Nel 2010 è stato commercializzato il POWER7, capace di ridottissimi consumi energetici, utilizzati per la realizzazione di una nuova generazione di supercalcolatori.
==CPU derivate==▼
▲== 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,
Il processore [[PowerPC Gekko]] prodotto da IBM è 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), l'[[IBM Broadway]].
Il processore [[Cell (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.
Il processore [[Xenon (processore)|Xenon]], che compone l'[[Xbox 360]] di [[Microsoft]], deriva invece dall'architettura PowerPC. Ha una struttura ''triple-core'' ed una velocità di 3,2
==
<references/>▼
== Bibliografia ==
* {{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}} Anderson, S.; Bell, R.; Hague, J.; et al. [https://web.archive.org/web/20120321210049/http://www.redbooks.ibm.com/pubs/pdfs/redbooks/sg245155.pdf RS/6000 Scientific and Technical Computing: POWER3 Introduction and Tuning Guide]
* {{
* {{en}} [
* {{en}} [
== Voci correlate ==
▲<references/>
* [[Architettura Power]]
* [[PowerPC]]
== Collegamenti esterni ==
* {{en}} {{collegamento interrotto|1=[
* {{
* {{
* {{
* {{cita web|1=http://www.power.org/|2=Power.org|lingua=en|accesso=17 ottobre 2006|urlarchivio=http://webarchive.loc.gov/all/20110729095144/https://www.power.org/|dataarchivio=29 luglio 2011|urlmorto=sì}}
* {{en}} [https://web.archive.org/web/20080529/http://www.ibm.com/developerworks/power/library/pa-powerppl/ POWER to the people] - an IBM history of POWER and PowerPC
* {{en}} [http://www-128.ibm.com/developerworks/library/pa-expert1.html Meet the experts: John McCalpin] - interesting discussion on power5 and beyond
{{Portale|informatica}}
[[Categoria:Microprocessori IBM]]
[[Categoria:Architettura Power]]
|