> On Jul 21, 2016, at 4:22 PM, Peter Corlett <ab...@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.

        paul


Reply via email to