Instruction Level Parallelism
Instruction-level parallelism (ILP) refers to executing multiple instructions simultaneously by exploiting opportunities where instructions do not depend on each other. There are three main types of parallelism: instruction-level parallelism, where independent instructions from the same program can execute simultaneously; data-level parallelism, where the same operation is performed on multiple data items in parallel; and thread-level parallelism, where multiple threads of a program run simultaneously. Exploiting ILP is challenging due to data dependencies between instructions, which limit opportunities for parallel execution.
Instruction Level Parallelism