Computer Organization and Architecture

How computers are designed, from processors, instruction sets, and arithmetic logic units to control design, memory and I/O systems, pipelining, and multiprocessor architectures.

Course: CSE 209

Institution: Dhaka International University

Taught: Fall 2017

Enrollment: 59 students

Course Overview

This course prepares students for work in microprocessor, embedded systems, and computer systems research by teaching the technical foundations of computer organization and architecture. I used lectures, demonstrations, presentations, and group exercises to connect quantitative performance principles with the design of real computer systems.

Learning Objectives

After completing this course, students will be able to:

  • Define and describe computer organization and architecture
  • Classify and compare computer organizations, architectures, and their internal components
  • Explain and apply how these components work together
  • Analyze and design new models of computer organization and architecture
  • Evaluate architectures and the factors that shape their performance

Textbooks

  • Patterson and Hennessy, Computer Organization and Design: The Hardware/Software Interface
  • Stallings, Computer Organization and Architecture
  • Null and Lobur, The Essentials of Computer Organization and Architecture
  • Hayes, Computer Architecture and Organization

Schedule

Unit Topic
1 Fundamentals of Computer Design

Performance, quantitative principles of design, fallacies and pitfalls, and historical perspectives.

2 Processor Design

Processor organization, information representation, and number formats.

3 Instruction Sets

Instruction formats and types.

4 Fixed-Point Arithmetic

Addition, subtraction, multiplication, and division.

5 ALU Design

Basic ALU organization, floating-point arithmetic, arithmetic processors, and stack computers.

6–8 Control Design

Instruction sequencing and interpretation, hardwired control, and microprogrammed control.

9–10 Memory Organization

Memory hierarchies, interleaved memories, caches, and associative memories.

11–12 System Organization and I/O

Bus control, programmed I/O, DMA and interrupts, and I/O processors.

13–14 Parallel Processing and Pipelining

Types of parallel processors, pipeline structures, vector supercomputers, and data flow computers.

15 Multiprocessors

Multiprocessor architectures and fault-tolerant computers.

16 RISC Processors

Data dependency, addressing modes, condition codes, register sets, and a standard RISC processor.