What is predication and how can it be used to speed up program execution?

What will be an ideal response?


Predication is a feature of both the ARM and the Itanium IA64. The execution of instructions is predicated on the value of some variable. In the ARM it is just the condition codes; for example, ADDEQ r0,r1,r2 performs the addition only if the Z?bit is set (add on equal). The Itanium has 64 predicate registers and the equivalent operation in (p1) add r0 = r1,r2. In this case the addition takes place if predicate register p1 is true (i.e., 1). Predication allows you to reduce the number of branches because the ‘if’ is included in the instruction (if predicate true then do instruction). In the case of the Itanium we can do things like

(p1) add r0=r1,r2
(p2) add r0=r1,r3
(p3) add r0=r1,r4

This allows us to add r2, r3, or r4 (or none of the above) to r0, depending on the values in the three predicate
registers p1, p2, and p3. Moreover, because the operations are mutually exclusive, these three instructions can
be performed in a single cycle.

Computer Science & Information Technology

You might also like to view...

If you want to narrow your search results to blog posts within the last 6 months, which Google search option would you choose?

A) Blog Search B) Custom Search C) Google Search D) Post Search

Computer Science & Information Technology

Round the following values to the nearest place noted.

16.213 at units place

Computer Science & Information Technology

When using the ________ Filter feature, filtering criteria must be set up in a specific format

Fill in the blank(s) with correct word

Computer Science & Information Technology

A function can return a value of the type struct.

Answer the following statement true (T) or false (F)

Computer Science & Information Technology