Specifying superscalar microprocessors in Hawk
Byron Cook, John Launchbury, and John Matthews

Hawk is a language for the specification of microprocessors at the microarchitectural level. In this paper we use Hawk to specify a modern microarchitecture based on the Intel P6 with features such as speculation, register renaming, and superscalar out-of-order execution. We show that parametric polymorphism, type-classes, higher-order functions, lazy evaluation, and the state monad are key to Hawk's concision and clarity.


Wed Dec 14 02:03:56 PST 1997