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
   100   101   102   103   104   105   106   107   108   109   110