Comp411:  Computer Organization

Spring 2011
 
 
Subscribe to RSS Feed

Computer Organization and Design:  The Hardware/Software Interface

Patterson and Hennessy

4th ed., Nov 2008

ISBN 978-0123744937


 

Course News

 
Blog Summary Widget




Grading
Problem Sets:     25%
Quizzes:              15%
Three Exams:      35%
Lab:                     25%




Meeting Times
Class:  MW 12:30-1:45pm, FB009
Lab:  Fri 12:30-1:20pm, FB009




The Team



Prof. Montek Singh
Instructor
FB234 (Brooks Building)
Office Hours:  Mon 1:45-2:45pm (or by appointment)
Email: comp411help@cs.unc.edu
or montek@cs.unc.edu



John Hansen
Teaching Assistant
Office hours:  Fri 1:20-3:30pm (in the lab, FB009)
Email: comp411help@cs.unc.edu
or jbhansen@email.unc.edu



It is also highly recommended that you obtain a copy of the book below (“K&R”), or any other introductory text on C programming.

C Programming Language

Kernighan and Ritchie

2nd ed.[paperback], Apr 1988

ISBN 978-0131103627


 

MIPS Assembler and Simulator (MARS)


Official website

Download Java version

Online Help

Tutorial


HOMEWORK


Problem Set 1 (due Jan 26)

Problem Set 2 (due Feb 9)

Problem Set 3 (due Mar 21)

Problem Set 4 (due Mar 30)

Problem Set 5 (due Apr 6)

Problem Set 6 (due Apr 25) [REVISED]


GRADES

Access Grades (via BlackBoard)




LABS


Lab 1:  UNIX Tutorial for Beginners (Jan 14)

  1. Familiarize yourself with logging in onto the department’s server (login.cs.unc.edu), and transferring files between your computer and the server, using SecureCRT or SSH/SFTP Secure Shell.  (These tools may be downloaded for free from shareware.unc.edu.)

  2. Please go through this UNIX Tutorial and submit the program output on Jan 21 according to instructions in the lab description.  Note:  Instead of downloading the code onto your computer and then transferring it to the login server, you could copy it from here: /home/montek/public_html/teaching/Comp411-Spring11/UnixTut/units-1.74.tar.gz.

Lab 2:  Editing, Compiling and Running C Programs (Jan 21)

  1. Please follow all the examples and exercises in this tutorial, and submit a report by Jan 26.

Lab 3:  Arithmetic, I/O, and Conditionals and Loops in C (Jan 28)

  1. Important:  Read Chapters 1, 2, 3 and 7 of the C Programming Language textbook by Kernighan and Ritchie (“K&R”) [see to the left].

  2. Please follow all the examples and exercises in this tutorial, and submit a report by Feb 2.  The report should contain: (i) the input and output of each program, and (ii) program code.  Submit electronically via Blackboard (not hardcopy) by the beginning of class on Wed, Feb 2.

Lab 4:  Arrays, Pointers, and Functions in C (Feb 4)

  1. Please follow all the examples and exercises in this tutorial, and submit a report via Blackboard by Wed, Feb 9.

Lab 5:  Basic MIPS Assembly (Feb 11)

  1. Submit answers to both exercises electronically via Blackboard by beginning of lab Fri, Feb 18.

  2. Assembly template for Exercise 2:  grayscale.asm

  3. Sample solution for Exercise 2 (rounding not implemented)

Lab 6:  String Processing and Recursion (Feb 18)

  1. Submit code and screenshot of output via Blackboard by beginning of lab Fri, Feb 25.

  2. Assembly templates:  atoi.asm, factorial.asm, and complete.asm.

Lab 7:  More Recursion (Feb 25)

  1. Submit code and screenshot of output via Blackboard by beginning of class Wed, March 2.

  2. Assembly template:  fib.asm

Lab 8:  More pointers, function pointers (Mar 18)

  1. Submit code and screenshot of output via Blackboard by beginning of lab Fri, March 25.

  2. C files:  bubble.c, bubble_generic.c

Labs 9 and 10:  Your Own Mini-Project

  1. Propose your topic no later than Wed, March 30.

  2. Complete C-language part by Fri, April 8.

  3. Complete MIPS language part by Fri, April 15.



LECTURES


Lecture 1:  Introduction (Jan 10)

  1. Reading:  Ch. 1

Lecture 2:  Information Encoding (Jan 12-19)

  1. Reading:  Ch. 2.4

Lecture 3:  Instruction Sets (Jan 24-26)

  1. Reading:  Ch. 2.1-2.3, 2.5-2.7

Lecture 4:  Addressing Modes (Feb 2-7)

  1. Reading:  Ch. 2.3, 2.10

Lecture 5:  Assembly and Simulator (Feb 9)

  1. Reading:  Ch. 2.9, Appendix B.1-B.5

  2. Sum example (Sum.asm)

  3. Sum Array example (SumArray.asm)

  4. Fibonacci example (Fibonacci1.asm)

  5. Another Fibonacci example (Fibonacci2.asm)

Lecture 6:  Stacks and Procedures (Feb 14-16)

  1. Reading:  Ch. 2.8, Appendix B.6

Quiz #1 (Feb 16)

  1. Material covered:  All lectures, readings and labs up until Feb 14; and
    Problem Sets 1-2

  2. 15 minutes in duration, multiple-choice and short-answer questions

  3. Open-book, open-notes, calculator allowed

  4. No computer/internet access, except for accessing class website, lecture slides and textbook CD supplement

Lecture 7:  Assembler and Compiler (Feb 21)

  1. Reading:  Ch. 2.12-2.14

  2. Skim:  Ch. 2.16-2.19


EXAM #1 (Feb 23)

  1. Material covered:  All lectures up until Slide #8 of Lecture 7 (Feb 21); all readings and labs up until Feb 21; and Problem Sets 1-2

  2. 75 minutes in duration, multiple-choice and short-answer questions

  3. Open-book, open-notes, calculator allowed

  4. No internet access, except for accessing class website

  5. Laptop allowed for accessing CD supplement

  6. No use of MIPS/MARS simulators

  7. Mean = 23.5/35; Median = 23.75/35

  8. Score distribution (histogram)


Lecture 8:  Transistors and Logic - I (Feb 28-Mar2)

  1. Reading:  Appendix C.1-C.3

Lecture 9:  Transistors and Logic - II (Mar 14-16)

  1. Reading:  Appendix C.1-C.3

Lecture 10:  Arithmetic Circuits:  Addition & Subtraction (Mar 23)

  1. Reading:  Ch. 3.1-3.2, Appendix C.5-C.6

  2. Skim:  Appendix C.4


Quiz #2 (March 25, in lab)

  1. Material covered:  Lectures 7-10 (for Lecture 10, only addition and subtraction); all associated readings and labs until Mar 23; and Problem Set 3.

  2. 15 minutes in duration, multiple-choice and short-answer questions

  3. Open-book, open-notes, calculator allowed

  4. No computer/internet access, except for accessing class website, lecture slides and textbook CD supplement


Lecture 11:  Multiplication and Division (Mar 28)

  1. Reading:  Ch. 3.1-3.4 (including Booth encoding)

Lecture 12:  Floating Point Representation (Mar 30)

  1. Reading:  Ch. 3.5

  2. Skim:  Ch. 3.6-3.8

Lecture 13:  Performance (Apr 4)

  1. Reading:  Ch. 1.4


Exam #2 (April 11)

  1. Material covered:  Lectures 7-12; all associated readings; Problem Sets 3-5.

  2. 75 minutes in duration, multiple-choice and short-answer questions

  3. Open-book, open-notes, calculator allowed

  4. No internet access, except for accessing class website

  5. Laptop allowed for accessing CD supplement

  6. No use of MIPS/MARS simulators


Lecture 14:  Memories and State Machines (Apr 13-18)

  1. Reading:  Appendix C.7-C.12


Quiz #3 (April 18)

  1. Material covered:  Lectures 13-14 and associated readings.

  2. 15 minutes in duration, multiple-choice and short-answer questions

  3. Open-book, open-notes, calculator allowed

  4. No computer/internet access, except for accessing class website, lecture slides and textbook CD supplement


Lecture 15:  Let’s Build a Computer! (Apr 20)

  1. Reading:  Ch. 4.1-4.4

Lecture 16:  Pipelining:  Benefits and Hazards (SELF STUDY)

  1. Reading:  Ch. 4.5-4.6, 4.7-4.8



EXAM #3 (Apr 25)

  1. Material covered:  Lectures 13-15; all associated readings.  Note:  Lecture 16 is not on the exam.

  2. 75 minutes in duration, multiple-choice and short-answer questions

  3. Open-book, open-notes, calculator allowed

  4. No internet access, except for accessing class website

  5. Laptop allowed for accessing CD supplement

  6. No use of MIPS/MARS simulators


Lecture 17:  Memory Hierarchy and Caches (Apr 27)

  1. Reading:  Ch. 5.1-5.4


Note:  You will receive your scores for Exam #3 during class on April 27.


END -- No more classes, homework, labs or exams.