1

mrahmedcomputing

KS3, GCSE, A-Level Computing Resources

Lesson 1. Processor Models


Lesson Objective

  • Explain what a computer system is.
  • Describe how modern computers operate using The Stored Program Concept.
  • Explain the use and differences between The Von Neumann, Harvard and Contemporary processor Architectures.
  • Describe the differences between, and uses of, CISC and RISC processors.
  • Explain multicore and parallel systems.
  • Explain what a GPU is and what they are used for.

Lesson Notes

What is a Computer System?

A computer system is a device that takes inputs, processes them and then produces a useful set of outputs.

A computer system consists of hardware and software that work together to process data or complete tasks.


The Stored Program Concept

Early computers were able to calculate an output using fixed instructions. They could perform only one set of instructions.

Newer general purpose computer can perform many different tasks at different times. Their programming is not fixed.

To achieve this, computers are designed to allow data and instructions to be stored - this is called “the stored program concept”.

Program instructions are stored in main memory along with data.

Load in new program instructions in to memory to change the function of the computer.

The Von Neumann Architecture

The new idea was that not only should the data be stored in memory, but that the program processing that data should also be stored in the same memory.

This idea meant that a computer built with this architecture would be much easier to re-program. Effectively the program itself is treated as data.

A program must be resident in memory in order to be executed.

Instructions and data are fetched and executed one after another, one at a time from main memory.

It has a single memory that shares instructions and data, which uses a shared data bus.

This 'stored-program architecture is now commonly known as the Von Neumann' architecture.

It is the most common implementation of this concept. Instructions and data are stored in a common main memory and transferred using a single shared bus.


The Harvard Architecture

An alternative model that separates the data and instructions into separate memories using different buses.

This architecture is generally faster because it does not share the same Bus and therefore is not competing for resources.

Harvard is used for embedded computer systems such as mobile phones (pre-smartphone) or an electronic calculator, where there is a specific use unlike a general purpose desktop PC.

Program instructions and data may be stored in unequal quantities. Different sized memory spaces and word lengths can now be used for data and instructions.


Harvard vs Von Neumann

Owing primarily to cost and programming complexity, almost all general purpose computers are based on von Neumann's principles.

Harvard principles are usually used with specialist embedded systems such as digital signal processing where speed takes priority over the complexities of design.


Contemporary Processor Architectures

Modern contemporary processors typically employ a hybrid architecture that combines elements of both Von Neumann and Harvard architectures.

For example, main memory may be a unified memory space, but caches may be separate for data and instructions. This approach balances simplicity and performance, allowing for efficient use of memory resources while still enabling concurrent access to data and instructions.


RISC and CISC

Another key distinction in processor architectures is the instruction set complexity.

Reduced instruction set computing (RISC) architectures employ a limited set of simple instructions, while complex instruction set computing (CISC) architectures employ a wider range of more complex instructions.

Reduced Instruction Set Computer (RISC)

RISC architectures are designed to have a small number of simple instructions, each taking one clock cycle. Multiple general purpose registers are used for operations.

This can improve performance by making it easier for the processor to decode and execute instructions.

Example:

LDA R1, A
LDA R2, B
MULT R1, R2
STO R1, A

Complex Instruction Set Computer (CISC)

CISC is used to accomplish tasks in as few lines of assembly language as possible..

This can make it easier to write code, but it can also make it more difficult for the processor to decode and execute instructions.

A CISC instruction combines a “load/store” instruction with the instruction that carries out the actual calculation.

Example:

A single assembly language instruction such as:

MULT A, B

could be used to multiply A by B and store the result back in A.

Some of the most popular contemporary processor architectures include:

  • Intel x86: The Intel x86 architecture is a CISC architecture that is used in a wide variety of personal computers.
  • ARM: The ARM architecture is a RISC architecture that is used in a wide variety of mobile devices, such as smartphones and tablets.

In general, RISC processors are considered to be more modern and efficient than CISC processors. However, CISC processors are still widely used, particularly in embedded systems and PCs.

Feature RISC CISC
Instruction set Small, simple instructions Large, complex instructions
Instruction execution Single clock cycle Multiple clock cycles
Code size Larger Smaller
Power consumption Lower Higher
Performance Faster Slower
Design Complexity Simpler More Complex
Amenability to Pipelining More amenable Less amenable

Multicore and Parallel Systems

Multi-core processors split work among multiple cores, enabling them to handle multiple tasks simultaneously and achieve substantial performance gains.

These processors, often referred to as parallel systems, power numerous personal computers and mobile devices, ranging from dual-core to quad-core configurations, meaning they have two or four processing chips.

Supercomputers, on the other hand, boast thousands of cores, enabling them to tackle immensely demanding computational tasks.


GPU

A Graphics Processing Unit (GPU) is a specialized electronic circuit that excels at processing graphics and images.

It comprises thousands of tiny, efficient cores tailored for parallel processing, enabling it to simultaneously handle large volumes of visual data. In a PC, a GPU may be integrated into a graphics card.

CPUs are general-purpose processors that can handle a wide variety of tasks, while GPUs are specifically designed for graphics processing. GPUs have many more cores than CPUs, which allows them to process data in parallel.

A GPU can act together with a CPU to accelerate scientific, engineering and other applications. They are used in numerous devices ranging from mobile phones and tablets to cars, drones and robots.


General Purpose System

Designed for many tasks

  • PC's, Tablets

Picture


Dedicated System

Designed for one specific task

  • Controlling traffic lights
  • Air traffic control

Dedicated systems are usually referred to as embedded systems

Picture


Embedded System

Embedded systems (a form of dedicated system) are computers inside a larger system. They are computers built into other devices. Some examples include:

  • Dishwashers
  • Microwaves
  • Tvs

Often used as control systems. They monitor and control machinery in order to achieve a desired result. As they are dedicated to a single task, embedded systems are usually:

  • easier to design,
  • cheaper to produce,
  • and more efficient at doing their task than a general purpose computer.

3