1.1.2 Types of CPU Flashcards
CISC features (6)
Complex instruction set computer
- Larger instruction set
- Each instruction can take multiple FDE cycles to execute
- CISC difficult to pipeline
- More complex circuitry / more transistors (Expensive + more power consumption e.g. less battery in phone)
- Many addressing modes available
- Compilers do less work
- Instructions take up less space in memory
RISC features (6)
Reduced instruction set computers
- Smaller instruction set
- Each instruction takes one clock FDE cycle to execute
- RISC easier to pipeline
- Fewer addressing modes
- Less complex circuitry / more transistors (Cheaper + less power consumption)
- Compilers do more work
- Instructions take up more space in memory
Instruction set architecture
- Includes specification of the set of opcodes implemented by a particular processor - diff processors have different instruction sets so means code is specific.
- Composed by all the instructions a processor can execute
- Group of bytes the CPU can understand
GPU’s
CPU - general purpose, GPU - designed for specific task e.g. Graphics
- Thousands of cores to perform single instruction on multiple pieces of data at a time in parallel
- Built in circuitry / instructions for common graphics operations
- Great for graphics and other highly parallelisable problems where large quantities of data need to be processed and task can be broken down
- Great at processing a Single instruction on multiple data items at the same time (SIMD)
Examples :
- Physical Modelling
- 3D Rendering / Modelling
- Data Mining
- Machine Learning
Advantages
- Speed : Through Parallel processing as multi-core processors can handle many tasks simultaneously which speeds up completion
- Efficiency : GPU’s can perform more calculations per unit of power consumed compared to CPU’s when it comes to parallel tasks.
Co - processor
Extra processor to supplement functions of primary processor
E.g. Math’s co-processor has large registers so good for FP arithmetic but has otherwise limited functions.
Parallel processing
Execute multiple different processes (can be instructions) at the same time across the multiple different independent processing units (cores for multi core or cpus for distributed). (Can split single task or process multiple different tasks)
Parallel and Multi core architectures Advantages and Disadvantages
Advantages:
- Program split - different parts of the program executed at the same time by different independent cores - shortens time to complete
- Large complex problems can be solved more easily.
- Allows for multitasking on different tasks where multiple applications open and processing of background instructions (Multicore)
Disadvantages:
- Some instructions cannot be run in parallel - dependent on other instructions to complete.
- Program must be designed to have parts executed at same time and to make use of multiple cores- increased complexity
- Overheads in communication between cores