Dhofar University                                                                  

School of Engineering

Electrical and Computer Engineering Department

 

Computer Organization and Architecture – Course Guide

                                                                                                                      

EECE 320                                                                                                                                                           

 

Announcements

 

 
 
1. Course Details: 
 

Course Title:

Computer Organization and Architecture

Level

Seniors

Course Reference

EECE 320

Lectures

SMW 11:00 a.m. - 11:50 a.m.

Room

Q 109

Laboratory

TBA

Office Hours TBA

Student Study Hours Per Week

9

Contact Hours Per Week

3

Private Study Hours Per Week

6

Year and Semester

2007 - 2008 (Spring)

Lecturer

Dr. I. Damaj

Contact Details

i_damaj[@]du.edu.om  - Remove the brackets [ ]

Summary of Assessment Method

2 Quizzes, Assignments, Project, and a Final

 

 

Textbook

David A. Patterson and John L. Hennessy, Computer Organization and Design: the Hardware/Software Interface, Third Edition, Morgan Kaufmann Publishers, 2004.

 

 

References

Computer Architecture: From Microprocessors to Supercomputers, Oxford University Press, 2005, ISBN 0-19-515455-X

 

Computer Architecture: A Quantitative Approach, Third Edition, Hennessy and Patterson, Morgan Kaufmann Publishers (Elsevier), 2002.

 

Carl Hamacher, Zvonko Vranesic, and Safwat Zaky, Computer Organization, Fifth Edition, McGraw-Hill, 2002.

 

J. Bhasker, A VHDL Primer, Third Edition, Prentice-Hall, 1999.

 

Advanced Computer Architecture: Parallelism, Scalability, and Programmability.  K. Hwang, McGraw-Hill Computer Science Series, 1993.

 

Introduction to Parallel Processing: Algorithms and Architectures. Behrooz Parhami, Plenum 1999.

 

D. Sima, T. Fountain, P. Kacsuk, "Advanced Computer Architectures: A Design Space Approach", Addison Wesley, 1997.

 

Software Packages

C++/Visual C++, SPIM Simulator, and VHDL.

 
2. Aims of the Course: 

 

This course covers the organization of modern computer systems. In addition to learning how to program computers at the assembly level, students learn how to design the main components of a von Neumann computer system, including its instruction set architecture, datapath, control unit, memory system, input/output interfaces, and system buses. To consolidate the material presented in class, students work on assembly-language programming and datapath design assignments, and a major computer interfacing project.

 

3. Short Description: 

 

A course on the organization of modern computer systems. Basic hardware and software components of von Neumann computers. Machine instruction sets and assembly language programming. Fixed- and floating-point computer arithmetic. Processor datapath and control unit design. Instruction pipelining. The memory system. Input/output interfacing techniques. System buses.

 

4. Schedule: 

 

Details:

Topic

Chap. No.

Assessment

Weeks 1 – 2

Computer Abstractions:

Basic Organization of Computer Systems (ISA, Datapath, Control, Memory, I/O, Operating Systems, Compilers, Assemblers, Linkers, Loaders). A Brief History of Computers

 

1

 

Weeks 3 – 5

Machine Instructions and Programs:

Part I: Instruction Sets and Machine Programming Models

Part II: Memory Locations, Addresses, and Operations

Part III: Assembly Language Programming (MIPS)

Part IV: The MIPS Instruction Set Architecture

 

2

Assignment

Weeks 6 – 8

Arithmetic for Computers:

Part I: Fixed-Point Arithmetic and Numerical Precision

Part II: Floating-Point Arithmetic and the IEEE-754 Standard

Part III: Floating-Point Operations: addition, multiplication, and division

 

3  
Weeks 9 – 13

The Processor:

Part I: Execution Performance

Part II:  Introduction to  Datapath

Part III: Datapath and Control Unit Design

 

4

Quiz I

Project Proposal

 

Week 14

Memory Hierarchy:

Part I: The Memory Hierarchy

Part II: Cache Memory

Part III: Virtual Memory

 

6

Quiz II

Week 15

Computer Interfacing:

Part I: Introduction - Buses and I/O

Part II: Bus Arbitration

 

7

Project Due

 
5. Course Objectives and Learning Outcomes

 

On successfully completing this course, students will be able to:

 

1.       Understand the basic organization of modern computer systems.

2.       Understand how computer programs are organized, stored, and executed at the machine level.

3.       Understand the operation of fixed- and floating-point arithmetic units.

4.       Analyze an instruction-set architecture and propose a suitable datapath and control unit implementation.

§         Identify the datapath elements needed to implement a specific instruction set.

§         Explain the principles of hardwired and microprogrammed control.

§         Design the control units for single-cycle and multi-cycle implementations of a given instruction set.

§         Explain how datapath elements and control units are implemented in hardware.

§         Measure the impact of various architectural implementation strategies on performance.

6.       Understand the basic organization of the memory hierarchy.

7.       Understand the input/output mechanisms used to connect computers to their external environments.

8.       Understand how system buses link the components of a computer system.

 
6. Assessment of the Course:

 

Attendance

%5

Pop quizzes and assignments

%10

Quiz I

%20

Quiz II

%25

Project

%10

Final

%30

 

7. Notes
 
 
Announcements
 
[May 22, 2008] Chapters 5 and 6 are posted.
 
[April 17, 2008] Chapter 4 is posted.
 
[April 4, 2008] Some solved problems (for chapter 3) are posted. 
 
[March 26, 2008] An Assignment is posted, submission due date is on the19th of April 2008 class time.
 
[March 20, 2008] Chapter 3 is posted.
 
[March 6, 2008] Chapter 2 is posted.
 
[Feb 22, 2008] Chapter 1 is posted.
 
[Feb 22, 2008] Welcome to course website.