Mekelle university
EIT-M
School of computing
Department of Information Systems
Module Name:
Module Code:
Course Title: Computer organization and Architecture
Course Code:
Credit Hours & ECTS:
Degree Program: BSc. in Information systems
Contact Hours (Lectures, Tutorials)
Course Instructor: Name: e-mail:
Lecture days, Hours & Room:
Tutorial/Lab days & Hours
2nd Year, Information systems Students
Target Group:
Compulsory
Status of the Course
Course Description
This is a first and introductory course in computer architecture organization. It presents the basic architecture used by
virtually all computers from the 1940s up to today. This information is valuable for those who plan to design or
program computing systems of all kinds. It explains the inner workings of a computer, defines the components and
how they interact, and shows the link between the computer hardware and the languages used to program it.
All students of computing should acquire some understanding and appreciation of a computer system’s functional
components, their characteristics, their performance, and their interactions. Students need to understand computer
architecture in order to structure a program so that it runs more efficiently on a real machine
The focus of this course is to deal with Digital logic and digital systems; Machine level representation of data;
Assembly level machine organization; Memory system organization and architecture; Interfacing and
communication; and functional organization
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
Topics / Chapters Duration/ Weeks References, Reading/
Assignments
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
Hardware/Software Interface, 2nd edition. Morgan Kaufmann Publishers
J.D. Carpinelli (2000) Computer Systems Organization and Architecture, Addison Wesley Pub Co.
A.S. Taneubaum (1998) Structured Computer Organization. Prentice Hall M.
M. Mario (1992) Computer System Architecture, Prentice Hall
Hemacher: Computer Organization