paulkoning at comcast.net
Thu Jul 21 15:36:57 CDT 2016
> On Jul 21, 2016, at 4:22 PM, Peter Corlett <abuse at cabal.org.uk> wrote:
> A predicated instruction is one that does or does not execute based on some
> condition. CISC machines generally use condition codes (aka flags), and only
> have predicated branch instructions. Branch-not-equal, that kind of things.
> In ARM, *all* instructions can be predicated. Because instructions are 32 bits
> wide, it has the luxury of allocating four bits to select from one of 16
> possible predicates based on the CPU flags. One predicate is "always" so one
> can also unconditionally execute instructions.
> An occasionally forgotten feature is that ALU operations also have a S-bit to
> indicate whether they should update the flags based on the result, or leave
> them alone.
I didn't realize that. This feature makes it more like the Electrologica machines, which invented this approach back in 1958.
More information about the cctech