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