Page 105 - Computer_Science_F5
P. 105
Computer Science 2. How can sensor data be effectively utilized to optimise the washing process
using ILP techniques?
3. Explain the concept of ILP to a customer at the laundromat. How does it
benefit them from a practical standpoint?
FOR ONLINE READING ONLY
Meaning of Instruction Level Parallelism (ILP)
Parallelism refers to the ability to perform multiple tasks or operations concurrently
(at the same time). The concept of Instruction Level Parallelism (ILP) builds upon
this foundation, focusing on how processors exploit parallelism within a single
program to achieve faster execution. Instruction Level Parallelism is achieved
when multiple operations are performed in a single cycle.
Consider a simple MIPS program to add two numbers (A and B) and store the result
in register C. For a sequential implementation, as seen in Table 2.1, the processor
must load A into a register (such as, register $s1), and then load the value of B into
another register (such as, register $s2). Finally, in the third cycle add the values in
$s1 and $s2, and store the result in register C (e.g., register $t0).
Table 2.1: Sequential implementation of adding two numbers
Load A Load B Add
Cycle 1 A -> $s1
Cycle 2 B -> $s2
Cycle 3 C = $s1 + $s2
Modern processors can analyse these instructions and identify opportunities for
parallelism. As seen in Table 2.2, the processor can load A into $s1 and B into $s2
simultaneously and then perform the addition using the ALU.
Table 2.2: ILP implementation of adding two numbers
Load A&B Add
Cycle 1 A -> $s1
B -> $s2
Cycle 2 C = $s1 + $s2
96
for Advanced Secondary Schools
Computer Science Form 5.indd 96 23/07/2024 12:33