AI Summary
[DOCUMENT_TYPE: user_assignment]
**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.