Computer Architecture: Computer Architecture Refers To Those Attributes of A System Visible To A
Computer Architecture: Computer Architecture Refers To Those Attributes of A System Visible To A
Computer architecture is a term used to describe the different aspects of hardware that are
required to allow a computer system to operate:
Computer organization refers to the operational units and their interconnections that
realize the architectural specifications.
Examples of architectural attributes include the instruction set, the number of bits
used to represent various data types (e.g., numbers, characters), I/O mechanisms,
and techniques for addressing memory. Organizational attributes include those
hardware details transparent to the programmer, such as control signals; interfaces
between the computer and peripherals; and the memory technology used.
Computer structure
The performance of the CPU is affected by the number of cores, clock speed and memory.
There are different types of volatile and non-volatile memory.
Processor
The processor is responsible for carrying out the fetch/execute cycle. This involves
accessing memory locations to read and write data, either before or after execution by the
processor.
Modern processors are commonly quad-core processors. This means that there are actually
four processors that make up the central processing unit. At first there was generally only
one core on a processor. This evolved to become dual-core (two processors) and now quad-
core.
The more processors present, the greater the number of tasks that can be processed
simultaneously. This is known as parallel processing, as two different processors can
process different tasks (threads) at the same time.
registers
ALU
control unit
Registers
Registers are used to store data, instructions or addresses on the actual processor.
Registers offer the fastest access time of any storage location as they are part of the actual
processor. There are a variety of registers with different purposes. Two examples are:
The MAR holds the address of the next item of data that is needed by the processor.
MDR – Memory Data Register
The MDR holds data that is either to be passed to the data bus or has just been received
from the data bus.
ALU
The Arithmetic and Logic Unit is used by the processor to carry out operations that require
the use of:
Control Unit
The control unit is the term used to describe the part of the processor containing decoding
circuitry and a series of independent lines that need to be used to signal the current state
of the processor and fetch/execute cycle. Examples of the control lines are:
Byte Enable Line - specifies the instruction size of the data being sent/received
Read Line - initiates a memory read operation (from memory to the processor)
Write Line - initiates a memory write operation (from the processor to memory)
Clock Line - dictates the pace of the fetch/execute cycle
Interrupt Line - used to indicate that an interrupt to the fetch/execute cycle is taking
place
Reset Line - resets the processor to its base state
Buses
A bus is a series of lines that connect the processor to another part of the computer's
architecture, such as cache memory or main memory.
Address bus
It is concerned with passing an address one way, from the CPU to RAM.
The sole purpose of an address bus is to identify the address of the location in cache or main
memory that is to be read from or written to. Each location in memory will have its own
unique address, this is known as addressability.
Data bus
It can carry data to main memory from the processor and vice versa.
The data bus will transfer data to/from the address that is held on the address bus.
The amount of data that can be carried by the data bus depends on the word size. Word
size describes the width of the data bus. At the moment new processors will usually have a
word size of 64 lines, allowing for 264 bits to be transferred during each cycle.
Fetch/execute cycle
The term fetch/execute is used to describe the process of sending and receiving data
to/from the processor and memory (whether it be RAM (main memory) or cache).
During the fetch/execute cycle the control unit, data bus and address bus are all in use:
The control unit clock line is active at all times, setting the pulse/pace of the fetch/execute
cycle.
1. MAR (Memory Address Register) sets up the address bus with the relevant memory
location to be read from
2. The control unit read line is activated
3. The contents of the address held on the address bus are placed on the data bus
4. The data bus transfers the data from memory to the MDR (Memory Data Register)
1. MAR (Memory Address Register) sets up the address bus with the relevant memory
location to be written to
2. MDR (Memory Data Register) passes the data to be written to the data bus
3. The control unit write line is activated
4. Data bus transfers the data to the memory location specified on the address bus
A CPU can contain one or more processing units. Each unit is called a core. A core contains
an ALU, control unit and registers. It is common for computers to have two (dual), four
(quad) or even more cores. CPUs with multiple cores have more power to run multiple
programs at the same time.
However, doubling the number of cores will not simply double a computer's speed. CPU
cores have to communicate with each other through channels and this uses up some of the
extra speed.
The data bus is a set of parallel wires or connectors that transports data between the
processor and main memory.
By increasing the data bus from 32-bit to 64-bit, the computer can transfer twice as much
information at one time. Therefore, increasing the size of the data bus improves the system
performance of the computer.
Cache memory
Cache is a small amount of memory which is a part of the CPU - closer to the CPU than RAM.
It is used to temporarily hold instructions and data that the CPU is likely to reuse.
The CPU control unit automatically checks cache for instructions before requesting data
from RAM. This saves fetching the instructions and data repeatedly from RAM – a relatively
slow process which might otherwise keep the CPU waiting. Transfers to and from cache take
less time than transfers to and from RAM.
The more cache there is, the more data can be stored closer to the CPU.
Not a lot of physical space is allocated for cache. There is more space for RAM, which is
usually larger and less expensive.
Clock speed
The clock speed - also known as clock rate - indicates how fast the CPU can run. This is
measured in megahertz (MHz) or gigahertz (gHz) and corresponds with how many
instruction cycles the CPU can deal with in a second. A 2 gHz CPU performs two billion cycles
a second. A faster CPU uses more energy and creates more heat.
A computer will normally have a maximum clock speed set by default, but it is possible to
change this speed in the computer BIOS. Some people increase a CPU clock speed to try to
make their computer run faster - this is called overclocking.
There are limits to how fast a CPU can run and its circuitry cannot always keep up with an
overclocked speed. If the clock tells the CPU to execute instructions too quickly, the
processing will not be completed before the next instruction is carried out. If the CPU
cannot keep up with the pace of the clock, the data is corrupted. CPUs can also overheat if
they are forced to work faster than they were designed to work.