3 Computer Architecture
3 Computer Architecture
Computer Architecture
The Central Processing Unit
• The CPU processes instructions and data that are input into the computer so that the result
can be output
• The central processing unit (CPU) is also known as a microprocessor or processor.
• A microprocessor is a type of integrated circuit on a single chip
• The CPU is central to all modern computer systems including tablets and smartphones.
• The CPU is very often installed as an integrated circuit on a single microchip.
• The CPU has the responsibility for the execution or processing of all the instructions and data
in a computer application.
• The CPU consists of:
• control unit (CU)
• arithmetic and logic unit (ALU)
• registers and buses.
The Von Neumann Architecture
• It uses the concept of a stored program
• Von-Neumann architecture has got the following main features:
❑the concept of a central processing unit (CPU) or processor
❑the CPU was able to access the memory directly
❑computer memories could store programs as well as data
❑stored programs were made up of instructions which could be
executed in sequential order
Diagram – Von-Neumann Architecture
Components of the CPU
• The main components of the CPU are:
• The Control Unit (CU)
• The Arithmetic & Logic Unit (ALU)
• The System clock.
• The registers
Arithmetic & Logic Unit (ALU)
• The Arithmetic & Logic Unit (ALU) allows the required arithmetic
operations to take place e.g. addition (+), subtraction (-).
• The ALU also allows shifting or logic (e.g. AND, OR) operations to be
carried out while a program is being run.
• It is possible for a computer to have more than one ALU to carry out
specific functions.
• Multiplication and division are carried out by a sequence of addition,
subtraction and left or right logical shift operations.
Control Unit (CU)
• The control unit reads an instruction from memory.
• The address of the location where the instruction can be found is
stored in the Program Counter (PC).
• This instruction is then interpreted using the Fetch–Decode–Execute
cycle.
• During that process, signals are generated along the control bus to tell
the other components in the computer what to do.
• The control unit ensures synchronisation of data flow and program
instructions throughout the computer.
A System Clock
• A system clock is used to produce timing signals on the control bus to ensure this
vital synchronisation takes place – without the clock the computer would simply
crash!
• The RAM holds all the data and programs needed to be accessed by the CPU.
• The RAM is often referred to as the Immediate Access Store (IAS).
• The CPU takes data and programs held in backing store (e.g. a hard disk drive) and
puts them into RAM temporarily.
• This is done because read/write operations carried out using the RAM are
considerably faster than read/write operations to backing store.
• This is also because any key data needed by an application will be stored temporarily
in RAM to considerably speed up operations.
Registers
• Registers are small amounts of memory built into the CPU that store data
temporarily while its being processed
• One of the most fundamental components of the von Neumann system are
the registers.
• Registers can be general or special purpose.
• Special purpose registers have specific roles and are used by the CPU to
manage the execution of instructions.
• General purpose registers are used for a wide range of tasks such as storing
variables, temporary results or function parameters
• Special purpose registers will be considered.
Special Purpose registers and their functions
System buses and how they are used to connect
the CPU to the memory and to input/output
devices.
System buses
• (System) buses are used in computers as parallel transmission components; each wire in the bus
transmits one bit of data.
• There are three common buses used in the von Neumann architecture known as: address bus, data
bus and control bus.
• Address bus
• As the name suggests, the address bus carries addresses throughout the computer system. Between
the CPU and memory, the address bus is unidirectional (i.e. bits can travel in one direction only).
• This prevents addresses being carried back to the CPU, which would be an undesirable feature.
• The width of a bus is very important. The wider the bus, the more memory locations that can be
directly addressed at any given time, e.g. a bus of width 16bits can address 216 (65536) memory
locations whereas a bus width of 32 bits allows 4294967296 memory locations to be simultaneously
addressed.
System Buses continued
• Data bus
• The data bus is bidirectional- allowing data to be sent in both directions along the
bus.
• This means data can be carried from CPU to memory (and vice versa) and to and
from input/output devices.
• It is important to point out that data can be an address, an instruction or a numerical
value.
• As with the address bus, the width of the data bus is important; the wider the bus
the larger the word length that can be transported.
• A word is a group of bits which can be regarded as a single unit e.g. 16-bit, 32-bit or
64-bit word lengths are the most common.
• Larger word lengths can improve the computer’s overall performance.
System Buses - Continued
• Control bus
• The control bus is also bidirectional.
• It carries signals from the control unit (CU) to all the other computer
components.
• It is usually 8-bits wide.
• There is no real need for it to be any wider since it only carries control
signals.