A dynamically microprogrammed processor is characterized by a small (4 ~ 64-bit word) read-write "micro" storage. The access time of this storage is similar to the cycle time of the machine (50-100 nsec). This microstorage is used to contain both data and subroutines. The (micro) instructions in such a processor differ from the conventional in that they perform only purely combinatorial operations; sequencing is under the control of the microinstruction. The presence of the read-write microstorage permits a more flexible assignment of resources than the read-only storage. In particular, the processor developed in this paper stresses the simultaneous operation (within the microinstruction) of the adder, shifter, masker, and testing facilities of the processor. A microassembly language is developed and the overhead involved in subroutine linkages is analyzed. The efficiency of a flexible software linkage scheme is examined as to its overhead for various subroutine characteristics. Finally, three examples of problem-oriented programming are considered and the resulting coding is compared against a System/360 assembly language version, with the technology normalized.
[1]
Alan J. Melbourne,et al.
A Small Computer for the Direct Processing of FORTRAN Statements
,
1965,
Comput. J..
[2]
Robert F. Rosin.
Contemporary Concepts of Microprogramming and Emulation
,
1969,
CSUR.
[3]
Michael J. Flynn,et al.
System Design of a Dynamic Microprocessor
,
1970,
IEEE Transactions on Computers.
[4]
Michael J. Flynn,et al.
Microprogramming revisited
,
1967,
ACM '67.
[5]
Helmut Weber.
A microprogrammed implementation of EULER on IBM system/360 model 30
,
1967,
CACM.
[6]
Harold W. Lawson.
Programming-Language-Oriented Instruction Streams
,
1968,
IEEE Transactions on Computers.