ABSTRACT

The branch instruction is the workhorse of modern computing. As we will see, resolving branches is the essence of computing.

According to the von Neumann model of computing, instructions are fetched, and then executed in the order in which they appear in a program. The machine that he built in Princeton at the Institute for Advanced Studies during World War II (which we will call the IAS machine) did exactly this [1] [2]. Modern processors might not actually do this (fetch and execute instructions in program order), but when they don’t, they generally ensure that no outside observer (other processors, I/O devices, etc.) is able to tell the difference.