NEC V20
The NEC V20 (μPD70108) is a microprocessor manufactured by NEC Corporation. It was developed using reverse engineering and is pin-for-pin compatible with the Intel 8088 microprocessor, with an instruction set compatible with the Intel 80186. The V20 was released in 1982, and the V30 in 1983.
The chip has approximately 29,000 transistors and the clock frequency is between 8 MHz and 10 MHz (16 in later models). The NEC V20's design was more efficient than the 8088, allowing it to run 30% faster at the same clock speed, depending on the application. The main feature that made it work faster was that it had hardware for multiplication, while the Intel chips performed the multiplication through microcode software.
Sony also produced this microprocessor under license from NEC as the V20H (Sony CXQ70108).
Uses
The NEC V20 was used in "turbo" of some PC clones, such as the Copam PC-401 TURBO, the Tandy 1110 series of laptops, the Epson PX-16, on the Casio PV-S450 PDA and on the Hewlett-Packard HP 95LX palmtop.
Features
An unusual feature of the NEC V20 is that it adds an Intel 8080 emulation mode, in which you can run programs written for the Intel 8080 processor. The additional BRKEM
instructions in 8086 mode (NEC uses a different notation for instructions than Intel and BRK
in NEC notation = INT
in Intel notation), and RETEM
and CALLN code> in 8080 mode are used to enter and exit emulation mode. Some programs can run CP/M-80 programs (based on 8080 code) on an MS-DOS machine: V2080 CPMulator (later ZRUN) by Michael Day and 22nice by SYDEX.
Another unusual feature is the existence of several unique instruction families. The ADD4S
, SUB4S
, CMP4S
instructions are capable of adding, subtracting and comparing large binary-coded decimal numbers stored in memory. The ROL4
and ROR4
instructions spin nibbles. Another family consists of the instructions TEST1
, SET1
, CLR1
, NOT1
. These instructions test, set, clear, and invert individual bits, but are much less efficient than the later Intel 80386 equivalents BT
, BTS
, BTR
and BTC
, nor are their encodings compatible. There are two instructions for extracting and inserting bit fields of arbitrary lengths (EXT
, INS
). And finally, two additional repetition prefixes, REPC code> and
REPNC
, which modify the original REPE
and REPNE
and prepare a string of word bytes to be scanned (with instructions SCAS
and CMPS
) while less or no less.
Sideburn
NEC V20 pins. The address bus lines are indicated in red, the data bus lines in blue, and the control bus lines in green. The power bus lines are seen in black. The processor multiplexes the address bus in time with the data and control bus.
NEC V20 pins
+- GND 1 complete. Vcc (+5V) A14 2UD A15 -- rigid ... A13 3 short.38 A16 -- rigid PS0 -- 2005 A12 4Docs. A17 -- organic PS1 -- 2005 ... A11 5 short.36 A18 -- rigid PS2 -- ▪ A10 6 gap.35 A19 -- organic PS3 -- 2005 A9 7UD MINIS34 LBS0 (HIGH) -- 2005 A8 8Docs. S/!LG ... ◊ D7 A7 9INDNEC V20 short32 DDR! -- 2005 ≤2 A6 10ATA UDI31 HLDRQ (!RQ/!AKO) ◊ ≤2 A5 11UD HLDAK (RQ/!AK1) ◊ ≤2 A4 12 gap.29 WR (BUSLOOK) -- 2005 ≤3 A3 13IND UD28 IO/!M (BS2) -- 2005 ≤2 A2 14UDS BUF!R/W (BS1) -- 2005 ≤2 A1 15 short.26 ! (BS0) -- 2005 ≤2 A0 16 short.25 ASTB (QS0) -- 2005 -- voluntary NMI 17IND UDI24 ! (QS1) -- 2005 -- 2005INTR 18 gap 23 POOL! ... -- CLK 19 short.22 READY ... GND 20 gap RESET ... +----
Versions
- NEC V25 is the microcontroller version of the NEC V20.
- NEC V25HS (μPD79011) is a V25 that includes a RX116 RTOS
- NEC V25+ (μPD70325) high-speed version of V25
- NEC V20HL (μPD70108H) and NEC V30HL (μPD70116H) are high speed versions (up to 16MHz) and low consumption.
- NEC V30 (μPD70116) is a version of the NEC V20 compatible pin to pin with the 16-bit data bus of the Intel 8086 processor. It also supports the 8080 emulation mode. The V30 was used in the GTD-5 EAX Class 5 digital telephone exchange as a performance improvement update for the processor complex in late 1980. It is also used in the Psion Series 3/Acorn PocketBook, the Amstrad PPC, the NEC PC-9801 (initially launched in 1982), the Olivetti PCS 86 and Olivetti M111, the card PC Transporter Applied Engineering for the Apple II (permited to run MS-DOS on a computer with disk drive), equivalent cards for the Sharp X68000, on the SuperCharger of BetaSystems AG for the Atari ST, the WonderSwan portable video console, and on several recreational machines (especially those manufactured by Irem) at the end of 1980.
- NEC V33 is a more advanced version of the V30 that has separated the data bus and addresses and executes all instructions with wired logic (wired logic, i.e. hardware) instead of microcodes making it twice as fast as a V30 for the same frequency of the watch. The V33 has a performance equivalent to Intel 80286. It also offers a method to expand memory to 16 Megabytes. You have 2 additional instructions (
BRKXA
andRETXA
) to support extended direction mode. It does not support the 8080 emulation mode. - NEC V33A (μPD70136A) differs from the NEC V33 in which it has interruption vector numbers compatible with the Intel 80x86 processors.
- NEC V35 (μPD70330) is the microcontroller version of the NEC V30. It has a 16-bit external data bus.
- NEC V35HS (μPD79021) is a V35 that includes a RX116 RTOS
- NEC V35+ (μPD70335) high-speed version of V35
- NEC V40 (μPD70208) is an embedded version of the V20 that also integrates an Intel 8251 compatible UART, an Intel 8253 (Programmable Interface Interface Interface) and an Intel 8255 (Programmable Peripheral Interface, used to control the parallel port). It was used in Olivetti Prodest PC 1 and Olivetti M200.
- NEC V40HL (μPD70208H) high speed and low voltage version of V40
- NEC V41 (μPD70270) NEC V51 (μPD70280) integrate a V30HL core and IBM Personal Computer XT supported peripheral controllers: Intel 8255 parallel printer port controller, Intel 8254 programmable interval timer, Intel 8259 programmable disruption controller, Intel 8237 DMA controller and Intel 8042 keyboard controller. It also integrates a DRAM controller. The V41 was used in the Olivetti Quaderno.
- NEC V50 (μPD70216) is an embedded version of the V30 with 16-bit data bus. It is the Korg M1 main CPU.
- NEC V50HL (μPD70216H) high-speed and low-voltage version of V50
- NEC V53 (μPD70236) integrates a V33 core with four DMA channels (μPD71087/i8237), UART (μPD71051/i8251), three clocks/counters (μPD71054/Intel 8253) and a programmable disruption controller (PD71059/Intel 8259).
- NEC V53A (μPD70236A) as V53 but with V33A core.
- NEC V55PI (μPD70433)
Starting with the NEC V60, NEC abandons the x86-based design, but continues to license its logic to third parties, such as Vadem (design today supported by Amphus)
- The Vadem VG230 is a single chip PC platform. Its performances are very similar to those of the original Olivetti Quaderno, so it is very possible that it is a NEC V41 core. The VG230 contains a core of the NEC V30HL to 16 MHz, PC/XT logic, LCD controller (compatible CGA/AT fakeT640x400) with touch screen support, keyboard matrix reader, two PC Card 2.1 controller, EMS 4.0 hardware support up to 64 MB, and clock controllers, PIC, DMA, UART and RTC. It was used in the HP OmniGo 100 and 120, and at IBM Simon (for some, the first smartphone).
- Improved Vadem VG330 contains a NEC V30MX core to 32 MHz and PC/AT compatible logic with two PICs, LCD controller (640x480), keyboard matrix reader, PC Card ExCA 2.1 controller and IrDA communication port.