Introduction
- Course objective.
- Course outline.
- History of the development of computing machines.
Overview of Computer System Architectures
- Multi-level machines.
- Major components in a computer system.
Processor Designs (I) -- Date Path and Hardwired Control
- Review of digital logic designs.
- Design of datapath (the small machine example).
- Design of hardwired control (the small machine example).
Processor Designs (II) -- Microprogramming Implementation
- Basic concepts in microprogramming
Example: design of Mac-1/Mic-1 machine. - Horizontal vs. vertical microprogramming
Example: design of Mac-1/Mic-2 machine. - Nanoprogramming.
- Pipelining.
Memory System Designs
- Basic Concepts
* Terminology;
* Principle of locality;
* Main memory and secondary memory organization;
* Error detection and correction. - Speed-up techniques in memory system designs * Parallel memory modules; * Cache memory.
- Virtual memory * Page-based paging; * Segment-based paging; * Page-segment-based paging.
Input/Output Processing
- Typical I/O devices.
- Basic I/O organization.
- Data transfer methods
* Programmed I/O;
* Interrupt-driven I/O;
* Direct memory access (DMA);
* I/O channels. - Bus interconnections
* Synchronous vs. asynchronous Bus;
* Bus arbitration;
* Bus standard. - Examples of I/O systems.
Instruction Set Designs -- The Conventional Machine Level
- Basic concepts and examples.
- Instruction representation (formats)
* Number of addresses;
* Op-code format;
* Fixed/variable length instructions;
* Addressing Schemes;
* Instruction classification. - Data representation (formats).
- Flow of control.
RISC Machines
- Basic Concepts.
- Some design principles for RISC machines
* Pipelining;
* Register usage. - Examples of RISC architectures.