|
|
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: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
Recommended Books
|
Structured Computer Organization, Andrew S.
Tannenbaum, Prentice Hall, 1998. |
|
Computer Organization and Design: The Hardware/Software Interface, John L. Hennessy & David A. Patterson,
Morgan Kaufmann Publishers, Inc., 1998. |
|
Computer Organization
& Architecture: Designing for Performance,
William Stallings, Prentice Hall, 2003. |
|
Computer Organization, Carl Hamacher, Zvonko Vranesic, and Safwat Zaky,
5th Edition, Mc Graw Hill, 2002. |
|
Computer Systems: A Programmer's
Perspective, R. E.
Bryant and D. R. O'Hallaron,
Prentice Hall, 2003. |
|
Logic and
Computer Design Fundementals, 2nd Edition, M. Morris Mano, C. R.
Kime, Prentice Hall, 2001. |
|
Computer System
Architecture, M. Morris Mano, Prentice Hall, 1992. |
|
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.
|