On a more serious note, many state-of-the-art
processors do sort of
implement "branch both ways" in the sense that they do speculative
execution of both paths then discard the results on one path once the
condition is resolved. A limited form of speculative execution was
used by the IBM 7030 Data Processing System (AKA "Stretch"), introduced
in 1961. I'm not aware of any other production systems with speculative
execution that are on-charter for this list (e.g., introduced before
12-nov-1993).
Eric
Eric,
If I'm not mistaken - this approach was used in later Burroughs hardware, like
the B6800, B6900, B4900 series machines (late 70's early 80's.) I would
imagine the IBM 360/91 also did this.
Steve Wilson
(Burroughs Alum)