Course Outline For COA
Course Outline For COA
EIT-M
School of computing
Course Code:
Course Objective
At the end of the course students will be able to:
To discuss and have a thorough understanding of the basic structure and operation of a digital computer.
Identify in detail the organization of the Control unit, the Arithmetic and Logical unit, the Memory unit and the
I/O unit.
Discuss in detail the operation of the arithmetic unit including the algorithms & implementation of fixed-point
and floating-point addition, subtraction, multiplication & division.
To study in detail the different types of control and the concept of pipelining.
Study the hierarchical and basic characteristics of multi processors
Describe the principles of memory management.
Describe the role of cache and virtual memory.
Explain the workings of a system with virtual memory management.
Explain how interrupts are used to implement I/O control and data transfers.
Identify various types of buses in a computer system.
Describe data access from a magnetic disk drive.
Identify interfaces needed for multimedia support.
Describe the advantages and limitations of RAID (redundant array of independent disks) architectures.
Compare alternative implementation of data paths.
Discuss the concept of control points and the generation of control signals using hardwired or micro programmed
implementations.
Explain basic instruction level parallelism using pipelining and the major hazards that may occur.
Course Outline
Chapter-1:
Digital logic and digital systems;
Overview and history of computer architecture
Fundamental building blocks (logic gates, flip-flops,
counters, registers, PLA)
Logic expressions, minimization, sum of product forms
Register transfer notation
Physical considerations (gate delays, fan-in, fan-out)
Chapter-2:
Data Representation:
Bits, bytes, and words
Numeric data representation and number bases
Fixed- and floating-point systems
Signed and twos-complement representations
Representation of nonnumeric data (character codes,
graphical data)
Representation of records and arrays
Chapter-3
Assembly level machine organization
Basic organization of the von Neumann machine
Control unit; instruction fetch, decode, and execution
Instruction sets and types (data manipulation, control, I/O)
Assembly/machine language programming
Instruction formats
Addressing modes
Subroutine call and return mechanisms
I/O and interrupts
Chapter-4:
Memory system organization and architecture:
Storage systems and their technology
Coding, data compression, and data integrity
Memory hierarchy
Main memory organization and operations
Latency, cycle time, bandwidth, and interleaving
Cache memories (address mapping, block size, replacement
and store policy)
Virtual memory (page table, TLB)
Fault handling and reliability
Chapter-5:
Interfacing and communication:
I/O fundamentals: handshaking, buffering, programmed
I/O, interrupt-driven I/O
Interrupt structures: vectored and prioritized, interrupt
acknowledgment
External storage, physical organization, and drives
Buses: bus protocols, arbitration, direct-memory access
(DMA)
Introduction to networks
Multimedia support
RAID architectures
Functional organization:
Implementation of simple data paths
Control unit: hardwired realization vs. micro programmed
realization
Instruction pipelining
Introduction to instruction-level parallelism
Teaching Methodology: - The course will be delivered in the form of lectures, demonstration, presentations, group
discussions, Lab practice and individual and group project works.
Assessment Methods:
Required software and/or hardware: Logic Works Simulator
References
Linda Null and Julia Lobur, The essentials of Computer organization and Architecture, Jones and Barnet publishers
@2003
D. A. Patterson and J. L, Hennessy (1996) Computer Architecture: A Quantitative Approach, 2nd edition. Morgan
Kaufmann, Inc.
D.A. Patterson and J.L Hennessy (1991} Computer Organization and Design: The
J.D. Carpinelli (2000) Computer Systems Organization and Architecture, Addison Wesley Pub Co.