executes instructions, processes data, fetches data and stores data into main memory once executed (performs the fetch decode execute cycle). It make a computer system function
MAR - Memory Adress Register
holds the address of the current instruction that is to be fetched from memory
MDR - Memory Data Register
holds the contents found at the address held in the MAR
Main Memory/Primary Storage
the component of the computer that holds data, programs and instructions that are currently in use
Address Bus
carries memory addresses for locations to be read from or written to
Data Bus
carries data between the CPU and main memory
Control Bus
carries control signals around the CPU and memory
ACC - Accumulator
holds the data being processed and the results of processing
PC - Program Counter
holds the memory address of the next instruction to be fetched from main memory
ALU - Arithmetic Logic Unit
performs arithmetic (add/subtract) and logical (AND, OR) operations
CU - Control Unit
Follows the fetch decode execute cycle and controls the flow of data within the CPU..
Cache
a small amount of memory which temporarily holds instructions and data that the CPU is likely to reuse. It is very fast and sits between the CPU and main memory. It is faster to access than RAM. The bigger the cache, the less time a processor has to wait for instructions to be fetched.
RAM - Random Access Memory
is a short term data storage that holds data and instructions that are currently in use by the processor, is volatile (loses power when turned off)
ROM - Read Only Memory
permanent instructions that cannot be changed, non-volatile. It allows a computer to start up or regenerate each time it is turned on
I/O Controllers
used to allow an interface between a hardware device external to the motherboard (e.g. a keyboard) and the processor itself
System Buses
a set of parallel wires connecting two or more independent components of a computer system in order to pass signals between them.
Clock Speed
the operating speed of the computer/speed of the fetch-decode-execute cycle, measured in hertz (1GHz processor executes 1 billion instructions per second/executes 1 billion cycles per second)
Embedded System
a computer system that is made up of both hardware and software, usually used for very specialised tasks, have no UI (user interface), they do the same task repeatedly
Boot Sequence
a sequence of processes that contains all the information and instructions to get the computer up and running
Secondary Storage
devices such as a CD or USB pen that is non-volatile and stores data and programs for later use. They are external to the computer.
Registers
storage locations that temporarily holds data and instructions that the CPU can quickly access
CIR - Current Instruction Register
holds the instruction that is about to be decoded or executed
Virtual Memory
an area of secondary storage that the computer uses to store the contents of RAM temporarily when there isnt enough space in the RAM to store data so it only happens when the RAM is full. The computer will copy the items not currently in use from the RAM to virtual memory, freeing up space in RAM. Is volatile. The VM swaps data with RAM so its slow.
Metadata
extra data stored in a file which gives information about the file's properties (file format, resolution, colour depth, dimension, etc.)
Sample Rate
the number of samples recorded in any given period of time
Duration
how many seconds of audio the sound file contains
Bit Depth
number of bits available to store each sample (e.g. 16-bit)
Bit rate
a measure of how much data is processed for each second of sound (sample rate x bit depth)
Compression
the proccess of encoding data so that it needs fewer bits/bytes
Sampling
Height/amplitude of waveform is sampled/measured and converted to binary. Samples are taken at a regular intervals
Lossy Compression
compresses data files but loses some of the information, is irreversiblecant be done on a word document/text file. It reduces the colour depth of an image or the bit depth of an audio
Lossless Compression
compresses files without losing any information.Is reversible. One method of lossless compression is run length encoding (RLE). RLE looks at the data in a file for consecutive runs of the same data. These runs are stored as one item of data, instead of many. (e.g. 000111 being stored as 3031)
Decomposition
breaking a complex problem down into smaller problems to make things easier
Abstraction
removing irrelevant details from a problem to reduce complexity so you can focus on the important detail
Input Sanitisation
cleaning up input data/removing unwanted data (e.g. special characters)
Authentication
ensuring only allowed/authorised users can gain access (e.g. usernames/passwords)
Validation
checking wether input data should be allowed/is sensible (e.g. goals cannot be less than 0)
Verification
checking wether data has been entered correctly (e.g. double entry)
Casting
converting one data type to another, for example converting an integer to a real number
Iterative Testing
repeatedly testing while making changes/while the program is being developed