CSC 345 - Principles of Computer Organization
2006 Fall Semester

An introduction to computer organization, processors, instruction sets, and assembly language programming. (Prereq: CSC 210.)

We will cover programming in the MIPS assembly language, with a number of programming assignments using the SPIM simulator as provided in the Text's CD. The basic architecture of a processor, data representation, and micro-code will be the main topics of this class along with the assembly language programming.

Essential Information:

Instructor:  Erik Steinmetz
E-mail:  steinmee@augsburg.edu
Phone:  (612) 330-1062
Office:  Sverdrup 203A
Class:  Tuesdays and Thursdays, 9:40 a.m. to 11:10 a.m. in Sverdrup 202
Dates:  6 September through 15 December
Text:  Computer Organization and Design: The Hardware-Software Interface (Third Edition); Patterson & Hennessy
Office Hours:  Tuesday and Thursday, 1:00 p.m. to 3:00 p.m. 

Grading

There will be a mid-term and a final exam during the course, each counting for 30 percent of the grade. Graded homeworks will make up the remainder of the grade. All homeworks must be completed individually.

Schedule (subject to modification)

Dates Topics Chapter
7 September Introduction, History Organization 1
12, 14 September    Computer Organization  
19, 21 September Assembly Language Basics Organization 2
26, 28 September Assemblers and Linkers Organization Appendix A
3, 5 October Binary Numbering System Organization 3.1 to 3.5
10, 12 October Assembly Language Continued Organization 2.9, 2.15
17, 19 October Review and Mid-Term  
24, 26 October Floating Point Numbers Organization 3.6 to 3.9
31 October, 2 November Hardware Logic Organization Appendix B
7, 9 November Processor Datapath Organization 5
14, 16 November Micro-code Organization 5
21 November Flow Control in Hardware Organization Appendix C
28, 30 November Processor Pipelining Organization 6
5, 7 December Principles of Cache Organization 7
12, 14 December Gauging Performance, Review Organization 4

Assignments

Assignment Points Date Due
Locate information about the chip on your card.   20 14 September  
Assignment One 60 26 September  
Compile the same program on two different systems   20 5 October
Assignment Two 60 19 October
Problems B.11, B.12, and B.13 30 7 November
Problems B.36, B.37, and B.38 30 14 November
Problems 5.1, 5.2, 5.3, 5.8, and 5.32 40 21 November
Problems 6.1, 6.2, 6.3, 6.4, 6.17, 6.18, and 6.19 80 12 December
Problems 7.9, 7.10, 7.11, 4.3, 4.6, 4.7, 4.10, 4.11 60 18 December

Exam Schedule

The mid-term will be held during the week of 16 October.

The final will be held from 10:15 to 12:15 on Thursday, 21 December.

Class Links

Some example C code for the timing problem 7.11