We present a systematic approach to decompose and incrementally build the proof of correctness of pipelined microprocessors. The central idea is to construct the abstraction function using completion functions, one per unfinished instruction, each of which specifies the effect (on the observables) of completing the instruction. In addition to avoiding term-size and case explosion problem that limits the pure flushing approach, our method helps localize errors, and also handles stages with iterative loops. The technique is illustrated on a pipelined and a superscalar pipelined implementations of a subset of the DLX architecture. It has also been applied to a processor with out-of-order execution.
CITATION STYLE
Hosabettu, R., Srivas, M., & Gopalakrishnan, G. (1998). Decomposing the proof of correctness of pipelined microprocessors. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1427 LNCS, pp. 122–134). Springer Verlag. https://doi.org/10.1007/bfb0028739
Mendeley helps you to discover research relevant for your work.