Formalization and automated synthesis of microprograms
Robert A. Mueller · ACM SIGMICRO newsletter/SIGMICRO newsletter/SIGMICRO, TCMICRO newsletter · 1980
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.