Moore’s Law may argue that processors will get ever-more powerful, but until human error is taken out of the equation, this development may stall.
Each year, according to their manufacturers, we expect our processors to perform faster. Although I can recall few Mac users explicitly wanting faster CPUs, we keep getting them, thanks to an interpretation of Moore’s Law predicting that processors will get inexorably faster. The eponymous Gordon Moore was co-founder of Intel, purveyor of fine and ever-faster processors for Macs and most PCs, and his corporation displaced Motorola and IBM as sole supplier for Macs.
From early 2009 models on, the fastest Macs – Mac Pro, high-end iMac, and Xserve – have all been using Nehalem-based Xeon processors designated ‘Gainestown’ and i7. In case you are wondering, Nehalem is a Salish (Native American) word meaning ‘the place where people live’, despite the city of that name having a population of just 200. Quaint though Intel’s product naming may be, I prefer Apple’s predilection for big cats.
Modern processors bear as much resemblance to slow and simple beasts like the original Motorola 68000, as a Formula 1 car does to a Ford Model T. When I learned to program the 68000, the entire inner workings and instruction set could be summarised in a few short pages, and a non-specialist could expect to understand how it all worked. These days even processor specialists get vague and disarticulate when you ask them about deeper internals of chips like the Nehalems. They have become so complex that I doubt whether any single person completely understands the processor; if you do, please explain it to me.
Nehalems have many sexy features – I suppose they must be to processor specialists – like turbo-boost, and multiple power-saving states. Unfortunately, complexity brings increasing human error, and they are also rife with bugs, euphemistically dubbed ‘errata’ by Intel. Among the 127 errata documented for 5500 series CPUs, such as the Gainestown in your shiny new Mac Pro, and the 109 errata in i5-500 and i7-800 CPUs as in your gorgeous big-screen iMac, is one that has troubled Microsoft. According to the article at www.support.microsoft.com/kb/975530, computers with those processors running Windows Server 2008 R2 can stop dead with an error message about a clock watchdog time-out. To work around this, you can disable some power-saving states, which may in turn shut down turbo-boost.
This was serious enough for some to suggest that affected Nehalem processors should not be used in the first place, at least for Windows servers, and it is not clear whether it would have any impact on Macs, perhaps running Mac OS X, virtualisation software, or Mac OS X Server. If you have a model with one of the offending processors, please ensure that suspicious faults are reported to Apple, in case there are circumstances that trigger this, or other errata.
More generally though, it raises questions over the robustness of such complex processor designs. Many of the hundred plus errata enumerated by Intel may be easily worked around, or irrelevant in everyday use. But it only takes one prominent flaw to bring even the most patient Mac user to their knees. We had assumed that there would be a physical limit that would eventually break Moore’s law – hence research in quantum computing – but it may be that a human limit of complexity will prevail first.
I therefore offer you Oakley’s Law: the number of bugs in a processor is proportional to the number of transistors, and those bugs will form the practical limit to the exponential rise in chip complexity.














