GCSE Computer Science (OCR J277)

1.1 - Systems Architecture

Architecture of the CPU

Introduction

This module will cover:

For this topic, the specification states that you should know the following:

You are not required to know:

The Purpose of the CPU

The purpose of the CPU is to interpret & process data, as well as interpreting, processing & executing instructions.

The CPU also controls the rest of the computer system.

The Fetch-Execute Cycle

The fetch-execute cycle (sometimes referred to as the fetch-decode-execute cycle) is a cycle followed by the CPU to process an instruction.

In its basic form, the cycle consists of three stages:

  1. Fetch - The instruction is fetched from the primary memory and brought back into the CPU.
  2. Decode - The instruction is broken down and decoded by the CPU, to figure out what it needs to do.
  3. Execute - The instruction is actually carried out, which may involve tasks such as calculations, or storing data back into the primary memory.

Common CPU components and Their Function

The CPU consists of many different components and registers, all with specific functions.

ALU (Arithmetic Logic Unit)

When the CPU executes instructions, it is often necessary to perform arithmetic calculations, or make logical decisions.

This is handled by the Arithmetic Logic Unit (the ALU)

The ALU performs:

  1. Arithmetic Calculations - addition, subtracttion, multiplication & division
  2. Logical Operations - Making a decision based on certain factors

CU (Control Unit)

The Control Unit controls how data moves around the CPU.

It provides these functions:

  1. it fetches, decodes & executes instructions
  2. it controls hardware
  3. it moves data around the computer

Cache

Cache is a small amount of high speed memory in the CPU.

It is quicker to transfer data to and from cache memory than to and from RAM.

Therefore, cache memory is used to temporarily hold data and instructions that the CPU is likely to need again.

More cache memory can result in increased performance.

Registers

Registers are also small amounts of high speed memory that are used by the CPU to store data to be processed.

Each register has a specific function and stores certain types of data.

They store things such as:

  1. the address of the next instruction to be executed
  2. data that has been fetched or is to be stored
  3. the address where data is to be fetched from or stored to
  4. results of calulations from the ALU

The registers are:

  1. Memory Address Register (MAR)
  2. Memory Data Register (MDR)
  3. Accumulator (ACC)
  4. Program Counter (PC)

These will be explained in more detail in the Von Neumann Architecture section.

Von Neumann Architecture

The Von Neumann Architecture is the stored program concept.

It is the idea that programs can be stored on the computer along with user data, allowing the functions of the program to be changed easily.

Without the Von Neumann Architecture, changing a program would involve modifying complex electrical wiring inside of the computer.

The main parts of the Von Neumann Architecture are:

  1. data and instructions are stored as binary digits
  2. data and instructions are stored in primary memory
  3. instructions are fetched from memory, and executed in order
  4. the CPU performs the fetch-decode-execute cycle until no more instructions are available

MAR (Memory Address Register)

The memory address register stores the address where instructions or data are to be fetched from, or the address where data is to be transferred to.

MDR (Memory Data Register)

The memory data register stores the contents of the address in the MAR, or data to be transferred to primary memory.

Program Counter (PC)

The program counter stores the address of the next instruction to go through the fetch-execute cycle.

Accumulator (ACC)

The accumulator stores the data being processed and the results from the arithmetic logic unit.

About the Author

Hi! I'm Oliver, a Computer Science student in the UK. I created CourseNotes as a way to share my learning and knowledge with the world, and help other students to do their best in their exams.

I am currently studying Computer Science at GCSE level with the OCR exam board. All notes on this site will be exam board specific, but a lot of the concepts are similar across other exam boards.

Comments