An experiment in high level language microprogramming and verification

  • Authors:
  • David A. Patterson

  • Affiliations:
  • Univ. of California, Berkeley, Berkeley

  • Venue:
  • Communications of the ACM
  • Year:
  • 1981

Quantified Score

Hi-index 48.23

Visualization

Abstract

The STRUM system was created to apply software engineering techniques to microprogramming. It provides the tools that allow the microprogrammer to use high level language, structured programming, and formal program verification to create emulations for a horizontally microprogrammed computer. This system is evaluated in two parts: (1) High level microprogramming language design and its use in structured microprogramming; and (2) Verification of a large microprogram. Both parts of this evaluation include experimental results. Part I includes a comparison of an emulation created using traditional techniques to the same emulation created using the STRUM system. Part II describes the formal verification of a 1700 line program that was immediately subjected to extensive testing. This work provides new results on the efficiency of high level microprogramming languages, the effectiveness of peephole optimization for microcode and the practicality of formal microprogram verification.