What This Document Is
This document is a handout for the Architecture Lab, Part A of Introduction to Computer Systems (15-213) at Carnegie Mellon University. It outlines a programming assignment focused on the Y86-64 instruction set architecture and its simulator. It’s designed for individual completion and builds foundational skills for later parts of the lab.
Why This Document Matters
This handout is essential for students enrolled in 15-213 who are undertaking the Architecture Lab. It provides the specific tasks, requirements, and logistical details needed to successfully complete the first phase of a larger project involving processor design and code optimization. Students will use this to understand the initial programming challenges and setup their development environment.
Common Limitations or Challenges
This document *only* provides the assignment description and setup instructions. It does not include solutions to the programming problems, detailed explanations of the Y86-64 instruction set, or advanced optimization techniques. Students will need to refer to course lectures, other documentation, and potentially online resources to fully understand and complete the assignment.
What This Document Provides
The handout includes:
* An overview of the lab’s objectives.
* Specific instructions for downloading and setting up the Y86-64 tools.
* Detailed descriptions of three Y86-64 programming tasks: `sum.ys` (iterative linked list sum), `rsum.ys` (recursive linked list sum), and `copy_block` (block copy with checksum).
* Example C code for reference.
* Information regarding assignment logistics, such as the due date and contact information for support.
* Requirements for adhering to x86-64 calling conventions.
This preview does *not* include the actual Y86-64 code solutions, the complete `simguide.pdf` documentation, or the full contents of the `archlab.pdf` document.