Communications of the ACM
Dynamic microprogramming in a time sharing environment
MICRO 10 Proceedings of the 10th annual workshop on Microprogramming
On the packing of micro-operations into micro-instruction words
MICRO 11 Proceedings of the 11th annual workshop on Microprogramming
Automated proofs of microprogram correctness
MICRO 9 Proceedings of the 9th annual workshop on Microprogramming
The design of a system for the synthesis of correct microprograms
MICRO 8 Proceedings of the 8th annual workshop on Microprogramming
REDUCE 2: A system and language for algebraic manipulation
SYMSAC '71 Proceedings of the second ACM symposium on Symbolic and algebraic manipulation
Correctness of a compiler for a Lisp subset
Proceedings of ACM conference on Proving assertions about programs
An algebraic definition of simulation between programs
An algebraic definition of simulation between programs
A verified program-verifier.
Verification of microprograms.
Verification of microprograms.
Metafor - a verified, portable translator writing system.
Metafor - a verified, portable translator writing system.
The optimization of horizontal microcode within and beyond basic blocks: an application of processor scheduling with resources
Computer structures: Readings and examples (McGraw-Hill computer science series)
Computer structures: Readings and examples (McGraw-Hill computer science series)
Verification of microprogrammed computer architectures in the S*-system: a case study
MICRO 18 Proceedings of the 18th annual workshop on Microprogramming
IEEE Transactions on Software Engineering
Microarchitecture description techniques
MICRO 15 Proceedings of the 15th annual workshop on Microprogramming
Design considerations for the VLSI processor of X-TREE
ISCA '79 Proceedings of the 6th annual symposium on Computer architecture
Towards an efficient, machine-independent language for microprogramming
MICRO 12 Proceedings of the 12th annual workshop on Microprogramming
A model of clocked micro-architectures for firmware engineering and design automation applications
MICRO 17 Proceedings of the 17th annual workshop on Microprogramming
An axiomatization of low-level parallelism in microarchitectures
MICRO 17 Proceedings of the 17th annual workshop on Microprogramming
High level microprogramming: current usage, future prospects
ACM SIGMICRO Newsletter
Experiments in Automatic Microcode Generation
IEEE Transactions on Computers
V-Compiler: a next-generation tool for microprogramming
AFIPS '81 Proceedings of the May 4-7, 1981, national computer conference
Hi-index | 48.23 |
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.