# Intel i960

L'Intel i960 (conosciuto come 80960) è un microprocessore RISC prodotto da Intel e presentato nel 1988; diventato popolare all'inizio degli anni novanta come microcontrollore per applicazioni embedded insieme al suo diretto competitore AMD 29000. Nonostante il relativo successo a metà degli anni novanta Intel dismise la linea dei processori i960. Il processore fu sostituito dallo StrongARM, un processore comprato da DEC insieme all'intera divisione di semiconduttori della società. Intel comprò la divisione della DEC per porre fine ad una causa legale intentata da DEC verso Intel per violazione di brevetti.

## Origine

Il progetto dell'i960 venne avviato come risposta al fallimento del processore Intel iAPX 432 sviluppato durante i primi anni ottanta. L'iAPX 432 era nato per gestire direttamente in hardware i linguaggi ad alto livello con protezione della memoria e del garbage collector come l'Ada o il Lisp. Il chip aveva un set di istruzioni molto complesso, era distribuito su più chip ed aveva altre scelte di progetto discutibili che penalizzavano il processore rendendolo molto lento rispetto ai concorrenti dell'epoca.
Nel 1984 Intel e Siemens iniziarono un progetto congiunto chiamato BiiN per realizzare un'architettura per calcolatori ad alte prestazioni con supporto dei guasti e programmabile in Ada. Molti dei membri del progetto i432 furono coinvolti nel progetto sebbene il progettista capo fosse Glenford Myers proveniente dall'IBM. Il mercato di riferimento del progetto erano i sistemi che chiedevano elevate prestazioni ed affidabilità come le banche, le assicurazioni, le centrali nucleari, ecc. Il concetto di protezione della memoria presente nel progetto i432 influenzò lo sviluppo del progetto BiiN.

## Architettura

Per non replicare le scarse prestazioni del progetto i432 il set di istruzioni dell'i960 era di tipo RISC e la sua implementazione completa fu realizzata nell'i960MX. Il sottosistema di memoria aveva una larghezza di 33 bit, 32 bit erano utilizzati per i dati, il bit rimanente indicava se la memoria era protetta. Per il resto il progetto seguiva il Berkeley RISC, da notare l'implementazione della register window, una tecnica per accelerare il cambio di contesto durante la chiamata delle funzioni. Il progetto di ricerca della Stanford University che portò allo sviluppo dell'architettura MIPS invece preferì lasciare il compito di ottimizzare le chiamate alle funzioni al compilatore. A differenza dell'Intel 80386 e di altre architetture a 32 bit l'i960 non segmentava la memoria ma utilizzava una gestione piatta. L'i960 inoltre anticipava i processori superscalari con le istruzioni che venivano inviate a più unità di calcolo per ottenere un'esecuzione parallela

## Varianti dell'i960

Il primo i960 venne presentato nell'ottobre del 1985, venne inviato alla fonderia nello stesso mese e i primi esemplari furono operativi alla fine dell'85. Il progetto BiiN intanto veniva abbandonato e il 960MX si trovò senza un vero mercato di riferimento. Myers cercò di salvare il progetto progettando alcuni sistemi che potessero utilizzare il processore e le idee del progetto BiiN. Myers cercò di convincere i manager Intel a vendere i960 come (allora conosciuto come P7) processore generico come i processori Intel 80286 e Intel 80386 (80386 venne presentato lo stesso mese dell'i960) ma rivolto all'emergente mercato dei processori RISC per sistemi Unix. Ci furono anche contatti con Steve Jobs per l'utilizzo del processore nei sistemi NeXT. I concorrenti Intel non si trovavano solo nel mercato x86 ma anche nel mercato RISC con la stessa Intel che si faceva concorrenza da sola con il processore RISC Intel i860.
Myers non riuscì a convincere i manager Intel a spingere il processore per il mercato dei processori generici per sistemi Unix, ma il chip trovò una sua applicazione nei primi sistemi ad alte prestazioni a 32 bit per applicazioni embedded. L'architettura di memoria protetta del sistema BiiN venne considerata riservata e non venne menzionata nei documenti tecnici. Questo spinse molta gente a domandarsi come mai il processore i960MC fosse così grande e come mai avesse così tanti piedini non collegati. La versione senza il gestore della memoria o l'unità in virgola mobile venne chiamata i960KA mentre la versione con l'unità in virgola mobile venne chiamata i960KB. In realtà le versioni internamente erano identiche, variava solamente la denominazione del processore.
Il completo i960MX non venne mai messo in vendita tranne che per il mercato militare mentre i960MC venne utilizzato nei sistemi embedded ad alte prestazioni mentre l960KA venne utilizzato nelle stampanti laser a basso costo, nei terminali grafici e in alcuni sistemi embedded. Il relativo successo del progetto spinse i progettisti a realizzare delle versioni successive dove il complesso gestore della memoria venne eliminato.
L'i960CA venne presentato nel luglio 1989 e fu la prima implementazione pienamente RISC dell'architettura i960. Questa versione era dotata di un nuovo core superscalare RISC e aggiunse un inusuale cache nel chip indirizzabile direttamente dal processore. Il processore mancava di MMU e FPU dato che era progettato per applicazioni embedded. L'i960CA viene considerato il primo processore superscalare RISC su singolo chip. La serie C includeva una sola ALU ma poteva eseguire un'istruzione aritmetica mentre analizzava un salto o un riferimento in memoria. Quindi sotto alcune condizioni il processore poteva eseguire due istruzioni. La prima versione funzionava a 33 MHz ma Intel promise una versione a 66 MHz. La microarchitettura dell'i960CA venne progettata nel 1987-1988 e formalmente annunciata il 12 settembre 1989. Il successivo i960CF incluse una FPU ma continuò a omettere la MMU.

## Dismissione

Intel cercò di sostenere il mercato dell'i960 tramite lo standard I2O per l'interfacciamento con i dispositivi esterni ma l'operazione non ebbe successo. A metà degli anni novanta il rapporto prezzo/prestazioni dell'i960 era calato per via dell'agguerrita concorrenza dei nuovi processori. Inoltre Intel non rilasciò mai una versione a basso consumo per i dispositivi portatili.
Nel 1990 il team del progetto i960 vennero dirottati verso il secondo team che lavorava parallelamente al progetto P6 che in seguito avrebbe portato al progetto del Pentium Pro. Il progetto i960 venne dato in gestione a un piccolo team che ne seguiva le ultime versioni, mentre il progetto veniva abbandonato. Tuttavia il radar multimodale dell'aereo da combattimento indiano HAL Tejas si dice che utilizzi l'i960.