Articolo pubblicato sul n. 138 di MCmicrocomputer (Edizioni Technimedia Srl - Roma) nel marzo 1994

MCmicrocomputer


Processori:
Motorola PowerPC

di Andrea de Prisco 

PowerPC, come ormai dovrebbe essere ben noto, e' un'architettura RISC nata da un accordo tra tre grandi colossi dell'informatica e della microelettronica mondiale: Apple, IBM e Motorola. Destinata a coprire tutti gli ambienti di calcolo, dai portatili ai supercomputer senza dimenticare ne' i mainframe ne' gli embedded controller per applicazioni in real time, questa architettura (fortemente ispirata all'architettura Power dei sistemi IBM RS/6000) consente di mantenere attraverso tutti questi ambienti l'assoluta compatibilita' software. Copertina del numero di MCmicrocomputer contenente l'articolo

Power e' l'acronimo di Performance Optimized With Enhanced RISC. E' l'architettura sviluppata da IBM per le sue macchine RS/6000, PowerPC non e' che una implementazione single chip a basso costo di questa architettura e rispetta i concetti fondamentali delle architetture RISC: istruzioni a lunghezza fissa, operazioni registro-registro, lettura/scrittura registri-memoria, istruzioni semplici e modi di indirizzamento elementare, un set di registri esteso, istruzioni anche a tre operandi (non distruttive).

Trattandosi di un processore superscalare, dispone di tre unita' esecutive indipendenti (una branch unit, una integer unit e una floating-point unit) grazie alle quali istruzioni differenti possono essere eseguite parallelamente e nel medesimo ciclo di clock.

Diversamente dalle comuni architetture RISC, nei processori Power il formato floating point e' compreso tra i tipi di dato di prima classe: non viene considerato come una caratteristica opzionale e trattato da un coprocessore, ma e' direttamente implementato nel set istruzioni del processore stesso esattamente come i tipi di dato standard, interi e  logici. Power supporta il formato standard floating point IEEE-754, utilizza un set di 32 registri in doppia precisione che fanno parte dell'unita' a virgola mobile e che sono separati dai registri generali dell'unita' intera. Il set di istruzioni floating point comprende una serie di istruzioni "moltiplica-e-somma" che consentono di migliorare drasticamente le prestazioni di molti algoritmi.

Nell'implementazione di PowerPC, il set di istruzioni Power e' stato ridimensionato per facilitare la realizzazione di versioni single chip a basso costo. Contemporaneamente alcune funzioni sono state eliminate per semplificare la futura realizzazione di versioni superscalari molto aggressive. Inoltre, l'architettura e' stata estesa integralmente a 64 bit, per prolungare il ciclo di vita di PowerPC, partendo da una piattaforma sufficiente a coprire tutte le esigenze di calcolo dei prossimi dieci anni.

Per garantire comunque la totale compatibilita' con le applicazioni Power, tutte le funzioni non piu' residenti possono essere implementate attraverso meccanismi di "trap & emulate". A fronte delle relative esemplificazioni, troviamo d'altro canto un potenziamento del set di istruzioni per schedulare esplicitamente i dati da introdurre ed estrarre sotto il controllo dell'utente, nonche' l'aggiunta di istruzioni floating point in singola precisione (Power supporta solo la doppia precisione). Ma il cambiamento piu' significativo da Power a PowerPC riguarda, come detto, l'estensione dell'architettura da 32 a 64 bit: esisteranno sia PowerPC a 32 che a 64 bit, ma tutti i processori saranno in grado di lavorare a 32. Le versioni a 64 bit avranno uno switch selezionabile a livello di codice utente per passare da 32 a 64 bit e viceversa. Cio' consentira' alle implementazioni a 32 bit di girare anche su quelle a 64 bit con un kernel di sistema operativo a 64 bit, permettendo nel contempo alle nuove applicazioni a 64 bit di utilizzare le vecchie librerie a 32. 


Articolo pubblicato su www.digiTANTO.it - per ulteriori informazioni clicca qui