1.4.1 CPU Architecture
1.4.1 CPU Architecture
1.4.1 CPU Architecture
Page 1 of 11
Meaning
PC
Program Counter
CIR
Current Instruction
Register
MAR
MDR
Status
A General Purpose
Register
IX
Index Register
Accumulator
Holds results
Program counter (PC): Keeps track of where to find the next instruction so that a copy of the
instruction can be placed in the current instruction register. Sometimes the program counter is
called the Sequence Control Register (SCR) as it controls the sequence in which instructions are
executed.
Current instruction register (CIR): Holds the instruction that is to be executed.
Memory address register (MAR): Used to hold the memory address that contains either the next
piece of data or an instruction that is to be used.
Memory data register (MDR): Acts like a buffer and holds anything that is copied from the memory
ready for the processor to use it.
Index register (IR): A microprocessor register used for modifying operand addresses during the run
of a program, typically for doing vector/array operations. Index registers are used for a special kind
of indirect addressing where an immediate constant (i.e. which is part of the instruction itself) is
added to the contents of the index register to form the address to the actual operand or data.
Page 2 of 11
Page 3 of 11
Main Memory
Central Processing Unit (CPU)
Control Unit
ALU
PC
Accumulator
CIR
MAR
MDR
Fig a.1
Page 4 of 11
Page 5 of 11
Page 6 of 11
Hz means
Hertz)
Clock speed - The number of cycles that are performed by the CPU per second
Clock speed is measured in Hertz, which means 'per second'. You have probably heard of clock speeds
such as 1 MHz, this means 1,000,000 cycles per second and potentially a million calculations. A computer
of speed 3.4 GHz means it might be capable of processing 3,400,000,000 instructions per second!
However it isn't as simple at that, some processors can perform more than one calculation on each clock
cycle, and processors from different manufacturers and using different architecture are often difficult to
compare. Also with the increase in multi-core processors such as the PS3 (7 cores) and the Xbox 360 (3
cores) there might be times where the clock might be ticking but there is nothing for the processor to
calculate, the processor will then sit idle.
Page 7 of 11
Busses: These are mediums (wires) connecting the microprocessor with the main memory and other
parts of the system. There are three types of the busses, i.e. Control bus, address bus, and data bus.
Control bus: This is used by the control unit to communicate and transfer signals to and from the internal
and external devices of the system. It is used to minimise the communication lines required for the
communication. This is a bi-directional bus that is comprised of interrupt line, read/write signals & status
line. It makes sure that data when transferred is on one channel, from one device and in one direction only
to avoid collision and loss of data.
Address Bus: This bus is used to carry the address from where data needs to be fetched or placed in main
memory. This is a one directional bus whose width (number of wires) defines the range of addresses a
microprocessor can reach to. For example an address bus of 12 bits can reach to 212=4096 (4k) addresses
whereas 32 bit bus can reach 232=4GB addresses.
P
Data Bus: A bi-directional bus to access data to and from memory address mentioned in MAR.
Page 8 of 11
Increasing performance
If we want to increase the performance of our computer, we can try several things
Increasing the clock speed
Adjusting word length
Increasing bus widths
For each different method, we are going to look at these old games consoles to see how performance
increase was achieved:
System
NES
31TU
U31T
SNES
31TU
Year
U31T
Speed
Word size
8 bit
16 bit
Notes
U31T
GameCube
31TU
U31T
Page 9 of 11
U0T31
0T
The most obvious way to increase the speed of a computer would be to increase the speed of the
computer clock. With a faster clock speed the processor would be forced to perform more instructions per
second.
But what is to stop us increasing the clock speed as much as we want? If you study Physics you might
already know this, but the problem with increased clock speed is that an increased current will have to
flow through the circuits. The more current that flows through a circuit, the more heat will be generated.
You might notice that a laptop will get hot or even your mobile phone when you are doing a heavy task like
playing a game. The faster the clock speed, the hotter the processor runs.
To counter this issue, computer scientists have come up with more advance chip designs and introduced
heat sinks, fans, and even liquid cooling into computers. If a processor runs too hot it can burn out!
Peripherals
Input/output devices are used by the system to get information in and out, as they are not internal but are
connected to the CPU, we refer to them as peripherals (your hands are peripheral to your torso). We cover
0T
0T
0T
0T
the specific ones you need to learn in chapter 1.3.1, but for the moment you need to know the
fundamental difference:
Input Devices - used to feed information to the system. E.g. Keyboard
Output Devices - An output device is used to display the results of data processing on the input
data. E.g. Visual Display Unit (VDU)
If you look at the Von Neumann Architecture notice that it doesn't mention Keyboard or display, this was a
very well thought out action, as you don't want to force every computer to have a keyboard (think about a
games console) or a VDU (some devices such as MP3 players don't have a screen like the iPod Shuffle).
However, some computer architecture does include specific I/O controllers:
I/O controllers- an electronic circuit that connects to a system bus and an I/O device; it provides the
correct voltages and currents for the system bus and the I/O device. Examples would include:
keyboard controller, attached to a keyboard
disk controller for a Hard Disk (Hard Disks are not main memory!)
video display controller, attaching a video display unit (monitor)
Page 10 of 11
35T
a computer. This allows I/O devices to be connected to the CPU without having to have specialized
hardware for each one. Think about the USB port on your computer, you can connect Keyboards, Mice,
Game pads, Cameras, Phones, etc. and they all connect using the same type of port!
Page 11 of 11