L'Intel 8086 ha ancora dei segreti da svelare

La scoperta delle funzionalità nascoste nel processore Intel 8086 ha sollevato un velo di mistero sulla sua architettura.

Avatar di Luca Zaninello

a cura di Luca Zaninello

Managing Editor

La scoperta delle funzionalità nascoste nel processore Intel 8086, il più antico processore x86 al mondo, ha sollevato un velo di mistero sulla sua architettura.

Ken Shirriff, un esperto di hardware, ha analizzato le operazioni microcodificate dell'8086, rivelando alcune scelte di progettazione inaspettate e interessanti. Attraverso un'indagine degna di un detective, Shirriff ha svelato le peculiarità di questo processore, che potrebbe essere considerato uno dei più importanti degli ultimi cinquant'anni.

Il processore Intel 8086, che rappresenta la prima implementazione del set di istruzioni x86, è stato rilasciato alla fine degli anni '70. Rispetto ai chip all'avanguardia di oggi, che possono contenere centinaia di miliardi di transistor, l'8086 era dotato di soli 29.000 transistor.

Di solito, un maggior numero di transistor equivale a una maggiore potenza di calcolo e funzionalità avanzate. Tuttavia, a causa delle limitazioni imposte dalle prestazioni, dall'efficienza energetica e dalla dimensione del die, la distribuzione dei transistor e le caratteristiche implementate dovevano essere attentamente bilanciate.

Secondo le scoperte di Shirriff, una particolarità dell'Intel 8086 è che non disponeva di controlli per l'esecuzione del microcodice, ovvero il livello più vicino all'hardware che si occupa di suddividere istruzioni complesse in una serie di istruzioni più semplici che la CPU può eseguire. A causa del numero limitato di transistor, Intel ha scelto di non includere una whitelist di istruzioni microcodificate che il processore potesse eseguire. Di solito, le istruzioni vengono eseguite solo se sono presenti in tale lista, ovvero se la CPU sa che può gestirle.

Tuttavia, poiché l'8086 era così limitato dal punto di vista dei transistor, la whitelist delle operazioni microcodificate non era presente. Ciò significava che, in presenza di operazioni microcodificate "illegali" o non supportate, l'8086 tentava comunque di eseguirle, senza specificare il risultato di tali operazioni.

Complessivamente, l'Intel 8086 supportava 521 istruzioni, memorizzate nel chip ROM del microcodice. Alcune di queste istruzioni erano duplicate, ma altre non erano mai state rese pubbliche. Alcune operazioni microcodificate erano infatti rimaste non documentate, probabilmente per funzionalità pianificate che non sono mai state implementate o per altre ragioni.

Tuttavia, una delle operazioni microcodificate più interessanti, confermata da Shirriff, aveva una funzione di difesa della proprietà intellettuale di Intel. Shirriff ha esaminato l'elenco delle istruzioni disponibili nell'8086 e ha notato un opcode con funzionalità sconosciute che era stato implementato nell'8086 e nei successivi processori Intel, ma che non era mai stato documentato apertamente.

Secondo Shirriff, questo opcode "segreto" serviva come una sorta di trappola per chiunque cercasse di copiare la tecnologia di Intel. Se un'azienda avesse cercato di rubare il codice microprogrammato di Intel e lo avesse utilizzato nei propri processori, le loro CPU avrebbero eseguito l'istruzione SALC (Set AL to Carry) quando venivano forniti i bit di codice corrispondenti. Era come un codice a barre che consentiva a Intel di perseguire legalmente i ladri di proprietà intellettuale.

Purtroppo, questa trappola del copyright non ha aiutato molto Intel, neanche nei primi giorni dell'8086 quando la concorrenza era più varia. Intel sperava che l'istruzione SALC fosse stata implementata nei processori NEC V20 e NEC V30, considerati una versione migliorata dell'8086 di Intel. Tuttavia, una sentenza federale del 1989 stabilì che NEC non aveva violato il copyright di Intel e che l'istruzione SALC non era presente nei loro processori. Nonostante ciò, l'avvio di una causa per violazione del copyright ha avuto conseguenze che hanno poco a che fare con il merito della violazione stessa. La decisione di Intel di citare in giudizio NEC e bloccare la vendita dei suoi processori V20 e V30 è una delle ragioni per cui ci sono pochi attori nel competitivo settore dei chip x86.

La scoperta di queste funzionalità nascoste nel processore Intel 8086 getta una nuova luce sulla sua architettura e sottolinea l'importanza di esplorare a fondo il funzionamento dei componenti hardware. In un'epoca in cui i processori moderni sono sempre più complessi, conoscere le scelte di progettazione e le caratteristiche uniche dei processori del passato può offrire preziose informazioni per gli appassionati di hardware e gli storici della tecnologia.