Show understanding of the basic Von Neumann model for a computer system and the stored program concept
After WWII, John von Neumann (1903-57) came up with a model for computers that we still use today - any computer that takes a single instruction then obeys it before processing the next instruction. Up until this point computers had been built with a single job in mind meaning they were hard wired to perform that task. If you wanted them to process something else, the computer's hardware had to be changed to accommodate this.
John von Neumann came up with a model that meant that the programs were stored on the computer along with the data meaning that computers could perform a multitude of tasks. He also came up with the idea of using working storage (RAM). His model still is used today in almost all of our computational devices. His model became known as the 'von Nuemann Architecture' or 'Stored Program Architecture'.
These ideas led to the construction of two vital computers in the history of computing; the Manchester Small-Scale Experimental Machine (SSEM) otherwise known as the 'Baby' (1948) and the EDVAC (1952)
After WWII, John von Neumann (1903-57) came up with a model for computers that we still use today - any computer that takes a single instruction then obeys it before processing the next instruction. Up until this point computers had been built with a single job in mind meaning they were hard wired to perform that task. If you wanted them to process something else, the computer's hardware had to be changed to accommodate this.
John von Neumann came up with a model that meant that the programs were stored on the computer along with the data meaning that computers could perform a multitude of tasks. He also came up with the idea of using working storage (RAM). His model still is used today in almost all of our computational devices. His model became known as the 'von Nuemann Architecture' or 'Stored Program Architecture'.
These ideas led to the construction of two vital computers in the history of computing; the Manchester Small-Scale Experimental Machine (SSEM) otherwise known as the 'Baby' (1948) and the EDVAC (1952)
Features
Memory - can hold both data and stored programs. This is the RAM of a modern computer. Control Unit - This is part of the central processing unit (CPU). It is in charge executing instructions and moving data in and out of the memory. Arithmetic Logic Unit (ALU) - This unit carries out any calculations required on the data. It is able to perform basic arithmetic as well as compare two items of data using 'greater than', 'less than' and 'equal to' logic. Accumulator - This is a register where arithmetic and logic results can be stored. It saves time keeping an area like this on the CPU so results don't have to be written back into the RAM as this would be slower in comparison. It is useful when the result that has been calculated could be needed in the next operation. Input - This is where the data comes into the model from an input device usually operated by a user. A keyboard or mouse would be a common example. Output - This is where the result of the process is sent. It may be to an output device like a speaker, or to the computer screen. |
show understanding of the roles carried out by registers, including the difference between general purpose and special purpose registers: Program Counter, Memory Data Register, Memory Address Register, Index Register, Current Instruction Register and Status Register
On modern day CPUs, they do not have a single accumulator register like the von Neumann model, instead they have many different registers to help speed up the processing of data.
Registers hold temporary data (it is not a permanent location to store data). They are used when a result has been processed and it is kept close on the CPU in a register so it can be accessed quickly, possibly within the next few instructions. There are two types of registers; general purpose and special purpose. General purpose registers can be used by programmers to store values whilst working through an algorithm. Special purpose ones have one specific role that they should be used for. This can change from CPU to CPU so it is important for the assembly or low-level language programmer to understand the CPU structure that he is working with.
Common Special Registers
Program counter - Holds the address for the next instruction that is to be fetched from memory
Memory data register - Holds the data that has just been fetched from memory
Memory address register -Holds the address of the next piece of data to be fetched from memory
Index register - Used for modifying operand addresses whilst running programs. It is mainly for doing any vector or array operations.
Current instruction register - Holds the instruction that is currently being executed
Status register - This is a flag register that shows based on certain calculations or logic results. The four main flags are, zero, carry, sign and overflow. Zero (Z) indicates that the last calculation result was a zero. Carry (C) is used when adding or subtracting binary digits. Sign (S/N) indicates that the calculation resulted in a negative number. Overflow (O) indicates that the result of a calculation is too large to fit using two's complement representation.
On modern day CPUs, they do not have a single accumulator register like the von Neumann model, instead they have many different registers to help speed up the processing of data.
Registers hold temporary data (it is not a permanent location to store data). They are used when a result has been processed and it is kept close on the CPU in a register so it can be accessed quickly, possibly within the next few instructions. There are two types of registers; general purpose and special purpose. General purpose registers can be used by programmers to store values whilst working through an algorithm. Special purpose ones have one specific role that they should be used for. This can change from CPU to CPU so it is important for the assembly or low-level language programmer to understand the CPU structure that he is working with.
Common Special Registers
Program counter - Holds the address for the next instruction that is to be fetched from memory
Memory data register - Holds the data that has just been fetched from memory
Memory address register -Holds the address of the next piece of data to be fetched from memory
Index register - Used for modifying operand addresses whilst running programs. It is mainly for doing any vector or array operations.
Current instruction register - Holds the instruction that is currently being executed
Status register - This is a flag register that shows based on certain calculations or logic results. The four main flags are, zero, carry, sign and overflow. Zero (Z) indicates that the last calculation result was a zero. Carry (C) is used when adding or subtracting binary digits. Sign (S/N) indicates that the calculation resulted in a negative number. Overflow (O) indicates that the result of a calculation is too large to fit using two's complement representation.
show understanding of how data are transferred between various components of the computer system using the address bus, data bus and control bus
show understanding of how the bus width and clock speed are factors that contribute to the performance of the computer system
Data Bus, Address Bus and Control Bus
There are three buses that transfer data between various components of the computer. Buses are signal wires.
The address bus is used to determine the location in memory that the CPU needs to read or write data to.
The data bus is the wire that brings the data or instruction to and from the CPU.
The control bus is used to indicate what is happening - a read or write action for example. It is also used to handle interrupts. An interrupt is when something happens that is important and the CPU needs to deal with it straight away - like a key press on the keyboard.
A bus width determines how much data it can transfer at one time. These days most bus widths are 32 bit or 64 bit - this basically means they are made up of 32 or 64 wires. Each wire can carry 1 bit of data at a time. 32 bit bus widths are slowly dying out as they can only support a system with up to 4 GB of RAM which is only enough for pretty minimal systems these days.
Each bus has a clock speed. This determines how fast the buses can transfer data. Ideally a bus clock speed and the CPU clock speed should be the same, but these days most CPUs are faster which means a pipeline is used to pre-load as many instructions as possible so the CPU isn't sat around waiting for the bus to deliver addresses or data.
show understanding of the need for ports, for example Universal Serial Bus (USB), to provide the connection to peripheral devices
Ports allow the CPU to communicate via external I/O devices through a bus. The most famous, and most successful of these is the Universal Serial Bus (USB). It was developed together by many of the leading tech companies like Compaq, Intel and Microsoft to supply a port that was fast and capable of connecting many devices. It also was good because devices could be connected and disconnected whilst the computer was running - whereas before, computers would normally need to be restarted. USB also supplies power to the bus meaning most devices that connect this way do not need an external power supply.
USB Type-C is the newest USB release (2015).
Ports allow the CPU to communicate via external I/O devices through a bus. The most famous, and most successful of these is the Universal Serial Bus (USB). It was developed together by many of the leading tech companies like Compaq, Intel and Microsoft to supply a port that was fast and capable of connecting many devices. It also was good because devices could be connected and disconnected whilst the computer was running - whereas before, computers would normally need to be restarted. USB also supplies power to the bus meaning most devices that connect this way do not need an external power supply.
USB Type-C is the newest USB release (2015).
|
|