Doi: 10.1145/1435417.1435431

Double, double toil and trouble

—Shakespeare, Macbeth, Act 4, Scene 1

By John mashEy
the long Road
to 64 Bits

ShaKeSpeare’S WordS oFteN

cover circumstances

beyond his wildest dreams. Toil and trouble accompany major computing transitions, even when people plan ahead. Much of tomorrow’s software will still be driven by decades-old decisions. past decisions have unanticipated side effects that last

decades and can be difficult to undo.

For example, consider the overly long, often awkward, and sometimes contentious process by which 32-bit microprocessor systems evolved into 64/32-bitters needed to address larger storage and run mixtures of 32- and 64- bit user programs. Most major general-purpose CPUs now have such versions, so bits have “doubled,” but “toil and trouble” are not over, especially in software.

This example illustrates the interactions of hardware, languages ( especially C), operating system, applications, standards, installed-base inertia, and industry politics. We can draw lessons

ranging from high-level strategies down to programming specifics.

 

fundamental Problem (late 1980s) Running out of address space is a long tradition in computing, and often quite predictable. Moore’s Law grew DRAM approximately four times bigger every three to four years, and by the mid- 1990s, people were able to afford 2GB to 4GB of memory for midrange microprocessor systems, at which point simple 32-bit addressing (4GB) would get awkward. Ideally, 64/32-bit CPUs would have started shipping early enough (1992) to have made up the majority of the relevant installed base before they

PhotograPh by ben fransKe

chronology:

multiple

interlocking

threads

iBm s/360  32-bit, with 24-bit addressing (16MB total) of real (core) memory

1964
1965

References:

Archives