Define the terms hardware and software and understand the relationship between them.
3.4.2 Boolean logic
Content
Additional information
Construct truth tables for the following logic gates:
NOT
AND
OR
XOR.
Students do not need to know about or use NAND and NOR logic gates.
Construct truth tables for simple logic circuits using combinations of NOT, AND, OR and XOR gates.
Interpret the results of simple truth tables.
Students should be able to construct truth tables which contain up to three inputs.
Create, modify and interpret simple logic circuit diagrams.
Students will only need to use NOT, AND, OR and XOR gates within logic circuits.
Students will be expected to understand and use the following logic circuit symbols:
Students should be able to construct simple logic circuit diagrams which contain up to three inputs.
Create and interpret simple Boolean expressions made up of NOT, AND, OR and XOR operations.
Students will be expected to understand and use the following Boolean expression operators:
. to represent the AND gate
+ to represent the OR gate
⊕ to represent the XOR gate
Overbar to represent the NOT gate
For example the expression (A AND B) OR (NOT C) would be represented as:
Create the Boolean expression for a simple logic circuit.
Create a logic circuit from a simple Boolean expression.
3.4.3 Software classification
Content
Additional information
Explain what is meant by:
system software
application software.
Give examples of both types of software.
Students should understand that:
system software manages the computer system resources and acts as a platform to run application software
application software is software that performs end-user tasks.
Understand the need for, and functions of, operating systems (OS) and utility programs.
Understand that the OS handles management of the:
processor(s)
memory
input/output (I/O) devices
applications
security.
3.4.4 Classification of programming languages and translators
Content
Additional information
Know that there are different levels of programming language:
low-level language
high-level language.
Explain the main differences between low-level and high-level languages.
Students should understand that most computer programs are written in high-level languages and be able to explain why this is the case.
Know that machine code and assembly language are considered to be low-level languages and explain the differences between them.
Students should be able to
understand that processors execute machine code and that each type of processor has its own specific machine code instruction set
understand that assembly language is often used to develop software for embedded systems and for controlling specific hardware components
understand that assembly language has a 1:1 correspondence with machine code.
Understand that all programming code written in high-level or assembly languages must be translated.
Understand that machine code is expressed in binary and is specific to a processor or family of processors.
Understand the advantages and disadvantages of low-level language programming compared with high-level language programming.
Understand that there are three common types of program translator:
interpreter
compiler
assembler.
Explain the main differences between these three types of translator.
Understand when it would be appropriate to use each type of translator.
Students will need to know that:
assemblers and compilers translate their input into machine code directly
each line of assembly language is assembled into a single machine code instruction
interpreters do not generate machine code directly (they call appropriate machine code subroutines within their own code to carry out statements).
3.4.5 Systems architecture
Content
Additional information
Explain the role and operation of main memory and the following major components of a central processing unit (CPU) within the Von Neumann architecture:
arithmetic logic unit
control unit
clock
register
bus.
A bus is a collection of wires through which data/signals are transmitted from one component to another.
Knowledge of specific registers is not required.
Explain the effect of the following on the performance of the CPU:
clock speed
number of processor cores
cache size.
Understand and explain the Fetch-Execute cycle.
The CPU continually reads instructions stored in main memory and executes them as required:
fetch: the next instruction is fetched to the CPU from main memory
decode: the instruction is decoded to work out what it is
execute: the instruction is executed (carried out). This may include reading/writing from/to main memory.
Understand the different types of memory within a computer:
RAM
ROM
Cache
Register.
Know what the different types of memory are used for and why they are required.
Understand the differences between main memory and secondary storage.
Understand the differences between RAM and ROM.
Students should be able to explain the terms volatile and non-volatile.
Main memory will be considered to be any form of memory that is directly accessible by the CPU (except for cache and registers).
Secondary storage is considered to be any non-volatile storage mechanism not directly accessible by the CPU.
Understand why secondary storage is required.
Be aware of different types of secondary storage (solid state, optical and magnetic).
Explain the operation of solid state, optical and magnetic storage.
Discuss the advantages and disadvantages of solid state, optical and magnetic storage.
Students should be aware that SSDs use electrical circuits to persistently store data but will not need to know the precise details such as use of NAND gates.
Explain the term cloud storage.
Students should understand that cloud storage uses magnetic and/or solid state storage at a remote location.
Explain the advantages and disadvantages of cloud storage when compared to local storage.
Understand the term embedded system and explain how an embedded system differs from a non-embedded system.
Students must be able to give examples of embedded and non-embedded systems.