a cura di Fernando Carello
Mai come in questo periodo c'è stato un tale fervore nell'ambito delle CPU x86 compatibili: una moltitudine di offerte di produttori diversi con caratteristiche e sigle assai varie e talvolta poco chiare tali da mettere in crisi anche esperti del settore.
di Andrea Nenni
L'azienda leader del settore è senza ombra di dubbio Intel, creatrice della famiglia x86, e fino ad oggi indiscusso punto di riferimento sia per lo sviluppo che per le prestazioni di questi microprocessori.
Se da un lato ormai non vi è più alcun dubbio sulla assoluta compatibilità e affidabilità dei prodotti concorrenti (prova ne è anche l'abbandono di Intel della campagna pubblicitaria basata sul marchio "Intel inside" come garanzia della qualità di un PC), dall'altro non ci si deve illudere che CPU dalle sigle apparentemente uguali ma di produttori diversi siano tutte uguali dal punto di vista delle prestazioni e caratteristiche aggiuntive: esistono anche grosse differenze tra revisioni diverse della stessa marca.
Il primo e più importante concorrente di Intel è Advanced Micro Devices, grande azienda del ramo dei semiconduttori, entrata nel settore x86 già al tempo degli 8086 come second source di Intel, dalla quale si è poi svincolata con la produzione di 386 e 486 comunque molto simili sfruttando i diritti acquisiti sul microcodice (fonte di numerose battaglie legali, principalmente terminate a favore di AMD, ma risoltesi definitivamente solo nel Gennaio 95).
Seconda in ordine di tempo e di importanza viene Cyrix, casa texana di soli progettisti senza stabilimenti produttivi propri, che è entrata nella lotta prima con dei coprocessori matematici 387 compatibili ma più veloci e poi con delle CPU 386 SX e poi DX compatibili, con alcune caratteristiche di classe 486 per velocizzarle: i 486 SLC e poi i DLC.
Dopo l'accordo per la produzione con IBM ha avuto sufficienti volumi per entrare a pieno titolo nella competizione e l'imminente lancio del 6x86 può cominciare a dare un minimo di fastidio ad Intel stessa.
Ultima arrivata sul mercato Nexgen, società californiana con diversi importanti investitori tra i quali Compaq, Olivetti e Harvard, anch'essa priva di stabilimenti di produzione per la quale si è affidata esclusivamente alla IBM Microelectronics.
Fondata nell'86, dopo diversi ritardi rispetto all'originaria intenzione di entrare nel mercato di classe 386, ha fatto il suo debutto solo l'anno scorso con un prodotto posto come concorrente diretto dei Pentium, che però necessita di chipset di supporto (fornito dalla stessa Nexgen) e MB totalmente specifiche e questo fino adesso ne ha frenato le vendite.
Proprio in questi ultimi giorni poi è giunta totalmente inattesa la notizia sull'accordo per l'acquisto di Nexgen da parte di AMD che dovrebbe portare ad una fusione delle due aziende: l'accordo è particolarmente sensato perché entrambe hanno CPU di classe 586 con un cuore RISC ma AMD pur avendo un progetto più sofisticato e una propria fabbrica produttiva adatta ha avuto problemi nella verifica di compatibilità finale (pare in particolare con alcuni Sistemi Operativi) e nel salire di clock che hanno
causato diversi rinvii mentre Nexgen ha un prodotto finito da tempo e una esperienza maggiore.
Nella tabella sopra sono elencate tutte le versioni di CPU, a partire dai 486 con duplicatore di clock, con tutte le caratteristiche fondamentali.
Diffidate delle analoghe tabelle pubblicate sui periodici di informatica che sono colme di errori e imprecisioni: le uniche voci non sicure sono la tensione di alimentazione consigliata (che in pratica poi permette spesso una tolleranza di almeno +/-0.15Volt) che col raffinarsi del processo produttivo tende ad abbassarsi verso i 3,3 Volt e in pochi casi la miniaturizzazione delle geometrie interne che può venire variata anche sullo stesso modello per esigenze di convenienza produttiva.
Nel grafico precedente sono riportati i risultati massimi riscontrati per ogni CPU dell'indice CPUMark 16 del benchmark "Ziff-Davis' PC Bench (TM) Version 9.0" eseguito con MSDOS (R) 6.2 e motherboard con 256KB cache e 8MB RAM.
Questo benchmark è particolarmente significativo perché mette alla prova in maniera piuttosto completa l'insieme CPU+MB ed è usato da diversi periodici del settore; oltre ai test sull'unità ad interi comprende anche un test su quella in virgola mobile ,che ha però una piccola influenza sull'indice complessivo, penalizzando solo marginalmente i microprocessori privi di FPU.
Bisogna però precisare che l'indice dell'AMD DX4 120 è ottenuto con la cache interna WT, visto che in WB è leggermente inferiore, mentre in tutti gli altri benchmark ,come è ovvio, la situazione è opposta e la CPU ottiene indici maggiori del Pentium 75.
Questo mi fa dubitare quindi anche sui valori relativamente bassi ottenuti dai 486 e dal 5x86 Cyrix e sul mancato vantaggio degli Intel P24D sui DX2 normali e in parte anche sulla scarsa performance del P24T; cercherò di appurare la questione presso la Ziff-Davis ma mi aspetto un imminente nuova versione che spero risolva il probabile problema.
L'aver scelto i valori massimi fornisce un indice di paragone in qualche modo più indipendente dalla particolare scheda madre, i cui chipset e cache influiscono pesantemente sul risultato; occorre precisare però che mentre sui 486 con frequenza della MB fino a 33, e in parte anche 40MHz, l'indice è facilmente avvicinabile dai 50 Mhz in poi e quindi su tutti i Pentium non è così facile.
Occorrono infatti MB di qualità settate ad arte con chipset performanti e cache molto veloce (tipicamente 2 banchi interleaved di SRAM asincrona da 15ns sui 486 e la costosa SRAM sincrona o pipelined burst sui Pentium); la velocità della DRAM e sopratutto la eventuale presenza della nuova EDO influisce invece solo marginalmente.
Segue una descrizione sommaria di tutti i principali modelli di microprocessori a partire dai 486 DX2, raggruppati in "famiglie" o "serie", intendendo con questi termini un unico chip in silicio che a seguito di un test di affidabilità viene impacchettato e marchiato con clock differenti.
Di qui viene quindi la possibilità (troppo spesso abusata) di "overclockare" una CPU alla frequenza maggiore prevista per la serie (talvolta anche oltre) migliorandone il raffreddamento e talvolta alzando leggermente il voltaggio: la casa costruttrice infatti garantisce il funzionamento corretto al clock previsto fino ad una certa temperatura superficiale relativamente alta ed è possibile che ad una più bassa superi il test per clock maggiori.
Per overclock moderati in genere non c'e' rischio di rottura irreparabile ma solo di crash sistematici o saltuari (non bastassero quelli del software) e magari di un accorciamento della normalmente lunga vita dei processori, ma nel malaugurato caso non si può poi contare sulla garanzia: personalmente ve lo sconsiglio sopratutto per i possibili errori casuali introdotti, oltretutto non necessariamente palesi e quindi potenzialmente pericolosi anche per i dati.
Intel
Advanced Micro Devices
Cyrix
Nexgen
Nell'ultimo anno poi è stata introdotta anche una variante del solo DX2 66, denominata P24D, che ha la cache interna di 8KB gestita con il più efficiente protocollo write-back al posto del vecchio write-through; dovrebbe recare la scritta W5V1X.
Il gradino successivo è dato dai DX4 usciti nelle frequenze di 75 e 100MHz, che contrariamente a quanto possa far pensare il nome contengono 2 moltiplicatori di frequenza distinti selezionabili dalla MB: x3 e x2 (quest'ultimo inibito sul 75).
Queste CPU funzionano a 3V (anche se poi sono usciti gli Overdrive con riduttore di tensione incorporato che vanno su MB a 5V) e hanno una cache raddoppiata a 16KB (ma sempre Write Through) per diminuire gli accessi alla memoria esterna eseguiti a un clock 3 o 2 volte più basso; da notare che hanno anche un moltiplicatore per interi a 16 bit hardware anziché in microcodice che può talvolta falsare verso l'alto benchmark troppo sintetici.
Insieme ai DX4 è uscita la prima famiglia 586, battezzata Pentium per poterne registrare in esclusiva il nome, con importanti innovazioni quali: architettura superscalare a due vie con pipeline a 5 stadi, due unità per interi (di cui una con shifter) spesso in grado di operare in parallelo (sopratutto però con codice appositamente compilato), una FPU notevolmente velocizzata con pipeline e con le principali operazioni in hardware (ma legata ad una delle integer unit), cache dati e codice distinte e entrambe da 8KB, bus esterno raddoppiato a 64 bit, branch prediction dinamica per prevedere i salti condizionati e altre soluzioni avanzate.
Uscita nelle frequenze di 60 e 66MHz, sincrone con la MB, non ha avuto grande diffusione sia per i problemi di surriscaldamento dovuti alla tensione di 5V, sia per le non eccezionali prestazioni, dovute in parte al difficile disegno di MB funzionanti a frequenze tanto alte e in parte agli impliciti limiti dovuti alla compatibilità all'indietro della famiglia x86.
La successiva serie (P54C) è passata ai 3 Volt con tecnologia da 0.6 Micron e un package ridotto dal pin-out diverso e ha adottato un moltiplicatore 1.5 permettendo di produrre versioni a 75, 90 e 100 MHz; ha in seguito anche guadagnato l'SMM (probabilmente nelle CPU con codice Sx921 o superiore).
Tutte queste prime CPU Pentium sono state tutte inizialmente affette da un bug sulla FPU che causa errori in alcune rare divisioni in virgola mobile: la vicenda ha avuto ampia risonanza e ha portato alla sostituzione gratuita, su richiesta del possessore, da parte di Intel in prima persona; esistono numerosi semplici programmi in grado di individuare l'errore con sicurezza (le versioni corrette dei P54C comunque dovrebbero iniziare dalla Sx957).
Da qualche mese inoltre esiste un Overdrive Pentium (P24T) per MB 486 che prevedano l'apposito zoccolo più ampio, una versione ridotta per forza di cose ad un bus esterno a 32 bit, con cache però raddoppiata a 16+16 KB, moltiplicatore x2.5, funzionamento del nucleo a 3Volt con riduttore di tensione dai 5V incorporato, ventolina di raffreddamento integrata.
E' uscito inizialmente nella versione a 63MHz per MB a 25 e adesso anche a 83MHz per quelle a 33 ma offre vantaggi prestazionali ridottissimi sugli equivalenti upgrade DX4 (probabile motivo del lungo ritardo che si sarebbe tramutato in una cancellazione se non fosse stato per le forti attese del mercato, illuso dalla precedente propaganda); si ottiene solo una discreta velocizzazione della FPU oppure globale nel caso di montaggio su MB prive di cache o con gestione e quantità insufficienti.
Dei Pentium a 75 e 90 MHz esiste anche una versione VRT, ideata per i portatili, con il core funzionante a 2.9 Volt e quindi minor consumo e surriscaldamento, e un package innovativo denominato TCP (Tape Carrier Package) estremamente sottile e valido nella dissipazione del calore.
Nei mesi scorsi è stata introdotta l'ultima revisione P54C, con moltiplicatore x2, nelle frequenze di 120 prima e poi 133MHz, senza particolari differenze strutturali; si attende invece per fine anno una nuova serie (P55C) con clock iniziale di 150 MHz (moltiplicatore 2.5) e in seguito anche 167, con tensione ridotta e diverse caratteristiche integrate orientate alla multimedialità e quindi legate al progetto Intel NSP (Native Signal Processing).
Tornando alla famiglia Pentium vera e propria si attendono altri Overdrive con clock interno maggiore per le MB iniziali a 5V e una evoluzione denominata P55 con cache raddoppiate e moltiplicatore x2.5 con clock quindi di 150 e 165MHz.
Intanto è in dirittura d'arrivo la famiglia "686", nome in codice P6 e commerciale Pentium Pro (non Hexium o simili per non dover affrontare nuove e costose campagne pubblicitarie e avendone già uno tanto noto su cui sono stati investiti centinaia di milioni di dollari in promozione) con soluzioni innovative;dovrebbe essere disponibile inizialmente nei clock di 133 e 150 MHz .
La CPU integra in un solo package ceramico dalla forma rettangolare due chip separati: uno è il microprocessore a 32bit vero e proprio con le sue due Level 1 cache da 8KB per codice e dati e il secondo è una Level 2 cache da 256KB collegata quindi con un bus separato a 64 bit a clock pieno; vi è poi il classico bus esterno a 64 bit a 1/2, 1/3 o 1/4 della frequenza interna.
L'architettura interna, superscalare a 3 vie (con un massimo di 3 istruzioni per ciclo) e una superpipeline a 14 stadi, come ormai tendenza comune, scinde le complesse istruzioni x86 in più semplici istruzioni simil-RISC a formato fisso (micro-ops) da indirizzare poi alle cinque unità di esecuzione: due a interi, una floating point avanzata(parzialmente dipendente da una a interi), due address generation e una load-store.
Non mancano ovviamente branch-prediction dinamica, esecuzione out-of-order, 40 registri fisici fra i quali far corrispondere poi i soli 8 logici del codice x86; tutto questo porta a un vantaggio prestazionale su un Pentium di pari clock tutto sommato ridotto, circa il 30%, ma sono previste versioni fino a 200MHz; il vero punto di forza è invece nel supporto per il Symmetric Multi Processing (SMP), in configurazioni fino a 4 CPU con il chipset Intel, con prestazioni notevolmente superiori al mediocre Dual Processor Pentium, con 2 CPU e L2 cache condivisa, e costi notevolmente inferiori a soluzioni proprietarie.
Dalle prime prove effettuate risulta inoltre che nell'esecuzione di codice a 16 bit il P6 a 150MHz ha le medesime prestazioni di un Pentium 100MHz; questo è dovuto a un ottimizzazione esclusiva per il codice a 32 bit (a causa di un errata previsione sulla diffusione di Sistemi Operativi più moderni effettuata quattro anni fa agli inizi del progetto) che indirizza ancor maggiormente il processore in ambito server e workstation almeno fino alla disponibilità di frequenze molto più alte o maggior diffusione di SO come OS/2,UNIX o Windows NT.
A Novembre invece uscirà quello che sarà forse l'ultimo chip 486: un DX4 a 133MHz con cache raddoppiata a 16KB per bilanciare il grosso gap con il clock esterno di soli 33MHz dovuto al moltiplicatore 4x; nonostante sia il solo DX4 degno di tale nome verrà probabilmente battezzato X5, per testimoniare le sue prestazioni di classe 586.
Per primavera '96 si attende invece il debutto del K5, prima CPU x86 totalmente di disegno AMD, P54C pin compatibile ma prossima al P6 per caratteristiche e prestazioni, dotata di un sofisticato cuore RISC e di soluzioni avanzate, con una architettura molto aperta per successivi miglioramenti: dovrebbe uscire con un clock iniziale di 100MHz e si attendono prestazioni superiori del 30% rispetto ad un Pentium di pari frequenza.
Dotata di due cache interne separate da 16 e 8 KB, rispettivamente per istruzioni e dati, è un processore superscalare a 4 vie con pipeline a 5 stadi e traduce le istruzioni x86 in uno o più R-ops RISC-like, da inoltrare alle cinque unità di esecuzione totalmente indipendenti: due per interi (di cui una con shifter), una FPU, una load-store e una branch unit; naturalmente sono presenti l'esecuzione out-of-order, branch prediction dinamica e 16 registri fisici mappati sui soli 8 GPR logici x86 con register renaming.
Di recente è uscita invece la serie DX4 (in codice M9), con il classico doppio moltiplicatore 3x o 2x, disponibile a 75 e 100MHz e con il doppio protocollo SMM proprietario e Intel SL compatibile.
Appena arrivato sul mercato c'è anche il nuovo 5x86 ( alias M1sc ), una cpu pin compatibile 486 con i soliti moltiplicatori dei DX4 ma con la cache portata a 16KB e alcune feature di classe 586 ereditate dall'imminente M1: per adesso è disponibile nella frequenza di 100MHz ma entro fine anno uscirà anche una versione a 120.
Fra le funzionalità avanzate introdotte ci sono: un'unità di branch prediction dinamica che prevede statisticamente i salti condizionati per cercare di minimizzare gli svuotamenti (squashing) della pipeline a 6 stadi; una unità di load/store parallela alla ALU con data forwarding che può passare i risultati di un istruzione direttamente a quella successiva, senza dover passare per una scrittura e una lettura; bus dati interno raddoppiato a 64bit; un unità FPU parallela più sofisticata e veloce.
In procinto di uscire invece c'è l'M1, P54C pin compatibile, ma battezzato 6x86 per sottolineare il vantaggio prestazionale del 30% circa sui Pentium di pari clock e porlo sul piano del P6 (e indurre un po' di ulteriore confusione), destinato al debutto nella frequenza di 100 MHz, con una prossima versione a 120 e probabilmente anche una a 80 per i portatili.
Il 6x86 è una CPU a 32 bit superscalare a 2 vie con pipeline a 7 stadi, cache unificata da 16KB Write Back, bus esterno a 64 bit, due unità per interi, una FPU parallela avanzata, branch prediction dinamica, data forwarding, esecuzione out-of-order, 32 registri fisici gestiti con register renaming.