Elementary Microarchitecture Algebra
John Matthews and John Launchbury

We describe a set of remarkably simple algebraic laws governing microarchitectural components. We apply these laws to incrementally transform a pipeline containing forwarding, branch speculation and hazard detection so that all pipeline stages and forwarding logic are removed. The resulting unpipelined machine is much closer to the reference architecture, and presumably easier to verify.


Tue Jan 5 18:40:56 PDT 1999