General information | |
---|---|
Launched | 1976 |
Discontinued | 1977 |
Common manufacturer(s) | |
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(s) |
|
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. [lower-alpha 1]
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. 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.
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.
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 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.
The Intel 8008 is an early byte-oriented microprocessor designed by Computer Terminal Corporation (CTC), implemented and manufactured by Intel, and introduced in April 1972. It is an 8-bit CPU with an external 14-bit address bus that could address 16 KB of memory. Originally known as the 1201, the chip was commissioned by Computer Terminal Corporation (CTC) to implement an instruction set of their design for their Datapoint 2200 programmable terminal. As the chip was delayed and did not meet CTC's performance goals, the 2200 ended up using CTC's own TTL-based CPU instead. An agreement 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 software-binary compatible with the more-famous Intel 8080 with only two minor instructions added to support its added interrupt and serial input/output features. However, it requires less support circuitry, allowing simpler and less expensive microcomputer systems to be built. The "5" in the part number highlighted the fact that the 8085 uses a single +5-volt (V) power supply by using depletion-mode transistors, rather than requiring the +5 V, −5 V and +12 V supplies needed by the 8080. This capability matched that of the competing Z80, a popular 8080-derived CPU introduced the year before. These processors could be used in computers running the CP/M operating system.
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 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 TMS9900 was one of the first commercially available, single-chip 16-bit microprocessors. Introduced in June 1976, it implemented Texas Instruments' TI-990 minicomputer architecture in a single-chip format, and was initially used for low-end models of that lineup.
The Fairchild F8 is an 8-bit microprocessor system from Fairchild Semiconductor, announced in 1974 and shipped in 1975. The original processor family included four main 40-pin integrated circuits (ICs); the 3850 CPU which was the arithmetic logic unit, the 3851 Program Storage Unit (PSU) which contained 1 KB of program ROM and handled 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 was another optional system that added 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. The 65C02 fixed several problems in the original 6502 and added some new instructions, but its main feature was greatly lowered power usage, on the order of 10 to 20 times less than the original 6502 running at the same speed. The reduced power consumption made the 65C02 useful in portable computer roles and microcontroller systems in industrial settings. It has been used in some home computers, as well as in embedded applications, including medical-grade implanted 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 COP400 or COP II is a 4-bit microcontroller family introduced in 1977 by National Semiconductor as a follow-on product to their original PMOS COP microcontroller. COP400 family members are complete microcomputers containing internal timing, logic, ROM, RAM, and I/O necessary to implement dedicated controllers. Some COP400 devices were second-sourced by Western Digital as the WD4200 family. In the Soviet Union several COP400 microcontrollers were manufactured as the 1820 series.
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.