Abstract
The problem of automating the production of reliable micro-code is addressed. In contrast to validation and verification approaches which attempt to establish the correctness (incorrectness) of manually produced code with respect to a set of specifications, the automated synthesis approach attempts to systematically derive the code directly from the specifications.
Formal representations of both microprogrammable machines and image machine instruction set requirement specifications are discussed, as is a formal semantic characterization of microprogram execution with respect to the given representations. The microprogram synthesis process is viewed as a special kind of theorem-proving process which attempts to prove the existence of a computation satisfying a requirement specification for a given machine, and when successful, extracts a corresponding microprogram directly from the proof. The NP-completeness of the problem leads to the necessity for effective heuristics, particularly when dealing with horizontal machines.
- 1 Bell, C.G., and Newell, A., Computer Structures: Readings and Examples, McGraw-Hill, New York, 1971. Google Scholar
Digital Library
- 2 Cattell, R.G.G., "Formalization and Automatic Derivation of Code Generators," Ph.D. disseration, Computer Science Department, Carnegie-Mellon University, Pittsburg, Pa., 1978. Google Scholar
Digital Library
- 3 Davidson, S., and Shriver, B., "An Overview of Firmware Engineering," Computer, Volume 11, Number 5, May 1978, pp. 21-34.Google Scholar
Digital Library
- 4 Dijkstra, E.W., "Guarded Commands, Non-Determinacy, and the Formal Derivation of Programs," Communications of the ACM, Volume 18, Number 8, August 1975, pp. 453-457. Google Scholar
Digital Library
- 5 Manna, Z., and Waldinger, R., "Synthesis: Dreams -> Programs," IEEE Transactions on Software Engineering, Volume SE-5, Number 4, July 1979, pp. 294-327.Google Scholar
Digital Library
- 6 Mueller, R.A., "Automated Microprogram Synthesis," Ph.D. Dissertation, Computer Science Department, University of Colorado, Boulder, 1980. Google Scholar
Digital Library
- 7 Nilsson,N.J., Problem-Solving Methods in Artificial Intelligence, McGraw-Hill, New York, 1971. Google Scholar
Digital Library
- 8 Rausher, T., and Adams, P., "Microprogramming: A Tutorial and Survey of Recent Developments," IEEE Transactions on Computers, Volume C-29, Number 1, January 1980, pp. 2-20.Google Scholar
- 9 Riddle, W.E., "An Approach to Software System Modelling, Behavior Specification, and Analysis," Technical Report RSSM/25, Department of Computer and Communication Sciences, University of Michigan, Ann Arbor, July 1976.Google Scholar
- 10 Smith, B.J., and Jordan, H.J., "Implications of Series-Parallel Sequencing Rules," Computing 19, January 1978, pp. 189-201.Google Scholar
Cross Ref
Index Terms
Formalization and automated synthesis of microprograms
Recommendations
Formalization and automated synthesis of microprograms
MICRO 13: Proceedings of the 13th annual workshop on MicroprogrammingThe problem of automating the production of reliable micro-code is addressed. In contrast to validation and verification approaches which attempt to establish the correctness (incorrectness) of manually produced code with respect to a set of ...
PipeSynth: Automated Synthesis of Microarchitectural Axioms for Memory Consistency
ASPLOS 2023: Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3Formal verification can help ensure the correctness of today’s processors. However, such formal verification requires formal specifications of the processors being verified. Today, these specifications are mostly written by hand, which is tedious and ...






Comments