2: Types of Processor Flashcards
What is a processor instruction set?
Set of all instructions written in machine code that can be recognised and executed by a given processing unit/CPU
What happens if an instruction is read that doesn’t occur in the instruction set?
An error flag is produced and the computer halts that program tree.
RISC
-Reduced Instruction Set Computer
- Provides a fairly small and basic instruction set where in every operation cycle only one value is fetched or stored from/to memory
CISC
-Complex Instruction Set Computer
- The instruction set is much more varied and one instruction can do an entire sequence of operations across multiple clock cycles
GPU
-A specialised CPU designed for the manipulation of memory for the image or screen output of a computer.
- Also acts as a parallel processor to increase the performance of the system even in situations that do not involve 3D graphics
GPGPU
- General-purpose graphics processing unit
- Acts as a stream processor, a form of parallel processing where a steam (or flow) of data is fed through the processor to perform vector based calculations.
- These are much faster than the conventional CPU and are beginning to be used as computational power in supercomputers
Why would a GPU be better in an embedded system rather than a CPU?
- Helps to process images and graphics on the system
- Performance of machine would significantly decrease if CPU was used as it is not designed to specialise in this type of processing.
Advantage of GPGPU
the ability to parallel process in the background whilst the CPU continues to process other data.
Parallel Processing
The processing of program instructions by dividing them between multiple processors or processor cores
Aims of CISC
To complete the task in as few lines of assembly as possible
Aims of RISC
To use simple instructions that will be executed within a single machine/clock cycle.
How CISCs make use of the compiler
CISC instructions resemble the original command from a high-level language
- The compiler has to do very little work to translate the high level language statement into assembly
How RISCs make use of the compiler
There are more lines of code required in the assembly version of high level code
- The compiler has to do more conversion work
How are RISCs more efficient?
Require fewer transistors and less complex hardware, leaving more room for general-purpose registers and cache
What is a co-processor?
Any additional processor used for a specialised task
Purpose of a co-processor
To improve the overall speed of the computer by executing concurrently with the main CPU
CPUs excel at … while GPUs excel at …
- Complex operations on small data sets
- Simple operations on large data sets
What kinds of data must be assigned before GPUs can render graphics?
- All segments of image given XYZ co-ordinates
- Every segment would be assigned a texture/pattern
- A light source would be assigned and given an angle, brightness and how it falls on the wire frame
- A camera source would be chosen for the image
What calculations are required to render graphics?
- 3D arithmetic using XYZ co-ordinates
- RGB calculations
- XYZ positions are typically stored as floating point, so lots of floating point operations
How do GPUs render graphics?
After calculations are completed, they are run through every pixel of the finished image from the camera’s perspective and generate the 2D representation of the 3D space
Why are GPUs better at rendering graphics than CPUs
- Huge number of calculations done in parallel
- The result of one RGB calculation is not dependent on another
- Mass calculations done in GPUs can take full advantage of parallel processing
- A CPU may perform one floating point operation quicker than a typical GPU, but a GPU will be able to perform a thousand floating point operations much quicker due to the benefits of parallel processing
Examples of computing tasks performed by GPUs
- Oil exploration
- Weather modelling
- Machine learning
- Linear algebra
- Statistical analysis
- Stock option predictions
- Gravitational field theory
What is a multicore processor?
Single chip containing two or more independent processing units/cores
Factors that can further enhance the performance of multicore processors
- On-chip shared cache
- Inter-core communication
Why doubling the number of cores does not double the performance
- Overheads involved with inter-core communication
- Some programs can’t make maximum use of all cores
Objective of parallel processing
Run a program in less time
How parallel processing could be achieved 1
Assigning separate processors or processor cores to the stages of the FDE cycle
How parallel processing could be achieved 2
The processors or processing cores carrying out a single job split into tasks, with each task able to execute on any unit.