Quali sono le differenze tra un 680x0 ed un PowerPC?

Un 680x0 è una CPU a 16 o 32 bit di tipo CISC (Complex Instructions Set Code, come lo Z80 e le CPU Intel), mentre i PowerPC sono CPU a 64 bit e di tipo RISC (Reduced Instructions Set Code, come gli Alpha).

CISC & RISC
Le CPU RISC possono eseguire le istruzioni molto più velocemente di una CPU CISC di pari clock (ovvero in un minor numero di cicli di clock).
Questo perché il set di istruzioni elementari (primitive) dei RISC è minore di quello di un CISC, ed ogni primitiva di un RISC è estremamente più semplice in fase di esecuzione, e impegna quindi la CPU per un tempo minore.
In pratica un RISC per raggiungere lo stesso obiettivo di un CISC necessita di molte più istruzioni macchina (codice meno compatto), tuttavia le sue istruzioni essendo elementari richiedono pochissimi giri di clock rispetto ad una istruzione CISC, permettendo al computer di giungere al risultato in un tempo decisamente inferiore.
Per la cronaca, questa filosofia era già stata spiegata da R.Zaks negli anni '80 e dimostrava come un 6502 (la CPU dell'Apple//), disponendo già all'epoca di un set di istruzioni molto ridotto, se avesse avuto una frequenza di clock più elevata avrebbe potuto battere CPU concorrenti. Sempre per la cronaca, il passaggio da Pentium a PII e PIII ha visto ogni volta crescere il numero di primitive disponibili, sebbene Intel stessa stia ormai andando da tempo verso un processore ibrido CISC/RISC.

Calcoli numerici
Un'altra differenza sostanziale è nella gestione dei calcoli, che coprono una larghissima parte dell'attività della CPU: la parte del processore che si occupa dei calcoli è detta ALU (Arithmetic and Logic Unit). L'ALU processa in genere calcoli su numeri interi, e viene affiancata (dove disponibile) da un coprocessore matematico per i calcoli in virgola mobile (FPU, Floating Point Unit). Certo, l'FPU velocizza i calcoli... ma c'è comunque un ritardo dovuto alla comunicazione tra CPU ed FPU, per quanto possano essere ottimizzate.
Nei PowerPC la ALU lavora direttamente su numeri a virgola mobile, in pratica l'FPU non è necessaria in quanto la stessa ALU lavora in floating point.

Accesso alla memoria
La differenza della dimensione del Bus fa sì che un PPC possa accedere alla memoria RAM scrivendo e ricevendo ogni volta 64 bit di dati in luogo di 16 o 32, questo permette di trasferire dati tra CPU e RAM in un tempo quasi dimezzato ("quasi" perché non tutti i dati riempiono i 64 bit).
Inoltre è stata migliorata la gestione stessa della memoria, introducendo una MMU (Memory Management Unit) che ottimizza il paginamento della memoria stessa, permettendo di rilocare grosse quantità di indirizzi sfruttando pochissima potenza di calcolo. Soprattutto per questo motivo la velocità dei PowerMacintosh aumenta se attiviamo la memoria virtuale anche solo simbolicamente (1MB più della fisica, o caricando RamDoubler senza ricorrere alla simulazione di RAM aggiuntiva).

[ Home | Elenco delle FAQ | Forum | Segnalazioni | Risorse | Feed RSS ]