You are on page 1of 2

at a disadvantage.

On the other hand, the same techniques used to speed up the operation of the main processor-pipelining, prefetching, and so on-can be used to speed up microinstruction access. Another reason for the increasing popularity of hardwiring is the advent of advanced software tools for PLA or PAL design. The PLA is, after all, at the heart of the hardwired controller. It is risky to predict the total demise of microcoding, however.Some observers see RISC instructions as coarse grained microcode. It is coarse-grained in the sense that one CISC instruction can be broken up into several RISC instructions, just as a single macroinstructions is broken up into several microinstructions. One current difference is that RISC instructions are still highly encodedvertically encoded, you could say. The reason for the encoding is the cost of memory. Perhaps in the future, as memory price continue to fall, architectures will emerge in witch microinstruction are stored in main memory, to be fetched and immediately executed without any decoding being required. This world do away with instruction sets as we know today, replacing them with microinstruction sets. The compiler will then convert the high-level language program directly into register transfers, in effect designing custom microinstruction sequences tailored to the particular problem. Kay Concepts: Hardwired versus Microcoded Control Units The hardwired and microcode methods from two radically different approaches to control unit design. Each has advantages and disadvantages when performance and cost are compared:


 

Speed: Hardwired control units win hands down in the speed category. They have a latency of just a few gate delays, considerably less than microcoded control units, which must perform a memory fetch for each control step. This can be improved somewhat by pipelining memory requests. Ease of prototyping: The microcode design approach wins here, since it is generally easier to reprogram a memory chip than to reprogram random logic. Flexibility of use : Once again, microcoding is superior when the designer wishes to change instruction sets. This might be desirable for instruction set upgrades or when several instruction sets are to be emulated.

The characteristics of the two approaches as summarized in the preceding list tend to favor hardwired units when a processor is to be put into high-volume production, and to favor microcoding when developing prototypes or when manufacturing small quantities. Summary Having shown how to design a computer with unified data paths and a hardwired control unit in Chapter 4, we show in this chapter several alternate techniques of machine design.


Pipelining is a way to make a machine faster by executing multiple instructions simultaneously. The method requires a bit more hardware because each pipeline stage must be able to operate independently, but is has potential of issuing a new instruction every clock cycle. Pipeline hazards are an impediment to reaching the potential of a fully utilized pipeline. Hazards can be addressed by stalling the pipeline, by forwarding results to instructions that need them, by having the compiler insert nops, or by a combination of these techniques.

 

To take fuller advantage of the pipeline, the rules of instructions set usage are usually modified to include the effect of delayed loads, stores, and branches. Multiple-instruction-issue machine remove the limitation, inherent in pipelining, that only a single instruction can be issue per clock cycle. Dynamic multi-issue, or superscalar, machines, and static multi-issue, or VLIM machines, have multiple functional units, and can start more than one instruction at a time. Their scheduling methods and hazard management are quite complex. Consult the bibliography section for more details. Microprogramming is a software like method for control unit design. It treats the control sequence generator as a simple computer. Microprogramming can be used for rapid prototyping of new design, or for the design of small controllers where the speed demand is moderate.

Bibliography Other computer design texts present pipelining as a design alternative include the following: M. Morris Mano, Computer System Architecture, 3rd ed., Prentice-Hall, Englewood Cliffs, NJ, 1993. Arthur B. Maccabe, Computer Systems: Architecture, Organization, and Programing,Richard D. Irwin, Boston, MA, 1993. Extensive treatments of pipelining can be found in: David A. Patterson and John L. Hennessy, Conputer Organization and Design: The hardware/software interface, Morgan Kaufman, San Francisco, CA, 1994.

You might also like