The fact that we have swept a lot of complexity under the rug, however, does not mean that a machine design is unrealistic. Consider the GCD machine. The machine has an instruction that computes the remainder of the contents of registers a and b and assigns the result to register t . If we want to construct the GCD machine without using a primitive remainder operation, we must specify how to compute remainders in terms of simpler operations, such as subtraction. We can thus replace the remainder operation in the GCD machine's data paths with a subtraction operation and a comparison test.
Figure shows the data paths and controller for the elaborated machine.
Then show how to expand these in terms of arithmetic operations.