You can print this page for a quick reference guide or you can use the tools below to create printable test sheets
3.1.1: understand the von Neumann stored program concept and the role of main memory (RAM), CPU (control unit, arithmetic logic unit, registers), clock, address bus, data bus, control bus in the fetch-decode-execute cycle
Keyword
Definition
Address bus
set of connections between the CPU and memory which is used to determine which location in memory will be read from or written to
Arithmetic Logic Unit
part of the processor which can process binary values (e.g. add, subtract, compare)
Clock
binary control signal which synchronises all parts of the CPU as it keeps changing between 0 and 1
Control bus
set of connections which carries binary signals to direct and synchronise all components of a computer
Control Unit
part of the processor which sends signals to direct and synchronise other parts of the computer system
CPU
central processing unit which fetches, decode and executes instructions
Data bus
set of connections which is used to send instructions or data between the CPU and memory
Fetch-decode-execute cycle
repeating process where instructions are loaded from memory then run by the CPU
RAM
random access memory which stores both instructions and data
Register
memory storage location within the processor which is very fast but only large enough to store a single value
von Neumann
type of processor design where both instructions and data are stored in the same memory device
3.1.2: understand the role of secondary storage and the ways in which data is stored on devices (magnetic, optical, solid state)
Keyword
Definition
magnetic storage
type of non volatile secondary storage which can read/write binary data using a sensor/actuator that passes over sections of spinning platters which can be polarised to represent 0s and 1s
non volatile
type of storage that does not require a power supply to retain data. Data can only be read or written with a power supply but no data is lost when power is switched off
optical storage
type of non volatile secondary storage which can read and sometimes write binary data by shining a laser which reflects off pits and lands on a removable spinning disc into a sensor
primary storage
fast volatile storage (RAM)
secondary storage
non volatile storage which is larger but slower than RAM
solid state storage
type of non volatile secondary storage which uses flash memory to store 0s and 1s with no moving parts
volatile
type of storage that requires a power supply to store data. When power is switched off, all data is lost
3.1.3: understand the concept of an embedded system and what embedded systems are used for
Keyword
Definition
cpu requirements
an embedded computer system may not need as much processing power or speed as a general purpose computer system
embedded
computer:type of computer system that is optimised to perform one specific task
firmware
instructions that have been specially written to control an embedded computer system
general purpose
type of computer system that is can perform many different tasks.
memory requirements
an embedded computer system often needs to store less data and instructions than a general purpose computer system
3.2.1: understand the purpose and functionality of an operating system (file management, process management, peripheral management, user management)
Keyword
Definition
device driver
software which allows the operating system to communicate with a specific hardware device
file management
an operating system allows users to open, copy, rename, move or delete files
hardware
the physical components that make up a computer
operating system
software which allows a user to access and control hardware and run applications
peripheral management
an operating system allows different input and output devices (e.g. printers, scanners, joysticks) to be used by loading the correct device drivers
process management
an operating system allows users to start and stop applications and it shares CPU time between applications so that it looks like they all run at the same time
software
programs that run on a computer
user management
an operating system allows different users to log in and share a computer system's resources
3.2.2: understand the purpose and functionality of utility software (file repair, backup, data compression, disc defragmentation, anti-malware)
Keyword
Definition
anti-malware
type of utility which can scan and remove malicious software such as viruses
application
software installed by the user
backup
type of utility software which allows files to be archived or restored from previous versions
data compression
type of utility software which allows files to be packaged together to save storage space
disc defragmentation
type of utility software which ensures space on magnetic hard disc drives is used efficiently by rearranging data so that all the sections of individual files are stored close together
file repair
type of utility software which can attempt to recover lost data if files get corrupted
utility software
software which performs one specific task to manage, maintain or protect the computer
3.2.3: understand the importance of developing robust software and methods of identifying vulnerabilities (audit trails, code reviews)
Keyword
Definition
audit trail
keeping a record of who accesses or changes data or code so that you can find out who is responsible when something goes wrong
code review
getting other people to check the quality of code so that vulnerabilities and mistakes can be detected and fixed
robust software
code that is designed so that it will not crash or have undesired effects whatever inputs it receives
validation
checking all input to a program to ensure that the program only processes data it can understand and cope with
vulnerability
a weakness in code which can cause it to crash or have undesired effects
3.3.1: understand the characteristics and purposes of low-level and high-level programming languages
Keyword
Definition
assembly
example of a low level programming language
high level
a type of programming language that hides some of the details of how the CPU behaves. Can be slower or use more memory but programs can be shorter and easier to understand so errors are less likely to be introduced
low level
a type of programming language that gives you complete control over how the CPU behaves. Can be very fast and powerful but programs can be long and hard to understand so errors are more likely to be introduced
programming language
a way of describing algorithms so that a computer knows exactly how to execute the right instructions
python
example of a high level programming language
3.3.2: understand how an interpreter differs from a compiler in the way it translates high-level code into machine code
Keyword
Definition
compiler
type of translator which allows code to be executed by translating all the code into machine code before any of it is run
high level code
human readable source code which describes how a program will run
interpreter
type of translator which allows code to be executed by translating each line of code as it needs to be run
machine code
binary or hex code which can be executed on a computer but is not easily understood by humans
translator
tool which changes high level code from high level code into machine code