CS/EE 380 Computer Organization and Design

University of Kentucky
Department of Electrical and Computer Engineering
CS/EE 380 Computer Organization and Design
 
 
1.  Course Number/Name:  CS/EE 380, Computer Organization and Design
 
2.  Credits and Contact Hours:  3 credits, 3 contact hours
 
3.   Instructor:  assigned by the department
 
4.   Textbook D.A. Patterson and J.L. Hennessy, Computer Organization and Design: The Hardware Software Interface, Morgan
                        Kaufmann, San Mateo. Any edition from the 2nd forward may be used, but the 5th edition is preferred. Numerous
                        supplementary materials and WWW-interfaced software tools are distributed via the course website.     
 
5.   a.  Catalog Description:  Hardware and software organization and design of a typical computer; computer performance;
           instruction set design, machine language and assemby-language programming, computer arithmetic; datapath and
           controller design; pipelining, memory structures, interfacing peripheral devices and input-output structures; contemporary
           issues and the evolution of computers.  
 
b.  Prerequisites: CS 215, EE 280.
 
c.  Required course: Required
 
6.  a.   Outcomes of Instruction:
 
           Upon completion of this course the students should demonstrate the ability to: 
 
1.   Understand the levels of software and hardware comprising the Instruction Set Architecture (ISA) of a computer.
2.   Analytically and experimentally analyze, evaluate, and compare the performance of computers.
3.   Understand how specific high-level-language program constructs are implemented in assembly languages.
4.   Understand how computers perform integer and floating-point (IEEE 754 format) addition, subtraction, multiplication, and division.
5.   Organize, design, and implement at the gate and register level the datapath, controller, and memory of a computer.
6.   Make design decisions based on performance data.
7.   Write and run assembly language programs on a simulator of a designed computer. 
8.   Understand the historical and continuing evolution of computing systems and the effects of technological changes on computer design, including a knowledge of contemporary issues and appreciation of the role of lifelong learning. 
 
b.   Contributions to Student Outcomes (ABET Criterion 3 for Computer Science)
           

Outcome

a

b

c

d

e

f

g

h

i

j

k

CS/EE 380

2

1

3

 

1

1

 

2

3

3

1

3- Strongly supported   2 – Supported   1 – Minimally supported
 
 7.   List of Topics Covered:
 
1.     The History/Continuing Evolution of Computer Organization; Contemporary Issues and the role of Lifelong Learning
2.     Computer Abstractions and Technology
3.     How Integrated Circuits have influenced Computer Organization, Design, and Performance 
4.     The Role and Importance of Computer Performance
5.     Different Types of Computer Instructions: the language of a computer 
6.     How computers perform Arithmetic
7.     Design of a Processor consisting of datapaths and a control unit 
8.     The principle of Pipelining and how it enhances performance
9.    The Levels and Function of a Computer Memory Hierarchy
10.  The Interfacing of Processors and Peripherals
11.   Overview of Parallel Processing and High-End Computing Systems