This article needs additional citations for verification. (February 2013) (Learn how and when to remove this template message)
NEC V20 (µPD70108), 8 MHz
|Launched||March 1984 |
|Data width||16 bits|
The NEC V20 was a microprocessor made by NEC. It was both pin and object-code compatible with the Intel 8088, with an instruction set similar to that of the Intel 80188 with some extensions. The V20 was introduced in March 1984.
The V20's die comprised 63,000 transistors, more than double the 29,000 of the 8088 CPU. The chip was designed for a clock duty cycle of 50%, compared to the 33% duty cycle used by the 8088. Internal differences meant that a V20 could typically complete more instructions in a given time than an Intel 8088 running at the same frequency.
The V20 was fabricated in 2 micron CMOS technology. Early versions were available that ran at speeds of 5, 8, and 10 MHz.:2 In 1990, an upgrade to the fabrication process technology resulted in the V20H and V20HL, with improved performance and reduced power consumption. Later versions added speeds of 12 and 16 MHz. The V20HLs were also completely static, allowing their clock to be stopped.
The V20 was described as 16 bits wide internally. It used an 8-bit external data bus that was multiplexed onto the same pins as the low byte of the address bus. Its 20-bit wide address bus was capable of addressing 1MB.
The V20 was reported to have been compatible with the Intel 8087 Floating Point Unit (FPU) coprocessor. NEC also produced their own FPU, the μPD72091.
The V20 Instruction Set Architecture (ISA) included several instructions not executed by the 8088. These included instructions for bit manipulation, packed BCD operations, multiplication, and division. They also included new real-mode instructions from the Intel 80286.
CMP4S instructions were able to add, subtract, and compare huge packed binary-coded decimal numbers stored in memory. Instructions
ROR4 rotate four-bit nibbles. Another family consisted of the
NOT1 instructions, which test, set, clear, and invert single bits of their operands, but are far less efficient than the later i80386 equivalents
BTC; neither are their encodings compatible. There were two instructions to extract and insert bit fields of arbitrary lengths (
INS). And finally, there were two additional repeat prefixes,
REPNC, which amended the original
REPNE instructions and allowed a string of bytes or words to be scanned (with instructions
CMPS) while a less or not less condition remained true.
The V20 offered a mode that allowed it to emulate an Intel 8080 CPU. A
BRKEM instruction is issued to start 8080 emulation. The operand of the instruction specifies an interrupt number whose vector contains the segment:offset where emulation is to begin. To end, a
RETEM instruction is issued in 8080 code. One feature not often employed is the
CALLN (call native) which issues an 8086-type interrupt call that enables x86 code (which returns using an
IRET) to be mixed in with 8080 code.
In 1982 Intel sued NEC over the latter's μPD8086 and μPD8088. This suit was settled out of court, with NEC agreeing to license the designs from Intel.
In late 1984 Intel again filed suit against NEC, claiming that the microcode in the V20 and V30 infringed its patents for the 8088 and 8086 processors. NEC software engineer Hiroaki Kaneko had studied both the hardware design of the Intel CPUs and the original Intel microcode,
In its ruling, the court determined that the microcode in the control store constitutes a computer program, and so is protected by copyright. They further found Intel had forfeited their copyright by neglecting to ensure that all second-source chips were suitably marked. The court also determined that NEC did not simply copy Intel's microcode, and that the microcode in the V20 and V30 was sufficiently different from Intel's to not infringe Intel's patents.
This ruling established the legality of reverse engineering.
Variants and successors
|NEC V30||μPD70116||Essentially an NEC V20 with a 16-bit external data bus, the V30 was pin compatible with the Intel 8086. The V30 was a factory upgrade from the 8086 used in the GTD-5 EAX Class 5 central office switch. It was also used in the Psion Series 3, the NEC PC-9801VM, the Olivetti PCS86, the Olivetti PC1, the Applied Engineering "PC Transporter" card for the Apple II series of computers, and in various arcade machines (particularly ones made by Irem) in the late 1980s. Years later, a low-voltage version was used in Bandai's handheld WonderSwan game console.|
|NEC V20HL||μPD70108H||High-speed (up to 16 MHz), low-power version of the V20.|
|NEC V30HL||μPD70116H||High-speed (up to 16 MHz), low-power version of the V30.|
|NEC V25||µPD70320||A microcontroller version of the NEC V20.|
|NEC V25HS||μPD79011||A version of the V25 with the RX116 RTOS in the internal ROM.|
|NEC V25+||μPD70325||High-speed version of the V25.|
|NEC V33||A version of the V30 with separate address and data buses and whose instruction decode is done by hardwired logic rather than a microprogrammed control store. Throughput is twice as high as a V30 for the same clock frequency. The V33 has performance equivalent to Intel 80286. Memory address space is increased to 16M bytes. Two additional instructions, |
|NEC V33A||μPD70136A||Differs from the V33 in that it has interrupt vector numbers compatible with Intel's 80X86 processors.|
|NEC V35||μPD70330||A microcontroller version of the NEC V30.|
|NEC V35HS||μPD79021||A version of the V35 with the RX116 RTOS in the internal ROM.|
|NEC V35+||μPD70335||A high-speed version of the V35.|
|NEC V40||μPD70208||An embedded version of the V20, integrated Intel-compatible 8251 USART, 8253 programmable interval timer, and 8255 parallel port interface. Used in the Olivetti PC1 and Digisystems Jetta XD.|
|NEC V40HL||μPD70208H||A high-speed, low-voltage version of the V40.|
|NEC V50||μPD70216||An embedded version of the V30. It is the main CPU in the Korg M1.|
|NEC V50HL||μPD70216H||A high-speed, low-voltage version of the V50.|
|NEC V41||μPD70270||Integrates a V30HL core and PC-XT peripherals: 8255 parallel port interface, 8254 programmable interval timer, 8259 PIC, 8237 DMA controller and 8042 keyboard controller. Also integrates full DRAM controller. Was used in Olivetti Quaderno XT-20.|
|NEC V51||μPD70280||Integrates a V30HL core and PC-XT peripherals: 8255 parallel port interface, 8254 programmable interval timer, 8259 PIC, 8237 DMA controller and 8042 keyboard controller. Also integrates full DRAM controller. Was used in Olivetti Quaderno XT-20.|
|NEC V53||μPD70236||Integrates a V33 core with 4-channel DMA (μPD71087/i8237), UART (μPD71051/i8251), three timer/counters (μPD71054/i8254) and interrupt controller (μPD71059/i8259).|
|NEC V53A||μPD70236A||Integrates some peripherals with a V33A core.|
|Vadem VG230||A single-chip PC platform. The VG230 contained a 16 MHz NEC V30HL processor and IBM PC/XT-compatible core logic, LCD controller (CGA/AT&T640x400) with touch-plane support, keyboard matrix scanner, dual PCMCIA 2.1 card controller, EMS 4.0 hardware support for up to 64 MB, and built-in timer, PIC, DMA, UART and RTC controllers. It was used in the HP OmniGo 100, 120 and IBM Simon.|
|Vadem VG330||Successor to the VG230, it contained a 32 MHz NEC V30MX processor and IBM PC/AT-compatible core logic with dual PICs, LCD controller (640x480), keyboard matrix scanner, PC Card ExCA 2.1 controller and SIR port.|
|NEC V60||Starting with the V60 processor, NEC departed from the x86 design.|
- "8088 & V20". X86 CPU's Guide. 17 November 2018.
- Shvets, Gennadiy. "NEC V20 processor family". CPU-World.
- Davis, Stephen R. (24 December 1985). "Turbocharging Your PC with the V-Series". PC Magazine. pp. 181–186.
- "1983年 — 16bitマイクロプサッサV30の開発(NEC)" [1983 — Development of the V30 16-bit Microprocessor (NEC)] (in Japanese). 23 October 2010. Archived from the original on 13 July 2019. Retrieved 14 July 2020.
- µPD70108 — V20TM 16-/8-bit Microprocessor (PDF). NEC. June 1994.
- Mahoney, Bob (16 October 1985). "Output of file : NECV20B.ALL contained in archive : NEC-V20.ZIP". The Programmer's Corner.
- "Nec V30 D70116C-10". X86 CPUS' GUIDE. 15 July 2020.
- Hummel, Robert L. (14 June 1988). "PC Tutor — Mixing Processors". PC Magazine. pp. 377, 378.
- "NEC User's Manual, 16-Bit V Series™, 16-/8- and 16-bit microprocessors, Instruction" (PDF). September 2000. Retrieved 2014-11-25.
- Lemos, Robert (8 June 1998). "NEC case opened up market for cloning". ZDNet.
- Parker, Rachel (13 February 1989). "Judge Declares Microcode Copyrightable". InfoWorld. p. 8.
- Contreras, Jorge; Handley, Laura; Yang, Terrence (March–May 1990). "NEC v. INTEL : BREAKING NEW GROUND IN THE LAW OF COPYRIGHT" (PDF). Harvard Journal of Law and Technology. 3: 209–222.
- Korg M1 Service Manual
- Vadem VG230 Developer's Manual
- IBM Simon. The first smartphone in the World. What's inside. IBM Blog in Russian at Habrahabr.ru
- V20/V30 User's Manual; NEC; 228 pages; 1986. (archive)
- Davis, Randy (December 1985 – January 1986). Written at Greenville, Texas, USA. "The New NEC Microprocessors - 8080, 8086, Or 8088?" (PDF). Micro Cornucopia (27). Bend, Oregon, USA: Micro Cornucopia Inc. pp. 4–7. ISSN 0747-587X. Archived (PDF) from the original on 2020-02-11. Retrieved 2020-02-11.
- Buchty, Rainer. "Casiorama". www.buchty.net.
- "NEC V20". cpu-collection.de.
- Hinckley, Robert C. (January 1987). "NEC v. Intel: Will Hardware Be Drawn into the Black Hole of Copyright Editors'". Santa Clara High Technology Law Journal. Vol. 3 no. 1. pp. 23–72.