Types of Processors Flashcards
Instruction Set
The list of all instructions the processor understands
CISC
Complex Instruction Set Computing
If you want to multiply two numbers x * y
there is an instruction set which will do the multiplication
- MULT x, y
When the complier sees a multiplication in the code it will convert it into a single machine code instruction
However to complete this instruction it might take multiple clock cycles, this requires complex circuitry
So trade off complex hardware but simpler coding
Examples of CISC
Desktop and laptop computers
RISC
Reduced Instruction Set Computing
If you want to multiply two numbers x * y, in RISC the complier will need to generate multiple lines of low-level machine code
- LOAD x from memory register 1
- LOAD y from memory register 2
- PROD register1, register2
- STORE into memory location
this is an increase of instructions from 1 to 4 compared to CISC
we can use pipelining to help increase efficiency
means we can have simpler hardware
Example of RISC
used in mobile phones
CISC VS RISC (there’s 7)
CISC is used in laptops and desktops computers, made by Intel or AMD
RISC is used in smartphone and tablets, based around ARM processor
CISC has more complex hardware
RISC has simpler hardware
CISC has multiple machine cycles per instructions
RISC has a single machine cycle per instruction
CISC has physically larger in size and require more silicon to make thus more expensive
RISC is smaller in size as less complex circuitry required, less silicon needed to make thus cheaper
CISC has greater energy consumption
RISC has lower energy requirements, and can go into “sleep mode” when not actively processing
More intensive tasks will do better with CISC
RISC runs at a lower clock speed, but can perform simpler tasks more quickly than CISC
CISC cannot support pipelining
RISC can support pipelining
Co processors
A co-processor is any other processor used for a specific task e.g.
I/O interfacing or encryption, string processing, floating-point arithmetic
they help to improve the performance of the computer but carrying out the instructions in parallel with the main CPU
GPUs
Graphics Processing Units
used for rendering Graphics
they have a large number of cores
this means they can process many streams of parallel data at the same time
each of the GPU processor streams (100s or 1000s) run at a lower speed than a CPU
GPU and CPU
CPUs - Good at complex operation on small data sets
GPUs - Good at simple operations on large data sets
GPUs are like a special type of CPU that can execute a single instruction over a large amount of data in parallel
GPU uses
Artificial intelligence/deep learning systems
breaking encryption schemes
scientific modelling of physical systems, such as modelling the formation of a hurricane
real time signal processing, such as handling satellite imagery
Sequential Processing - what is it
Sequential processing is when instructions are carried out, one at a time, in the order in which they were received
Sequential Processing - how it works
A sequential processor would examine each pixel one at a time and apply the processing instruction
it cannot change every pixel at the same time
Multicore systems
Multicore - A single chip (Chip Multiprocessor CMP) with multiple processing units on it; cores (Dual, Quad)
Each core can execute CPU instructions on their own: ADD, STORE, LOAD
Cores may share a local cache or inter-core communication
Doubling the number of cores DOES NOT MEAN double the performance
Parallel Processing systems
Working alongside multiple cores
the processing of program instructions by dividing them amongst multiple processors / processor cores
Parallell Processing example
In a normal processing, each core takes on a separate part of the FDE cycle
Parallel processing with pipelines, a single job is split into tasks. Main processing fetches and decodes the instruction and farms off parts to be executed