Skip to content

Multicore and Parallel Systems

1.1.2 Types of processor · Paper 1 · 8 flashcards · 2 questions

Multicore Systems

Definition
A multicore processor contains multiple processing units (cores) on a single chip, each capable of executing its own set of instructions independently. This design allows for parallel processing where different cores work on separate tasks simultaneously.
Key Point
Key Characteristics of Multicore Systems:
• Multiple cores allow for parallel execution of instructions
• Significantly improves performance in tasks designed for parallelism
• Beneficial in large projects that can divide work across cores
• Software must be optimised to fully utilise all available cores
• Not all tasks can be parallelised (some are inherently sequential)

Parallel Processing

Definition
Parallel processing is the simultaneous execution of multiple instructions or processes. It can occur within a multicore CPU (task parallelism) or across multiple processors.
Pros & Cons
Pros & Cons:
AdvantagesDisadvantages
Faster execution of suitable tasksNot all tasks can be parallelised
Better multitasking performanceSoftware must be specially written
Improved throughput for parallel workloadsIncreased complexity and debugging difficulty
Power efficiency (multiple slower cores vs one fast core)Diminishing returns as cores increase
Key Point
When multicore doesn't help:
• Sequential tasks (must wait for previous step)
• Poorly written software (not optimised for multiple cores)
• Tasks with heavy data dependencies
• Overhead from coordinating multiple cores exceeds benefits
Worked Example
Worked Example: Image Processing

A photo editing application needs to apply a filter to a 4000x3000 pixel image.

Single Core:
• Processes pixels one by one
• Time = 12 million operations sequentially

Quad Core:
• Divides image into 4 sections (1000x3000 each)
• Each core processes 3 million pixels simultaneously
• Theoretical time = 1/4 of single core (ignoring overhead)

GPU with 1000 cores:
• Processes 1000 pixels simultaneously
• Massive parallelism suits this task perfectly
• Much faster than even multicore CPU for this specific task

Key Point: The right processor depends on the task. GPUs excel at parallel data processing, multicore CPUs handle multitasking, and single-core performance still matters for sequential tasks.
Exam Tip
Choosing the right processor:
• Gaming/Graphics → GPU for rendering, CPU for game logic
• Video editing → GPU for effects, multicore CPU for encoding
• Scientific simulations → Depends on parallelisability
• Everyday tasks → Balanced multicore CPU sufficient

Classifying Parallel Systems

A computer system can be classified by how many streams of instructions and how many streams of data it processes at the same time.

TypeStands forHow it worksExample
SISDSingle Instruction, Single DataOne processor carries out one instruction on one item of data at a time, with no parallelismA single-core Von Neumann computer
SIMDSingle Instruction, Multiple DataThe same instruction is applied to many items of data at the same timeA GPU performing one operation on every pixel of an image
MISDMultiple Instruction, Single DataSeveral processors each carry out a different instruction on the same data. It is rare in practiceFault-tolerant systems that compare the results to detect errors
MIMDMultiple Instruction, Multiple DataSeveral processors or cores carry out different instructions on different data at the same timeA multicore processor or a supercomputer