Understand the role of the following components and how they relate to each other:
- processor
- main memory
- address bus
- data bus
- control bus
- I/O controllers
Understand the need for, and means of, communication between components. In particular, understand the concept of a bus and how address, data and control buses are used.
Component | Role |
---|---|
Processor | Executes instructions |
Main memory | Stores data and instructions that are currently in use / will be used by the processor. |
Address bus | A single-directional bus that carries address signals from the CPU to Main Memory and I/O devices. This might involve the CPU requesting some data from Main Memory, sending the address of the data to Main Memory, then Main Memory returning the data along the data bus |
Data bus | Bi-directional path for moving data and instructions between system components |
Control bus | Bi-directional bus that transmits command, timing and specific status information between system components. |
I/O controllers | Device which interfaces between an input or output device and the processor, each device has a separate controller which connects to the control bus. |
Serial stored program computers with a single memory shared between program instructions and data.
Von Neumann architecture is used extensively in general purpose computing systems.
Stored program computers which use separate instruction and data memory. Instructions and data can be fetched in parallel and executed in the processor. When an instruction needs data, it is fetched from the processor
Embedded systems such as digital signal processing (DSP) systems use Harvard architecture processors extensively
Be able to explain the difference between von Neumann and Harvard architectures and describe where each is typically used.
Harvard architecture has separate data and instruction buses, allowing transfers to be performed simultaneously on both busses. A von Neumann architecture has only one bus which is used for both data transfers and instruction fetches, and therefore data transfers and instruction fetches must be scheduled - they can not be performed at the same time.
Harvard arch can be faster than von Neumann architecture because data and instructions can be fetched in parallel instead of competing for the same bus.
Understand the concept of addressable memory.
Memory is made up of millions of addressable cells and the various instructions and data that make up a program will be stored across a number of these cells.
Because memory is stored in a very systematic way, addresses can be used to store different programs in different parts of memory. For instance, a block of memory addresses may be allocated to application software and another for the operating system. This way, the processor is able to find the data and instructions it needs more quickly than if the programs were stored randomly.