CS61:Resources

From CS61 Wiki

Jump to: navigation, search

Computer Science 61

Systems Programming and Machine Organization

Return to the CS61 main page

Resources

To help you prepare for the midterm, we have posted the midterm from last year: midterm.pdf. Here are the solutions: midterm_solutions.pdf.

Here are some review slides:

Malloc_optimization.pdf‎. Caching_virtualmem.pdf.

Solutions to the Fall 2009 Midterm are here.

You may find the following resources and handouts useful in the class.

Intel 64 and IA-32 processor manuals
This is your source for the complete details of the x86 processor architecture. Volume 1 provides background on the overall processor architecture and operation. Volume 2a and Volume 2b provide details on individual instructions.
Intel x86 instruction set summary
Not up to date with most recent processor generations, but a good high-level summary of the most commonly-used instructions.
Sun's x86 assembly reference
You may find this easier to use than the Intel manuals, since it uses the same AT&T syntax that we are using in class.
GNU Assembler Manual
Good reference manual on 'gas', the GNU assembler, which is used in the course (and by gcc internally).
In particular be sure to see the section on x86 specific features.
AT&T and Intel Assembler Syntax
Differences between the AT&T (a.k.a. gcc/gas) and Intel assembler syntax. We use AT&T syntax in this course, but some tools (and books) use the Intel syntax.
Using graphical (x-windows) nice applications on your own computer
These documents from CS50 and CS51 describe how to log in and use graphical applications on nice (such as ddd): Windows, OSX, and Linux.
GDB Documentation
A must read for this course.
RIO package - csapp.c and csapp.h
Wrappers to UNIX IO functions that provide better error handling
C for Java Programmers
A collection of resources for Java programmers who need to learn C. For this class, you especially need to understand how C arrays and pointers work!