The 8080 Is a Complete 8-Bit Parallel, Central Processor Unit (CPU)

The 8080 Is a Complete 8-Bit Parallel, Central Processor Unit (CPU)

The 8080 is a complete 8-bit parallel, central processor bit 3-state Address Bus (A 0-A 15). Six timing and control unit (CPU) for use in general purpose digital computer sys­ outputs (SYNC, DBIN, WAIT/WR, HLDA and INTE) eman­ tems. It is fabricated on a single LSI chip (see Figure 2-1). ate from the 8080, while four control inputs (READY, using Intel's n-channel silicon gate MOS process. The 8080 HOLD, INT and RESET), four power inputs (+12v, +5v, transfers data and internal state information via an 8-bit, -5v, and GND) and two clock inputs (01 and 02) are ac_ bidirectional 3 - state Data Bus (D0-D7). Memory and peri­ cepted by the 8080. pheral device addresses are transmitted over a separate 16- Figure 2-1. 8080 Photomicrograph With Pin Designations ARCHITECTURE OF THE 8080 CPU matically during every instruction fetch. The stack pointer The 8080 CPU consists of the following functional maintains the address of the next available stack location in units: memory. The stack pointer can be initialized to use any • Register array and address logic portion of read-write memory as a stack. The stack pointer • Arithmetic and logic unit (A LU ) is decremented when data is "pushed" onto the stack and • Instruction register and control section incremented when data is "popped" off the stack (i.e., the • Bi-directional, 3-state data bus buffer stack grows "downward"). Figure 2-2 illustrates the functional blocks within The six general purpose registers can be used either as the 8080 CPU. single registers (8-bit) or as register pairs (16-bit). The temporary register pair, W ,Z, is not program addressable and is only used for the internal execution of instructions. Registers: Eight-bit data bytes can be transferred between the The register section consists of a static RAM array internal bus and the register array via the register-select organized into six 16-bit registers: multiplexer. Sixteen-bit transfers can proceed between the register array and the address latch or the incrementer/ • Program counter (PC) decrementer circuit. The address latch receives data from • Stack pointer (SP) any of the three register pairs and drives the 16 address • Six 8-bit general purpose registers arranged in pairs, output buffers (A0-A15), as well as the incrementer/ referred to as B,C; D ,E; and H ,L decrementer circuit. The incrementer/decrementer circuit • A temporary register pair called W,Z receives data from the address latch and sends it to The program counter maintains the memory address the register array. The 16-bit data can be incremented or of the current program instruction and is incremented auto­ decremented or simply transferred between registers. R EG IS TE R ARRAY Figure 2-2. 8080 CPU Functional Block Diagram Arithmetic and Logic Unit (ALU): THE PROCESSOR CYCLE The A LU contains the following registers: An instruction cycle is defined as the time required to fetch and execute an instruction. During the fetch, a • An 8-bit accumulator selected instruction (one, two or three bytes) is extracted from memory and deposited in the CPU's instruction regis­ • An 8-bit temporary accumulator (ACT) ter. During the execution phase, the instruction is decoded and translated into specific processing activities. • A 5-bit flag register: zero, carry, sign, parity and Every instruction cycle consists of one, two, three, auxiliary carry four or five machine cycles. A machine cycle is required each time the CPU accesses memory or an I/O port. The • An 8-bit temporary register (TMP) fetch portion of an instruction cycle requires one machine cycle for each byte to be fetched. The duration of the execu­ Arithmetic, logical and rotate operations are per­ tion portion of the instruction cycle depends on the kind formed in the A LU . The A LU is fed by the temporary of instruction that has been fetched. Some instructions do register (TMP) and the temporary accumulator (A CT) and not require any machine cycles other than those necessary carry flip-flop. The result of the operation can be trans­ to fetch the instruction; other instructions, however, re­ ferred to the internal bus or to the accumulator; the A LU quire additional machine cycles to write or read data to/ also feeds the flag register. from memory or I/O devices. The DAD instruction is an exception in that it requires two additional machine cycles The temporary register (TMP) receives information to complete an internal register-pair add (see Chapter 4). from the internal bus and can send all or portions of it to Each machine cycle consists of three, four or five the A LU , the flag register and the internal bus. states. A state is the smallest unit of processing activity and The accumulator (ACC) can be loaded from the A LU is defined as the interval between two successive positive­ and the internal bus and can transfer data to the temporary going transitions of the 01 driven clock pulse. The 8080 accumulator (ACT) and the internal bus. The contents of is driven by a two-phase clock oscillator. All processing activ­ the accumulator (ACC) and the auxiliary carry flip-flop can ities are referred to the period of this clock. The two non­ be tested for decimal correction during the execution of the overlapping clock pulses, labeled 01 and 02, are furnished DAA instruction (see Chapter 4). by external circuitry. It is the 0*| clock pulse which divides each machine cycle into states. Timing logic within the 8080 uses the clock inputs to produce a SYN C pulse, Instruction Register and Control: which identifies the beginning of every machine cycle. The SYNC pulse is triggered by the low-to-high transition of 02, During an instruction fetch, the first byte of an in­ as shown in Figure 2-3. struction (containing the OP code) is transferred from the internal bus to the 8-bit instruction register. The contents of the instruction register are, in turn, available to the instruction decoder. The output of the decoder, combined with various timing signals, provides the control signals for the register array, A LU and data buffer blocks. In addition, the outputs from the instruction decoder and external control signals feed the timing and state control section which generates the state and cycle timing signals. Data Bus Buffer: This 8-bit bidirectional 3-state buffer is used to #SYNC DOES NOT OCCUR IN THE SECOND AND THIRD MACHINE CYCLES OF A DAD INSTRUCTION SINCE THESE MACHINE CYCLES isolate the CPU's internal bus from the external data bus. ARE USED FOR AN INTERNAL REGISTER-PAIR ADD. (Do through D7). In the output mode, the internal bus content is loaded into an 8-bit latch that, in turn, drives the Figure 2-3.01,02 And SYNC Timing data bus output buffers. The output buffers are switched off during input or non-transfer operations. There are three exceptions to the defined duration of a state. They are the W A IT state, the hold (HLDA) state During the input mode, data from the external data bus and the halt (H LTA ) state, described later in this chapter. is transferred to the internal bus. The internal bus is pre­ Because the W AIT, the H LD A , and the H LTA states depend charged at the beginning of each internal state, except for upon external events, they are by their nature of indeter­ the transfer state (T3—described later in this chapter). minate length. Even these exceptional states, however, must be synchronized with the pulses of the driving clock. Thus, the contents of its H and L registers. The eight-bit data the duration of all states are integral multiples of the clock word returned during this M EM ORY READ machine cycle period. is placed in a temporary register inside the 8080 CPU. By To summarize then, each clock period marks a state; now three more clock periods (states) have elapsed. In the three to five states constitute a machine cycle; and one to seventh and final state, the contents of the temporary regis­ five machine cycles comprise an instruction cycle. A full ter are added to those of the accumulator. Two machine instruction cycle requires anywhere from four to eight- cycles, consisting of seven states in all, complete the teen states for its completion, depending on the kind of in­ "ADD M" instruction cycle. struction involved. At the opposite extreme is the save H and L registers (SHLD) instruction, which requires five machine cycles. Machine Cycle Identification: During an "SHLD" instruction cycle, the contents of the With the exception of the DAD instruction, there is processor's H and L registers are deposited in two sequen­ just one consideration that determines how many machine tially adjacent memory locations; the destination is indi­ cycles are required in any given instruction cycle: the num­ cated by two address bytes which are stored in the two ber of times that the processor must reference a memory memory locations immediately following the operation code address or an addressable peripheral device, in order to byte. The following sequence of events occurs: fetch and execute the instruction. Like many processors, (1) A FETCH machine cycle, consisting of four the 8080 is so constructed that it can transmit only one states. During the first three states of this address per machine cycle. Thus, if the fetch and execution machine cycle, the processor fetches the instruc­ of an instruction requires two memory references, then the tion indicated by its program counter. The pro­ instruction cycle associated with that instruction consists of gram counter is then incremented.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    45 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us