|Class Time:||Mon/Wed/Fri 10am-10:50am|
|Office Hours:||Monday, 3:30pm - 4:30pm
Thursday, 4:30pm - 5:30pm
or by appointment
ctaylor AT oberlin edu
Please include "cs210" in the subject.
|1||Feb 04||Course Overview||Number Conversion|
|Feb 06||General overview of machine language and assembly language. Basic characteristics. Why we use assembly language to study machine language. (Read Sections 1.2)|
|Feb 08||Computer system organization overview. CPU. Memory. Secondary memory. I/O. (Read Section 1.3)|
|2||Feb 11||Billions of Cores (Read Sections 1.5, 1.6)|
|Feb 13||Introduction to MIPS assembly language, Registers and Memory (Read Sections 2.2-2.3)|
|Feb 15||Binary and hexadecimal numbers (Read Wikipedia on Radix, Binary (only Representation, Counting))|
|3||Feb 18||Negative integers. 2's complement. Overflow (Read Section 2.4)|
|Feb 20||How MIPS instructions are represented in the computer (Read Section 2.5)|
|Feb 22||Bit-level operations in Java. (Read Section 2.6)||MIPS assignment|
|4||Feb 25||Conditional branch instructions. (Read Section 2.7)|
|Feb 27||The run-time stack. Implementing functions and procedures. Function and procedure examples. (Read Section 2.8)|
|Mar 01||MIPS Addressing (Read Section 2.10)|
|Mar 04||Oberlin Cancels Classes|
|Mar 06||Cynthia at Conference|
|5||Mar 11||More MIPS (Read Assignment 2)|
|Mar 13||Translating and Starting a Program (Read Section 2.12)|
|Mar 15||Digital logic. Gates and combinational circuits. Truth tables. (Read Sections C2)|
|6||Mar 18||Decoders, multiplexers, PLAs. Sum of Products. (Read Section C3 (Skip Sections on ROMs and Don't Cares))|
|Mar 20||Review for Midterm|
|Mar 22||Midterm Exam|
|Mar 25||Spring Break|
|7||Apr 01||Half- and full-adders. n-bit adder. (Read Section C5)||DLSIM assignment, Parts 1 and 2|
|Apr 03||Carry Look-ahead Adder (Read Section C6)|
|Apr 05||Clocks, Latches and Flip-flops (Read Section C7, C8. Skip Verilog.)|
|8||Apr 08||Performance (Read Section 1.4, 1.8)|
|Apr 10||Multiplication and Floating Point (Read Section 3.3,3.5 (to page 260))||DLSIM assignment, Part 3|
|Apr 12||Datapath (Read Section 4.3)|
|9||Apr 15||Implementation (Read Section 4.4)|
|Apr 17||Pipelining (Read Section 4.5)||Floating Point|
|Apr 19||Pipelined Datapath (Read Section 4.6)|
|10||Apr 22||Data Hazards (Read Section 4.7)|
|Apr 24||Floating Point Review (Read Assignment 2)|
|Apr 26||Control Hazards (Read Section 4.8)|
|11||Apr 29||Caches (Read Section 5.1-5.2)||Cache Simulator|
|May 01||Improving Cache Performance (Read Section 5.3)|
|May 03||Virtual Memory (Read Section 5.4 (to page 498))|
|12||May 06||Virtual Memory (Read Section 5.4 (page 498 to end))|
|May 08||Review for Final|
|May 15||Final Exam 7-9 pm|
Students who successfully complete this course will be versed in digital logic, assembly programming, and modern processor design including topics from the course outline above. In addition to understanding processor design constraints, students will understand how processor design impacts the design of their programs. Lastly, students will conduct class projects (labs) which will solidify these concepts and introduce them to architecture research.
The text for the course is Computer Organization and Design, 4th Ed (Revised), by Patterson and Hennessy. It is absolutely required that you have one of these books, as there will be daily quizzes based on the required readings.
Computer Organization and Design by Patterson and Hennessy
Course grades will be calculated based on the following distribution:
We will be using Peer Instruction, a teaching model which places stronger emphasis on classroom discussion and student interaction. As part of this, you will be assigned an iClicker, which you will need to register. You will be expected to attend all lectures, having completed the assigned reading and ready to discuss with your classmates.
I allow for three missed classes by dropping the three lowest quiz scores. If you attend all the classes, you will be rewarded by having your low grades dropped!
You are expected to complete these labs on your own. However, you are free to discuss them with your fellow students, and encouraged to post questions about them on Blackboard. A good rule of thumb is discuss with your classmates away from your computer, and to wait fifteen or twenty minutes between the discussion and when you make changes to your code. Labs will be due on Sunday at 8 pm.
According to college policy, every assignment must include the following signed statement:
Please include this statement in your lab headers, along with your name.
"I have adhered to the Honor Code in this assignment."
Late assignments will be penalized according to the following chart. Extra credit will not be accepted after the initial deadline.
There is a forum for this class on Blackboard. You are encouraged to use this forum as a vehicle to ask questions about the class and the labs, and to answer each other's questions. If you have a question that is at all general, please ask it on Blackboard rather than via email, as this will allow your fellow students to also benefit from the answer.
If you have a disability that might impact your performance in this course, or requires special accommodation, please contact me as soon as possible so that appropriate arrangements can be made. Support is available through Student Academic Services, specifically Jane Boomer. You will need to contact them to get your disability documented before accommodations can be made.