1 Introduction
1 Introduction
Introduction
2024
Overview
• Introduction to Computer Organization
• Course overview
• Housekeeping details
• Computer abstraction
• Anatomy of a computer
• Conclusion
Introduction
• Rapidly changing field:
– vacuum tube -> transistor -> IC -> VLSI
– doubling every 1.5 years (Moore’s law):
• Memory capacity
• Processor speed (Due to advances in technology and organization)
• Things you’ll be learning:
– how computers work, a basic foundation
– how to analyze their performance (or how not to!)
– issues affecting modern processors (caches, pipelines)
• Why learn this stuff?
– you want to call yourself a “computer scientist”
– you want to build software people use (need performance)
– you need to make a purchasing decision or offer advice
Computing System
Application (Browser)
Operating
Compiler System
Assembler (Win, Linux)
Software
Instruction Set
Hardware Processor Memory I/O system Architecture
Control Signal
Specification
°
°
A Six-Level Computer
Big Idea: Multilevel Machine
Evolution of Multilevel Machines
1. Bare hardware
2. Microprogramming
3. Operating system
4. Compilers
5. Hardware / software interface
– Simple ISA
– CISC
– RISC
Design Principles
• CISC vs. RISC
• Instructions directly executed by hardware
• Maximize instruction issue rate (ILP)
• Simple instructions (easy to decode)
• Access to memory only via load/store
• Plenty of registers
• Pipelining
Computer Organization
Von Neumann
Machine
Processor
Datapath
Memory I/O
Bus-Based Computer
Anatomy of a Modern PC
Multiprocessors
Local
Memory
Conclusion
– Principle of abstraction, used to build systems as layers
– Pliable Data: a program determines what it is
– Stored program concept: instructions are just data
– Principle of Locality, exploited via memory hierarchy
– Greater performance by exploiting parallelism (pipeline)
– Compilation v. interpretation to move downward through
layers of system
– Principles/Pitfalls of Performance Measurement