Microprogramming and Its Relationship to Emulation and Technology*
Total Page:16
File Type:pdf, Size:1020Kb
MICROPROGRAMMING AND ITS RELATIONSHIP TO EMULATION AND TECHNOLOGY* Samuel H. Fuller and Victor R. Lesser Carnesie-Mellon University Pittsburgh, Pennsylvania C. Gordon Bell and Charles Kaman Digital Equipment Corporation Maynard, Massachusetts ABSTRACT data paths; or features of a processor's realization, such as the speed of main memory to that of the control (micro-) This paper is a survey of the development and future memory, are easily rejected on the basis of existing trends in rnicroprograrnrning. We show how the structure of processors that are commonly recosnized to be rnicroprograrnmed processors has been shaped primarily by microprogramrned processors yet do not possess the required two factors= the state of (semiconductor) technology and the features. task of emulation. The other main theme of this article is that it is a fruitless exercise to try to characterize and understand Most of this confusion in alternative definitions of microprograrnming in terms of how it differs from 'regular' microprograrnrning comes from the fact that it has been used programming. The right approach to understanding in two very different ways: (1) in a technological manner to microprogramrning is to recognize that it is primarily applied economically implement a complex instruction set or a small to the task of emulation (interpretation). Through this number of different instruction sets on a single processor, approach the evolution of rnicroprograrnming, independent of and (2) in a software manner to provide programmers with an a particular technology and type of instruction set being extra degree of representational freedom, i.e. develop emulated, is reviewed and future trends indicated. multiple instruction sets, each one appropriate for a particular task domain. The technological use of i. INTRODUCTION microprogramrning was the dominant justification for the development of rnicroprogrammable processors in the 1960's. The structure of microprogrammed processors, and But as the cost of software began to become the major cost microprogramrning in general, is largely determined by two of a computer system, the use of microprol~ramming as a factors= the state of (semiconductor) technology and the task technique for making a computer more convenient to prot~ram of emulation. Therefore, this article first reviews those has and will continue to become the more important technological advances as well as those constraints and application. demands imposed by the emulation process that have shaped the evolution of microprogramming. The remainder of this The right approach to understanding microprogramming article then uses these observations to put the past is to recognize that it is primarily applied to the task of developments of rnicroprogramming in perspective and emulation (interpretation). Through this approach it is possible to understand and predict the evoluton of forecast the major developments in the years ahead. rnicroprograrnnrning independent of a particular technology and type of instruction set being emulated. The other main theme of this article is that it is a fruitless exercise to try to characterize and understand The process of emulation will be taken up in rnicroprograrnrning in terms of how it differs from 'regular' considerably more depth in Section 3, but it will be useful programming. The futility of this approach can be seen by here in the introduction to briefly look at the different the numerous, contradictory definitions on microprogramming processors used to emulate a BAS]C machine. On the one in the literature [Rosin, 1969; Wilkes, 1969~ Mallach, 1972]. hand there are the Hewlett-Packard 2100, DEC PDP-11, and Attempts to base a definition on features of a processor's PDP-8 that have time-sharing systems supporting BASIC. architecturep such as horizontal instruction formats, lack of an The only language available to the user is BASIC and he has explicit program counter, or visibility of real registers and no way of knowing the architecture of the processor. On the other hand there are the BASIC programmable calculators available from Hewlett-Packard [Spagler, 1972] and Wang Laboratories that operate as BASIC machines= the input keys *This paper accepted for publication in State 0.1 t.b.e,,. and the displays are tailored to the BASIC language. It is Reoort ~ MicroDro~rarnmin~ ~;1. ,S...ystenq~ Architecture. difficult to insist that the HP-2100, PDP-11, and PDP-8 are Infotech Ltd., Berkshire, U.K. (1974). not rnicroprograrnmed processors while the 'hidden' processors in the HP and Wang BASIC calculators are This work was partially supported by the.Advanced Research rnicroprogramrned. The only characteristic all these Projects Agency of the Office of the Secretary of Defense processors have in common is that they are emulating BASIC (Contract F44620-73-C-0074) and is monitored by the Air and a 8ood case can be made for dropping the term Force Office of Scientific Research. 'rnicroprograrnrning' altogether and simply use 'emulation' in 151 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 ]i i;4 / [] programming as it applies to emulation (and interpretation) rather than programming in general. = t ;~:'o:~:;. Following our discussion of technology and emulation, this article then discusses specific hardware and software 5 I techniques for emulation. A number of different types of ACInputs $1ge) (e,g, I microprogrammed processors are also included as examples. 2. SEMICONDUCTOR TECHNOLOGY (! The state of the art in semiconductor electronics has *Tim4 State Generator. had a profound effect on the feasibility of microprogramming. Prior to the 1960's the only effective means of implementing a high speed control store was to use a diode matrix. This was the technology used by Whirlwind ! [Everett, 1951] and by' Wilkes in his original paper on microprogramming [Wilkes fro order register and Stringer, 1953]. Figures 2.1 and 2.2 show the structure of these control units. As long as these diodes were discrete components a control store of any reasonable size was too expensive to compete with alternate implementations using random logic (e.g. about 35,000 bits of control storage are .... '="°°" t required to implement the full PDP-11/40 architecture while the Whirlwind ! had only 4,800 'bits' in its control store). It is important to realize that both of these structures are just c~b:;::l..... 0..... the control part of the processor and are an alternative to conventional sequential control circuits as shown in Figure 2.3. It was not until the middle and late 1960's that integrated-circuit technology advanced to the point that economic read-only-memories (ROMs) and read-write memories (RAMs) became a practical reality. It stands to the * RTrroprogram address register, or fl~aster-slave registers, credit of [BM's engineers that they were able to develop the |BM System/360 series of machines via microprogramming in the early 1960%; every model in the early IBM 360 line used a different, non-semiconductor technique to implement its control store. These ingenuous, but admittedly cumbersome and costly techniques could be laid aside when the ]I3M 370 series of machines were implemented since integrated circuit technology had advanced to the stage that semiconductor control stores were reliable. Figure 2.4 illustrates the basic structure of current microprogram control units. Semiconductor memories suitable for control stores in microprogrammed processors are now at the stage where ,.Pu., ll~L°°" = ou..u., 256 bit/package RAMs and 1K (1024) bit/package ROMs are in wide use in present processors and 1K RAMs and 4K ROMs are being designed into the newer processors. 4K RAMs and 16K ROMs have been announced and are available in limited quantities, but in general they are too slow to be seriously considered for control stores. For well over lO years now semiconductor manufacturers have set a pace where the commercially feasible chip complexity (i.e., number of devices per chip) has roghly doubled every one to two years. For example, the 4K bit~package RAM (13,000 devices) was introduced roughly Memory arrays are not the only development in two and one half years after the 1K bit (4000) RAM. There is semiconductor technology that are having a significant effect every reason to believe that this trend will continue for at on the structure of microprogrammed processors. Two other least the next four to six years. Hence we face a situation very important developments are the programmable logic where we can expect to see the size of control stores array (PLA) and shifters. The basic structure of a PLA is growing as technology encourages designers to use more shown in Figure 2.5. It is a two-level combinatorial logic control storage to cut costs in other areas, improve the circuit that is 'wired' for a specific application by the performance of the microprocessors, or add additional masking, or metalization, that is used. The PLA has the same capabilities. outward characteristics of a ROM except that it would take a ROM with several orders of magnitude more devices to match the function of the PLA in many applications. For example, a 152 NCxC Store n~dlflcts PLAs do not lend themselves to dynamic alternations; ..... [-~-'F~-] ''~ there is no natural addressing mechanism for each of the from L • ,.~I SEnaTOR 1 • • Next sca~e order II o . make-or-break points in the PLA structure. A dynamically rcglster and ~, + ¢onditlon~l i alterable component that could be used much like a PLA is an Znp~ts ~ . associative memory. Associative memories have been toted Coe~ro~ to:o l " ' for some time now as a panacea for many problems but have "select I I" I.put yet to prove to be a cost effective unit. However, as the number of pins per package becomes more of a limitation .