CS 330   Computer Organization and Architecture (Fall 2008)

                                           Prerequisite: CS 221

 
 
Key Information
 
Lecture time: 8:00a-8:50a MWF, EPS 108
Instructor:   Year-Back Yoo,  yoo@cs.montana.edu
Office hours: 9-11 M, 11-12 T, 9-10 W
Textbook: Stallings, Computer Organization and Architecture, 7th Ed
 
TA:  Grant Nelson
E-mail: grantn@cs.montana.edu
Office EPS 348
Office Hours: 10-12 + 1–3 T
 
   
Course Outline
 
The computer lies at the heart of computing. Students who major
in computer science should understand the function and the 
structure of each basic component of a computer system and
their interaction. Without this knowledge a computer system
is merely a black box that execute their programs magically.
The objectives of this course are:
 
1. Understand the fundamentals of logic design and be able to apply
   the basic principles to computer components.
2. Understand the structure of a computer system.
3. Understand how the CPU execute computer programs.
4. Understand the structure of the memory system
5. Understand I/O system
6. Understand how the control unit operates.
7. Be able to read and write assembly language programs.
 

The assessment how well the course objectives were met will be based on the followings:

   o   Homework – for students to improve understanding of the course material and

             for the instructor to verify that progress has made. (1,2,3,4,5,6)           

   o   Midterm and Final exams –  for the students to verify their level

                     of understanding of the fundamental concepts (1,2,3,4,5,6);

            for the instructor to assess the students' understanding of the

                      course material (1,2,3,4,5,6)

   o   Project - for students to understand the inner workings of a computer system by

             building a small computer themselves. (1,2,3,6)

   o   Programming assignments - to evaluate the skill of assembly language programming (7)

 

 

Course Outcomes

      

By the end of the course, students will be able to
 

-           Boolean algebra

-           simplification using algebraic, K-map, or QM method

-      digital circuits - combinatorial and sequential

-            designing adder, register, and counter

-          memory hierarchy

-          cache memory design

-          main memory types

-          design of memory module

-          Hamming code for single-error correction

-          disk and tape organization

-          programmed i/o

-           interrupt-driven i/o 

-          direct memory access

-          integer and floating-point representation

-          big- and little-endian

-          addition and multiplication

-          instruction set design

-          the usage of stacks

-          addressing mode

-          the internal structure of the CPU – ALU, registers, control unit

-          instruction pipelining

-          micro-operations

-     (micro-programmed control)

-          parallel processor organizations

-          shared-memory versus distributed-memory architecture

 

Grading Scheme

 

        Team Project                      20%

        Programming                       20%

        Quiz/Homework                     20%

        Midterm                           15%

        Final                             25%

 
 
      Grading Scale:    
 
         A   A-   B+   B    B-   C+   C    C-   D+   D    D-  F
        --------------------------------------------------------
          93   90   87   83   80   77   73   70   67   63   60
 
 

Lecture Schedule

Class Notes

Project