Megahertz myth
The megahertz myth, or in more recent cases the gigahertz myth, refers to the misconception of only using clock rate (for example measured in megahertz or gigahertz) to compare the performance of different microprocessors. While clock rates are a valid way of comparing the performance of different speeds of the same model and type of processor, other factors such as an amount of execution units, pipeline depth, cache hierarchy, branch prediction, and instruction sets can greatly affect the performance when considering different processors. For example, one processor may take two clock cycles to add two numbers and another clock cycle to multiply by a third number, whereas another processor may do the same calculation in two clock cycles. Comparisons between different types of processors are difficult because performance varies depending on the type of task. A benchmark is a more thorough way of measuring and comparing computer performance.
The myth started around 1984 when comparing the Apple II with the IBM PC. The argument was that the PC was five times faster than the Apple II, as its Intel 8088 processor had a clock speed roughly 4.7 times the clock speed of the MOS Technology 6502 used in the Apple. However, what really matters is not how finely divided a machine's instructions are, but how long it takes to complete a given task. Consider the LDA # (Load Accumulator Immediate) instruction. On a 6502 that instruction requires two clock cycles, or 2 μs at 1 MHz. Although the 4.77 MHz 8088's clock cycles are shorter, the LDA # needs at least[1] 4 of them, so it takes 4 / 4.77 MHz = 0.84 μs at least. So, at best, that instruction runs only a little more than 2 times as fast on the original IBM PC than on the Apple II.
History
Background
The x86 CISC based CPU architecture which Intel introduced in 1978 was used as the standard for the DOS based IBM PC, and developments of it still continue to dominate the Microsoft Windows market. An IBM RISC based architecture was used for the PowerPC CPU which was released in 1992. In 1994 Apple Computer introduced Macintosh computers using these PowerPC CPUs. Initially this architecture met hopes for performance, and different ranges of PowerPC CPUs were developed, often delivering different performances at the same clock rate. Similarly, at this time the Intel 80486 was selling alongside the Pentium which delivered almost twice the performance of the 80486 at the same clock rate.[2]
Rise of the myth
The myth arose because the clock rate was commonly taken as a simple measure of processor performance, and was promoted in advertising and by enthusiasts without taking into account other factors. The term came into use in the context of comparing PowerPC-based Apple Macintosh computers with Intel-based PCs. Marketing based on the myth led to the clock rate being given higher priority than actual performance, and led to AMD introducing model numbers giving a notional clock rate based on comparative performance to overcome a perceived deficiency in their actual clock rate.[3]
Modern adaptations of the myth
With the advent of multithreading and multicore processors, the myth has stirred up more misconceptions regarding the measurement of performance in multi-core processors. Some people without the proper knowledge believe that a quad-core processor running at 3 GHz would result in an overall performance of 12 GHz worth of CPU. Others may say that the overall performance is in fact 3 GHz, with each core running at 750 MHz. Both of these ideas are incorrect. Often the same user making these comparisons will be comparing multiple brands of CPU, which will not do the same amount of work per cycle in any case. While micro-architecture traits such as pipeline depth play the same role in performance, the design of parallel processing brings other factor into the picture: software efficiency.
It is true that a poorly written program will run poorly on even a single-core[4] system, but even a well written program that was designed in a linear fashion, will often (if not always) perform better on a single-core system than a multi-core one when run by itself. A system's overall performance cannot be judged by simply comparing the amount of processor cores and clock rates, the software running on the system is also a major factor of observed speed. The myth of the importance of clock rate has confused many people as to how they judge the speed of a computer system.
Challenges to the myth
Comparisons between PowerPC and Pentium had become a staple of Apple presentations. At the New York City Macworld Expo Keynote on July 18, 2001, Steve Jobs described an 867 MHz G4 as completing a task in 45 seconds while a 1.7 GHz Pentium 4 took 82 seconds for the same task, saying that "the name that we've given it is the megahertz myth".[5] He then introduced senior hardware VP Jon Rubinstein who gave a tutorial describing how shorter pipelines gave better performance at half the clock rate. The online cartoon Joy of Tech subsequently presented a series of cartoons inspired by Rubinstein's tutorial.[6]
Intel reaches its own speed limit
From approximately 1995 to 2005, Intel advertised its Pentium mainstream processors primarily on the basis of clock speed alone, in comparison to competitor products such as from AMD. Press articles had predicted that computer processors may eventually run as fast as 10 to 20 gigahertz in the next several decades.
This continued up until about 2005, when the Pentium Extreme Edition was reaching thermal dissipation limits running at speeds of nearly 4 gigahertz. The processor could not go faster without requiring complex changes to the cooling design, such as microfluidic cooling channels embedded within the chip itself to remove heat rapidly.
This was followed by the introduction of the Core 2 desktop processor in 2006, which was a major change from previous Intel desktop processors, allowing nearly a 50% decrease in processor clock while retaining the same performance.
Core 2 had its beginnings in the Pentium M mobile processor, where energy efficiency was more important than raw power, and initially offered power-saving options not available in the Pentium 4 and Pentium D.
Raising frequencies
In the succeeding years after the demise of the NetBurst microarchitecture and its 3+ GHz CPUs, microprocessor clock speeds kept slowly increasing after initially dropping by about 1 GHz. Several years' advances in manufacturing processes and power management (specifically, the ability to set clock speeds on a per-core basis) allowed for clock speeds as high or higher than the old NetBurst Pentium 4s and Pentium Ds but with much higher efficiency and performance. As of 2018, many Intel microprocessors are able to exceed a base clock speed of 4 GHz (Intel Core i7-7700K and i3-7350K have a base clock speed of 4.20 GHz, for example).
In 2011, AMD was first able to break the 4 GHz barrier for x86 microprocessors with the debut of the initial Bulldozer based AMD FX CPUs. In June 2013, AMD released the FX-9590 which can reach speeds of up to 5.0 GHz, but similar issues with power usage and heat output have returned.
Neither Intel nor AMD produced the first microprocessor across the industry to break the 4 GHz and 5 GHz barriers. The IBM z10 achieved 4.4 GHz in 2008, and the IBM z196 achieved 5.2 GHz in 2010, followed by the z12 achieving 5.5 GHz in Autumn 2012.
See also
References
- The 8088 has a loosely-coupled Execution Unit (EU) and Bus Interface Unit (BIU), with a prefetch queue; in the 8088, to execute the MOV AL,# instruction, similar in function to the LDA # instruction of the 6502, the EU requires 4 clock cycles, but the BIU requires 8 clock cycles. (It is a 2-byte instruction, and the BIU requires 4 clock cycles to read or write 1 byte, assuming no wait states.) Therefore, if the instruction is already in the prefetch queue, it takes 4 clock cycles to execute; if the instruction has not been prefetched, it takes 8 clock cycles; and if the BIU is in the process of prefetching the instruction when the EU begins to execute it, it takes 5 to 7 clock cycles. In contrast, the 6502, which has a much simpler fetch-execute pipeline, always takes the same number of clock cycles to execute a given instruction in any context.
- "Analysis: x86 Vs PPC". Retrieved 2008-09-18.
- Tony Smith (February 28, 2002). "Megahertz myth : Technology". The Guardian. Retrieved 2008-09-18.
- single-core
- "A video of Megahertz Myth presentation".
- "Nitrozac and Snaggy" (2001-10-11). "The Megahertz Myth". The Joy of Tech. Retrieved 2011-11-21.
External links
- Analysis: x86 Vs PPC — OSNews.com
- Apple's explanation of the megahertz myth Keynote at Macworld 2001
- Intel to 'ditch' Pentium 4 core after Prescott 2004 news article