Articolo pubblicato sul n. 140 di MCmicrocomputer (Edizioni Technimedia Srl - Roma) nel maggio 1994
Anteprima: Come vi anticipammo oltre un anno fa, nell'articolo riguardante la presentazione del primo componente della famiglia PowerPC, in Motorola non vi e' nessuna intenzione di abbandonare la progettazione e lo sviluppo (oltre, naturalmente, alla commercializzazione) delle macchine CISC, almeno per quel che riguarda l'evoluzione di preesistenti famiglie. La nascita dell'ultimo componente della famiglia 680x0 risale ormai a circa quattro anni fa ed era ora che un degno successore di tale chip venisse alla luce. Si chiama 68060 (e' stata saltata la generazione 68050 dal momento che non offriva prestazioni spiccatamente superiori a quello 040) e sara' presto disponibile nelle velocita' di 50 e 66 MHz, prevedendo a breve scadenza anche una versione ad 80 MHz. Ma il 68060 e' anche caratterizzato da un consumo medio di appena 3.5 W, nonostante sia in grado di "erogare" ben 65 SPECint nella versione a 66 MHz. Rispetto ad un 68040, grazie all'architettura migliorata e alla maggiore frequenza di clock, il nuovo nato assicura performance da tre a tre volte e mezza superiori, garantendo al contempo la compatibilita' sia a livello software che a livello di bus. Pur non essendo, ovviamente, PIN compatibile con il 68040 e' possibile installare il nuovo chip sulle esistenti macchine semplicemente utilizzando una scheda-adattatore "Piggy-Back" completamente passiva che utilizza del 68060 solo i PIN necessari per riproporre la piedinatura del precedente chip. Questo significa un aumento di prestazioni considerevole, senza bisogno di cambiare nulla sulla scheda madre del nostro computer, semplicemente acquistando il 68060 e l'apposito adattatore. Sara' disponibile subito dopo l'estate, nelle "solite" tre versioni: lo 060 integra sia MMU che FPU, l' LC060 solo la MMU, l' EC060 ne' la MMU ne' la FPU.
L'architettura
Il microprocessore Motorola 68060 e' caratterizzato da un'architettura a 32 bit ad alte prestazioni, superscalare, compatibile a livello software con tutta la famiglia 68000, e con possibilita' di operare a basso consumo. La tecnologia di integrazione su silicio e' HCMOS statica da 0.5 micron, triplo strato di metallizzazione, per un totale di oltre due milioni e mezzo di transistor implementati. Pur funzionando a 3.3 volt, il chip e' in grado di interfacciarsi anche a periferiche a 5 V. Al suo interno troviamo una doppia cache per dati e istruzioni (da 8 Kbyte l'una), una doppia pipeline per le istruzioni intere in grado di funzionare parallelamente all'unita' floating point e alla branch target cache. La cache dati e la cache istruzioni supportano in modo coerente il fetch delle istruzioni, la lettura e la scrittura dell'operando in ogni ciclo di clock. Le due cache possono inoltre essere "congelate" per evitare l'allocazione in segmenti di codice e per le applicazioni i cui dati siano critici dal punto di vista temporale. Grazie all'elevato parallelismo interno, e' possibile eseguire il fetch delle istruzioni, il fetch dei dati e gli accessi esterni contemporaneamente all'esecuzione delle istruzioni. Inoltre, la cache dati e' organizzata a banchi a quattro vie, consentendo accessi simultanei sia in lettura che scrittura. Le istruzioni vengono caricate dalla cache interna o dalla memoria esterna tramite una pipeline specifica a quattro stadi. Ma la grande novita' rispetto al 68040 riguarda il fatto che le istruzioni a lunghezza variabile della famiglia 68000 sono decodificate internamente in una rappresentazione a lunghezza fissa e incanalate in un buffer istruzioni. Trattandosi di un funzionamento di tipo FIFO (First In First Out), il buffer fornisce un meccanismo di disaccoppiamento tra l'unita' di fetch dell'istruzione e l'unita' esecutiva. Quest'ultima e' di tipo RISC, caratterizzata da una doppia pipeline di esecuzione, e consente prestazioni di livello superscalare (durata media di esecuzione di un'istruzione inferiore al ciclo di clock). Tramite software e' possibile disabilitare la seconda pipeline (rinunciando alle prestazioni superscalari) durante le operazioni di debugging del software o, piu' semplicemente, quando si vuole diminuire il consumo del chip. L'unita' integrata in virgola mobile (FPU), compatibile sia con il coprocessore matematico integrato del 68040 che con i coprocessori 68881/882, opera in parallelo con l'unita' intera: mentre sono in esecuzione calcoli in virgola mobile l'unita' integer continua a lavorare autonomamente. Anche la FPU puo', infine, essere disabilitata via software per ridurre il consumo. La cache di branch gioca inoltre un ruolo fondamentale nel raggiungimento delle prestazioni del 68060, consentendo che la maggior dei salti vengano eseguiti in zero cicli (senza provocare alcun ritardo). Utilizzando una tecnica nota come "branch folding", la cache di branch permette alla pipeline di fetch di rilevare e modificare il prefetch delle istruzioni prima che la variazione del flusso di esecuzione influenzi l'unita' di esecuzione delle istruzioni, riducendo al minimo gli interventi di caricamento della pipeline.
Consumi e prestazioni
Il chip 68060 (oltre a tutto questo ben di Dio) e' caratterizzato da una gestione ottimizzata, controllabile via software, del consumo di corrente. Grazie ad un progetto completamente statico, una gestione dinamica dell'alimentazione e alla possibilita' di operare a bassa tensione, il 68060 minimizza automaticamente la dissipazione di potenza. Ogni stadio delle pipeline intere o dell'unita' FP consuma solo quando c'e' un'istruzione in esecuzione, mentre l'array di cache solo quando viene eseguito un accesso. Per il controllo via software, nel 68060 e' stata implementata l'istruzione LPSTOP (Low-Power Stop) che disattiva i circuiti del processore, fermando l'esecuzione delle istruzioni e riducendo in maniera significativa i consumi. Riguardo, infine, le prestazioni, le prove attualmente effettuate da Motorola indicano un incremento di circa il 50-70% dovuto alla nuova architettura e del 100% grazie al clock raddoppiato. Rispetto quindi ad un 68040 a 25 MHz, il 68060 a 50 MHz e' piu' del triplo piu' veloce. Tutto cio' senza effettuare ricompilazione del codice: ottimizzando anche questo sara' possibile ottenere un ulteriore 15-25% in piu'. Il livello raggiunto supera i 100 MIPS alla frequenza di clock di 66 MHz. Le tre versioni attualmente in programma, 68060, 68LC060 e 68EC060, offrono lo stesso livello di prestazioni (per i calcoli interi) e differiscono tra loro, come gia' detto, solo per funzioni offerte. In particolare, il chip 68EC060, non dotato ne' di MMU interna ne' di coprocessore matematico integrato, offre alte prestazioni a basso costo per la realizzazione di embedded controller dove non sono necessarie unita' di questo tipo. Aspettiamoci di vederlo presto come controllore di periferiche esterne, come le stampanti laser o gli scanner.
Disponibilita'
Le tre versioni, 68060, 68LC060 e 68EC060, a 50 MHz sono attualmente in fase di campionatura alfa e beta site. I campioni generali saranno disponibili, sia per le versioni a 50 che a 66 MHz, entro il terzo trimestre di quest'anno. La produzione in volumi del primo partira' alla fine del terzo trimestre, quella della versione a 66 MHz iniziera' soltanto tre mesi piu' tardi (fine 1994).
Articolo pubblicato su www.digiTANTO.it - per ulteriori informazioni clicca qui |