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. |