Why have computers become more complex? We can think of several reasons:
Speed of Memory vs. Speed of CPU. John Cocke says that the complexity began with the transition
from the 701 to the 709 [Cocke80]. The 701 CPU was about ten times as fast as the core
main memory; this made any primitives that were implemented as subroutines much slower than
primitives that were instructions. Thus the floating point subroutines became part of the 709 architecture
with dramatic gains. Making the 709 more complex resulted in an advance that made it
more cost-effective than the 701. Since then, many "higher-level" instructions have been added to
machines in an attempt to improve performance. Note that this trend began because of the imbalance
in speeds; it is not clear that architects have asked themselves whether this imbalance still holds
for their designs.