# NEC V20

Il NEC V20 (μPD70108) è un microprocessore prodotto da NEC nel 1984 come clone dell'Intel 8088, con cui è compatibile a livello di piedinatura.

## Caratteristiche

Il processore integra 63.000 transistor, lavora con clock compresi fra 5 e 10 MHz e risulta circa il 30% più veloce della CPU di Intel (a seconda delle applicazioni) grazie ad alcune caratteristiche quali un doppio bus dati interno a 16 bit, l'addizione più veloce e la moltiplicazione in hardware (l'8088 la esegue via software usando un programma in microcodice) ed altre migliorie.
Il set di istruzioni del NEC V20 comprende tutte quelle dell'Intel 8088, le nuove istruzioni introdotte dall'Intel 80186 ed un insieme di istruzioni proprie, come quelle per la manipolazione dei bit o quelle per emulare l'Intel 8080. Quest'ultima è una caratteristica particolare del V20 grazie alla quale è possibile eseguire il codice scritto per l'8080: esisteva, ad esempio, un programma denominato V2080 CPeMulator che permetteva di eseguire i programmi per CP/M-80 dell'8080 sui sistemi operativi MS-DOS.. L'istruzione BRKEM eseguita in modalità 8086 (NEC usava una notazione diversa per le istruzioni rispetto ad Intel, e BRK in notazione NEC era equivalente a INT in notazione Intel) attiva la modalità di emulazione, mentre le istruzioni RETEM e CALLN eseguite in modalità 8080 sono usate per tornare alla normale modalità operativa x86.
Il NEC V20 è stato usato in diversi PC IBM compatibili nella versione "Turbo" (tipicamente con clock a 8 MHz), come i Commodore PC: un tasto permetteva di selezionare la frequenza di 4,77 MHz, quella standard del PC IBM, per compatibilità con alcuni software. Fu installato anche nei sistemi tascabili come HP 95LX, introdotto dall'azienda Hewlett-Packard nel 1991.

## Varianti

Sia Sony che Sharp produssero su licenza la CPU come Sony CXQ70108 e Sharp LH70108. Le varianti sono:
* NEC V30 (μPD70116) era una versione del NEC V20 che aveva la piedinatura compatibile con l'Intel 8086, che aveva un bus dati a 16 bit contro gli 8 dell'8088. Fu usato nel commutatore telefonico GTD-5 EAX Class 5 come upgrade, nel PC Transporter di Applied Engineering (un emulatore PC per gli Apple II), nello Psion Serie 3, nel NEC PC-9801 ed in diversi videogiochi arcade (soprattutto quelli di Irem) della fine degli anni ottanta.
* NEC V20HL (μPD70108H) è la variante ad alta velocità (fino a 16 MHz) e basso consumo energetico del V20.
* NEC V30HL (μPD70116H) è la variante ad alta velocità (fino a 16 MHz) e basso consumo energetico del V30.
* NEC V25 (µPD70320) era un microcontrollore basato sul V20.
* NEC V33 era una variante con bus dati e bus indirizzi separati e che eseguiva tutte le istruzioni in logica cablata invece che in logica digitale: grazie a ciò risultava circa il doppio più veloce rispetto ad un V30 di pari frequenza. Il V33 aveva prestazioni equivalenti a quelle dell'Intel 80286 ed offriva un paio di istruzioni aggiuntive per poter gestire fino a 16 MB di memoria, BRKXA e RETXA, ma non supportava la modalità emulazione del 286.
* NEC V33A (μPD70136A) differiva dal V33 in quanto offriva la numerazione degli interrupt compatibile con quella dei processori 80x86.
* NEC V40 (μPD70208) era una versione embedded del V20 con integrate nel chip diverse periferiche, quali il generatore di clock, un timer, una USART, una interfaccia parallela, un controller per il refresh della memoria. Fu usato nell'Olivetti Prodest PC1.
* NEC V50 (μPD70216) era una versione embedded del V30 con un bus dati a 16 bit. Fu usato nel sintetizzatore Casio FZ-1.
* NEC V41 (μPD70270) ed il NEC V51 (μPD70280) integravano un core V30HL e le periferiche dei PC XT: interfaccia parallela Intel 8255, timer programmabile Intel 8254, PIC Intel 8259, controller DMA Intel 8237, controller per la tastiera Intel 8042 ed un controller DRAM. Fu usato nell'Olivetti Quaderno XT-20.
* NEC V53 (μPD70236) integrava un core V33 con un controller DMA a 4 canali (μPD71087/i8237), l'UART (μPD71051/i8251), 3 contatori/timer (μPD71054/Intel 8254) ed un controller per gli interrupt (μPD71059/Intel 8259).
* NEC V53A (μPD70236A) integrava un core V33A ed alcune periferiche.
* Vadem VG230 era una piattaforma PC su singolo chip: integrava un core V30HL a 16 MHz, le periferiche di un PC IBM XT, un controller LCD, un controller per PC Card. Fu usato nell'HP OmniGo 100.
* Vadem VG330 è un chip potenziato checonteneva un core NEC V30MX a 32 MHz e il nucleo base della logica di un IBM PC/AT-compatible con dual PICs, controller del video LCD (640x480), scanner della matrice della tastiera, controller PC Card ExCA 2.1 e porta SIR.
A partire dal NEC V60, NEC abbandonò la piattaforma x86.