---
title: "Instruction, thread, process level parallelism"
subject: "Microprocessor"
chapter: 6
key: "semester_4/microprocessor:instruction-thread-process-parallelism"
source: https://www.bctengineer.com/q/semester_4/microprocessor/instruction-thread-process-parallelism
site: BCT Engineering
---

# Instruction, thread, process level parallelism

Microprocessor · Chapter 6: Advanced Topics

- Asked in: 2071 Magh, 6 marks
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_4/microprocessor/instruction-thread-process-parallelism
- Whole chapter: https://www.bctengineer.com/md/semester_4/microprocessor/chapter-6

## Question

Describe instruction level, thread level and process level parallelism.

## Short answer

Instruction-level parallelism overlaps multiple instructions inside one processor via pipelining and superscalar execution. Thread-level parallelism splits a program into threads sharing an address space, running concurrently on multiple cores. Process-level parallelism runs independent processes with separate address spaces on multiple processors, communicating via IPC.

## Answer

#### Instruction-level parallelism (ILP)

Several instructions of a single program are overlapped or executed at the same time inside one processor. Hardware techniques include pipelining, superscalar execution (several execution units issue more than one instruction per clock), out-of-order execution, and VLIW. The limit comes from data and control dependences between instructions. The programmer need not do anything; the hardware or compiler extracts it.

#### Thread-level parallelism (TLP)

A program is split into several **threads** (lightweight units sharing the same address space and resources), and threads execute at the same time on different cores, or are interleaved on one core with hardware multithreading (such as Hyper-Threading). For example, a web browser uses one thread for the user interface and others for downloading. Threads communicate through shared memory and need synchronisation (locks).

#### Process-level parallelism

Different independent **processes** (separate address spaces) run simultaneously on multiple processors or machines (multiprocessors, clusters). Processes communicate by IPC (messages, pipes). It is coarse-grained and suits multi-user and distributed systems, for example running a compiler and a database server in parallel.

| Level | Unit | Granularity | Example |
|---|---|---|---|
| Instruction | Instruction | Fine | Pipeline, superscalar |
| Thread | Thread | Medium | Multicore, Hyper-Threading |
| Process | Process | Coarse | Cluster, multiprocessor |

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What mainly limits instruction-level parallelism?
   A. The number of users logged in
   B. Data and control dependences between instructions
   C. The size of the hard disk
   D. The number of processes in the system
   Answer: B. Dependences between instructions restrict how many can be overlapped inside one processor. (Key point: ILP limits)

2. What distinguishes threads in thread-level parallelism?
   A. They have separate address spaces and communicate by pipes
   B. They share the same address space and resources, so need synchronisation such as locks
   C. They run only on separate machines in a cluster
   D. They are extracted automatically by hardware without a program split
   Answer: B. Threads are lightweight units sharing address space and communicate via shared memory, which needs locks. (Key point: Thread-level parallelism)

3. Which statement about process-level parallelism is correct?
   A. It is fine-grained and happens inside one pipeline
   B. Processes share the same address space
   C. It is coarse-grained; independent processes with separate address spaces communicate by IPC
   D. It needs no communication between units
   Answer: C. Processes have separate address spaces, are coarse-grained, and communicate by IPC such as messages or pipes. (Key point: Process-level parallelism)

4. Ordered from finest to coarsest granularity, the levels are:
   A. Process, thread, instruction
   B. Thread, instruction, process
   C. Instruction, process, thread
   D. Instruction, thread, process
   Answer: D. Instruction level is fine, thread level medium, and process level coarse. (Key point: Granularity order)

## Related in Microprocessor

- [Parallelism, IPC deadlock and OS role](https://www.bctengineer.com/question.md?key=semester_4%2Fmicroprocessor%3Aparallelism-deadlock-os-role) — Microprocessor, chapter 6

## Related in other subjects

- [Process vs thread; user and kernel threads](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aprocess-vs-thread-user-kernel-threads) — Operating System, chapter 2
- [Process versus thread differences](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Aprocess-vs-thread) — Embedded System, chapter 6, asked 4×
- [Process vs thread; multithreading advantages](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aprocess-thread-multithreading) — Operating System, chapter 2
- [What is process; process vs thread](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aprocess-vs-thread-define) — Operating System, chapter 2
