GoConqr has a new look! Let us know what you think.

Mind map

CONTROL OF THE PROCESSOR

Natzu villalobos Spanish

Map content

CONTROL OF THE PROCESSOR

  1. Functional Requirements As a result of our analysis in the preceding section, we have decomposed the behavior or functioning of the processor into elementary operations, called micro-operations. By reducing the operation of the processor to its most fundamental level, we are able to define exactly what it is that the control unit must cause to happen. Thus, we can define the functional requirements for the control unit: those functions that the control unit must perform. A definition of these functional requirements is the basis for the design and implementation of the control unit. With the information at hand, the following three-step process leads to a characterization of the control unit: 1. Define the basic elements of the processor. 2. Describe the micro-operations that the processor performs. 3. Determine the functions that the control unit must perform to cause the micro-operations to be performed. We have already performed steps 1 and 2. Let us summarize the res

    • • Sequencing: The control unit causes the processor to step through a series of micro-operations in the proper sequence, based on the program being executed
      • The preceding is a functional description of what the control unit does. The key to how the control unit operates is the use of control signals.
    • • Execution: The control unit causes each micro-operation to be performed.
  2. Control Signals: We have defined the elements that make up the processor (ALU, registers, data paths) and the micro-operations that are performed. For the control unit to perform its function, it must have inputs that allow it to determine the state of the system and outputs that allow it to control the behavior of the system. These are the external specifications of the control unit. Internally, the control unit must have the logic required to perform its sequencing and execution functions. We defer a discussion of the internal operation of the control unit to Section 19.3 and Chapter 20. The remainder of this section is concerned with the interaction between the control unit and the other elements of the processor.

    • Clock: This is how the control unit “keeps time.” The control unit causes one micro-operation (or a set of simultaneous micro-operations) to be performed for each clock pulse. This is sometimes referred to as the processor cycle time, or the clock cycle time.
    • Instruction register: The opcode and addressing mode of the current instruction are used to determine which micro-operations to perform during the execute cycle.
      • The outputs are as follows
        • Control signals within the processor: These are two types: those that cause data to be moved from one register to another, and those that activate specific ALU functions.
          • Three types of control signals are used: those that activate an ALU function, those that activate a data path, and those that are signals on the external system bus or other external interface. All of these signals are ultimately applied directly as binary inputs to individual logic gates. Let us consider again the fetch cycle to see how the control unit maintains control. The control unit keeps track of where it is in the instruction cycle. At a given point, it knows that the fetch cycle is to be performed next. The first step is to transfer the contents of the PC to the MAR. The control unit does this by activating the control signal that opens the gates between the bits of the PC and the bits of the MAR. The next step is to read a word from memory into the MBR and increment the PC. The control unit does this by sending the following control signals simultaneously: • A control signal that opens gates, allowing the contents of the MAR onto the address bus • A memory read contr
        • Control signals within the processor: These are two types: those that cause data to be moved from one register to another, and those that activate specific ALU functions.
    • Flags: These are needed by the control unit to determine the status of the processor and the outcome of previous ALU operations. For example, for the increment-and-skip-if-zero (ISZ) instruction, the control unit will increment the PC if the zero flag is set.
      • The outputs are as follows
    • Control signals from control bus: The control bus portion of the system bus provides signals to the control unit.
  3. A Control Signals Example To illustrate the functioning of the control unit, let us examine a simple example. Figure 19.5 illustrates the example. This is a simple processor with a single accumulator (AC). The data paths between elements are indicated. The control paths for signals emanating from the control unit are not shown, but the terminations of control signals are labeled Ci and indicated by a circle. The control unit receives inputs from the clock, the instruction register, and flags. With each clock cycle, the control unit reads all of its inputs and emits a set of control signals. Control signals go to three separate destinations

    • Data paths: The control unit controls the internal flow of data. For example, on instruction fetch, the contents of the memory buffer register are transferred to the instruction register. For each path to be controlled, there is a switch (indicated by a circle in the figure). A control signal from the control unit temporarily opens the gate to let data pass.
    • ALU: The control unit controls the operation of the ALU by a set of control signals. These signals activate various logic circuits and gates within the ALU.
      • The control unit must maintain knowledge of where it is in the instruction cycle. Using this knowledge, and by reading all of its inputs, the control unit emits a sequence of control signals that causes micro-operations to occur. It uses the clock pulses to time the sequence of events, allowing time between events for signal levels to stabilize. Table 19.1 indicates the control signals that are needed for some of the micro-operation sequences described earlier. For simplicity, the data and control paths for incrementing the PC and for loading the fixed addresses into the PC and MAR are not shown.
        • It is worth pondering the minimal nature of the control unit. The control unit is the engine that runs the entire computer. It does this based only on knowing the instructions to be executed and the nature of the results of arithmetic and logical operations (e.g., positive, overflow, etc.). It never gets to see the data being processed or the actual results produced. And it controls everything with a few control signals to points within the processor and a few control signals to the system bus.
    • System bus: The control unit sends control signals out onto the control lines of the system bus (e.g., memory READ).
  4. Internal Processor Organization: indicates the use of a variety of data paths. The complexity of this type of organization should be clear. More typically, some sort of internal bus arrangement, as was suggested in Figure 14.2 (Internal Structure of the CPU), will be used. Using an internal processor bus, Figure 19.5 can be rearranged as shown in Figure 19.6. A single internal bus connects the ALU and all processor registers. Gates and control signals are provided for movement of data onto and off the bus from each register. Additional control signals control data transfer to and from the system (external) bus and the operation of the ALU. Two new registers, labeled Y and Z, have been added to the organization. These are needed for the proper operation of the ALU. When an operation involving two operands is performed, one can be obtained from the internal bus, but the other must be obtained from another source. The AC could be used for this purpose, but this limits the fle

    • t1: MAR ← (IR(address)) t2: MBR ← Memory t3: Y ← (MBR) t4: Z ← (AC) + (Y) t5: AC ← (Z)
      • Other organizations are possible, but, in general, some sort of internal bus or set of internal buses is used. The use of common data paths simplifies the interconnection layout and the control of the processor. Another practical reason for the use of an internal bus is to save space.
  5. The Intel 8085: To illustrate some of the concepts introduced thus far in this chapter, let us consider the Intel 8085. Its organization is shown in Figure 19.7. Several key components that may not be self-explanatory

    • Incrementer/decrementer address latch: Logic that can add 1 to or subtract 1 from the contents of the stack pointer or program counter. This saves time by avoiding the use of the ALU for this purpose.
    • Interrupt control: This module handles multiple levels of interrupt signals.
    • Serial I/O control: This module interfaces to devices that communicate 1 bit at a time.
      • Table 19.2 describes the external signals into and out of the 8085. These are linked to the external system bus. These signals are the interface between the 8085 processor and the rest of the system (Figure 19.8). The control unit is identified as having two components labeled (1) instruction decoder and machine cycle encoding and (2) timing and control. A discussion of the first component is deferred until the next section. The essence of the control unit is the timing and control module. This module includes a clock and accepts as inputs the current instruction and some external control signals. Its output consists of control signals to the other components of the processor plus control signals to the external system bus.
        • High Address (A15–A8) The high-order 8 bits of a 16-bit address. Address/Data (AD7–AD0) The lower-order 8 bits of a 16-bit address or 8 bits of data. This multiplexing saves on pins. Serial Input Data (SID) A single-bit input to accommodate devices that transmit serially (one bit at a time). Serial Output Data (SOD) A single-bit output to accommodate devices that receive serially. Timing and Control Signals CLK (OUT) The system clock. The CLK signal goes to peripheral chips and synchronizes their timing. X1, X2 These signals come from an external crystal or other device to drive the internal clock generator. Address Latch Enabled (ALE) Occurs during the first clock state of a machine cycle and causes peripheral chips to store the address lines. This allows the address module (e.g., memory, I/O) to recognize that it is being addressed. Status (S0, S1) Control signals used to indicate whether a read or write operation is taking place. IO/M Used to enable either I/O or memory m
          • The timing of processor operations is synchronized by the clock and controlled by the control unit with control signals. Each instruction cycle is divided into from one to five machine cycles; each machine cycle is in turn divided into from three to five states. Each state lasts one clock cycle. During a state, the processor performs one or a set of simultaneous microoperations as determined by the control signals. The number of machine cycles is fixed for a given instruction but varies from one instruction to another. Machine cycles are defined to be equivalent to bus accesses. Thus, the number of machine cycles for an instruction depends on the number of times the processor must communicate with external devices. For example, if an instruction consists of two 8-bit portions, then two machine cycles are required to fetch the instruction. If that instruction involves a 1-byte memory or I/O operation, then a third machine cycle is required for execution. Figure 19.9 gives an example o
            • generates internal control signals that control internal data transfers. The diagram shows the instruction cycle for an OUT instruction. Three machine cycles (M1, M2, M3) are needed. During the first, the OUT instruction is fetched. The second machine cycle fetches the second half of the instruction, which contains the number of the I/O device selected for output. During the third cycle, the contents of the AC are written out to the selected device over the data bus. The Address Latch Enabled (ALE) pulse signals the start of each machine cycle from the control unit. The ALE pulse alerts external circuits. During timing state T1 of machine cycle M1, the control unit sets the IO/M signal to indicate that this is a memory operation. Also, the control unit causes the contents of the PC to be placed on the address bus (A15 through A8) and the address/data bus (AD7 through AD0). With the falling edge of the ALE pulse, the other modules on the bus store the address. During timing state

Information

Description
Mind Map on CONTROL OF THE PROCESSOR, created by Natzu villalobos on 30/04/2018.
Views
2
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?