Doi: 10.1145/1435417.1435431
Double, double toil and trouble
—Shakespeare, Macbeth, Act 4, Scene 1
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
multiple
interlocking
threads
iBm s/360 32-bit, with 24-bit addressing (16MB total) of real (core) memory
References:
Archives