Abstract
MICROPROGRAMMING, or microcode, is a comparatively old technique for computer design. It was first described by Wilkes in 1951, when most logic gates were vacuum tubes and the transistor was only a three-year-old infant. The original objective was "to provide a systematic alternative to the somewhat ad hoc procedure used for designing the control system" of a computer.
- R. F. Rosin, "Contemporary Concepts of Microprogramming and Emulation", Computing Surveys, Vol. 1, No. 4, December 1969, pp. 197--212. Describes various methods for realizing the control function of machines; examples of microprogram control in both large and small contemporary (1969) systems are given. Research areas are described, e.g., high level language support, uses of writable control storage, emulation, microlanguages, etc. Google Scholar
Digital Library
- S. Husson, "Microprogramming Principles and Practices", Prentice-Hall, 1970. This book emphasizes large machines like IBM System 360, Honeywell H4200, and the RCA Spectra 70/45. These machines typically require a very large amount of microcode (e.g., one or two thousand 100-bit microinstructions).Google Scholar
- C. T. Leis, "Microprogramming, ROMs, Firmware, and All That", Hewlett-Packard Journal, October 1971. Describes the benefits of a "computer within a computer." The system design tradeoffs in the 2100 are discussed. Describes customer engineer's "briefcase" ROM simulator which, using microcoded machine diagnostics, can exercise all hardware logic in the 2100 in only a few minutes. This briefcase contains a papertape reader, a small WCS, a control panel (with built-in breakpoint register), and a cable which plugs into the 2100.Google Scholar
- "Microprogramming Guide for HP 2100 Computer", Hewlett-Packard publication number 5951-3028. This book describes all the microprogramming characteristics of the 2100. It includes a microcodé listing of the 256-word module 0. This module emulates the entire HP 2116 instruction set and then some.Google Scholar
- "Microprogramming Software for the 2100 Computer", Hewlett-Packard publication number 02100-90133. This shows how to use the microassembler, what columns to type in, etc. It shows how to use the PROM burner (HP 12909A) to convert microcode on paper tape into a permanent pattern on PROMs. Some microprogramming examples are included.Google Scholar
- "ACP', Activity Profile Generator", Hewlett-Packard Contributed Program Library, No. 22646. This describes the use of the ACP program for the 2100 computer. Examples are given.Google Scholar
- A. M. Abd-Alla and D. C. Karlgaard, "The Heuristic Synthesis of Applications-Oriented Microcode", the 6th Annual Workshop on Microprogramming, Sept. 1973, ACM MICROSIC, University of Maryland, pp. 83--90. This paper is concerned with heuristically developing specialized instruction sets. A trace file (sequential list of all memory accesses while a benchmark program runs) is used as an analysis technique. Examples of performance improvement are shown for the IBM 370/145 computer. Google Scholar
Digital Library
- "Microcode Support for the 5451B Fourier Analyzer System," Hewlett-Packard publication number 10637--81003. Describes the internal structure of the 5451B relevant to a user who will be writing his own microcode. Gives examples of analyzing where to microcode as well as examples of microcode.Google Scholar
Recommendations
Microprogramming: Perspective and Status
The concept of microprogramming has been changing with the development of hardware technology to facilitate dynamic microprogramming and the development of software technology to facilitate user microprogramming. An examination of the status of ...
The microprogramming of pipelined processors
ISCA '77: Proceedings of the 4th annual symposium on Computer architectureA pipelined processor is one whose computational capabilities are divided into several sequential stages, each of which may be working with an independent set of data at the same instant of time. Such processors are capable of handling large streams of ...
Microprogramming: A Tutorial and Survey of Recent Developments
The present status of microprogramming is developed from Wilkes's initial concept of microprogramming to the more recent bit-slice microprogrammable computer components. This tutorial defines basic concepts and gives a simple example of machine language ...






Comments