Chapter

Computer Aided Verification

Volume 2725 of the series Lecture Notes in Computer Science pp 341-354

Deductive Verification of Advanced Out-of-Order Microprocessors

  • Shuvendu K. LahiriAffiliated withCarnegie Mellon University
  • , Randal E. BryantAffiliated withCarnegie Mellon University

* Final gross prices may vary according to local VAT.

Get Access

Abstract

This paper demonstrates the modeling and deductive verification of out-of-order microprocessors of varying complexities using a logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions (CLU). The microprocessors support combinations of out-of-order instruction execution, superscalar operation, branch prediction, execute and memory exceptions, and load-store buffering. We illustrate that the logic is expressive enough to model components found in modern processors. The paper describes the challenges in modeling and verification with the addition of different design features. The paper demonstrates the effective use of automatic decision procedure to reduce the amount of manual guidance required in discharging most proof obligations in the verification. Unlike previous methods, the verification scales well for superscalar processors with wide dispatch and retirement widths.