Pagine

La recente scoperta del bug relativo alle istruzioni AVX nelle nuovissime CPU Skylake a diversi utenti avrà fatto sicuramente tornare alla mente il bug FDIV del primo Pentium. Se per molti si tratta di un semplice richiamo dovuto al termine “bug”, i più canuti tra noi avranno sicuramente notato alcune somiglianze tra i due casi. In entrambi i casi, infatti, si tratta di una CPU che Intel ha definito come determinante per la propria strategia (qui le affermazioni riguardo Skylake). In entrambi i casi si tratta quindi di CPU che hanno svolto (o svolgeranno) il ruolo di spartiacque tecnologico, e per questo hanno portato con sé sfide ingegneristiche straordinarie. Non solo, ma il problema anche in questo caso riguarda dei calcoli sui numeri primi!

Se Skylake è la prima architettura di Intel che vuole andare a concorrere in tutte le fasce di mercato, dal Mobile al Server, il Pentium fu la prima CPU supescalare di Intel, in grado cioè di effettuare due operazioni per clock (con conseguente maggiore difficoltà nel gestire contemporaneamente le unità Integer e FPU rispetto alle CPU 80486).

 

Alla fine, diverse migliaia di CPU vennero trasformate in costosi portachiavi

 

Fino al 80486 compreso, Intel aveva un team di sviluppo che si occupava del blocco Integer della CPU, ed una che si occupava del blocco FPU, ma con il Pentium si rese necessario la creazione di una nuova divisione, che avrebbe gestito l'integrazione dei due blocchi ed avrebbe dovuto scoprire, e correggere, eventuali bug.

A capo di questa divisione c'era Vin Dham, il quale prima della messa in produzione del Pentium utilizzò un espediente per migliorare l'efficienza del gruppo da lui guidato (un espediente oggi molto utilizzato dalle Software House): per ogni bug scoperto, l'ingegnere (o il team, nel caso la scoperta fosse stata effettuata da più persone) avrebbe ricevuto 100$ bonus. Questo trucco, se da un lato costò ad Intel diverse migliaia di dollari supplementari, dall'altro migliorò notevolmente la situazione.

Comunque Intel doveva commercializzare le CPU Pentium in fretta, e non avrebbe potuto aspettare un tempo indefinito per la scoperta di tutti i bug (cosa umanamente impossibile), quindi quando nel giugno del 1994 venne scoperto un ennesimo bug (l'FDIV, che descriveremo nella prossima pagina), le CPU Pentium erano già in commercio da quasi un anno, e ne erano stave vendute più di un milione.

Un bug tra centinaia … che danno avrebbe mai potuto arrecare ad Intel?