A Von Neumann-based computer is a computer that:
· Uses a single processor.
· Uses one memory for both instructions and data. A von Neumann computer cannot distinguish between data and instructions in a memory location! It ‘knows’ only because of the location of a particular bit pattern in RAM.
· Executes programs by doing one instruction after the next in a serial manner using a fetch-decode-execute cycle.
1) The ALU, or Arithmetic Logic Unit
A Von Neumann CPU has an ALU. This is the part of the CPU that performs arithmetic and logic operations on data and acts as the revolving for the CPU, letting data enter and leave the CPU. We also know that CPUs have a ‘word size’. This is the number of bits that can be added, for example, in one go. The bigger a CPU’s word size, the more bits it can work on in one clock cycle and the more work you can get done.
2) The Control Unit
A Von Neumann CPU has a control unit. The control unit is in charge of ‘fetching’ each instruction that needs to be executed in a program by issuing control signals to the hardware. It then decodes the instruction and finally issues more control signals to the hardware to actually execute it.
3) Registers
A Von Neumann CPU has registers. These are very fast memory circuits. They hold information such as the address of the next instruction (Program Counter), the current instruction being executed (Current Instruction Register), the data being worked on and the results of arithmetic and logical operations (Accumulators), information about the last operation (Status Register) and whether an interrupt has happened (Interrupt Register). Registers are covered in a lot more detail later in this chapter.
4) The clock
Instructions are carried out to the beat of the clock! Some instructions take one beat and others more than one beat. Very roughly speaking, the faster the clock, the more clock beats you have per second so the more instructions per section you can do and the faster your computer will go.
5) Memory
• Memory, also called RAM (Random Access Memory),
– Consists of many memory cells (storage units) of a fixed size.
Each cell has an address associated with it: 0, 1, …
– All accesses to memory are to a specified address.
A cell is the minimum unit of access (fetch/store a complete cell).
– The time it takes to fetch/store a cell is the same for all cells.
• When the computer is running, both
– Program
– Data
are stored in the memory.