See Also

Intel 8080

The Intel 8080 was an early microprocessor Microprocessor

A microprocessor is a digital [i] electronic [i] component with transistor [i] ... 

 designed and manufactured by Intel Intel Corporation

Intel Corporation , founded in 1968 [i] as Integrated Electronics Corporation and based in Santa Clara, California [i] ... 

. The 8-bit CPU Central processing unit

A central processing unit , or sometimes simply processor, is the component in a digital computer [i] ... 

 was released in April 1974 running at 2 MHz, and is generally considered to be the first truly usable microprocessor CPU design.

Discussions

  Discussion Features

   Ask a question about 'Intel 8080'

   Start a new discussion about 'Intel 8080'

   Answer questions about 'Intel 8080'

   'Intel 8080' discussion forum


Encyclopedia




The Intel 8080 was an early microprocessor Microprocessor

A microprocessor is a digital [i] electronic [i] component with transistor [i] ... 

 designed and manufactured by Intel Intel Corporation

Intel Corporation , founded in 1968 [i] as Integrated Electronics Corporation and based in Santa Clara, California [i] ... 

. The 8-bit CPU Central processing unit

A central processing unit , or sometimes simply processor, is the component in a digital computer [i] ... 

 was released in April 1974 running at 2 MHz, and is generally considered to be the first truly usable microprocessor CPU design.

Description


Programming model

The Intel 8080 was the successor to the Intel 8008 Intel 8008

The Intel 8008 was an early microprocessor [i] designed and manufactured by Intel [i] and introduced in ... 

; this was due to its being assembly language source-compatible, since it used the same instruction set developed by Computer Terminal Corporation. The 8080's large 40 pin DIP Dual in-line package

In microelectronics [i], a dual in-line package , sometimes called a DIL package, is an electronic ... 

 packaging permitted it to provide a 16-bit address bus and an 8-bit data bus, allowing easy access to 64 kilobytes of memory.
Registers
The processor had seven 8-bit registers, six of which could be combined into three 16-bit register pairs . It also had the 8-bit accumulator, the 16-bit stack pointer to memory , and a 16-bit program counter.
Commands
Most of the 8-bit operations were possible between the accumulator and either one of the registers or the memory cell, indexed by the 16-bit value of the register pair HL. Moving operations were supported between any two registers, or between any register and the HL-indexed memory cell. The command system also had strange commands to move a byte from a given register into the same register . These commands were seldom used, however, unless programmed delays were needed. The command to move from the HL-indexed memory cell into the same memory cell always halted the processor until the external reset or interrupt signals were received. Thus instead of MOV M, M this command was marked as HLT and used for this purpose, when required.

All processor commands were coded by one byte, but some of them were followed by one or two bytes of data, a memory address, or a port number. The register-to-register data-move commands were all coded by one byte, making up about a quarter of the commands in the processor-command system. The processor had 8 commands to call the subroutines located at the fixed addresses at the beginning or the address space . These commands were frequently used in the interrupt-handling or system-library calls.

The most sophisticated command was XTHL, which was used for exchanging the register pair HL with the value stored at the address indicated by the stack pointer.
16-bit operations
Despite the fact that the 8080 was generally an 8-bit processor, it was also able to increment or decrement any register pair , add the register pairs , switch HL with DE and perform the 16-bit arithmetical shift with one command. Hence some 16-bit operations were already possible.

Input/output scheme


Input output port space
The 8080 supported up to 256 input/output  ports, accessed from programs via dedicated I/O instructions—each instruction taking an I/O port address as its operand. This scheme—using a separate I/O address space—is now less commonly used than memory mapping of I/O ports/devices. At the time of the 8080's launch, this I/O mapping scheme was seen as an advantage, as it freed up the processor's limited number of address pins for the memory address space. In most other CPU architectures, however, the mapping of I/O ports in a common address space both for memory and I/O, gave a simpler instruction set; no need for separate I/O instructions. The 8080-style I/O port scheme continued into the Intel 8085 Intel 8085

The Intel 8085 was an 8-bit [i] microprocessor [i] made by Intel [i] in the mid-1970s [i]. ... 

 and x86 X86 architecture

x86 or 80x86 is the generic name of a microprocessor [i] architecture first developed and manufact ... 

 families of microprocessors.
Stack space

One of the bits in the processor state word was indicating that the processor is accessing data from the stack. Using this signal, it was possible to implement the separate stack memory space. However this feature was seldom used.
Shared memory implementations
The 8080 has the shared control signals for reading and writing both to/from memory and I/O ports and in basic computers was frequently connected using the shared memory map, accessing ports as the memory cells. The specialised I/O commands were either not used or were used knowing that the processor clones the 8 bit port address to the higher address byte .

The internal state word


For the more complicated system, during one phase of its working loop the processor set its "internal state byte" on the data bus. This byte contains flags which indicate whether the memory or I/O port is accessed and whether it was necessary to handle an interrupt.

The interrupt system state was also output on a separate pin. For simple systems, where the interrupts were not used, it is possible to find cases where this pin is used as an additional single-bit output port .

Pin usage

The address bus had its own 16 pins, and the data bus had 8 pins that were possible to use without any multiplexing. Using the two additional pins , it was possible to assemble simple microprocessor devices very easily. Only the separate IO space, interrupts and DMA required additional chips to decode the processor pin signals. However the processor load capacity was limited, and even simple computers frequently contained the bus amplifiers.

The processor required three power sources and two non-interlacing high-amplitude synchronization signals. However at least the late Soviet version ??580??80? was able to work with the single +5 V power source, +12 V pin being connected to the same +5 V and -5 V pin - to the ground. The processor consumed about 1.3 watts of power.

The pin usage table was described in the chip accompanying documentation as following:

































































































Pin numberSignalTypeComment
1A10OutputAddress bus 10
2GND-Ground
3D4Bidirectional Bidirectional data bus. The processor also transiently sets here the "processor state", providing information that the processor is currently doing:
*D0 reading interrupt command. In response to the interrupt signal, the processor was reading and executing a single arbitrary command with this flag raised. Normally the supporting chips provided the subroutine call command , transferring control to the interrupt handling code.
*D1 reading
*D2 accessing stack
*D3 doing nothing, has been halted by the HLT command
*D4 writing data to the output port
*D5 reading the first byte of the executable command
*D6 reading data from the input port
*D7 reading data from memory
4D5
5D6
6D7
7D3
8D2
9D1
10D0
11-5 V -The -5 V power supply. This must be the first power source connected and the last disconnected, otherwise the processor will be damaged.
12R InputReset. The signal forces execution of commands, located at address 0000. The content of other processor registers is not modified. This is an inverting input
13DMA InputDirect memory access request. The processor is requested to switch the data and address bus to the high impedance state.
14INTInputInterrupt request
15CLC2
InputThe second phase of the clock generator signal
16ACK INT OutputThe processor had two commands for setting the 0 or 1 level on this pin. The pin normally was supposed to be used for the interrupt control. However in the simple computers it was sometimes used just as the single bit output port for various purposes.
17RD OutputRead
18WR OutputWrite . This is the inverted output, the active level being logical zero.
19S OutputThe active level indicates that the processor has set the "state word" on the data bus. The various bits of this state word provided the additional information for supporting the separate address and memory spaces, interrupts and direct memory access. This signal required to pass through additional logic before it could be used to write the processor state word from the data bus into some register.
205 V-The + 5 V power supply

21ACK DMA OutputDirect memory access confirmation. The processor switches data and address pins into the high impedance state, allowing other device to manipulate the bus
22CLC1 InputThe first phase of the clock generator signal
23RDY InputWait. With this signal it was possible to suspend processor's work. It was also used to support the hardware-based step-by step debugging mode.
24WAIT OutputWait
25A0Output Address bus
26A1
27A2
2812 V -The +12 V power supply. This must be the last connected and first disconnected power source.
29A3Output The address bus, can switch into high impedance state on demand
30A4
31A5
32A6
33A7
34A8
35A9
36A15
37A12
38A13
39A14
40A11


Literature, used for this table:


Physical implementation


The 8080 integrated circuit Integrated circuit

A monolithic integrated circuit is a miniaturized electronic circuit [i] which has been manufactured i ... 

 was manufactured in a NMOS NMOS logic

nMOS logic uses n-type metal-oxide-semiconductor field effect transistor [i]s to implement logic gate [i] ... 

 process using a minimum feature size of 6 µm. A single layer of metal was used to interconnect the approximately 6000 transistors in the design . The die Die preparation

Die preparation is a step of semiconductor device fabrication [i] during which a wafer [i] ... 

 size was approximately 20 mm².

The industrial impact


Applications and successors

The 8080 was used in many early microcomputers, such as the MITS Altair 8800 Altair 8800

The MITS [i] Altair 8800 was a microcomputer [i] design from ... 

 and IMSAI 8080 IMSAI 8080

The IMSAI 8080 was an early microcomputer [i] released in 1975, based on the Intel 8080 [i] and S-100 bus [i] ... 

, forming the basis for machines running the CP/M operating system CP/M

[i] and [[Zilog Z80]... 

 . The first single-board microcomputer was based on the 8080. The company Landis & Gyr used it on its electrical metering data aquisition equipment, the Datagyr FAB during the early eighties.

Shortly after the launch of the 8080, the Motorola 6800 Motorola 6800

he 6800 is a microprocessor [i] produced by Motorola [i] and released shortly after the Intel 8080 [i] i... 

 competing design was introduced, and after that, the MOS Technology 6502 MOS Technology 6502

The MOS Technology 6502 is an 8-bit [i] microprocessor [i] designed by Chuck Peddle [i] for MOS Technology [i] ... 

 variation of the 6800. Zilog Zilog

Zilog, often seen as ZiLOG, is a manufacturer of 8-bit [i] CPU [i]s, and i ... 

 introduced the Z80 Zilog Z80

The Zilog Z80 is an 8-bit [i] microprocessor [i] designed and sold by Zilog [i] from July 1976 [i] onwar ... 

, which had a compatible machine-language instruction set and initially used the same assembly language as the 8080, but for legal reasons, Zilog developed a syntactically-different alternative assembly language for the Z80. At Intel, the 8080 was followed by the compatible and electrically more elegant 8085 Intel 8085

The Intel 8085 was an 8-bit [i] microprocessor [i] made by Intel [i] in the mid-1970s [i]. ... 

, and later by the assembly language compatible 16-bit 8086 Intel 8086

The Intel 8080 was an early microprocessor [i] designed and manufactured by Intel [i]. ... 

 and then the 8/16-bit 8088 Intel 8088

The Intel 8088 is an Intel [i] microprocessor [i] based on the 8086 [i], with 16-bit [i] regi ... 

, which was selected by IBM IBM

company_name = International Business Machines Corporation |
... 

 for its new PC IBM PC

The IBM PC , was the original version and progenitor of the IBM PC compatible [i] hardware platform [i] ... 

 to be launched in 1981. The 8080, via its ISA, thus made a lasting impact on computer history.

The Soviet Union manufactured the complete 8080 analog KP580?K80 , where even pins were placed identically. This processor was the base of the Radio86RK , probably the most popular amateur single-board computer in the Soviet Union. Predecessor of Radio86RK was Micro-80 , and successor - Orion-128 that has graphical display, both was built on KP580 processor. According to some sources, the Soviet analog had two undocumented instructions, specific to itself; however, these were not widely known.

Industry change

The 8080 also changed how computers were created. When the 8080 was introduced, computer systems were usually created by computer manufacturers such as Digital Equipment Corporation Digital Equipment Corporation

Digital Equipment Corporation was an American [i] pioneering company in the computer [i] i ... 

, Hewlett Packard Hewlett-Packard

The Hewlett-Packard Company , commonly known as HP, is one of the world's largest information technology [i] ... 

, or IBM IBM

company_name = International Business Machines Corporation |
... 

. A manufacturer would produce the entire computer, including processor, terminals, and system software such as compilers and operating system. The 8080 was actually designed for just about any application except a complete computer system. Hewlett Packard developed the HP 2640 HP 2640

The HP2640 and other HP264X models were block-mode "smart" and intelligent terminals [i] ... 

 series of smart terminals around the 8080. The HP 2647 was a terminal which ran BASIC BASIC

In computer programming [i], BASIC refers to a family of high-level programming language [i]s.... 

 on the 8080.
Microsoft Microsoft

company_name = Microsoft Corporation
... 

 would create the first popular programming language for the 8080, and would later acquire DOS DOS

DOS commonly refers to the family of closely related operating system [i]s which dominated the IBM PC compatible [i] ... 

 for the IBM-PC IBM PC

The IBM PC , was the original version and progenitor of the IBM PC compatible [i] hardware platform [i] ... 

.

As the 8080 evolved into the largely compatible x86 family, PC's evolved into workstations and servers of 32 and 64 bits, with advanced memory protection, segmentation, and multiprocessing features, blurring the difference between small and large computers. The size of chips has grown so that the size and power of large x86 chips is not much different from high end architecture chips, and a common strategy to produce a very large computer is to network many x86 processors.

The basic architecture of the 8080 and its successors has replaced many proprietary midrange and mainframe computers, and withstood challenges of technologies such as RISC. Most computer manufacturers have abandoned producing their own processors below the highest performance points. Though x86 may not be the most elegant, or theoretically most efficient design, the sheer market force of so many dollars going into refining a design has made the x86 family today, and will remain for some time, the dominant processor architecture, even bypassing Intel's attempts to replace it with incompatible architectures such as the iAPX 432 and Itanium Itanium

The Itanium is an IA-64 [i] microprocessor [i] developed jointly by Hewlett-Packard [i] and Intel [i]. ... 

.

External links






Categories: