CSC 345 - Principles of Computer Organization
2009 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 203E
Class:  Tuesdays and Thursdays, 9:40 a.m. to 11:10 a.m. in Sverdrup 204 (Mac Lab)
Dates:  10 September through 12 December
Text:  Computer Organization and Design: The Hardware/Software Interface (Fourth Edition); Patterson & Hennessy
Office Hours:  To Be Determined

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
10 September Introduction, History Organization 1
15, 17 September Assembly Language Basics, Using SPIM Organization 2.1 - 2.3, B.9, B.10
22, 24 September    More Assembly Language Organization 2.8, 2.9
29 September, 1 October   Assemblers and Linkers Organization Appendix B.1 through B.4
6, 8 October Binary Numbering System, Addition and Subtraction    Organization 2.4, 3.2
13, 15 October Multiplication, Division, and Floating Point Numbers Organization 3.3, 3.4, 3.5
20, 22 October Review and Mid-Term  
27, 29 October Hardware Logic Organization Appendix C
3, 5 November Processor Datapath Organization 4.1 through 4.4
10, 12 November Flow Control in Hardware Organization Appendix D
17, 19 November Processor Pipelining Organization 4.5, 4.6
24 November Pipelining Hazards Organization Appendix C
1, 3 December Principles of Cache Memory Organization 5
8, 10 December Multicores, Multiprocessors, Review Organization 7

Assignments

Assignment Points Date Due
Locate information about the chip on your card.   20 17 September  
Assembly Assignment One   50 29 September
Assembly Assignment Two   50 6 October
Compare two assembled files   20 8 October
Recursive Fibonacci   50 20 October
Chapter 3: Exercises 3.1, 3.2, 3.10 (except part 6), 3.11.1   30 20 October

Example Assembly Code

An example of how to call a function in MIPS assembly.

An example of a recursive function in MIPS assembly

Exam Schedule

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

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