Teach Computing

Revision notes, activities, lesson plans, teaching ideas, and other resources for GCSE, A-Level, and IB Computer Science teachers and students.

What's New

Emergency Management System Explainer Video

This short video gives an overview of some EMIS features. It includes many ...

Geographic Information Systems (GIS)

For some functionality, an EMIS may also be connected to a GIS (Geographic ...

Programming languages - from Scratch to machine code

The CS Field Guide has a very comprehensive guide to different types of pro...

Assembly language simulators

There are several assembly language simulators available for use online. Si...

Little Man Computer (LMC)

The Little Man Computer (LMC) is a software simulator of a simple computer ...

Lesson - Data representation - sound

This download contains all lesson resources necessary to teach students how...

Predictive placement

Predictive placement is a feature of some CAD systems that enables more e...

AI to help emergency dispatch phone operators

The Singapore Civil Defence Force (SCDF) may trial an AI system to help tra...

Mobile Data Terminals (MDT)

MDT technology is referenced in the case study booklet, with such systems b...

Resources discount offer

1.4 Processor Fundamentals

Click here for recommended Cambridge A-Level Computer Science textbooks.

1.4.1 CPU architecture

How computers work activity

How Computers Work - Kinesthetic Activity

In this kinesthetic activity students act out the roles of the Arithmetic and Logic Unit (ALU), the CPU, the memory, and the display as they act out how these basic hardware components function by "running" sample programs. This is a great way of introducing the basic concepts before moving on to more advanced machine architecture. You can download the following sheets:

This activity was created by Gary Kacmarcik from cse4k12.org and is licensed under the Creative Commons CC-SA licence.


Updated: 2015-04-25

1.4.2 The fetch-execute cycle

Little Man Computer simulator

Little Man Computer (LMC)

The Little Man Computer (LMC) is a software simulator of a simple computer with a CPU, memory, and a basic instruction set. Students can enter programs in either assembly language or machine code and follow their execution by watching the change state of the program counter, accumulator, and memory. More advanced versions show animated representations of the address and data lines too. The LMC is a great tool for helping students visualise how code and data are represented in memory and how the fetch-execute cycle works.

There are now many versions of the LMC available. Some of the best include:

Most of these versions of the LMC include instructions but probably the clearest explanation of the instruction set is from Durham University.
Updated: 2019-03-19

1.4.3 The processor’s instruction set

1.4.4 Assembly language

Programming languages

Programming languages - from Scratch to machine code

The CS Field Guide has a very comprehensive guide to different types of programming languages. These range from very high level graphical languages such as Scratch, down to assembly language and machine code. The differences between each language type are clearly explained. There are also lots of interactive elements to try, including a MIPS assembler and simulator to allow students to try assembly language without risk of damage to their machine.


Updated: 2019-03-19
Assembly language simulator

Assembly language simulators

There are several assembly language simulators available for use online. Simulators offer the advantage of a risk-free environment to practise programming, plus a quicker development cycle compared to restarting a crashed machine. Excellent assembly language simulators include:

In addition to helping understand assembly language, most of these simulators also offer a view of memory and register status, allowing pupils to get a better understanding of the fetch-decode-execute cycle too.


Updated: 2019-03-19