The von Neumann Architecture
von Neumann Characteristics
- It's the cockroach of computer architectures.
- You just can't get rid of it.
- Instructions and data are the same.
- Stored-program computer.
- A computer is a giant state machine.
von Neumann Features
- The link between the CPU and storage is the von Neumann
Bottleneck.
- Fast CPUs, slow storage.
- DRAM has 50-100 ns access times.
- SRAM has 25 ns access times.
- Rambus has 0.6-0.8 ns access times.
- Self-modifying code.
Other Architectures
- The Harvard Architecture has separate storages for program and
data.
- Often found in controllers.
- The data-flow architecture treats computations as graphs.
- The IBM-Toshiba Cell processor.
The Pieces
- The CPU.
- Physical memory.
- Devices
- Other Pieces.
The CPU
- The brain in powerful electronic brain.
- The registers - state.
- Data registers.
- Control and status registers.
- The cache - more state; also off-chip cache.
- The Arithmetic-Logic Unit (ALU).
- The control unit.
CPU Structure
Physical Memory
- A big array of units - bytes, words, whatever.
- Memory is actually another device.
- Volatile vs. non-volatile - RAM vs. ROM.
- Memory structure is actually complicated - squeezing out maximum
performance is tricky.
- Power-managed memory.
Devices
- General device characteristics.
- Like special purpose computers - limited instruction set.
- Many classifications - character or block, synchronous or
asynchronous, serial or parallel, storage or communication.
Device controllers
- The interface to the device.
- Generally a bunch of registers - some read, some write, some
read-write.
- Device registers may be require special CPU instructions or look
like memory.
- Other forms of CPU-device communication for large amounts of data -
buffers.
- Device drivers - what the operating system provides.
Other Pieces
- Memory management unit (MMU).
- On (fast and small) or off (large and slow) the CPU chip.
- Clocks and timers - countdown and running.
Interconnections
- Busses tie the components together.
- Address, data, io bus.
- Bus width and speed - less wide busses are slower.
- Bus arbitration.
- Many busses, dual-ported memory.
Interrupts
- How devices get the CPU's attention.
- An interrupt is an electric signal on a wire.
- Interrupts stop the current instruction sequence and start another
one - what's the state just after the interrupt.
- Other information may be included - device id, interrupt id (called
the interrupt level).
- The choice of alternative instruction stream may vary - interrupt
vector.
- Interrupts can be disabled, which is dangerous.
Caches
- Caches are fast, small memory.
- On-chip or off-chip caches (CPU).
- Caching is a useful technique for speed-up.
- A cache represents a lot of state.
- Buffers are caches made out of regular memory.
Operation
- Boot up - what happens when the power goes on.
- Read in a boot program from somewhere (ROM, the boot sector on disk),
then execute it.
- Basic operation - fetch, execute, store.
Operating Modes
- Protection and efficient management require access restrictions.
- CPU operating modes - some modes can't execute some instructions.
- User or kernel modes - kernel mode can do anything; user mode can't.
- Traps - user level instructions that switch to kernel mode; an
interrupt.
This page last modified on 14 November 2004.