CS245 - Computer Organization and Architecture

Instructor: Bob Rinker
Office: JEB 233
Email: rinker@cs.uidaho.edu
Phone: (208)885-7378
Office Hours (Spring 2002): 10:30-11:30 MTWF, or by appointment, or stop in anytime my door is open!


Syllabus: Downloadable from here (ps or pdf).


Grading:
Your grade will be calculated using the following percentages:
Three mid-semester exams + Quizzes50%
Final exam (comprehensive) 20%
Homework/Projects 30%
Total 100%

The letter grade you receive from the course will be determined as follows:
90%-100%A
89.9%-80%B
79.9%-70%C
69.9%-60%D
Below 60%F
The instructor reserves the right to adjust these percentages lower if deemed necessary.
Policy on Academic Honesty and Cheating - your continued registration in this class indicates that you understand and agree to abide by the policy.

Assignments:

Assignment 1 - description in ps or pdf Due Date: Feb 8, 2002
Assignment 2 - description in ps or pdf Due Date: Feb 15, 2002
Assignment 3 - description in ps or pdf Due Date: Feb 25, 2002
Assignment 4 - description in ps or pdf Due Date: Mar 8, 2002
Assignment 5 - description in ps or pdf Due Date: Mar 15, 2002
- NOTE - The test bench file you should use is available here (Shift-click to retrieve).
- You should turn in ONE FILE with all your vhdl code. Be sure it is ordered so that it compiles!!!

Assignment 6 - description in ps or pdf Due Date: Mar 29, 2002
- Test bench (for those using std_logic/std_logic_vector) is available here (Shift-click to retrieve).
- Test bench (for those using bit/bit_vector) is available here (Shift-click to retrieve). To use, read the directions in the code.

Assignment 7 - description in ps or pdf Due Date: Apr 10, 2002
- Test bench is available here (Shift-click to retrieve).
- Test bench (for those using bit/bit_vector) is available here (Shift-click to retrieve). To use, read the directions in the code.

Last Assignment - description in ps or pdf Due Date: May 10, 2002 NOTE: This is the last day to turn in anything to be graded - there is no late period for this assignment!
- Test bench is available here (Shift-click to retrieve). Current version of test bench is 1.01 (the original version). Watch here for updates.
- A Sample memory file (mips.mem) is available here This one doesn't do anything useful, but can be used as a guide for making your own.
- Here are some test cases. The .s files are the "assembly language" programs, while the .mem files are the hex files. These examples test many of the arithmetic (R-type) instructions, and load/stores
- UPDATE: Here are more test cases. These test the immediates, SLT/SLTI, and branches. The updated programs have the word "fixed" in their titles (thanks to David Nadler!).
NOTE: these test cases were partially generated "manually." Please let me know if you find any problems with any of them. Thanks.
- Here is an UPDATED test bench. It contains code for bit vectors, and also produces an error message if your processor exceeds 10000 cycles (which probably means an infinite loop!).
- If you are having trouble, look here for a list of the most common problems people are having, along with some hints about what to do about them.
IMPORTANT!!! In some printings of the book, the op-code table (A.19) is wrong! The op-codes in the lower half of the first column have been shifted down one position. For example, lw is supposed to be opcode 23, not 24 as stated in some books. The .mem files I have provided have the correct op-codes.

Some useful items:

A decent vi editor Cheat Sheet (pdf or ps)
Unix tutorial (from the University of Edinburgh) here.
Textbook website here
MIPS Handout is available here (ps or pdf)
MIPS "Cheat Sheet" is available here (ps or pdf)
SPIM Handout is available here (ps or pdf)
Checkin submission method description here ( ps or pdf). No more email submissions accepted!!!
Last updated Wednesday, May 8, 2002