Microprogramming: A tool for vertical migration

Abstract The term vertical migration refers to a performance improvement technique in which the selected functions or program primitives are moved to an optimal lower level within the multiple levels (layers) of a software/firmware hierarchy on a single processor. Two types of architecture synthesis using microprogramming (vertical migration) are defined: functional architecture synthesis and problem-oriented architecture synthesis. In the first one we include two areas: operating systems and high-level-language-defined-processors. In the second two types of synthesis can be identified: heuristic approach and analytical approach. A rigorous methadology is described, within the analytical approach to tune the architecture of a dynamically microprogrammable computer to a given application in order to minimize its execution time. This method consists of the following steps: (1) a static analysis, (2) an analysis of the program's dynamic behaviour, (3) an evaluation of the time saving, and (4) a selection of those microprogrammable sequences with produce the greatest time saving in the program execution.

[1]  Richard H. Eckhouse,et al.  Operating system enhancement through firmware , 1977, MICRO 10.

[2]  Emilio Luque,et al.  Dynamic microprogramming in computer architecture redefinition , 1980 .

[3]  Khaled Ahmad El-Ayat A self-tuning microprogrammed computer. , 1977 .

[4]  James A. Howard,et al.  Algorithms for a self-tuning microprogrammed computer , 1977, MICRO 10.

[5]  Anthony Hassitt,et al.  Implementation of a high level language machine , 1973, CACM.

[6]  Richard H. Eckhouse,et al.  Operating system enhancement through microprogramming , 1976, SIGM.

[7]  Thomas L. Magnanti,et al.  Applied Mathematical Programming , 1977 .

[8]  Philip S. Liu,et al.  Techniques of Program Execution with a Writable Control Memory , 1978, IEEE Transactions on Computers.

[9]  Andries van Dam,et al.  Vertical Migration for Performance Enhancement in Layered Hardware/Firmware/Software Systems , 1978, Computer.

[10]  Ashok K. Agrawala,et al.  Dynamic Problem-Oriented Redefinition of Computer Architecture via Microprogramming , 1978, IEEE Transactions on Computers.

[11]  Ashok K. Agrawala,et al.  Foundations of microprogramming : architecture, software, and applications , 1976 .

[12]  Emilio Luque,et al.  User-oriented architecture , 1981 .

[13]  Helmut Weber A microprogrammed implementation of EULER on IBM system/360 model 30 , 1967, CACM.

[14]  Abd-Elfattah Mohamed Abd-alla,et al.  Heuristic Synthesis of Microprogrammed Computer Architecture , 1974, IEEE Transactions on Computers.

[15]  Lorenzo Moreno Ruiz,et al.  A Multilingual High Level Processor , 1977, IFIP Congress.

[16]  Emilio Luque,et al.  Tuning Architecture via Microprogramming , 1980, Inf. Process. Lett..

[17]  Ashok K. Agrawala,et al.  Developing application oriented computer architectures on general purpose microprogrammable machines , 1976, AFIPS '76.

[18]  Niklaus Wirth On multiprogramming, machine coding, and computer organization , 1969, CACM.

[19]  Barbara Liskov The design of the Venus operating system , 1972, CACM.