1.1.2 Types Of Processors Flashcards
instruction set
- is a group of commands for a CPU in machine language
- the instruction set will vary from one processor to the next
- there are 2 types of processors :
- CISC
- RISC
CISC (complex instruction set computer)
- Consists of a larger instruction set which includes more complex instructions [1]
- As the instructions are more complex, they can take multiple clock cycles to execute. [1]
- instructions are built into the hardware
- instructions take up less space in memory
- eg. MULT A,B (requires much less lines of code compared to RISC)
RISC ( Reduced instruction set computer )
- consists of a smaller instruction set with more simple instructions [1]
- each instruction is one line of machine code
- so takes one clock cycle per instruction [1]
- so suited to pipelining
- usually used in smartphones and tablets
Features of RISC
- has fewer transistors [1]
- so require less power [1]
- so increase their power efficiency making them ideal for usage in low-power devices like mobile phones
- cheaper to manufacture
- has fewer general purpose registers
- because RISC has simpler instruction set, instructions can be executed faster and so programs run faster
- takes up more space In memory / requires more RAM to store the code (as there is more lines of codes)
- suited to pipelining so more instructions can be executed in the same amount of time so programs run faster
CISC features
- has more transistors
- so requires more power
- has more general purpose registers
- used in laptops and desktops
- Has more addressing modes
- compilers are less complicated
- takes up less space in memory/ less RAM required since code is shorter
- more expensive to manufacture
- not suited to pipelining so programs run more slowly
CROSS-compatibility
- a program written for a RISC processor won’t work on a CISC processor vice versa
- a program written for a RISC processor won’t necessarily work on another RISC processor as they may have different instruction sets
GPU ( graphics processing unit )
- is a co-processor made of lots of Independent processors
- the GPU is responsible for processing graphics within the computer to reduce load on the CPU
- a GPU can either be part of the graphics card or embedded in the CPU
GPU & CPU comparison
- CPUs are general purpose processors whereas GPUs are specifically designed for graphics [1]
- GPUs are likely to have built in circuitry or instructions for common graphics operations [1]
- GPUs can perform an instruction on multiple pieces of data at one time [1]
- this is useful when processing graphics
- e.g transforming points on a polygon or shading pixels
- this means it can perform transformations to onscreen graphics quicker than a CPU
GPU uses besides graphics
- 3D modelling
- Data modelling
- financial modelling
- Data mining
- machine learning
- calculations on multiple data at the same time
SIMD Processing ( single instruction multiple data)
- a computing method that enables processing of multiple data with a single instruction
- GPUs support SIMD processing as they are designed to perform the same operation on multiple pixels or vertices simultaneously
- this is a common requirement in image processing, simulations and machine learning
GPU benefits
- it isn’t possible to use only a GPU as the CPU assigns tasks to the GPU
- parallel processing : GPUs can handle many tasks simultaneously as they are multicore processors
- faster execution: as GPUs can use parallel processing, they can speed up tasks, particulary involving large amounts of data or complex computations.
- GPU’s can perform more calculations per unit of power consumed in comparion to CPUs making them more energy efficient when it comes to parallel tasks
Multicore SYSTEMS
- A multi-core system has multiple cores (processing units) in a single processor which can each independantly process instructions concurrently
- when a computer has multiple cores, it can utilise parallel processing
Parallel processing
- Definition: Cores work together on the same task or on separate tasks concurrently.
- Application: Enhances efficiency by dividing tasks among cores.
Parallel processing can be achieved by
- using multi-core processors
- utilising more than one processor eg. CPU and GPU
Benefits of multicore processors
- Multitasking:
Definition: Each core handles a different task simultaneously. ( this is useful when a user has multiple applications open at the same time )
- Background Tasks:
Issue: Single processor systems can slow down with background tasks.
Solution: Multicore processors allocate background tasks to separate cores.
- Improved Responsiveness:
Advantage: Even if a program becomes unresponsive, other tasks continue smoothly on other cores.