Automated Vertical Migration to Dynamic Microcode: An Overview and Example

R.I. Winner, E.M. Carter
1986 IEEE Software  
We can achieve more optimal function assignments betwveen microcode and software levels by applying techniques described herein to statkcally or dynamically mkrprgrmnd prcso d esign M.Co Escher, Ascending and Descending, 1960 © M.C. Escher Heirs c/o Cordon F irmware engineering provides a method for system Modern computer systems can be viewed as hierarchically tuning-one of its most promising uses. A technique arranged interpreters, each level interpreting the next level up and F called
more » ... l migration moves functions from highproviding it with primitive operations. Using primitive operations level applications into control store, improving performance found in the macroarchitecture, forexample, microprograms interappreciably. The term dynamic microprogramming describes the pret machine language instructions. loading of a control store with different functions throughout the We shall refer to one skill involved in designing a computer syslifetime of a process (including the operating system). We can have tem (that is, proper function placement in specific hierarchical a useful system-tuning environment ifwe select vertical-migration levels) as architecture binding. Such placement requires that syscandidates in an automated manner, and if we migrate them to tem architects (1) make subjective judgments regarding applicacontrol store in a transparent manner. tions to be run on machines and (2) optimize performance for the most likely applications-resulting in architectures tuned for a specific problem class. Unless architects have perfect foresight, An overview the resulting architecture may be unsuited for other problems. This article overviews vertical migration and dynamic micro-Myers' describes this architectural tendency to improperly supprogramming, highlights their benefits, and (concentrating on port many problems as the "semantic gap." One solution would interfaces between the various involved software elements) delay binding until the problems to be run are described. Vertidescribes a general vertical-migration system. We will describe an cal migration, allowing the late binding of an architecture, moves exemplary automated vertical-migration system called ATOM functions from one computer system level to another. Primitives (abstract type-oriented migration) and will discuss and relate a supporting an abstract data type (a queue data structure, for examgeneral dynamic microprogramming management scheme to the ple) might be moved from an application program into a programexample implementation. ming language-as in the Ada rendezvous. Primitives might also 6 0740-7459/86/0700/0006$01.00 ( 1986 IEEE IEEE SOFTWARE
doi:10.1109/ms.1986.233748 fatcat:jwa7n4xmsnej7p5lwvi3hhzf2q