|
Computer Science 240
Computer Organization
Fall 2009
Welcome to CS240
By now you are quite comfortable writing and executing your own computer programs. However, you may be less familiar with how exactly the computer works its magic with the programs you have written. This course opens up the "black box" that is the modern digital computer, exposing the many layers that lie hidden beneath the application programming
level you lived in in CS111. Topics include an overview of
computer organization, an introduction to digital logic, basic datapath and
control implementation, the conventional machine level, assembly language
programming, and a brief overview of operating systems. Course
requirements will be discussed on the first day.
Prerequisite: CS111
Distribution: Mathematical modeling
Semester: Fall, Unit: 1.25
Textbook
The text this
semester is Computer Organization and Design: The Hardware/Software Interface the written by David A. Patterson and John L.
Hennessy and published by Morgan Kaufmann. Copies of the text are available in the College Bookstore.
Laboratory
This course has a
3 hour laboratory meetings taught by Jean Herbst Wednesday afternoons. Please see the laboratory website for
details.
Course Materials
CS240
CS240 course materials for each class will be handed out
at the beginning of each lecture. Copies are available in .pdf format using
the links on this page and require the Adobe Acrobat Reader program for
on-screen viewing and printing. This program is installed on most public
computers at Wellesley College. If your computer does not have a working copy
of Acrobat Reader, it is available for free from Adobe on all major computer
platforms. Click on the button to the left to download Acrobat Reader. Note
that there are plug-ins that allow you to read .pdf files directly from your
browser; again, these are installed on most public computers and are freely
available from Adobe.
Course Conference
The course
conference, CS240_Fall09, will contain announcements and changes to the
schedule. Please check this conference before each class and especially
before an assign is due. In addition, the conference will contain a section
for CS240 students ask and answer questions among themselves concerning
course material and assignments. You may discuss the homework in general
terms, suggest where to go in the text or lecture notes to help someone get
started, or you may help clarify an ambiguous question. However, please do
not post your solutions either complete or partial. I will check the
conference regularly to help with any unanswered questions.
Transparencies
Copies of course transparencies will be available at the beginning of each
lecture. Copies may be obtained using the following links. These notes were
prepared using materials supplied by the authors of our text, David Patterson and John Hennessy. Additional materials may be found on the course CD that comes with the text.
- No
laboratory
Wednesday, September 9
- Computer organization and the abstraction
hierarchy
Thursday, September 10
- Introduction to MIPS
Monday, September 14
-
Lab 1 -- Working with MIPS
Wednesday, September 16
- Decisions
Thursday, September 17
- Procedures
Monday, September 21
- Lab 2 -- Stack programming and procedures
Wednesday, September 23
- MIPS addressing modes
Thursday, September 24
- Translating and running a program
Monday, September 28
- Lab 3 -- Assembler Project 1
Wednesday, September 30
- Putting it all together
Thursday, October 1
-
Pointers and arrays (no additional slides)
Monday, October 5
- Lab 4 -- Assembler Project 2
Wednesday, October 7
- Numeric representation
Thursday, October 8
- Fall Break
Monday, October 12
- Digital logic level
Wednesday, October 14
Monday Schedule
- Basic digital circuits
Thursday, October 15
- Midterm Examination
Monday, October 19
- Lab 5 -- Electrical and digital laboratory concepts
Wednesday, October 21
- Design of the Arithmetic Logic Unit (ALU)
Thursday, October 22
- Flip-flops
Monday, October 26
- Lab 6 -- Digital circuits
Wednesday, October 28
- Memory organization
Thursday, October 29
- Finite-state machines
November 2
- Lab 7 -- ALU Design
Wednesday, November 4
- Building a datapath
Thursday, November 5
- In control
Monday, November 9
- Lab 8 -- Latches, flip-flops, and memory
Wednesday, November 11
- Pipelining
Thursday, November 12
- Pipelined MIPS
Monday, November 16
- Lab 9 -- Data and Microcomputer bus design
Wednesday, November 18
- Midterm Examination II
Thursday, November 19
- Cache basics
Monday, November 23
- Lab 10 -- DataPath
Wednesday, November 25
- Happy
Thanksgiving
Thursday, November 26
Homework Sets
All assignments are due at the beginning of class on the due dates announced
when distributed and given below. Once graded homework is returned and
solutions posted (usually on the class following the day the assignment was
due) no late work for that assignment will be accepted. Copies of assignments
may be obtained using the following links.
- Assignment 1 due Monday, September 21
- Assignment 2 due Monday, September 28
- Assignment 3 due Monday, October 5
- Assignment 4 due Monday, October 12
- Assignment 5 due Thursday, October 29
- Assignment 6 due Thursday, November 5
- Assignment 7 due Thursday, November 12
- Assignment 8 due Thursday, December 3
Randy Shull -- rshull@wellesley.edu
Computer Science 240, Fall 2009
Last Modified November 6, 2009
Page Expires December 31, 2009
|