The design of a digital system, especially a CPU, consists of two typical individual parts: the control unit and the data processing unit. The function of a control unit is to issue control signals to the data processing unit at specified times that selects and sequences the desired data processing operations. Control units can be implemented by way of two distinctive fundamental approaches: hardwired control and microprogrammed control, and both these approaches with their salient features and implementation details have been discussed in the text with their individual strengths and drawbacks. Microinstructions are often interpreted by nanoinstructions which directly control the hardware. The primary objective of the nanoprogramming approach is to save costly CM space, but at the cost of indulging considerably slower execution due to a two-level CM arrangement that is operated in sequence and can never be overlapped. Nanoprogramming is best suited and is found to be most effective when the same microinstructions in CM are found in heavy use.
- 6.1 Give the scheme of a generalized approach of a control unit module indicating the different types of inputs it requires and the corresponding various types of outputs it generates.
- 6.2 Describe the implementation technique of a hardwired control unit showing the inputs to be required and the purpose of using these inputs in this implementation.
- 6.3 Show the micro-operations and related control signals arbitrarily (in the same manner as shown in Figure 6.2 in the website: http://routledge.com/9780367255732) for the following instructions:
i. Load accumulator
ii. Store accumulator
iii. Add to accumulator
iv. Complement accumulator
6.4 Explain the difference between hardwired control and microprogrammed control. Define:
- 6.5 Explain with an arbitrary example the microinstruction format for the CM and show with a diagram how mapping is done from an instruction code to microinstruction format. Is it possible to design a microprocessor without a microprogram? Are all microprogrammed computers also microprocessors?
- 6.6 What is CM and CW? Explain the organisation of CM. How control unit is implemented using CM?
- 6.7 Assume that a simple CPU has four major phases to its instruction cycle: fetch, indirect, execute, and interrupt. Two 1-bit flags designate the current phase in a hardwired implementation.
a. Why these flags are needed?
b. Why they are not needed in a microprogrammed control unit?
- 6.8 What are the factors required to be considered at the time of designing microinstructions?
- 6.9 Describe with a diagram the implementation technique used in the organisation of a microprogrammed control unit.
- 6.10 What do you mean by horizontal microprogramming and vertical microprogramming? Compare these two approaches of microprogramming. Explain with an example a horizontal microinstruction format and a vertical microinstruction format.
- 6.11 "Microprogramming technique is an innovative approach". Discuss its merits and drawbacks. What are the areas where this approach can be profitably used? Explain one such area along with the implementation of this technique.
- 6.12 What do you mean by nanoprogramming? Explain with an example how nanoprogramming improves the performance of microprogramming environment.
Segee, B. and Field, J. Microprogramming and Computer Architecture. New York: Wiley, 1991.
Carter, J. Microprocessor Architecture and Microprogramming. Upper Saddle River, NJ: Prentice-Hall, 1996.
Vassiliadis, S., Wrong, S., and Cotofana, S. "Microcode processing: Positioning and directions." lEEEMicro, vol. 23, no. 4, pp. 21-30, July-August 2003.