Performance Optimization With Enhanced RISC: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Correggo wikilink 'Bus (informatica)' |
Ortografia |
||
(44 versioni intermedie di 30 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=[
===
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'' inizialmente 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
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
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 specializzate come l'istruzione di moltiplicazione e divisione utilizzante il registro MQ. Inoltre aggiunse il supporto per l'architettura a 64 bit.
Line 31 ⟶ 32:
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]] progettò 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)
''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 ===
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 è stato presentato nel maggio [[2007]]. Il POWER6 aggiunge delle unità VMX al processore e il supporto hardware per l'
=== POWER7 ===
Il [[POWER7]]
==
Il [[POWER8]] è il successore del POWER7, presentato in agosto 2013 e introdotto nel mercato nel giugno 2014.
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 ottanta]].▼
=== POWER9 ===
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:▼
[[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]].
=== POWER10 ===
#richiedeva che tutte le istruzioni venissero eseguite all'interno di un singolo ciclo di clock, impedendo lo svolgimento di calcolo in [[virgola mobile]];▼
[[POWER10]] è stato presentato in agosto 2020 e introdotto nel mercato nel settembre 2021.
#nonostante il ''decoder'' delle istruzioni fosse strutturato con una [[pipeline dati|pipeline]] per quanto descritto sopra, l'801 non era [[microprocessore superscalare|superscalare]].▼
Caratterizzato da una architettura a 15 core è realizzato con una tecnologia a 7nm.
== Architettura ==
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. ▼
▲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 ottanta]].
▲Mentre il PC/RT veniva
▲# 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 84 ⟶ 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.
Line 95 ⟶ 104:
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
Il [[POWER6]] è stato presentato a maggio [[2007]].
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 cuore della console [[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 (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
== Note ==
Line 115 ⟶ 126:
== 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 ==
* [[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]]
▲[[de:IBM Power]]
|