R. E. Bryant and D. R. O'Hallaron, Computer Systems: A
Programmer's Perspective, Prentice-Hall. First edition 2003, second
edition 2011, third edition 2015.
Relevance:one of the most popular and influential
textbooks on modern computer systems; its relevance here is that the book
introduced the y86.
Abstract
For Computer Systems, Computer Organization and Architecture courses in CS, EE, and ECE departments. Few students studying computer science or computer engineering will ever have the opportunity to build a computer system. On the other hand, most students will be required to use and program computers on a near daily basis. Computer Systems: A Programmer's Perspective introduces the important and enduring concepts that underlie computer systems by showing how these ideas affect the correctness, performance, and utility of application programs. The text's hands-on approach (including a comprehensive set of labs) helps students understand the under-the-hood operation of a modern computer system and prepares them for future courses in systems topics such as compilers, computer architecture, operating systems, and networking.
The y86 introduced in this textbook is can be thought of as a “toy” x86 and is an excellent starting point for the formalization of that larger machine.
The y86 has been modeled in ACL2, by Warren A. Hunt, Jr., and M. Kaufmann,
and some programs proved correct with it. In particular, the ACL2 book