3.4 Computer systems

3.4.1 Hardware and software

Content

Additional information

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:

A.B+C̅

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

ContentAdditional 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.