The Effects of Emerging Technology and Emulation Requirements on Microprogramming
Total Page:16
File Type:pdf, Size:1020Kb
IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 10, OCTOBER 1976 The Effects of Emerging Technology and Emulation Requirements on Microprogramming SAMUEL-H. FULLER, MEMBER, IEEE, VICTOR R. L~SSER,C. GORDON BELL, FELLOW, IEEE, AND CHARLES H. KAMAN, MEMBER, IEEE Abstract-The structure of microprogrammed processors is such as the speed of main memory to that of the control largely determined by the state of (semiconductor) technology and (micro) memory, are easily rejected on the basis of existing the requirements of the task of emulation. We discuss the impact processors that are commonly recognized to be micropro- of LSI components on micruprogrammable processors and in par- ticular, the effect of large memory arrays, LSI microprocessors grammed processors yet do not possess the required fea- (bit-slices), programmable logic arrays, and high-speed shifters. tures. A secondary theme of this article is that microprogramming Most of this confusion in alternative definitions comes differs very little from "regular" programming. We argue that the from the fact that microprogramming has been used in two right approach to understanding microprogramming is to recognize very different ways: 1) as a hardware implementation that it is primarily applied to the task of emulation. We review the requirements of the emulation (interpretation) task and indicate technique to economically implement a complex instruc- what capabilities a microprogrammable processor needs to have tion set or a small number of different instruction sets on in order to make the process of emulation efficient. We conclude a single processor, and 2) as a software technique to provide with a taxonomy of microprogrammable processors. programmers with an extra degree of representational Index Terms-Emulation, interpretation, microprocessor, mi- freedom, i.e., develop multiple instruction sets, each one croprogramming, semiconductor technology. appropriate for a particular task domain. The technolog- ical use of microprogramming has been the dominant justification for the development of the vast majority of I. INTRODUCTION microprogrammable processors in the past decade. But ps HE STRUCTURE of microprogrammed processors, the cost of software began to become the major cost of a T and microprogramming in general, is largely deter- computer system, the use of microprograming as a tech- mined by two factors: the state of (semiconductor) tech- nique for making a computer more convenient to program nology and the task of emulation. Therefore, this article has and will continue to become the more important ap- first reviews those technological advances as well as those plication. constraints and demands imposed by the emulation pro- The most direct approach to understanding micropro- cess that have shaped the evolution of microprogramming. gramming is to recognize that it is primarily applied to the We then use these observations to put the past develop- task of emulation (interpretation). Through this approach ments of microprogramming in perspective and forecast it is possible to understand and predict the evolution of the major developments in the years ahead. microprogramming independent of a particular technology The other main theme of this article is that trying to. and type of instruction set being emulated. characterize and understand microprogramming in terms The process of emulation will be taken up in consider- of how it differs from "regular" programming is a fruitless ably more depth in Section 111, but it will be useful here to exercise. The futility of this approach can be seen by the briefly look at the different processors used to emulate a numerous, contradictory definitions on microprogramming Basic machine. On the one hand there are the Hewlett- in the literature (Rosin [14], Wilkes [21], Mallach [lo]). Packard 2100, DEC PDP-11, and PDP-8 that have time- Attempts to base a definition on features of a processor's sharing systems supporting Basic. The only language architecture, such as horizontal instruction formats, lack available to the user is Basic and the architecture of the of an explicit program counter, or visibility of real registers processor is hidden from him. On the other hand there are and data paths, or on features of a processor's realization, the Basic programmable calculators available from IBM (i.e., the IBM 5100), Hewlett-Packard (Spagler [15]), and Manuscript received June 16,1975;revised March 29,1976. This work Wang Laboratories that operate as Basic machines: their was supported in part by the Advanced Research Projects Agency of the input keys and displays are tailored to the Basic language. Office of the Secretary of Defense under Contract F44620-73-C-0074 and was monitored by the Air Force Office of Scientific Research. It is difficult to insist that the HP-2100, PDP-11, and S. H. Fuller and V. R. Lesser are with the Department of Computer PDP-8 are not microprogrammed processors while the Science, Carnegie-Mellon University, Pittsburgh, PA 15213. C. G. Bell was on leave at the Departments of Engineering and Com- "hidden" processors in the IBM, HP, and Wang Basic puter Science, Carnegie-Mellon University, Pittsburgh, PA 15213. He calculators are microprogrammed. The only characteristic is with the Digital Equipment Corporation, Maynard, MA. C. H. Kaman is with the Digital Equipment Corporation, Maynard, all these processors have in common is that they are em- MA. ulating Basic and a good case can be made for dropping the Copyright @I976 by The Institute of Electrical and Electronics Engineers, Inc. Printed in U.S.A. Annals No. 6 10CXQ05 FIJLLER et al.: EMERGING TECHNOLOGY AND EMULATION 1001 term "microprogramming" altogether and simply using "emulation" in its place. However, we will continue to use the term "microprogramming" here since it is so widely used and it is a convenient way to indicate that we are discussing programming as it applies to emulation (and interpretation) rather than programming in general. Following our discussion of technology and emulation, we then discuss specific hardware and software techniques I for emulation. A number of different types of micropro- order grammed processors are also included as examples. register - inputs (time state sign) generator) The state of the art in semiconductor electronics has had a profound effect on the feasibility of microprogramming. Prior to the 1960's the only effective means of imple- Fig. 1. M.I.T. Whirlwind control unit. menting a high-speed control store was to use a diode matrix. This was the technology used by Whirlwind I (Everett [3]) and suggested by Wilkes in his original paper announcements of 16 kbitlpackage RAM's continue this on microprogramming [22]. Figs. 1 and 2 show the struc- trend. There is every reason to believe that this trend will continue for at least the next 4 to 6 years. Hence we face ture of these control units. As long as these diodes were a situation where we can expect to see the size of control discrete components, a control store of any reasonable size was too expensive to compete with alternate implemen- stores growing as technology encourages designers to use tations using random logic (e.g., over 30 000 bits of control more control storage to cut costs in other areas, improve storage are required to implement the full PDP-11 archi- the performance of the microprocessors, or add additional tecture on the DEC LSI-11, while the Whirlwind I had only capabilities. 4800 "bits" in its control store). It is important to realize The other LSI components that are having a major im- that both structures are just the control parts of their pact on the evolution of microprogramming are the LSI processors and are alternatives to conventional sequential microprocessor chip sets.l The Intel 3000 2-bit processor control circuits as shown in Fig. 3. It was .not until the bit-slice,2 the AMD 2901 4-bit processor bit-slice, and the middle and late 1960's that integrated-circuit technology Western Digital microprocessor set are the most popular advanced to the level that economic read-only memories versions of this type of component. These LSI micropro- (ROM's) and read-write memories (RAM's) became a cessor components implement the major registers, data practical reality. It stands to the credit of IBM's engineers paths, and arithmetic unit in LSI packages. They all rely that they were able to develop the IBM System1360 series on microprogramming to specialize their behavior to the of machines via microprogramming in the early 1960's; appropriate "target" architecture (e.g., PDP-11, HP-2100, every model in the early IBM 360 line used a different, disk channel, communications processor). Since it will be nonsemiconductor technique to implement its control much more cost-effective to implement the next generation store. These ingenious, but admittedly cumbersome and of small computers using these LSI microprocessor com- costly, techniques could be laid aside when the IBM S/370 ponents, microprogramming will take on an even more series of machines were implemented since integrated- central role in the implementation of small computers. circuit technology had advanced to the stage that semi- Memory arrays and LSI processors are not the only conductor control stores were reliable. Fig. 4 illustrates the basic structure of current microprogrammed control By now, the term microprocessor has hecome a terribly overworked units. word. It is commonly used in at least three ways. 1)A microprogrammable processor. In other words, the processor that Semiconductor memories suitable for control stores in fetches and executes the microinstruction sequence which is used to microprogrammed processors are now at the stage where emulate the "target" machine. We will continue to call this processor a microprogrammable processor. 1024 bitlpackage RAM's and 4K (K = 1024) bitlpackage 2) A processor with very small data types (e.g., 8-bit words), a relatively ROM's are in wide use in present processors and 2K limited instruction set, and usually implemented in one or a small number of LSI packages.