Intel 8080 Control Circuitry, Address Registers, Arithmetic/Logic Unit ALU, Computer Operations

Models: 8080

1 262
Download 262 pages 56.67 Kb
Page 11
Image 11

Code or Operation Code. An eight-bit word used as an in- struction code can distinguish between 256 alternative actions, more than adequate for most processors.

The processor fetches an instruction in two distinct operations. First, the processor transmits the address in its Program Counter to the memory. Then the memory returns the addressed byte to the processor. The CPU stores this instruction byte in a register known as the Instruction Register, and uses it to direct activities during the remainder of the instruction execution.

The mechanism by which the processor translates an instruction code into specific processing actions requires more elaboration tha~ we can here afford. The concept, however, should be intuitively clear to any logic designer. The eight bits stored in the instruction register can be de- coded and used to selectively activate one of a number of output lines, in this case up to 256 lines. Each line repre- sents a set of activities associated with execution of a par- ticular instruction code. The enabled line can be combined w\th selected timing pulses, to develop electrical signals that can then be used to initiate specific actions. This transla- tion of code into action is performed by the Instruction Decoder and by the associated control circu itry.

An eight-bit instruction code is often sufficient to specify a particular processing action. There are times, how- ever, when execution of the instruction requires more infor- mation than eight bits can convey.

One example of this is when the instruction refer- ences a memory location. The basic instruction code iden- tifies the operation to be performed, but cannot specify the object address as well. In a case like this, a two- or three- byte instruction must be used. Successive instruction bytes are stored in sequentially adjacent memory locations, and the processor performs two or three fetches in succession to obtain the full instruction. The first byte retrieved from memory is placed in the processor's instruction register, and subsequent bytes are placed in temporary storage; the pro- cessor then proceeds with the execution phase. Such an instruction is referred to as Variable Length.

performs the arithmetic and logical operations on the binary data.

The ALU must contain an Adder which is capable of combining the contents of two registers in accordance with the logic of binary arithmetic. This provision permits the processor to perform arithmetic manipulations on the data it obtains from memory and from its other inputs.

Using only the basic adder a capable programmer can write routines which will subtract, multiply and divide, giv- ing the machine complete arithmetic capabilities. In practice, however, most ALUs provide other built-in functions, in- cluding hardware subtraction, boolean logic operations, and sh ift capabi Iities.

The ALU contains Flag Bits which specify certain conditions that arise in the course of arithmetic and logical manipulations. 'Flags typically include Carry, Zero, Sign, and Parity. It is possible to program jumps which are condi- tionally dependent on the status of one or more flags. Thus, for example, the program may be designed to jump to a special routine if the carry bit is set following an addition instruction.

Control Circuitry:

The control circuitry is the primary functional unit within a CPU. Using clock inputs, the control circuitry maintains the proper sequence of events required for any processing task. After an instruction is fetched and decoded, the control circuitry issues the appropriate signals (to units both internal and external to the CPU) for initiating the proper processing action. Often the control circuitry will be capable of responding to external signals, such as an inter- rupt or wait request. An Interrupt request will cause the control circuitry to temporarily interrupt main program execution, jump to a special routine to service the interrupt- ing device, then automatically return to the main program. A Wait request is often issued by a memory or I/O element that operates slower than the CPU. The control circuitry will idle the CPU until the memory or I/O port is ready with the data.

Address Register(s):

A CPU may use a register or register-pair to hold the address of a memory location that is to be accessed for data. If the address register is Programmable, (Le., if there are instructions that allow the programmer to alter the contents of the register) the program can "build" an ad- dress in the address register prior to executing a Memory Reference instruction (Le., an instruction that reads data from memory, writes data to memory or operates on data stored in memory).

Arithmetic/Logic Unit (ALU):

All processors contain an arithmetic/logic unit, which is often referred to simply as the ALU. The ALU, as its name implies, is that portion of the CPU hardware which

COMPUTER OPERATIONS

There are certain operations that are basic to almost any computer. A sound understanding of these basic opera- tions is a necessary prerequisite to examining the specific operations of a particular computer.

Timing:

The activities of the central processor are cyclical. The processor fetches an instruction, performs the operations required, fetches the next instruction, and so on. This orderly sequence of events requires precise timing, and the CPU therefore requires a free running oscillator clock which furnishes the reference for all processor actions. The com- bined fetch and execution of a single instruction is referred to as an Instruction Cycle. The portion of a cycle identified

1-3

Page 11
Image 11
Intel 8080 manual Control Circuitry, Address Registers, Arithmetic/Logic Unit ALU, Computer Operations, Timing

8080 specifications

The Intel 8085 and 8080 microprocessors were groundbreaking innovations in the world of computing, paving the way for future microprocessor development and personal computing.

The Intel 8080, introduced in 1974, was an 8-bit microprocessor that played a fundamental role in the early days of personal computing. With a 16-bit address bus, it had the capability to address 64 KB of memory. Running at clock speeds of 2 MHz, the 8080 was notable for its instruction set, which included 78 instructions and 246 opcodes. It supported a range of addressing modes including direct, indirect, and register addressing. The 8080 was compatible with a variety of peripherals and played a crucial role in the development of many early computers.

The microprocessor's architecture was based on a simple and efficient design, making it accessible for hobbyists and engineers alike. It included an 8-bit accumulator, which allowed for data manipulation and storage during processing. Additionally, the 8080 featured registers like the program counter and stack pointer, which facilitated program flow control and data management. Its ability to handle interrupts also made it suitable for multitasking applications.

The Intel 8085, introduced in 1976, was an enhancement of the 8080 microprocessor. It maintained a similar architecture but included several key improvements. Notably, the 8085 had a built-in clock oscillator, simplifying system design by eliminating the need for external clock circuitry. It also featured a 5-bit control signal for status line management, which allowed for more flexible interfacing with peripheral devices. The 8085 was capable of running at speeds of up to 3 MHz and had an extended instruction set with 74 instructions.

One of the standout features of the 8085 was its support for 5 extra instructions for stack manipulation and I/O operations, which optimized the programming process. Additionally, it supported serial communication, making it suitable for interfacing with external devices. Its 16-bit address bus retained the 64 KB memory addressing capability of its predecessor.

Both the 8080 and 8085 microprocessors laid the groundwork for more advanced microprocessors in the years that followed. They demonstrated the potential of integrated circuits in computing and influenced the design and architecture of subsequent Intel microprocessors. Their legacy endures in the way they revolutionized computing, making technology accessible to a broader audience, and their influence is still felt in the design and architecture of modern microprocessors today.