CS-2710 Computer Organization
Dr. Mark L. Hornick

 


Description     Syllabus     Policies     Grading    Lab info


Revision History

This is where you check for news and information regarding recent additions (assignments, announcements, etc) to this site. The latest revision will be put at the bottom of the list.

1/24/2013 - adjustments to W8-10 schedule
1/7/2013 - adjustments to schedule W5 onward
11/24/2012 - initial version

This page was last updated on 02/13/2013.

Course Description

This course provides students with an introduction to the structure of computer hardware, including the components of a modern computer system as well as the tradeoffs necessary to construct such a system. Specific course topics include numeric systems, the role of performance in designing computer systems, Amdahl's Law, instruction formats, addressing modes, computer arithmetic with both fixed and floating point numbers, single cycle and multi-cycle data-path design, pipelining, the memory hierarchy, caching, and parallel processing using SIMD and MIMD formats. Students will develop small, assembly language programs on a simulator as a means of exploring instruction formats and data-path operation. (prereq: CE-1900)

Schedule

Lectures are on Monday, Wednesday, and Thursday in CC210 from 11:00am to 11:50am.

As stated in my general course policies, attendance is mandatory for all lectures. Email me when you foresee yourself to be absent. If you miss a lecture with a class exercise, you will receive a 0 grade for the associated homework assignment. Be sure to read the entire document for all relevant policies that apply to this course.

Textbook

Computer Organization and Design, 4th Edition (ISBN-10: 0123747503, ISBN-13: 978-0123747501)
David A. Patterson and John L. Hennessey, Morgan Kaufman Publishers, 2011
Note: Available as a Kindle ebook!

Syllabus

Week Day Topic Reading Assignment
(to be read before class)
Homework
1 M Introduction to the course ch 1.1-1.2 Homework 1
Due in Blackboard by 8:00am Fri, 11/30/2012

Practice exercises: 1.3, 1.4, 1.5
Prep for next week's quiz

W Computer Parts and Performance ch 1.3-1.4
R Ohm's Law and Power Handout, and ch 1.5
2 M Benchmarking ch 1.7-1.9  
W
Introduction to Instructions
ch 2.1-2.3
R Introduction to Instructions, continued ch 2.4
3 M Quiz 1   Homework 2: Problems 2.3.1, 2.4.1, 2.4.2, 2.4.3, 2.5.4, 2.5.5, 2.7 (all)

Due in Blackboard by 8:00am Mon, 12/17/2012
Submit as either a .txt, .docx, or scan a handwritten page and submit as .pdf

Homework 2 Solution

W Numeric and Instruction Representations

The MARS Assembler/Simulator

Download: MARS Assembler/Simulator
R Logical Operations
Comparison and Branching

Sample Code: Demo.asm

ch 2.5-2.7
4 M Programming practice

Sample Code: branching.asm

ch 2.8-2.9 Homework 3: hw3.asm

Your completed (commented and functional) hw3.asm submission is due in Blackboard by 8:00am Wednesday 1/9/2013.
 

W Procedures, the Stack Pointer
Instructions for calling and returning

Sample Code: subroutines.asm

 
R

Quiz 2

 
Christmas Break
5 M

Procedures, continued
Procedure arguments and return values

 

ch 2.12 (skim)

ch 2.14 (skim, arrays were covered in lecture preceding homeword 3)

Homework 4: hw4.asm

Your completed (commented and functional)  submission is due in Blackboard by 8:00am Wednesday 1/16/2013.

No late submissions accepted

W Operating system services
Sample code: syscalls.asm
 
R Addition, Subtraction, and Multiplication

Quiz 3
ch 3.1-3.3
6 M Addition, Subtraction, and Multiplication, continued

Sample Java code: MathDemo.java
Sample MIPS code: MathDemo.asm

  hw3_solution.asm

hw4_solution.asm

 
W Binary Division
Real-world Ramifications

Midterm Exam Review

ch 3.4 (skim)
ch 3.8 (skim)

Course outcomes to-date

R Midterm Exam  
7 M Floating-point representation

Updated sample MIPS code: MathDemo.asm

ch 3.5

ch 4.1-4.3

Homework 5

 

You do not have to submit the answers to problems 1 and 2.

W The Processor and its Datapath ch 4.5 (skim)
R Pipelining ch 4.8
8 M Pipelining, continued

Branch Prediction
  hw5_solution.asm
W   ch 5.1-5.2
R Cache Basics

Quiz 4: floating-point representation

 
9 M Cache Handling ch 5.3 Homework 6

Due in Blackboard by 8:00am Wednesday 2/13/2013.
W Cache Design ch 5.5 (skim)
R I/O Introduction and Reliability

Quiz 5: pipeline behavior/performance

ch 6.1-6.2
10 M Disk-based Storage
Flash Storage and I/O Operation
ch 6.3
ch 6.4-6.5
Homework 6 solution
W Quiz 6: cache design/performance

[Multicore Processors/Clusters]

 

[ch 7.1-7.3,7.4, 7.6]

R Final Exam/Review

Class Climate feedback
Outcomes for Final Exam review
11

Common Final Exam
Monday, Feb 18, 2013
11:00am-1:00pm
Room L308

Course policies

My general course policies apply to this course

Grading algorithm

Note that this algorithm indicates how a grade will be determined for students who have successfully demonstrated mastery of the course objectives. An acceptable level of success in meeting all course objectives is a prerequisite for a passing grade in the course.

Criterion Weight
Quizzes 20%
Homework 20%
Midterm Exam 30%
Final Exam 30%

This page was last updated on 02/13/2013.