We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10
A memory that is part of a control unit
is referred as a control memory.
The user’s program in main memory consists of machine instructions and data. In contrast, the control memory holds a fixed microprogram that cannot be altered by the user. The microprogram consists of microinstructions that specify various internal control signals for execution of register microoperations. Each machine instruction initiates a series of microinstructions in control memory. The microinstructions generate the microoperations to fetch the instruction from main memory. Address Sequencing (Microprogram Sequencer) Microinstructions are stored in control memory in groups, with each group specifying a routine. The transformation from the instruction code bits to an address in control memory where the routine is located is referred as a mapping process. Conditional Branching The status bits, together with the field in the microinstruction specifies a branch address. The control and decision generated in this process in known as conditional branching. An unconditional branch microinstruction can be implemented by loading the branch address form control memory into the control address register. Subroutines They are programs that are used by other routines to accomplish a particular task. Microprograms that use subroutines must have a provision for storing the return address during a subroutine call and restoring the address during subroutine return. The address sequencing capabilities required in a control memory are: Incrementing of the control address register. Unconditional branch or conditional branch, depending on status bit conditions. A mapping process from the bits of the instruction to an address for control memory. A facility for subroutine call and return Microprogram Example Once the configuration of a computer and its microprogrammed control unit is established, the designer’s task is to generate the micro code for the control memory. This code generation is called microprogramming. It consists of two memory units; a main memory for storing instructions and data, and a control memory for storing microprograms. The four processor registers are PC, AR, DR and AC. The control unit has CAR and SBR. The transfer of information in the processor is done through Multiplexers. DR can receive information from AC, PC or memory. AR from PC or DR. PC only from AR. The ALU performs microoperations with data from AC and DR and places the result in AC. Input data written to memory come from DR and data read from memory can go only to DR. Difference between Hardwired and Microprogrammed control unit Design of Control Unit The bits of the microinstruction are usually divided into fields, with each field defining distinct, separate function. The fields provide control bits to initiate microoperation in the system, special bits to evaluate next address and an address field for branching. Each field requires a decoder to produce the control signals. The encoding of control bits is done by nine bits of microoperation fields (F1, F2 and F3). The control memory output of each subfield must be decoded to provide the distinct microoperations. Each of the three fields are decoded with a 3X8 decoder to provide eight outputs. Each of these outputs must be connected to the proper circuit to initiate the corresponding microoperation. For example, when F1= 101 (binary 5), the next clock pulse transition transfers the content of DR(0-10) to AR (symbolized by DRTAR). Similarly, when F1= 110 (binary 6) there is a transfer from PC to AR (symbolized by PCTAR). Outputs 5 and 6 of decoder F1 are connected to the load input of AR so that when either one of these outputs is active, information form MUX is transferred to AR. Multiplexers select information from DR when output 5 is active and from PC when output 5 is inactive. The transfer into AR occurs with a clock pulse when output 5 or 6 are active. In the ALU, instead of using gates (AND, ADD, DR) to generate the control signals, these inputs will now come from outputs of decoders with symbols, AND, ADD and DRTAC. The other outputs of decoders that are associated with an AC operation must also be connected to arithmetic logic shift unit. Questions • What is control memory, and how is it used in computer architecture? • How does address sequencing work in a computer system, and what are some common techniques used for this purpose? • Can you provide an example of a microprogram, and explain how it is used in the control unit of a computer? • What are the key considerations when designing a control unit for a computer system, and how do these impact the overall performance and functionality of the system? • How does the control unit interact with other components of a computer, such as the CPU, memory, and I/O devices? • What are some common challenges that arise when designing a control unit, and how can these be addressed effectively? • How do different programming languages and architectures impact the design and implementation of a control unit? • Can you explain the role of the control unit in executing instructions in a computer system, and how this process is managed and optimized? • What are some common techniques used for debugging and testing control units, and how can these be applied effectively in practice? • How do advances in technology and hardware impact the design and implementation of control units, and what are some emerging trends in this field?