Von Neumann architecture
The stored-program computer model: control unit, arithmetic and logic unit, a single memory, input-output and three buses, compared with the Harvard architecture, with its bottleneck.
- 24 cards
- 3 topics
- Free
The outline, topic by topic
Each topic is weighted the way the exam weighs it.
- Concepts
- Questions
- Sort and link
A few cards from the deck
Von Neumann architecture: what is it?
Show the answer
A computer model in which a single memory holds both instructions and data, linked by buses to a processor made of a control unit and a calculation unit.
Five elements: control unit, arithmetic and logic unit, memory, input-output and the buses that link them. It is the layout of almost every present-day computer, as the programmer sees it.
The processor must read the instruction stored at address 0x40. Which bus carries 0x40 to memory?
- The address bus
- The data bus
- The control bus
- The input-output bus
Show the answer
The address bus
0x40 designates a cell: it is an address. The data bus will then bring back the contents of that cell, and the control bus says it is a read.
To read a memory cell, the processor puts its address on the … bus, a read signal on the … bus, and the value comes back on the data bus.
Show the answer
To read a memory cell, the processor puts its address on the address bus, a read signal on the control bus, and the value comes back on the data bus.
The address bus only goes from the processor to memory; the data bus runs both ways, towards memory for a write and towards the processor for a read.
Control unit: what is it?
Show the answer
The part of the processor that fetches each instruction from memory, decodes it and sends the other elements the signals that make it run.
It computes nothing itself: it directs. The calculation goes to the arithmetic and logic unit, reads and writes go to memory.
A program adds two huge arrays. The processor is often idle, waiting, while its calculation units are free. What is the most likely cause?
- An arithmetic and logic unit too slow to add
- Every piece of data has to go through memory
- A program counter that has reached its maximum value
- An address bus too short for the instruction
Show the answer
Every piece of data has to go through memory
Adding is fast; fetching billions of bytes from memory is not. That is the von Neumann bottleneck: the computation waits for the data.