Syllabus/Course Requirements    Fall 2008                           

 

Course Number:   CSCI 320 Computer Architecture
                             
Time & Place:       MWF   9:00a – 9:50a  OCNL 340

The course introduces basic digital logic design techniques and integrates the topics of assembly language programming, computer organization,and computer design. Topics include the design of the arithmetic and logic unit (ALU), hardware multiplication and division, multiple clock cycle implementations, pipelined implementations, hazard detection and forwarding, design of a memory hierarchy, system busses and the design of a direct memory access (DMA) controller, cache consistency in multiprocessor systems,

and implementation of a snooping cache.

(From: www.csuchico.edu/catalog/cat03/pdf/programs/csci.pdf )

 

Prerequisites: CSCI 221 (Assembly Language Programming)

 

Units:  3.0

 

Instructor:                  Seung-Bae Im

Office Hours:             Mon 11:00am - 12:00pm, Wed 11:00am - 12:00pm, Fri 11:00am - 12:00pm, (OCNL 229)

Office Phone:            (530) 898-5056

Fax Phone:                (530) 898-5995

E-mail Address:         sim@csuchico.edu  or  sim@ecst.csuchico.edu

 

Textbook:


David Patterson and John Hennessy’s
Computer Organization and Design,
3rd edition, Revised Reprint

 

 

 

Course Objectives

The objectives of this course are to: help students learn the fundamental elements of computer architecture from a functional, hardware perspective; foster an appreciation of organizational models and design decisions that determine the overall performance, capabilities, and limitations of a computer system; and help students understand the interdependencies among assembly languages, computer organization, and design.

 

Course Outcomes

Upon successful completion of this course, the student shall be able to: apply learned fundamental elements of computer architecture to hardware design and functional analysis; understand and appreciate various organizational models and design decisions that determine the overall performance, capabilities, and limitations of a computer system; and clearly understand the interdependencies among assembly languages, computer organization, and design.

 

Relationship of Course to Program Objectives

This course supports the achievement of the following program objectives:

Problem Analysis and Solution Design: Significant

Oral and Written Communication: Some

Social and Ethical Issues: Minimal

Applicability to Future Endeavors: Significant

 

Relationship of Course to Program Objectives

This course supports the achievement of the following program outcomes:

Outcome A: An ability to apply knowledge of math, science, and engineering.

Outcome B: An ability to design and implement programs as well as to analyze and interpret code and data.

Outcome C: An ability to design a system, component, or process to meet desired needs.

Outcome E: An ability to identify, formulate, and solve computing problems.

Outcome F: An understanding of professional and ethical responsibilities.

Outcome H: The broad education necessary to understand the impact of computing solutions in a global and societal context.

Outcome J: A knowledge of contemporary issues.

Outcome K: An ability to use the techniques, skills, and modern computing tools necessary for computing practice.

 

Course Topics and Schedule

 

1. Introduction & History(Chapter 1)

            What is  Computer Architecture ?

2. Computer Number systems and Logic Designs

            Number systems(Chapter 3.1 – 3.3)

            Boolean Algebra(Appendix B)

            Minimization of logics

            Logical blocks(Muxes. Decoders, ..)

            Flip-flops & sequential circuits

            Programmable logic devices(PROM/PLA/PAL)

            ALU Designs

3. Computer Arithmetic and ALU design(Chapter 3.4 – End of Chapter 3)

            Addition &Substraction

            Multiplication & Division

            ALU circuits Design

4. Machine Languages and relationships to hardware(Chapter 2)

5. Peformance metrics for computers(Chapter 4)

6. The Datapath and Control organizations of processors(Chapter 5)

            Builing Datapath

            Hardwired control vs Microprogramming

            Control logic organization

7. Performance enhancement of a processor with pipelining(Chapter 6)

            Pipelined control

            Pipeline hazards

8. Memory system(Chapter 7)

            Cache Memory

            Virtual Memory

9. I/O systems & Buses(Chapter 8)

            I/O devices

            I/O interface

            Buses, DMA

           

Projects:                               None

 

Grade evaluation:      Homework Assignments         30%

                                    2 Midterm Exams                   45%

Final(comprehensive)              25%