Logged in as: guest Log in
Comp 311 - Computer Organization
Fall 2022

Announcements


  • December 8: The final exam is available here. The secret codes required to submit it will be provided during the exam. 
  • November 22: I will be adding additional office hours from 2pm-4pm next Monday, 11/28.
  • November 21: The final examination time has been corrected. It will be held is Sitterson 014 from noon-3pm on 12/8.
  • November 20: I will be holding extra office hours on 11/21 from 1pm-4pm.
  • November 19:  Problem set #6 is online and due on 11/29
  • November 18: TA OH cancelled today
  • November 15: The second miderm can be found here.
  • November 11:  TA OH will be at 5:30pm today via zoom.Here.
  • November 9:  The students attending office hours moved that the second midterm be moved to 11/15, at the treat of mutiny I gave in. Tomorrow 11/10 will be a normal lecture. The midterm will be given on Tuesday 11/15.
  • November 3: Problem set #5 is online and due on 11/17
  • November 1: I have rescheduled the 2nd midterm to Thursday, November 10. This allows for more time to work on Problem set #5, which will be covered.  
  • October 18: Problem set #4 is online and due on 11/1
  • October 14: TA OH will be via zoom today. Here is the link.
  • October 13: TA OH will be via zoom today. Here is the link. 
  • September 28: Problem set #3 is online and is due on 10/13.
  • September 27: The midterm is available here.
  • September 26: The grades for Problem Set #1 are now posted. Login and go to the Setup menu. Select the posted grade for details.
  • September 22: No room was available for a midterm study session, so I will dedicate the first half of today's lecture to going over an old exam. Also, I will hold extra office hours today from 2pm-4pm.
  • September 12: Problem set #2 is online and is due on 9/22.
  • September 7: Henchforth Comp311-001 will meet in SN014. See you there tomorrow.
  • August 23, 2022: GroupMe created for the class.
  • August 17, 2022: I made a few schedule changes to accomedate the Grace Hopper celebration from 9/20-9/23. The first midterm was delayed. However, Problem Set #2 will be due during the confernce, so plan accordingly. 
  • August 16, 2022: The first class meeting (summer is over). I also added the link for the first lecture. In the future, these should be on-line before class. 

Course Description


Comp 311, Computer Organization, explores the topic of how computers work, in terms of both software and hardware. It covers a wide range of topics including what a bit is, and why bits are the atoms in the universe of computation. We also discuss how information is represented and processed in hardware, and arrive to the conclusion that, to a computer, everything is data, including the instructions that underly software.

Comp 311 also covers the wide range of languages, and layers of translation, used for computation-- spanning from machine language to assembly language to high-level compiled and interpreted languages. We will also touch on the conventions that will enable us to constuct large programs, modular software systems, and even programs that manage the loading, execution, and creation of other programs.

We will then delve deeper into computer hardware to discover what means to be digital. We will explore how simple combinational logic can be made to perform math and manipulate bits and how logic with state can be made to perform a series of operations. This will culminate in the virtual construction of a simple, yet fully functional computer.

In the last third of the class we will discuss issues of performance. What the measures of MIPS and CPI mean, and how they can be improved. We will discuss simple techniques for increasing the rates which computer execute instructions including pipelining and parallelism. We will then address techniques for improving the apparent memory bandwidth of a computer and finally how to simulate more memory that we can actually afford.

Grading will be based on:

  • 6 problem sets with the lowest dropped (30%)
  • 2 in-class exams (40%)
  • Final Exam (30%)

Detailed Course Syllabus

Book, Course Information, and Prerequisites


Textbook:

I will be using no book this semester. We will be depending on my notes and online materials.

Credit Hours: 3
Location: Coker 201 Sitterson 014
Time: T, Th - 8:00am-9:15am
URL: http://csbio.unc.edu/mcmillan/index.py?run=Courses.Comp311F22
Prerequisite: COMP 211 and its prequisites





Course Instructors


Leonard.png
Instructor: Leonard McMillan
Office: SN316
email: mcmillan@unc.edu
Office Hours: W 2-4pm
Vikram P.T.
Teaching Assistant: Vikram P.T. (Pallygarnai Thirumalai)
Office: SN007
email: Vikram14@cs.unc.edu
Office Hours: Th 2-4pm, Fri 1:15-3pm

Schedule


 

Date Topic Homework
August 16 (T) Lecture 1. Introduction and Information (slides)  
August 18 (Th) Lecture 2. Binary Representations (slides)  
August 23 (T) Lecture 3. Behind the Curtain (slides)  
August 25 (Th) Lecture 4. An Instruction Set (slides) Problem Set #1
August 30 (T) Lecture 5. Addressing Modes and Branching (slides)  
September 1 (Th) Lecture 6. Assembling the Last Few Bits (slides)  
September 6 (T) No Class (Well-Being Day)
September 8 (Th) Lecture 7. Stacks and Procedures (slides) gcd.s sqr_good.s Problem Set #2 (PS1 due)
September 13 (T) Lecture 8.  Compilers and Interpreters (slides)  
September 15 (Th) Lecture 9. Assembling and Linking (slides)
September 20 (T) Lecture 10. Some Assembly Required (slides)
September 22 (Th) Lecture 11. Physical Bits: Transistors and Logic (slides)
PS2 due
September 27 (T) Exam #1: Covers lectures 1-9
September 29 (Th) Lecture 12. Enumerating and Composing Gates (slides)
Problem Set #3 
October 4 (T) Lecture 13. Arithmetic Circuits (slides)

October 6 (Th) Lecture 14. An ALU (slides)

October 11 (T) Lecture 15. Memory, Latches, and Registers (slides)
October 13 (Th) Lecture 16. Finite State Machines (slides)
 (PS3 due)
October 18 (T) Lecture 16. Finite State Machines - continued (Midterm review) Problem Set #4
October 20 (Th) No Class (Fall Break)
October 25 (T) Lecture 17. FSMs and Turing Machines (slides)

October 27 (Th) Lecture 18. Building a Computer (slides)
 
November 1 (T) Lecture 18. Building a Computer (cont)
(PS4 due)
November 3 (Th) Lecture 19. Computer Performance (slides)
Problem Set #5
November 8 (T) Lecture 20. Introduction to Pipelining (slides)  
November 10 (Th) Exam #2: Covers lectures 10-18 
November 15 (T) Lecture 21. Pipelining a CPU (slides)

November 17 (Th) Lecture 22. Memory Hierarcy & Caches (slides)
Problem Set #6 (PS5 due)
November 22 (T) Lecture 23. Virtual Memory (slides)
November 24 (Th) No Class (Thanksgiving Break)
November 29 (T) Lecture 24. Virtual Memory (slides)  (PS6 due)
December 8 (Th) Final Exam: In SN014 from Noon-3pm.

 

Resources




Site built using pyWeb version 1.10
© 2010 Leonard McMillan, Alex Jackson and UNC Computational Genetics