NEC V20

Last updated

NEC V20 (µPD70108)
KL NEC V20.jpg
8 MHz V20 in plastic DIP package
General information
LaunchedMarch 1984;40 years ago (1984-03) [1]
Common manufacturer(s)
Performance
Data width 16 bits
Physical specifications
Transistors
  • 63000
Cores
  • 1
Co-processor
  • Intel 8087
  • NEC μPD72091
History
Successor(s) NEC V60

The NEC V20 is a microprocessor that was designed and produced by NEC. It is both pin compatible and object code compatible with the Intel 8088, with an instruction set architecture (ISA) similar to that of the Intel 80188 with some extensions. [2] The V20 was introduced in March 1984. [1] [2]

Contents

Features

The V20's die comprised 63,000 transistors; more than double the 29,000 of the 8088 CPU. [1] The chip was designed for a clock duty cycle of 50%, compared to the 33% duty cycle used by the 8088. [3] The V20 has two, 16-bit wide internal databuses, allowing two data transfers to occur concurrently. [4] Differences like that meant that a V20 could typically complete more instructions in a given time than an Intel 8088 running at the same frequency. [2]

The V20 was fabricated in 2-micron CMOS technology. [5] [3] Early versions ran at speeds of 5, 8, and 10  MHz. [6] :2 In 1990, an upgrade to the fabrication process technology resulted in the V20H and V20HL, with improved performance and reduced power consumption. [5] 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 able to address 1 MB of memory.

The V20 was reported to have been compatible with the Intel 8087 floating-point unit (FPU) coprocessor. [7] NEC also designed their own FPU, the μPD72091  [ jp ], which was cancelled before reaching production. They followed this with a revised design, the μPD72191, but it is unclear how many, if any, of this second part were produced. [8]

The V30, a nearly identical CPU with a 16-bit wide external data bus, debuted on March 1, 1984. [9] [5] It was pin and object-code compatible with the Intel 8086.

ISA extensions

Sony CXQ70108D 8 MHz Sony CXQ70108D 8 1.jpg
Sony CXQ70108D 8 MHz

The V20's ISA includes several instructions not executed by the 8088, with instructions for bit manipulation, packed BCD operations, multiplication, and division. They also include new real-mode instructions from the Intel 80286. [10]

The ADD4S, SUB4S, and CMP4S instructions were able to add, subtract, and compare huge packed binary-coded decimal numbers stored in memory. Instructions ROL4 and ROR4 rotate four-bit nibbles. Another family consisted of the TEST1, SET1, CLR1, and NOT1 instructions, which test, set, clear, and invert single bits of their operands, but are far less efficient than the later i80386 equivalents BT , BTS , BTR , and BTC ; neither are their encodings compatible. There were two instructions to extract and insert bit fields of arbitrary lengths (EXT, INS). And finally, there were two additional repeat prefixes, REPC and REPNC, which amended the original REPE and REPNE instructions for scanning a string of bytes or words (with instructions SCAS and CMPS ) while a less or not less condition remained true. [11]

The V20 offered a mode that emulated 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.

Another mode put the processor into a power-saving state via a HALT instruction. [6] [7]

Lawsuits

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. [12]

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. [13] 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. [14] They further found Intel to have 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.

The judge in the case accepted NEC's cleanroom evidence. He also approved of NEC's use of reverse engineering with respect to the creation of NEC's Rev.2 microcode, without commenting on it with respect to the Rev.0 code. [14] :212–221

Variants and successors

V20 on a motherboard NEC V20 CPU chip.jpg
V20 on a motherboard
NEC V30 (mPD70116), 10 MHz KL NEC V30.jpg
NEC V30 (μPD70116), 10 MHz
NEC V40 (mPD70208) NEC V40.png
NEC V40 (μPD70208)
NEC V53A (uPD70236A) UPD70236 01.jpg
NEC V53A (µPD70236A)
ProductPart no.Details
NEC V30μPD70116Essentially 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 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 V30 MZ version was used in Bandai's handheld WonderSwan game console.
NEC V20HLμPD70108HHigh-speed (up to 16 MHz), low-power version of the V20.
NEC V30HLμPD70116HHigh-speed (up to 16 MHz), low-power version of the V30.
NEC V25 µPD70320A microcontroller version of the NEC V20.
NEC V25HSμPD79011A version of the V25 with the RX116 RTOS in the internal ROM.
NEC V25+μPD70325High-speed version of the V25.
NEC V33μPD70136A version of the V30 with separate address and data buses and with instruction decode 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, BRKXA and RETXA, support the extended addressing mode. 8080 emulation is not supported.
NEC V33AμPD70136ADiffers from the V33 in that it has interrupt vector numbers compatible with Intel's 80X86 processors.
NEC V35μPD70330A microcontroller version of the NEC V30.
NEC V35HSμPD79021A version of the V35 with the RX116 RTOS in the internal ROM.
NEC V35+μPD70335A high-speed version of the V35.
NEC V40μPD70208An embedded version of the V20, integrated Intel-compatible 8251 USART, 8253 programmable interval timer, and 8255 parallel port interface. Used in the Olivetti PC1, Digisystems Jetta XD, the Sharp PC-4500 and the Zenith Eazy PC.
NEC V40HLμPD70208HA high-speed, low-voltage version of the V40.
NEC V50μPD70216An embedded version of the V30. It is the main CPU in the Akai S1000 and S1100, and the Korg M1. [15] [16]
NEC V50HLμPD70216HA high-speed, low-voltage version of the V50.
NEC V41μPD70270Integrates 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.
NEC V51μPD70280Integrates 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 the Olivetti Quaderno PT-XT-20.
NEC V53μPD70236Integrates a V33 core with 4-channel DMA (μPD71071 [17] /i8237), UART (μPD71051/i8251), three timer/counters (μPD71054/i8254) and interrupt controller (μPD71059/i8259). It was used in the Akai MPC3000 [18] [19] and Akai SG01v.
NEC V53AμPD70236AIntegrates some peripherals with a V33A core. Used in Sharp Zaurus PI-B304/B308
NEC V55PI  [ jp ]μPD70433The V55PI has extended segment registers called DS2 and DS3, and by shifting the register value by 8 bits to the left and adding an offset value, it is possible to access the entire 16MB address space. [20]
NEC V55SCμPD70423The V55SC not only comes with extended segment registers, called DS2 and DS3, but is also furnished with a two-channel Multi Protocol Serial Controller (MPSC) which is subset of μPD72001/72002. [21]
Vadem VG230A single-chip PC platform. [22] 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. [23]
Vadem VG330Successor 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 μPD70616With the V60 processor, NEC departed from the x86 design and launched a new, 32-bit CISC architecture. The V60 and the V70, which differed mainly in the widths of their respective external address and data busses, both included a V20/V30 emulation mode. [24] :§10 [8]

See also

Related Research Articles

<span class="mw-page-title-main">Intel 80286</span> Microprocessor model

The Intel 80286 is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non-multiplexed address and data buses and also the first with memory management and wide protection abilities. The 80286 used approximately 134,000 transistors in its original nMOS (HMOS) incarnation and, just like the contemporary 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088 processors.

<span class="mw-page-title-main">Intel 8080</span> 8-bit microprocessor

The Intel 8080 ("eighty-eighty") is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibility. The initial specified clock rate or frequency limit was 2 MHz, with common instructions using 4, 5, 7, 10, or 11 cycles. As a result, the processor is able to execute several hundred thousand instructions per second. Two faster variants, the 8080A-1 and 8080A-2, became available later with clock frequency limits of 3.125 MHz and 2.63 MHz respectively. The 8080 needs two support chips to function in most applications: the i8224 clock generator/driver and the i8228 bus controller. It is implemented in N-type metal–oxide–semiconductor logic (NMOS) using non-saturated enhancement mode transistors as loads thus demanding a +12 V and a −5 V voltage in addition to the main transistor–transistor logic (TTL) compatible +5 V.

<span class="mw-page-title-main">Intel 8086</span> 16-bit microprocessor

The 8086 is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus, and is notable as the processor used in the original IBM PC design.

<span class="mw-page-title-main">Intel 8088</span> Intel microprocessor model

The Intel 8088 microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 has an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers and the one megabyte address range are unchanged, however. In fact, according to the Intel documentation, the 8086 and 8088 have the same execution unit (EU)—only the bus interface unit (BIU) is different. The 8088 was used in the original IBM PC and in IBM PC compatible clones.

<span class="mw-page-title-main">Intel 80186</span> 16-bit microcontroller

The Intel 80186, also known as the iAPX 186, or just 186, is a microprocessor and microcontroller introduced in 1982. It was based on the Intel 8086 and, like it, had a 16-bit external data bus multiplexed with a 20-bit address bus.

<span class="mw-page-title-main">Pentium (original)</span> Intel microprocessor

The Pentium is a x86 microprocessor introduced by Intel on March 22, 1993. It is the first CPU using the Pentium brand. Considered the fifth generation in the 8086 compatible line of processors, its implementation and microarchitecture was internally called P5.

x86 Family of instruction set architectures

x86 is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introduced in 1978 as a fully 16-bit extension of Intel's 8-bit 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486 processors. Colloquially, their names were "186", "286", "386" and "486".

<span class="mw-page-title-main">Zilog Z80</span> 8-bit microprocessor

The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were delivered in March 1976, and it was officially introduced on the market in July 1976. With the revenue from the Z80, the company built its own chip factories and grew to over a thousand employees over the following two years.

<span class="mw-page-title-main">Floating-point unit</span> Part of a computer system

A floating-point unit is a part of a computer system specially designed to carry out operations on floating-point numbers. Typical operations are addition, subtraction, multiplication, division, and square root. Some FPUs can also perform various transcendental functions such as exponential or trigonometric calculations, but the accuracy can be low, so some systems prefer to compute these functions in software.

<span class="mw-page-title-main">Intel 8087</span> Floating-point microprocessor made by Intel

The Intel 8087, announced in 1980, was the first floating-point coprocessor for the 8086 line of microprocessors. The purpose of the chip was to speed up floating-point arithmetic operations, such as addition, subtraction, multiplication, division, and square root. It also computes transcendental functions such as exponential, logarithmic or trigonometric calculations. The performance enhancements were from approximately 20% to over 500%, depending on the specific application. The 8087 could perform about 50,000 FLOPS using around 2.4 watts.

x87 is a floating-point-related subset of the x86 architecture instruction set. It originated as an extension of the 8086 instruction set in the form of optional floating-point coprocessors that work in tandem with corresponding x86 CPUs. These microchips have names ending in "87". This is also known as the NPX. Like other extensions to the basic instruction set, x87 instructions are not strictly needed to construct working programs, but provide hardware and microcode implementations of common numerical tasks, allowing these tasks to be performed much faster than corresponding machine code routines can. The x87 instruction set includes instructions for basic floating-point operations such as addition, subtraction and comparison, but also for more complex numerical operations, such as the computation of the tangent function and its inverse, for example.

<span class="mw-page-title-main">NEC V60</span> CISC microprocessor

The NEC V60 is a CISC microprocessor manufactured by NEC starting in 1986. Several improved versions were introduced with the same instruction set architecture (ISA), the V70 in 1987, and the V80 and AFPP in 1989. They were succeeded by the V800 product families, which is currently produced by Renesas Electronics.

<span class="mw-page-title-main">History of general-purpose CPUs</span>

The history of general-purpose CPUs is a continuation of the earlier history of computing hardware.

CPMulator is a program to emulate the CP/M operating system under x86 DOS. The program was developed in 1984 by Keystone Software Development. The company was owned and operated by Jay Sprenkle.

In computer architecture, 16-bit integers, memory addresses, or other data units are those that are 16 bits wide. Also, 16-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size. 16-bit microcomputers are microcomputers that use 16-bit microprocessors.

Intel microcode is microcode that runs inside x86 processors made by Intel. Since the P6 microarchitecture introduced in the mid-1990s, the microcode programs can be patched by the operating system or BIOS firmware to work around bugs found in the CPU after release. Intel had originally designed microcode updates for processor debugging under its design for testing (DFT) initiative.

The Alternate Instruction Set (AIS) is a second 32-bit instruction set architecture found in some x86 CPUs made by VIA Technologies. On these VIA C3 processors, the second hidden processor mode is accessed by executing the x86 instruction JMPAI. If AIS mode has been enabled, the processor will perform a JMP EAX and begin executing AIS instructions at the address of the EAX register. Using AIS allows native access to the Centaur Technology-designed RISC core inside the processor.

The NEC μCOM series is a series of microprocessors and microcontrollers manufactured by NEC in the 1970s and 1980s. The initial entries in the series were custom-designed 4 and 16-bit designs, but later models in the series were mostly based on the Intel 8080 and Zilog Z80 8-bit designs, and later, the Intel 8086 16-bit design. Most of the line was replaced in 1984 by the NEC V20, an Intel 8088 clone.

References

  1. 1 2 3 "8088 & V20". X86 CPU's Guide. 2018-11-17.
  2. 1 2 3 Gennadiy, Shvets. "NEC V20 processor family". CPU-World.
  3. 1 2 Davis, Stephen R. (1985-12-24). "Turbocharging Your PC with the V-Series". PC Magazine . pp. 181–186.
  4. Chodorek, Robert Ryszard (November–December 2021). "NEC V20: Inspiring, Inconspicuous". IEEE Micro. 41 (6): 158–159. doi: 10.1109/MM.2021.3115870 .
  5. 1 2 3 1983年 — 16bitマイクロプサッサV30の開発(NEC) [1983 — Development of the V30 16-bit Microprocessor (NEC)] (in Japanese). 2010-10-23. Archived from the original on 2019-07-13. Retrieved 2020-07-14.
  6. 1 2 µPD70108 — V20 16-/8-bit Microprocessor (PDF). NEC. June 1994.
  7. 1 2 Mahoney, Bob (1985-10-16). "Output of file: NECV20B.ALL contained in archive: NEC-V20.ZIP". The Programmer's Corner.
  8. 1 2 Culver, John (2021-09-01). "NEC's Forgotten FPUs". The CPU Shack.
  9. "Nec V30 D70116C-10". X86 CPUS' GUIDE. 2020-07-15.
  10. Hummel, Robert L. (1988-06-14). "PC Tutor — Mixing Processors". PC Magazine . pp. 377–378.
  11. "NEC User's Manual, 16-Bit V Series, 16-/8- and 16-bit microprocessors, Instruction" (PDF). September 2000. Retrieved 2014-11-25.
  12. Lemos, Robert (1998-06-08). "NEC case opened up market for cloning". ZDNet .
  13. Parker, Rachel (1989-02-13). "Judge Declares Microcode Copyrightable". InfoWorld . p. 8.
  14. 1 2 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.
  15. Korg M1 Service Manual
  16. Russ, Martin (July 1989). "Korg M1R". Sound On Sound. United Kingdom. pp. 48–52. Retrieved 2022-08-13.
  17. "pPD70236 (V53) 16-Bit Microprocessor: High-Speed, High-Integration, CMOS" (PDF). p. 316(3f1). Retrieved 2024-01-05.
  18. "Mame/Mpc3000.CPP at 251b11266dcd394741e6b48c00a5c9131ef68673 · mamedev/Mame". GitHub . 2022-11-23.
  19. "AKAI MPC 3000: The Best Drum Machine of All Time". Audio Jive. 2020-12-09.
  20. "V55PI 16-BIT MICROPROCESSOR". pp. 21–22. Retrieved 2024-01-18.
  21. "NEC V55SC 16-bit Microprocessor Preliminary Data Sheet (O.D.No ID-8206A, March 1993)" (PDF). pp. 1, 22. Retrieved 2024-01-21.
  22. Vadem VG230 Developer's Manual
  23. Nochkin, Alexander (2013-07-10). "IBM Simon — первый в мире смартфон. Что внутри?" [The IBM Simon is the world's first smartphone. What is inside?]. habr.com (in Russian).
  24. μPD70616 Programmer's Reference Manual (PRELIMINARY ed.). NEC. November 1986.

Further reading