Bridging the gap between principles and practices in microprogramming

  • Authors:
  • David Cohen;Ming T. Liu

  • Affiliations:
  • The Ohio State University, Columbus, Ohio;The Ohio State University, Columbus, Ohio

  • Venue:
  • ACM SIGMICRO Newsletter
  • Year:
  • 1976

Quantified Score

Hi-index 0.00

Visualization

Abstract

The concept of microprogramming was introduced by Wilkes [WILKM51] a quarter of a century ago, but it took more than a decade of technological developments (the advent of low-cost, high-speed ROS) to bring it to the stage of an applied concept [HUSSS70]. The interest in microprogramming has increased markedly during the past years with the introduction of the low-cost, high-density LSI memory chips. Current trends in microprogramming include user microprogrammable systems, high-level language interpreters, operating systems, microprocessors, and special applications [JONEL74, FLYNM75, JONEL75, AGRAA76]. Although microprogramming has been widely accepted as a valid approach to the design of computer systems, it is still practiced by a limited number of professionals only, due to the cloak of secrecy held over this technology by major computer manufacturers [JONEL74]. The position of microprogramming in the computer science and engineering curriculum remains obscure [MULDM75]. We feel that this is partially due to the problem in teaching about microprogramming. Currently there does not exist a well established theory of microprogramming and therefore most technical articles on this subject are based on examples and case studies. The three books on microprogramming [HUSSS70, AGRAA76, SALIA76] are satisfactory in providing a set of basic principles and many case studies, but difficulties in understanding are encountered when a specific system is introduced with all its software, firmware and hardware complexity. The student can identify the major elements, but finds it difficult (in many cases impossible) to understand how the basic principles have been transformed into the results displayed before him. Existing literature rarely covers the design objectives and the design tradeoffs which in fact determine the final product of an implemented computer system (a good example is [BUCHW62]). As a result of this situation, we have experienced a serious difficulty in our effort to close the gap between understanding the basic principles and the ability to absorb the characteristics of existing systems.