1.1: The characteristics of contemporary processors, input, output and storage devices
Keyword | Definition |
---|---|
Accumulator | General purpose register within the ALU which stores the input and/or output of any calculations |
Address Bus | Part of the system bus which transmits the memory location of data to be read from or written to. Links the CPU and immediate access store. |
Arithmetic Logic Unit | Part of the CPU which processes data by performing logical and arithmetic operations. |
Assembly language | low level code where each operation that the CPU will execute is represented by a separate instruction in code |
Control Bus | Part of the system control bus which transmits signals which synchronise and trigger how different parts of the computer work together. |
Control Unit | Part of the CPU which sends control signals to initiate and syncronise each part of the fetch, decode, execute process |
Current Instruction Register | A register inside the control unit which stores the value of the instruction which has just been fetched. |
Data Bus | Part of the system bus which carries data and instructions between the CPU and immediate access store |
Immediate Access Store | Memory storage locations which can accessed in one clock tick (without any delay) |
Memory Address Register | A register used to store the location of memory currently being being read from or written to |
Memory Data Register | A register that works as a buffer between the CPU and the immediate access store which stores the data or instruction currently being transferred on the data bus. |
Program Counter | Register which stores the address of the next instruction to be executed |
Register | Very fast memory located inside a CPU with only enough capacity to store an individual value or instruction. |
System Bus | A group of digital connections that work as a common pathway to send binary data between components of a computer |
Keyword | Definition |
---|---|
Decode | the part of the instruction cycle where the instruction in the CIR is split into an opcode and operand and any additional data is loaded from RAM if required by the current instruction |
Execute | the part of the instruction cycle where the ALU carries out the current instruction and saves the result back to RAM or into the ACC |
Fetch | the part of the instruction cycle where the next instruction is read from RAM into the CIR |
opcode | part of an instruction which determines what to do (e.g. add / subtract) |
operand | part of an instruction which specifies what data is required (e.g. what to add / subtract) |
Keyword | Definition |
---|---|
Arithmetic Logic Unit | the part of the CPU which performs logical or arithmetic binary operations on data |
Cache | Limited amount of fast storage which can be used to store commonly accessed values or data that is likely to be requested from a slower storage device in the near future. |
Central Processing Unit | the part of a computer that fetches, decodes and executes instructions. Consists of registers, ALU and CU |
Clock speed | The number of instructions executed per second. Measured in Hertz (Hz). |
Control Unit | the part of the CPU which sends signals to trigger and syncronise all other components |
Cores | The number of separate processing units which can execute instructions at the same time (concurrently) |
Keyword | Definition |
---|---|
Branch | A type of instruction which changes the address of the next instruction to to be executed to something other than what the PC register currently stores. |
Flush | Operation which needs to be performed on a pipeline when a branch instruction takes place. This clears the pipeline and so reduces performance. |
Pipelining | A process which improves the performance of a CPU by allowing one instruction to be fetched whilst the previous one is being decoded and the one before that is being executed. |
Keyword | Definition |
---|---|
CISC (Complex InStruction Set) | A type of CPU design that aims to speed up performance by supporting a large number of specialised instructions. |
Contemporary Architecture | Modern additions to CPU design which can improve performance or security |
Data | Values which can be stored in variables or constants when a program runs. |
Harvard | A type of processor architecture where instructions and data are stored in separate address spaces both with separate address busses and data busses. |
Instructions | Program code that can be executed when a program runs. |
MMX (MultiMedia eXtensions) | An example of contemporary CPU architecture where complex calculations that are frequently used in encoding / decoding multimedia data (e.g. JPG images) can be performed using single specialised instructions. |
Processor architecture | A type of processor design which specifies how the CPU is connected to the immediate access store. |
RISC (Reduced InStruction Set) | A type of CPU design that aims to simplify the structure of the ALU, CU and by only supporting a basic instruction set in order to reduce power consumption and cost per core. |
SIMD (Single Instruction Multiple Data) | An example of contemporary CPU architecture where one instruction performs the same operation on data in multiple locations at the same time |
Von Neumann | A type of processor architecture where data and instructions are stored in the same address space so there's only one data bus and one address bus. |
Keyword | Definition |
---|---|
Complex Instruction Set Computer (CISC) | Processor architecture that uses a wide range of specialised instructions that may each take multiple clock cycles to execute |
Instruction Set | The range of opcodes that a processor supports, each performing a slightly different function |
Reduced Instruction Set Computer (RISC) | Processor architecture that uses a limited range of instructions which can each be executed in a single clock tick. |
Keyword | Definition |
---|---|
Central Processing Unit (CPU) | General purpose processor which may have a limited number of cores focusing on integer and logical operations |
Graphics Processing Unit (GPU) | Highly specialised point processor which has many cores to perform many floating point operations concurrently |
High Performance Computing (HPC) | Using specialised hardware on multiple GPUs to solve complex problems such as AI, cryptocurrency mining and analysing massive amounts of data |
Parallelisation | GPUs can perform the same operation on multiple pieces of data at the same time (e.g. performing the same operation on each pixel of an image) |
Keyword | Definition |
---|---|
Multicore | A way of improving performance by placing multiple compute units within the same processor so that multiple operations can be executed in parallel. |
Parallel processing | A way of improving performance by splitting the tasks that need to be executed across multiple physical CPUs. |
Single Instruction Multiple Data (SIMD) | Performing the same instruction on a range of data (e.g. multiple variables) at the same time |
Keyword | Definition |
---|---|
Barcode reader | Input device which can detect and interpret data represented graphically as black and white lines or dots |
CCD | type of image sensor which can reproduce high quality digital images |
CMOS | type of image sensor which can detect light without consuming much power |
Input device | hardware which sends data into a computer (e.g. scanner, webcam, keyboard, mouse) |
Output device | hardware which receives data from a computer so that it can be presented to a user (e.g. printer, display, sound card) |
Storage device | hardware used to keep a copy of data on a non volatile medium (e.g. magnetic, optical or flash) |
Keyword | Definition |
---|---|
flash storage | type of storage that uses sold state electronic with no moving parts to store 0s and 1s in NAND cells |
magnetic storage | type of storage that uses spinning platters to store 0s and 1s on polarised iron particles |
non volatile | type of persistent storage where data is preserved when power is switched off |
optical storage | type of storage that uses spinning discs to store 0s and 1s on reflective pits and lands |
primary storage | fast volatile storage (RAM) |
secondary storage | a type of storage that is slower than RAM but is non volatile and has a higher capacity |
volatile | type of storage that loses all data when power is switched off |
Keyword | Definition |
---|---|
Primary storage | immediate access store (RAM) |
Random Access Memory (RAM) | Fast, volatile storage used to store data and instructions |
Read Only Memory (ROM) | Non volatile permanent storage used to store instructions loaded when the computer boots up |
Secondary storage |
Keyword | Definition |
---|---|
Primary storage | Fast, volatile storage (e.g. RAM) with limited capacity |
Secondary storage | Slower, non volatile storage (e.g. HDD) with large capacity |
Virtual storage | Using secondary storage to extend the capacity of primary storage |