Introduction
Von Neumann Architecture
The first computers had fixed programs and changing a computer program required physically rewiring or redesigning the machine. This meant that re-repurposing an computer was a difficult, expensive and time-consuming process. The Mathematician John Von-Neuman designed the specification for the first programmable computer in 1954, where the programs themselves could be stored in memory, not just data.
Instructions are stored in memory and are retrieved and processed by the Central Processing Unit one by one. This blueprint is known as the Von-Neumann Architecture.
The Von-Neuman Architecture is based on the principle of:
- Fetch an Instruction
- Decode the Instruction
- Execute the Instruction
The process above is repeated indefinitely, and is known as the fetch, decode, execute cycle.
Video
CU
Control Unit (CU)
The job of the control unit is to coordinate and control all the other parts of the CPU. It tells the registers & ALU what to do with an instruction that is passed to them.
The CU decodes the instructions retrieved from memory and instructs the ALU to perform an arithmetic or logic instruction on the data from the decoded instruction
ALU
Arithmetic Logic Unit
They job of the ALU is to perform the calculations or logic that the CU has decoded.
Common processes include:
- Addition
- Subtraction
- Division
- Multiplication
- Selection / Branching
- Repetition / looping.
Registers
Registers
The registers form part of the CPU Cache, temporarily storing data ready for processing or send to the RAM.
PC – Program Control Register
The program control register stores the address of the current instruction. Once the current instruction has been fetched and decoded, the program control register changes to the address of the next instruction.
IR – Instruction Register
The instruction register contains the current instruction itself, retrieved from it’s stored address.
MAR – Memory Address Register
The memory address register contains the memory location of either the next instruction to be fetched or the location of where the results of the current process are to be stored.
MDR – Memory Data Register
The memory data register contains either the data retrieved from memory (either an instruction or an operand) during the current fetch cycle at the address stipulated in the MAR, or the data the is due to be written to memory.
ACC – Accumulator
The accumulator receives the results of the current process from the ALU and stores it for the use in the next Fetch-Decode-Execute cycle.
Buses
Buses
Buses are the physical wires along which data is passed, both within the CPU itself and across the motherboard.
CPU Bus
The CPU bus is used to pass data around the CPU between the CU,ALU and reigsters.
Control Bus
The Control bu sends signals to the RAM, indicating whether to initiate a read or write on the address recieved along te address bus
Address Bus
The address bus is the wire along which the address of the memory location in RAM required for the read/write is sent.
Data Bus
The data bus is the wire along which the data is sent either to or from the RAM (depending whether a read or write has been initiated.
Review Quiz
Resources
Make a copy of this Google Slides ( File > Make a copy ) and fill in the blanks from the video
Von Neuman Blank CopyPast Paper Questions
0478/11 Paper 1 Theory May/June 2015 – Qn 7
0478/11 – Paper 1 Theory October/November 2016 Qn1
0478/12 – Paper 1 Theory October/November 2016 Qn6
Fetch Execute Cycle – 0478/13 – Paper 1 Theory October/November 2016 Qn1
0478/11 – Paper 1 Theory May/June 2017 Qn 6
0478/11 Paper 1 Theory May/June 2017 qn 6
0478/11 – Paper 1 Theory October/November 2017 qn4
0478/12 Paper 1 Theory February/March 2018 Qn10
0478/12 – Paper 1 Theory May/June 2018 Qn6 – fill in the blanks