Components of a Computer Flashcards
Arithmetic Logic Unit
Carries out calculations and logic (Comparisons of binary)
Control Unit
Control Unit is a register in the CPU that controls and co-ordinates the activity of the CPU. Control signals are sent along the control bus between the control unit and the other components of the computer.
Registers
Registers are small storage locations used to hold data temporarily. They have high read and write speeds.
Program Counter
stores the address of the next instruction
Memory Address register (MAR)
stores the address of instructions and data that need to be fetched from memory
Memory Data register (MDR)
stores the data which is to be sent or fetched from memory
Current instruction register
stores the actual instruction that is being decoded
Accumulator
stores the result of calculations made by the ALU
Interrupt register
generates and detects interrupts
Buses
the communication channels between the CPU and the memory and other components.
Address Bus
A one directional bus that transmits memory addresses that are used as operands in programming instructions, so that data can be retrieved from main memory
Data Bus
A bi-directional path for moving data and instructions between system components
Control Bus
A bi-directional bus to transmit command, timing and specific status information between system components
system bus
collective term for address, data and control bus
fetch decode execute cycle
PC MAR Address Bus Memory Data bus MDR CIR Decode Unit
Fetch
- The address of the next instruction is copied from the PC to the MAR
- The fetch signal is sent across the control bus. The content of the MAR are transferred across the address bus.
- The contents of the memory location stored in the MAR are sent across the data bus and stored in the CIR
- the PC increments by 1
Decode
The contents of the CIR are sent to the CU and divided. The Opcode tells you the instruction to be carried out and the operand stores the address of any data which might be needed, the operand is sent to the MAR and the data is fetched from memory and stored in the MDR
Execute
The appropriate instruction/ opcode is carried out on the data/ operand
program branch reason
occurs due to an if statement, function, procedure call or loop.
program branch result
the next instruction held in the PC is not carried out
Clock speed
Indicates the number of instructions the CPU can process per second.
Clock speed Unit
Hertz (usually gigahertz)
Positives of increasing clock speed
you can carry out more instructions in a given time; improved performance
Negatives of increasing clock speed
more heat generated meaning computers must be cooled (either with heat sync/fan or water/oil cooling)
Cache memory
Special high speed memory used by a computer. Stores frequently used data and instructions.
Positives of increasing cache size
less time fetching data; improved performance
negative of increasing cache size
expensive
Multiple cores
Multiple CPUs working on a single computer
positives of multiple cores
may speed up processing
negatives of multiple cores
complicated circuitry (more expensive) doesn't always improve performance
Von neumann architechture
- instructions and data share the same memory space
- instructions and data served by the same system bus
- instructions and data are stored in the same format
- single CU and ALU
Harvard architecture
- instructions and data are stored in separate memory units
- instructions and data are each served by their own buses
- allows for pipelining
Parallel processing/concurrent processing
multiple processors working at the same time
SIMD
(parallel processing, single instruction multiple data) a single processor carries out an instruction on multiple data
MIMD
multiple instruction multiple data, multiple instructions are carried out on multiple data using multiple
pipelining
overlapping stages in the fetch-execute cycle.
fetching the next instruction while the first instruction is being decoded
distributed computing
when each computer on a network takes on part of a problem
pipelining advantages
improves efficiency
pipelining disadvantages
only good if you can predict subsequent instructions. If the wrong instruction is fetched it has to be thrown away wasting time.
RISC
reduced instruction set computing. Small Instruction set where each instruction is performed in one clock cycle.
CISC
Complex instruction set computing, large number of instruction each taking multiple machine cycles to carry out.
RISC advantages
very simple hardware/circuitry less silicon needed
each instruction is a single machine cycle therefore pipelining can be used to improve performance
lower energy consumption (can go into sleep mode)
RISC Disadvantages
complicated software
more machine code (not as many instructions)
lower clock speed, not good with complicated tasks
GPU
Graphical processing unit.
used for rendering graphics and processing many parallel streams of data at the same time.
Co-processor
a processor designed for specific purposes which can carry out specialised tasks more quickly than a regular microprocessor. execute concurrently with the main CPU
CPU vs GPU
CPUs excel at doing complex instructions on small data sets whereas GPUs excel at simple manipulations to much larger data sets