Introduction & Performance
This week introduces the fundamental concepts of computer architecture and quantitative performance analysis. We cover the Von Neumann model, the distinction between RISC and CISC philosophies, and the Iron Law of Performance that relates instruction count, CPI, and clock cycle time.
Learning Objectives
Key Concepts
Computer Architecture Overview
Computer architecture defines the interface between hardware and software. The Von Neumann model describes a stored-program computer with a CPU, memory, and I/O connected by buses. Modern processors follow either RISC (Reduced Instruction Set Computer) or CISC (Complex Instruction Set Computer) design philosophies.
- -
Von Neumann bottleneck: single bus between CPU and memory limits throughput
- -
RISC: simple fixed-length instructions, load/store architecture, many registers
- -
CISC: variable-length instructions, memory-to-memory operations, fewer registers
- -
Harvard architecture separates instruction and data memory to increase bandwidth
Performance Metrics
Quantitative performance analysis uses the Iron Law: . Instruction Count (IC) depends on the ISA and compiler, CPI (Cycles Per Instruction) depends on the micro-architecture, and cycle time depends on the technology and organization.
- -
CPU Time = Instruction Count × CPI × Clock Cycle Time
- -
CPI can vary per instruction class; use weighted average CPI
- -
MIPS (Million Instructions Per Second) is not always a fair comparison metric
- -
Amdahl's Law: Speedup is limited by the non-optimized fraction of execution