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.