Predication (computer architecture): Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: isbn. Add: authors 1-1. Removed parameters. Some additions/deletions were parameter name changes. Upgrade ISBN10 to 13. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_webform 143/1195
short description, links
Tags: Mobile edit Mobile app edit iOS app edit
Line 1:
{{Short description|ReliesForm Computationof conditionals in computer programming}}
{{More citations needed|date=March 2014}}
{{Distinguish|Branchbranch prediction}}
 
In [[computer scienceprogramming]], '''predication''' is an [[computer architecture|architectural]] feature that provides an alternative to [[Conditional (computer programming)|conditional]] transfer of [[control flow|control]], as implemented by conditional [[branch (computer science)|branch]] machine [[instruction (computer science)|machine instructions]]. Predication works by having conditional (''predicated'') non-branch instructions associated with a ''predicate'', a [[Boolean data type|Boolean value]] used by the instruction to control whether the instruction is allowed to modify the architectural state or not. If the predicate specified in the instruction is true, the instruction modifies the architectural state; otherwise, the architectural state is unchanged. For example, a predicated move instruction (a conditional move) will only modify the destination if the predicate is true. Thus, instead of using a conditional branch to select an instruction or a sequence of instructions to [[Execution (computing)|execute]] based on the predicate that controls whether the branch occurs, the instructions to be executed are associated with that predicate, so that they will be executed, or not executed, based on whether that predicate is true or false.<ref name="rvinyard">{{cite web
|url= https://www.cs.nmsu.edu/~rvinyard/itanium/predication.htm
|title= Predication