CENG 321 Computer Architecture

Home

 

Fatih University, Computer Engineering Department
Fall Semester 2003
Monday 13:00 - 17:00, E303

 
Instructor: Halûk Gümüşkaya Teaching Assistant: Engin Tozal
Office: EA301 Office: .....
Office Hours: Mon, Wed, Thur, 13:00-14:00 Office Hours: ...
Office Phone: 0.212.889 0810-1036 Office Phone: 1027
E-mail: haluk@fatih.edu.tr E-mail: engintozal@fatih.edu.tr
   
Mostly Static Information: Mostly Dynamic Information:
bulletCourse Description
bullet Lecture Announcements
bullet Prerequisites
bullet

Course Materials

bullet Lecture Schedule
bullet

Homeworks, Exams and Solutions

bullet Textbooks
bullet

References

bullet Grading
bullet Grades
bullet Academic Integrity
 
   

Course Description

Short Description:
The design of computer systems and components. Processor design, instruction set design, and addressing; control structures and microprogramming; memory management, caches, and memory hierarchies; interrupts and I/O structures.

Long Description:
This is a course on the organization and architecture of computer hardware using the "layered" approach, with emphasis on CPU (central processing unit) design and programming. After a crash course on logic design, we begin by looking at computer architecture at the digital logic layer. At this layer, we develop the basic components and tools required to design a CPU. The second layer then explores the "micro" or interior organization of the CPU using the tools developed in the first layer. Our study of this second layer will center around a specific example of a microarchitecture. We'll then move on to the "software" layer, in which the CPU is programmed to interact with the rest of the computer system. The emphasis of this layer will be on assembly language programming. We will be writing several programs on IBM PC compatibles using Intel "x86" assembly language. Finally, we shall explore how CPU design is related to higher-level programming languages and issues. This will involve a discussion of the RISC v.s. CISC architecture controversy. Advanced topics will be covered as time allow.

Important Announcement for This Semester:
The descriptions given above are mainly for coming years. The course descriptions of CENG 252 Computer Organization and CENG 321 Computer Architecture were changed this semester, so we are in the transient year for these courses.

Starting from 2004, CENG 252 will mainly teach ISA (Instruction Set Architecture) level. That course will be an introduction to computer organization using assembly and machine language. In CENG 252 the hardware and software components of computers, number representation, computer arithmetic, instruction sets, I/O interrupts, and programming interrupts are presented. Projects involve detailed study and use of a specific computer hardware and software system.

In this semester mainly the topics of new CENG 252 will be presented using Intel x86 microprocessor family. The Intel x86 microprocessor family hardware and software architecture will be introduced. The emphasis of the course in this year will be on x86 assembly language programming and x86 hardware architecture.

Prerequisites

EE 273 Fundamentals of Logic Design, CENG 252 Computer Organization, CENG 101 Computer Programming I or CENG 102 Computer Programming II.

Lecture Schedule

Week Topics Covered

1

Course Overview , Review of Microprocessor Based Systems (1): Memory Basics and Memory System Design

2

Review of Microprocessor Based Systems (2): Microprocessor Architecture and Operation

3

Introduction to Intel 80x86 Architecture: External Architecture of 8088/8086, Internal Architecture, Memory Architecture, I/O Operations

4

Review of what we have learned so far and introduction to assembly programming tools

5

Elements of Assembly Language Programming: Assembly Language Statements, How to Assembly, Link, and Run a Program, Where are the Operands?: An Introduction to Addressing Modes

6

Addressing Modes: 32-Bit and 16-Bit Addressing, Simple Addressing Modes, Direct Addressing Mode, Register Indirect Addressing Mode, Based and Indexed Addressing Modes, Based-Indexed Addressing Mode

7

Basic Instructions: Data Transfer Instructions, Integer Addition and Subtraction, Multiplication, Division, Addition and Subtraction of Larger Numbers

8

Review before the midterm exam.

9

Branching and Looping: Unconditional Jumps, Conditional Jumps, Compare Instructions and If Structures, Implementing Loop Structures, For Loops in Assembly Language, Arrays

10

Midterm Exam I (postponed exam)
11 Midterm Exam I solutions and Introduction to Procedures
12 Procedures (1): The 80x86 Stack, Procedure Body, Call and Return, Parameters and Local Variables
13 Procedures (2): Call and Return, Parameters and Local Variables
14 Midterm Exam 2

 

The Road Map of CENG 252 Computer Organization and CENG 321 Computer Archtitecture
  Topics

1
CENG 252

Introduction to Computer Systems Organization

2
CENG 321
CENG 252

Digital Logic Level
- Quick Overview of Combinational and Sequential Circuits and Logic Design
- Registers and Counters
- Memory
- Register Transfers and Datapaths
- CPU Chips and Buses

3
CENG 321

Microarchitecture and Microprogramming: The Interior of the CPU
- An Example Microarchitecture
- Microinstruction sequencing and Microprogramming
- Other microarchitecture issues (interrupts, pipelines)

4
CENG 252

Macroarchitecture: Instruction Set Architecture Level and Assembly Language Programming
- Overview of the ISA Level
- Data Types
- Instruction Formats
- Addressing
- Instruction Types
- Flow of Control
- Interrupts and context switches
- RISC, CISC design choices

5
CENG 321

Operating Systems Level
- Virtual Memory
- Virtual I/O Instructions
- Comparison of Operating Systems

Textbooks

There is no single textbook that adequately covers such a diverse range of topics that are taught in this course. Buying multiple textbooks is clearly not very appealing financially. I therefore will try to prepare my own lecture handouts and slides available as course notes and they will be available at the photocopy center or on the web site of the course. Here are some textbooks that are helpful for various parts of the course:

Required

bullet

Introduction to 80x86 Assembly Language and Computer Architecture, Richard C. Detmer, Jones & Bartlett Pub, 512 pages, 2001.

Recommended Books

bullet

Structured Computer Organization, Andrew S. Tannenbaum, Prentice Hall, 1998.

bullet

Computer Organization and Design: The Hardware/Software Interface, John L. Hennessy & David A. Patterson, Morgan Kaufmann Publishers, Inc., 1998.

bullet

Computer Organization & Architecture: Designing for Performance, William Stallings, Prentice Hall, 2003.

bullet

Computer Organization, Carl Hamacher, Zvonko Vranesic, and Safwat Zaky, 5th Edition, Mc Graw Hill, 2002.

bullet

Computer Systems: A Programmer's Perspective, R. E. Bryant and D. R. O'Hallaron, Prentice Hall, 2003.

bullet

Logic and Computer Design Fundementals, 2nd Edition, M. Morris Mano, C. R. Kime, Prentice Hall, 2001.

bullet

Computer System Architecture, M. Morris Mano, Prentice Hall, 1992.

bullet

Mikroişlemciler ve Bilgisayarlar, 3. Basım, H. Gümüşkaya, ALFA, 2002.

Grading (tentative)
20 % : Homework Assignments
25 % : Midterm 1
25 % : Midterm 2
30 % : Final Exam (a comprehensive exam which covers all lectures at the end of the course)

Homework: There will be homework in every 2 or 3 weeks. The purpose of the homework is to give you a chance to exercise the knowledge gained from the recent class material. Some exam questions will closely resemble homework problems. Most homework problems will come from the main text book.

Attendance: Attendance is important in order to learn the topics in a timely manner. Attendance will be forced by taking attendance and by making quizzes at random times.

Quizzes: There will be short quizzes at random times. We may not inform you about the quizzes. A quiz may be done at any time during a lecture period.

Midterm Exam: There will be one midterm exam that will be given around the mid of the semester.

Final Exam: There will be one final exam that will be given during final exams period of the semester.

Makeup Exam: Depending on the need (for officially reported or extraordinary cases) I may make a makeup exam. But I should warn you that makeup exam will be much more difficult than the other exams in order to provide fairness for students who work on time and take the exam on time, and discourage students from unnecessarily omitting the exams.

Academic Integrity

We will be very careful in grading the projects, homeworks, exams so that everybody gets the grade that he/she deserves. Copying will not be tolerated and will be checked and punished rigorously.

The Fatih University has a very strict policy on academic dishonesty. All work on homeworks and examinations must be strictly individual.  Violations of this policy will result in an F grade for the class and may result in suspension/expulsion from the university.

 

Home