# DEC PRISM

PRISM è un'architettura di processori a 32 bit RISC sviluppata da Digital Equipment Corporation (DEC). Il progetto era l'ultimo di una serie di progetti interni alla DEC che tra gli anni 82-85 studiarono lo sviluppo di un processore RISC. Il progetto puntava a realizzare una versione su silicio del processore nel 1988 ma il management della società decise di cancellare il progetto. L'anno successivo parti un nuovo progetto che utilizzando buona parte dal lavoro del gruppo PRISM sviluppò la famiglia di processori DEC Alpha.

## Periodo storico

Agli inizi degli anni 80 la DEC stava attraversando un enorme successo, la società aveva un elevato flusso di cassa ed elevate disponibilità economiche che investiva copiosamente in ricerca e sviluppo. Molti progetti furono avviati per fornire alla società le nuove idee, ma i progetti non erano coordinati e quindi erano molto dispersivi.
I processori RISC erano una delle nuove idee e tra il 1982 e il 1985 almeno quattro progetti furono avviati per lo studio di macchine RISC. Il laboratorio DEC Western Research Laboratory (WRL) di Palo Alto nel 1982 svilupparo il progetto Titan, un processore ad alte prestazioni basato su tecnologia ECL e progettato per essere utilizzato con un sistema UNIX. Lo stesso anno Alan Koton e Dave Orbits (l'inventore di Spacewar!) iniziarono lo sviluppo di SAFE (Streamlined Architecture for Fast Execution), un processore a 64 bit ad alte prestazioni per il sistema operativo OpenVMS. Rich Witek e Dan Dobberuhl nel 1984 avviarono lo sviluppo di HR-32 (Hudson, RISC, 32-bit) un coprocessore RISC da utilizzare su macchine VAX. Nello stesso anno Dave Cutler avviò il progetto CASCADE dei laboratori DECwest a Seattle.

## PRISM

I dirigenti DEC decisero di fare un po' di ordine dei vari progetti e nel 1985 affidarono a Cutler il compito di sviluppare un singolo processore RISC scelsero Witek sono progettista capo dell'architettura. Inizialmente il progetto parti con un progetto a 64 bit che in seguito fu ridotto a 32 bit. nell'agosto del 1985 il primo progetto di massima fu pronto e le specifiche ad alto livello dell'architettura furono rese disponibili, in modo che si potesse sviluppare nello specifico le singole unità funzionali. Le specifiche PRISM furono sviluppate in molti mesi di lavoro da parte di un team di cinque persone. Il team era formato da Dave Cutler, Dave Orbit, Rich Witek, Dileep Bhandarkar e Wayne Cardoza. Nel 1985-86 il progetto era pronto a 98% e venne sviluppata una accurata simulazione del processore da Pete Benoit che utilizzava un ampio VAXcluster per funzionare.
Nella gestione dei numeri interi il PRISM adottò molte soluzioni che ricordavano il progetto MIPS. Delle istruzioni a 32 bit i 6 bit più alti e i 5 più bassi venivano utilizzati per definire le istruzioni mentre i bit centrali venivano utilizzati per definire i registri utilizzati e le costanti incluse. Il processore includeva sessantaquattro registri a differenza del MIPS che ne prevedeva solo trentadue ma la gestione era simile. Il PRISM come il MIPS non utilizzava la register window, una caratteristica del progetto Berkeley RISC/SPARC.
Il progetto PRISM aveva degli aspetti innovativi nel set di istruzioni. Il PRISM includeva Epicode (extended processor instruction code) che veniva utilizzato per definire un set di istruzioni speciali utilizzate per fornire al sistema operativo delle ABI stabili, indipendenti dall'implementazione specifica del processore. Epicode disponeva di 22 registri a 32 bit dedicati. Il processore includeva un insieme di istruzioni vettoriali che disponevano di 16 registri a 64 bit che potevano essere utilizzati con svariate configurazioni.
Vennero progettate die versione del sistema. La DECwest lavorò alla versione ad alte prestazioni in tecnologia ECL chiamata Crystal mentre la Semiconductor Advanced Development sviluppo la MicroPRISM, una versione CMOS del processore. MicroPRISM fu il primo progetto pronto a nell'aprile del 1988 venne inviato alla fabbrica di semiconduttori. Inoltre Cutler stava sviluppando un nuovo sistema operativo basato su microkernel chiamato Mica. Il sistema operativo avrebbe offerto un sistema operativo di tipo UNIX e un sistema VMS su una serie di servizi comuni.

## Dissapori e la cancellazione

Durante lo sviluppo di PRISM la società era coinvolta in una profonda discussione interna su quale fosse la migliore strategia da intraprendere. Molte nuove macchine VAX erano state presentate ma il mercato VAX era costantemente eroso da altri concorrenti che grazie a macchine a basso costo rubavano clienti alla DEC. Le fazioni in seno alla società dibatterono ampiamente su come comportarsi. Alcuni gruppi premevano per abbandonare il mercato di fascia bassa dei server e di concentrarsi sul mercato dei server più grandi e costosi. Altri gruppi consigliavano di indirizzare la società nel mercato delle workstation utilizzando dei processori dedicati. Altri suggerivano di re-implementare i VAX con un'architettura RISC.
I problemi di gestione della società generò attriti e dissapori tra i vari gruppi di ricerca che si ostacolarono a vicenda rallentando lo sviluppo complessivo dei vari progetti. I dissapori interni tra i gruppi rallentarono la revisione dell'architettura che venne terminata solamente nel 1986. Lo sviluppo delle unità di supporto come la memory management unit e la Floating Point Unit venne interrotto dato che alcuni progettisti spingevano per l'abbandono dei progetto e 32 bit per un progetto a 64 bit delle unità. L'architettura MicroPRISM venne infine terminata nel 1988.
In quel periodo dato i continui ritardi di progettazione DEC decise di sviluppare delle workstation basate su processori MIPS 3000 e utilizzanti un porting del sistema operativo Ultrix per macchine MIPS. Dopo la riunione iniziale che diede il via al progetto i prototipi delle macchine furono pronti in 90 giorni e andarono in produzione nel gennaio del 1989. In una riunione del luglio 1988 la compagnia decise di cancellare il progetto PRISM e di concentrarsi sulle macchine basate su MIPS e sui server VAX.
Ironicamente ogni tentativo di migliorare le prestazioni dei server VAX si dimostrò un fallimento. Il VAX 9000 venne continuamente ritardato e quando fu infine disponibile le nuove macchine Unix lo superavano in prestazioni e costava solo una frazione del suo costo (oltre ad essere molto più compatte). Apparentemente nella stessa riunione che cancello il progetto PRISM Ken Olsen preoccupato da una possibile disfatta dei server VAX avvio un nuovo progetto su architettura RISC. Questo progetto fu la base che l'anno successivo portò allo sviluppo dell'architettura Alpha.