Components of a computer and their uses Flashcards
Registers
Registers are small storage locations used to hold data temporarily. They have high read and write speeds.
Current Instruction Register
Holds the current instruction that is being executed, divided into operand and opcode.
Memory Data Register
Stores the data which is to be sent or fetched from memory
Memory Address Register
Stores the address of instructions and data that need to fetched from or sent to memory
Opcode
The actual instruction
Operand
the data the instruction applies to
Program Counter
stores the memory address of the next instruction.
it is incremented after an instruction has been read from memory and interpreted
Arithmetic Logic Unit
completes all the arithmetic (addition and subtraction) and logical operations (including AND, NOT, OR and XOR) as well as binary shifts
Control Unit
Control unit is a register in the CPU that controls and coordinates the activity of the CPU.
Control signals are sent along the control bus between the control unit and the other components of the computer.
Jobs of the control unit
- Controlling and coordinating the activities of the CPU
- Managing the flow of data between the CPU and other devices
- Accepting the next instruction
- Decoding instructions
- Storing the resulting data back in memory
Address Bus
A one directional bus
It transmits memory addresses specifying where data is to be sent to or retrieved from in memory
Bottleneck address bus
the width of the address bus determines the maximum possible capacity of the system
Address bus average width
32 bits
What does the width of the address bus determine?
the max possible memory addresses of the system
Data Bus
A bi-directional bus for moving data and instructions between system components
Buses
the communication channel between the CPU, the memory and other components
System bus
Address Bus, Data Bus and Control Bus
Bottleneck Data Bus
A wider bus can transmit larger values/more bits per instruction
Data bus width
same as the computers word size
Control Bus
A bi-directional bus used to transmit control signals between internal and external components.
It coordinates the use of the buses (data and address).
It provides the status info between system components.
Width of the bus
is the number of parallel wires the bus has
The number of parallel wires the bus has
is the number of bits that can be transferred simultaneously
Control Signals
- memory read
- memory write
- bus request
- bus grant
- clock signal
- interrupt
Interrupt
A device sends a signal on the control bus to show the CPU it needs attention
Memory read signal
causes data from the addressed location in RAM to be placed on the data bus
Memory write signal
causes data on the data bus to be written into the addressed location in memory
Clock signal
Used to synchronise operations
Bus grant signal
Indicates that the CPU has granted access to the data bus
Bus request signal
indicates that the device is requesting the use of the data bus
Fetch-decode-execute cycle
- Load the address in PC into MAR
- Increment the PC by 1 (using ALU)
- Load instruction given by memory address in the MAR into MDR - done via the data bus
- Load instruction in MDR into CIR
- Decode instruction in CIR by splitting into operand and opcode
- Execute instruction
- Cycle repeats itself
Factors affecting the CPU performance
number of cores
cache
clock speed
clock speed
indicates the number of instructions the CPU can process per second
clock speed units
hertz (one cycle per second)
clock
a device that generates a timing signal that changes at a regular frequency.
It is used to synchronise communication between the components of the CPU and the rest of the system
Pros of increasing clock speed
can carry out more instructions in a given time - which increases performance
Cons of increasing clock speed
- requires more energy, which increases costs
- more energy = more heat is generated, so the computer must be cooled by cooling systems
Multiple cores
mean multiple CPUs are working on a single computer, which means the processor can perform more than one fetch-decode-execute cycle
Pros of multiple cores
It may speed up processing
Why may additional cores be redundant?
- if the software is only written for one core
- if the output of one operation is required to perform the second operation
Cons of multiple cores
- multiple cores = more materials needed, which increases costs
- multiple cores = more energy/power needed, which increases costs and generates more heat, so need greater cooling systems
- has a more complicated circuitry
- doesn’t always improve performance
Cache memory
Special high-speed memory used by a computer. Stores frequently used instructions and data
Why is cache memory better than RAM?
cache operates faster —> than main memory —> as data is transferred —> in + out of cache memory —> more quickly —> as it is closer to the CPU —-> which makes CPU more efficient —> as less time is spent —> waiting for data —> to be transferred
Pros of cache
- less time spent fetching data, which improves performance
Cons of cache
expensive
What happens when cache is used up?
unused instructions are replaced
Pipelining
Involves fetching one instruction, whilst the one before is decoded, and the one before that is executed