Formal Verification of Explicitly Parallel Microprocessors
Byron Cook, John Launchbury, and John Matthews
An emerging trend in microprocessor design is to move complexity from
a machine's microarchitecture into its instruction-set
architecture. This trend will allow compilers to express
inter-instruction dependency information that current superscalar
out-of-order machines, such as the Pentium III, derive while
performing computation. This trend will change the nature of
microprocessor verification: The microarchitectural models will become
simpler; but their specifications will become more subtle. This paper
explores the implications that this trend will have on microprocessor
verification. We develop an explicitly parallel instruction-set
architecture motivated by Intel's IA-64 and discuss possibilities for
microarchitectural implementations. We then explore correctness
criteria for relating microarchitectures to explicitly parallel
instruction sets.