112-types-of-cpu Flashcards
instruction set
- set of all possible instructions a processor can recognise and execute. Made available by hardware design of processor
-instructions are machine code that the processor has been designed to handle based on a specific processor instruction set - Assembly (programming language) lets you combine these instructions to make a program.
-included in ISA
ISA (instruction set architecture)
- processor architecture specification
- standardizes how software can interact with a computer’s hardware
- including necessary details for software developers to write programs.
CISC (complex instruction set computer)
- Complex architecture design with many specialized instructions.
- Designed to execute tasks in as few lines of assembly code as possible
CISC good points
- Assembly code is relatively short, less RAM to store instructions -> easier to translate to machine code.
-can execute series of operations in one instruction - Offers consistency and backwards compatibility with both software and hardware.
- Has a single register set with variable-length instructions and addressing modes.
CISC bad points
- Instructions may take multiple cycles to execute, making pipelining more difficult.
- Low-level operations may be carried out as part of a single instruction, making software run more slowly - processor has to carry out each operation sequentially.
- Complexity of the hardware can be expensive to manufacture, generate more heat, and require efficient cooling features.
- Some instructions may rarely get used.
RISC (reduced instruction set computer)
- Uses simple instructions executed within a single clock cycle for fast execution and enabling pipelining.
- Has a small instruction set (with a limited amount of instructions)
- standardized, fixed-length instructions that run faster and are used regularly in multiple general-purpose registers.
RISC good points
- Simple circuitry and processor design
- minimize manufacturing costs, generate less heat, fewer transistors and consume less power,
- leaving more space for general-purpose registers and cache.
- Suitable for low-power, portable, or battery-powered devices that require high-speed parallel processing, such as smartphones, tablets, smartwatches, printers, home assistants, and TVs.
RISC bad points
- Complex tasks in RISC may require multiple instructions, leading to longer programs
- more complex compiler as needs to do more work to convert due to the need for more assembly mnemonics,
-and increased RAM usage for storing instructions.
CISC and RISC with pipelining
- CISC more complex, harder to divide instruction processing into smaller stages. And has variable lengths, pipeline stalls/flushes.
-risc simple and streamlined, easier to break into smaller stages
co-processor
- Co-processors are additional processors used for specialized tasks.
- improve the overall speed of a computer by executing concurrently with the main CPU and reducing its workload.
- used for complex functions, such as calculating floating point numbers.
-The main CPU offloads some of its tasks to the co-processor, which then executes them in parallel.
GPUs
specialised co-processor designed to handle and manipulate large amounts of data, particularly for graphics-related tasks and other specialized tasks.
can be integrated into a computer’s motherboard or used as a dedicated graphics card
GPU pros
- Many cores - optimised for parallel processing, allows them to process similar data simultaneously: image processing, video transcoding, cryptocurrency mining
- Designed to handle and display high-quality graphics - graphic processing, gaming, virtual and AR, digital content creation: 3D modelling and animation, medicinal imaging and analysis
- High processing power - handles large amounts of data and complex numerical calculations: scientific simulations and modelling, financial modelling and analysis, AI and neural networks
GPU cons
- expensive, consume a lot of power, more complex to program and use
- typically have less memory than a CPU, limit their ability to handle certain tasks.
- GPUs can be large and require a dedicated slot in a computer case, which can limit the flexibility of a computer’s configuration.
Difference between GPUs and CPUs
- CPUs general purpose processors, GPUs specialized for certain tasks e.g graphics processing.
- GPUs faster and more efficient for simple operations on large data sets, CPUs at complex operations on small data sets.
- GPUs optimized for parallel processing calculations, CPUs process tasks in a serial order.
- GPUs thousands of cores, CPUs typically smaller, limited amount of cores.
Why the need for multicore and parallel systems?
- software complexity/demands increase = more instructions needed for processing (time-consuming)
- Multicore/parallel systems allow multiple processors to share and perform tasks simultaneously
- reducing completion time and improving performance.
Parallel processing
- Dividing tasks/program instructions into smaller sub-tasks that can be executed simultaneously by distributing across multiple processors/cores.
- Achieved through pipelining or threading and can use multiple processors, multiple cores on a single processor, or a combination of both.
-Technique to achieve faster processing of large amounts of data or complex tasks
Multicore processor
- multiple independent processing units on one processor
- suitable for large projects, multitasking by splitting processing workload across
- Manufacturers integrate cores onto a single physical chip to optimize performance.
- used in modern computers, servers, smartphones, and other electronic devices.
Concurrent processing:
- completing multiple tasks or processes at given time intervals by giving them processor time slices - looks as if simultaneously (multitasking)
- may not necessarily require multiple processors/cores or specialized hardware and not necessarily splitting up tasks.
- several processes work simultaneously to solve a problem
-multiple processors carrying out different processes
-bottlenecks like accessing storage device, time complexity, binary search cannot be performed concurrently - Common techniques for concurrent processing include multi-threading, multi-processing, pipelining, and distributed computing.
Differences of parallel processing and multicore system
- multicore systems have multiple independent cores that complete separate fetch-execute cycles, while parallel systems complete multiple instructions simultaneously using techniques like pipelining and threading.
- Both multicore systems and parallel systems can achieve parallel processing, but multicore systems use multiple cores on a single processor chip, while parallel systems can use multiple processors or processing cores across multiple chips.
Similarities of parallel processing and multicore system
- more than one processor working together
- single job is split into tasks and delegated to the best processor/core for that task based on workload, available resources, and core/processor capabilities.
- job is completed more quickly
- controlled by a single operating system.
Supercomputer
- Supercomputer: high-performance (speed and processing) computing system, designed to process large and complex computational tasks quickly
- Used for scientific and engineering simulations, weather forecasting, financial modelling, and other computationally intensive applications
- Companies book supercomputers for data processing and scientific/engineering applications
Supercomputer features
- Parallel processing, greatly increasing the speed at which problem is solved.
- specialized architectures and operating systems optimized for high speed complex computations of specific tasks
- Uses thousands of CPU and GPUs to process data quickly
Limitations of parallel processing
-an algorithm must be suitable for it
- unequal process sizes means not all processors are always utilised
-increased complexity of CU means increased time spent managing processes instead of executing them
- potential for deadlock where one process requires the output of another