General information | |
---|---|
Launched | 1976 |
Discontinued | 1977 |
Common manufacturer | |
Performance | |
Max. CPU clock rate | 4 MHz |
Data width | 8 |
Address width | 12 |
Architecture and classification | |
Instruction set | Electronic Arrays 9002 |
Number of instructions | 55 |
Physical specifications | |
Package |
|
The Electronic Arrays 9002, or EA9002, was an 8-bit microprocessor released in 1976. It was designed to be easy to implement in systems with few required support chips. It included 64 bytes of built-in RAM and could be directly connected to TTL devices. It was packaged in a 28-pin DIP which made it less expensive to implement than contemporary designs like the 40-pin MOS 6502 and Zilog Z80. Today it would be known as a microcontroller, although that term did not exist at the time. [a]
The 28-pin design did not have enough pins left over to implement a 16-bit address bus, and instead had 12 address lines which limited main memory to 4,096 bytes. This was not a significant limitation at the time, as memory was still very expensive and the target market could often make do with the internal RAM. There was a single 8-bit accumulator used for arithmetic and eight 8-bit registers it could use for storing temporary values. These were supported by another eight 4-bit registers which acted as the most significant bits of the 8-bit registers, extending them to 12-bits for indexing and similar address manipulation.
Electronic Arrays (EA) had problems with the new depletion-load NMOS logic fabrication line and struggled with deliveries. By 1977, the 6502 and Z80 had taken over much of the market, and in November EA stopped selling the design. The company was sold to NEC the next year.
Electronic Arrays had their first major success in 1970 with a six-chip electronic calculator chipset, which they had steadily improved over several steps into a single-chip format. [2] However, other companies had continually beat them to market with reduced chip counts, first Mostek and Texas Instruments, and later a number of Japanese electronics firms. By the mid-1970s the company desperately needed a new product line and began development of a CPU. [3]
At the time the 9002 was designed, the microcomputer had not yet emerged as a major market and processors of the era were mostly used in embedded electronics like electronic calculators, cash registers, gas pumps, and similar roles. [4] For these uses, the computer program was normally stored on read-only memory (ROM) and the amount of random-access memory (RAM) needed was very small – keeping track of the number of gallons pumped and the total cost for instance. This led designers to develop systems that included as many of these features as possible on a single chip so that the total number of chips in a complete system was reduced.
In the mid-1970s, dynamic RAM had not yet emerged as the primary form of main memory, and most systems used the much more expensive static RAM. For embedded controllers, this could represent a significant cost, so it was desirable for designers to add a small amount of "scratchpad RAM" to the system to avoid having to add additional RAM chips to the board. As most systems would have little or no external RAM and small programs in ROM, it was also common to use smaller address spaces as this allowed the number of pins to be reduced, which simplified circuit board layout. [5]
Another major change taking place in the mid-1970s was the introduction of depletion-load NMOS logic design. Previous fabrication systems using "enhancement-load" circuits required three input voltages, one of which was typically +12V. [6] This not only made the circuit layout more complex and often required a more complex power supply as well, it also made it more difficult to interface with external support circuits which were mostly based on transistor-transistor logic (TTL) which ran at +5V. Interfacing older chips with the wide variety of TTL components generally required additional latches, but the new depletion-load designs worked at +5V and interfaced directly, reducing cost and complexity.
The 9002 was designed to take advantage of all of these emerging concepts. It included 64 bytes of scratchpad RAM and a 12-bit address space, allowing it to be packaged in a 28-pin dual in-line package (DIP), [7] compared to the 40-pin packaging of most designs of the era like the Zilog Z80 or MOS 6502. It also included a separate seven-level call stack of 12-bit addresses so subroutine calls did not have to use the scratchpad. [8] This allowed a simple controller to be implemented in two chips, the 9002 and a ROM, along with any required interface hardware like an Intel 8212 or even just a flip-flop. [9] [3]
Unfortunately for Electronic Arrays, ramping up the depletion-load fabrication line did not go as well as it did for companies like MOS Technology, and by the end of 1976 they were still struggling with yields. [10] [11] By the next year, chips like the 6502 and Z80 were hitting their production stride and the EA9002 still had no significant design wins. [12] The company eventually gave up and cancelled the line in November 1977. [12] Financially troubled, [13] Electronic Arrays was purchased by NEC the next year and later merged into NEC Electronics USA, along with two other of NEC's subsidiaries, in 1981. [14]
One electronics company, the Pro-Log Corporation of Monterey, California, used the 9002 in a single-board computer in early 1977. [15] In the first edition of An Introduction to Microcomputers, Adam Osborne devoted a chapter to the 9002. He described it as a combination of the Fairchild F8 and RCA COSMAC, in that it had the scratchpad memory and overall concept of the F8 with the multiple general purpose registers of the COSMAC. However, by the time the second edition was published in 1977, the chapters covering the EA9002 and Rockwell PPS-8 were removed as the former had been cancelled and the latter never released. [16]
The 9002 had 55 instructions, [17] patterned on the Intel 4040. [18] Most of these were a one-address format, in which case the instruction opcode was normally split in two, with four bits specifying the operation and the other four a register. For instance, the ADD instruction had the most significant bits (MSB) "06", and the four least significant bits (LSB) specified which of the registers to add to the accumulator, 0 through 7. The SUB also used the four MSB as "06", but the four LSBs were 8 thorough F (hexidecimal). [17]
There were only a small number of two-byte instructions, typically for specifying an address or using an immediate value. For instance, LAI (opcode 0D) would load an immediate value into the accumulator, and was followed by a second byte with the 8-bit immediate value. LRI did the same for the other registers, with the LSBs indicating which register to use. Jumps and branches also used the two-byte format, supplying the address offset within a "page". So did IRJ and DRJ, which incremented or decremented a selected register and then jumped if it was non-zero. The second byte specified the jump location. [17]
Addressing was normally accomplished in two steps, one to load the lower 8-bits of the address into one of the "general purpose" registers, and then a second to load the most significant 4-bits of the address into the "page register". The introductory material uses this example: [19]
LAI08; LAI=load-acc-immediate - copy the page number, 8, into the accumulatorCAP4; CAP=copy-acc-to-page-register - store that 8 in the page part of register 4LRI4,00; LRI=load-reg-immediate - load the value 0 into the lower part of register 4
This sets the address in register 4 to the first location in page 8. Data could then be loaded or saved to the accumulator using INPut or OUTput and specifying register 4 in the LSBs. [17]
Separate instructions were also needed to read and write the internal scratch RAM, which otherwise operated like external memory and had to be loaded and saved through the accumulator using RDS and WRS. One curious feature is that the scratchpad could also be used directly as an operand in addition and subtraction operations, using the ADS and SUS operations, thereby avoiding having to load the value to the accumulator, save it to a register, and then add. [19]
The arithmetic logic unit (ALU) supported both binary and packed binary coded decimal (BCD) arithmetic, as was common for the era. [1] This option was turned on with SED and off with SEB. [17]
The 9002 normally ran at 4 MHz. It was reported to have a 2 microsecond instruction fetch and execution time, [20] [21] although another source says 3.2 microseconds for single byte instructions and 6.4 microseconds for two byte instructions. [15]
As the system was not developed for very long before it was cancelled, few support chips were available. EA did have a line of ROMs and static RAM, and around the same time they introduced a new 32x1 (4 kB) ROM which was often illustrated being used with the 9002. [22] The only driver IC they introduced was the EA2000 99-key keyboard controller. [23]
Development was carried out with a macro assembler running on the IBM System/360 which was also available online with National CSS. A system emulator was part of the package, and a simple start-up board was also available. [23] ASM/GEN and SIM/GEN, systems for developing for cross-assemblers and simulators in FORTRAN IV, supported the EA9002 as a target. [24]
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. Although earlier microprocessors were commonly used in mass-produced devices such as calculators, cash registers, computer terminals, industrial robots, and other applications, the 8080 saw greater success in a wider set of applications, and is largely credited with starting the microcomputer industry.
The MOS Technology 6502 is an 8-bit microprocessor that was designed by a small team led by Chuck Peddle for MOS Technology. The design team had formerly worked at Motorola on the Motorola 6800 project; the 6502 is essentially a simplified, less expensive and faster version of that design.
The 6800 is an 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System that also included serial and parallel interface ICs, RAM, ROM and other support chips. A significant design feature was that the M6800 family of ICs required only a single five-volt power supply at a time when most other microprocessors required three voltages. The M6800 Microcomputer System was announced in March 1974 and was in full production by the end of that year.
The Motorola 6809 ("sixty-eight-oh-nine") is an 8-bit microprocessor with some 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible with the earlier Motorola 6800, the 6809 offered significant improvements over it and 8-bit contemporaries like the MOS Technology 6502, including a hardware multiplication instruction, 16-bit arithmetic, system and user stack registers allowing re-entrant code, improved interrupts, position-independent code, and an orthogonal instruction set architecture with a comprehensive set of addressing modes.
The Zilog Z80 is an 8-bit microprocessor designed by Zilog that played an important role in the evolution of early computing. Launched in 1976 and software-compatible with the Intel 8080, it offered a compelling alternative due to its better integration and increased performance. As well as the 8080's seven registers and flags register, the Z80 had an alternate register set that duplicated them, two 16-bit index registers and additional instructions including bit manipulation and block copy/search.
In computer architecture, 8-bit integers or other data units are those that are 8 bits wide. Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of that size. Memory addresses for 8-bit CPUs are generally larger than 8-bit, usually 16-bit. 8-bit microcomputers are microcomputers that use 8-bit microprocessors.
The Intel 8008 is an early 8-bit microprocessor capable of addressing 16 KB of memory, introduced in April 1972. The 8008 architecture was designed by Computer Terminal Corporation (CTC) and was implemented and manufactured by Intel. While the 8008 was originally designed for use in CTC's Datapoint 2200 programmable terminal, an agreement between CTC and Intel permitted Intel to market the chip to other customers after Seiko expressed an interest in using it for a calculator.
The Intel 8085 ("eighty-eighty-five") is an 8-bit microprocessor produced by Intel and introduced in March 1976. It is the last 8-bit microprocessor developed by Intel.
The KIM-1, short for Keyboard Input Monitor, is a small 6502-based single-board computer developed and produced by MOS Technology, Inc. and launched in 1976. It was very successful in that period, due to its low price and easy-access expandability.
The Zilog Z800 was a 16-bit microprocessor designed by Zilog and meant to be released in 1985. It was instruction compatible with their existing Z80, and differed primarily in having on-chip cache and a memory management unit (MMU) to provide a 16 MB address range. It also added a huge number of new more orthogonal instructions and addressing modes.
The COSMAC is an 8-bit microprocessor family introduced by RCA. It is historically notable as the first CMOS microprocessor. The first production model was the two-chip CDP1801R and CDP1801U, which were later combined into the single-chip CDP1802. The 1802 represented the majority of COSMAC production, and today the entire line is known simply as the RCA 1802.
The Fairchild F8 is an 8-bit microprocessor system from Fairchild Semiconductor, announced in 1974 and shipped in 1975. The original processor family includes four main 40-pin integrated circuits (ICs); the 3850 CPU which is the arithmetic logic unit, the 3851 Program Storage Unit (PSU) which contains 1 KB of program ROM and handles instruction decoding, and the optional 3852 Dynamic Memory Interface (DMI) or 3853 Static Memory Interface (SMI) to control additional RAM or ROM holding the user programs or data. The 3854 DMA is another optional system that adds direct memory access into the RAM controlled by the 3852.
The Signetics 2650 was an 8-bit microprocessor introduced in July 1975. According to Adam Osborne's book An Introduction to Microprocessors Vol 2: Some Real Products, it was "the most minicomputer-like" of the microprocessors available at the time. A combination of missing features and odd memory access limited its appeal, and the system saw little use in the market.
The Western Design Center (WDC) 65C02 microprocessor is an enhanced CMOS version of the popular nMOS-based 8-bit MOS Technology 6502. It uses less power than the original 6502, fixes several problems, and adds new instructions. The power usage is on the order of 10 to 20 times less than the original 6502 running at the same speed; its reduced power consumption has made it useful in portable computer roles and industrial microcontroller systems. The 65C02 has also been used in some home computers, as well as in embedded applications, including implanted medical devices.
The CSG 65CE02 is an 8/16-bit microprocessor developed by Commodore Semiconductor Group in 1988. It is a member of the MOS Technology 6502 family, developed from the CMOS WDC 65C02 released by the Western Design Center in 1983.
The 65xx family of microprocessors, consisting of the MOS Technology 6502 and its derivatives, the WDC 65C02, WDC 65C802 and WDC 65C816, and CSG 65CE02, all handle interrupts in a similar fashion. There are three hardware interrupt signals common to all 65xx processors and one software interrupt, the BRK instruction. The WDC 65C816 adds a fourth hardware interrupt—ABORT, useful for implementing virtual memory architectures—and the COP software interrupt instruction, intended for use in a system with a coprocessor of some type.
The Mitsubishi 740, also known as MELPS 740, is a series of 8-bit CMOS microcontrollers and microprocessors with an enhanced MOS Technology 6502 compatible core based on the expanded WDC 65C02. The ICs were manufactured by Mitsubishi Electric during the 1980s and 1990s.
The W65C816S is a 16-bit microprocessor (MPU) developed and sold by the Western Design Center (WDC). Introduced in 1983, the W65C816S is an enhanced version of the WDC 65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU. The 65C816 is the CPU for the Apple IIGS and, in modified form, the Super Nintendo Entertainment System.
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.
The Mostek MK5065 was an 8-bit microprocessor introduced by Mostek in early 1974. The design was originally developed by Motorola for use in an Olivetti electronic calculator, and was licensed to Mostek for use in non-calculator roles. It featured three sets of processor registers, allowing it to switch to an interrupt handler in a single cycle, and a wait-for-data mode that aided direct memory access.
The 6507, which was a subset of [the 6502], could be made at a cheaper price. It was designed to be a really small package.
EA9002—The project staff at Electronic Arrays associated with this μP has been disbanded and the marketing effort closed down. The firm entered the market too late and was too small to mount a competitive sales effort.