Architecture recap
- Data must be collected automatically in a Programable Computer
- Control signals need to be extracted from each instruction
- These instructions are stored in a Instruction Register (IR)
- Process of loading instructions need to be controlled

Harvard Architecture

- All subsystems are separate and self contained
- Many systems controlled by one system
- Subsystems give feedback to the controller to allow for a response to an event
Problem
- Loading programs is complex
- Requires a-lot of redundant hardware
Von Neumann Architecture

- Alternates between being a controller and a controlled system each clock cycle
- Thus no or less redundant hardware
Controller (what does it do?)
- Fetches
- Loads IR
Controlled (what does it do?)
- contents of IR determine next action
- executes
Problem
- 2x as slow as harvard due to shared bus (Von Neumann bottle neck)
Modern solutions
- Typically a mix between the two
- Mainly Von Neumann with extra buses, special purpose memories and pipelining
- Harvard is used within this main system, for subsystems and microprograms for complex instructions