Megahertz myth

From Wikipedia, the free encyclopedia

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 IBM computer 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 latter. 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[edit]

Pentium 1 series processors

Background[edit]

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[edit]

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[edit]

With the advent of multithreading and multi-core 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 factors into the picture such as 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. Not all programs use all available cores, not all tasks can or need to be split over several cores, and additionally using several cores may introduce additional complexity in the program, so multithreading is usually only done when the benefits of doing so are obvious. 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[edit]

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 The Joy of Tech subsequently presented a series of cartoons inspired by Rubinstein's tutorial.[6]

Processor speed limits[edit]

Pentium 4 processors had high clock speeds, resulting in high temperatures and high power use.

From approximately 1995 to 2005, Intel advertised its Pentium mainstream processors primarily on the basis of clock speed alone, in comparison to competitor products 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.

Higher frequencies[edit]

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 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.

Modern microprocessors supplied by AMD; such as the Ryzen 7 7700X from AMD which has base clock speed of 4.5 GHz, 8 cores, and a maximum speed of 5.4 GHz show how just cores and GHz alone do not fully determine the performance. Intel's directly competing microprocessor, the Intel Core i5-13600K, which uses the big.Little architecture, has a much lower base clock of 3.5 GHz on the 6 performance cores, and 2.5 GHz on the 8 efficiency cores. The performance between these microprocessors is extremely close even though there is a major difference in the clock speeds and number of cores between the microprocessors.[7][8]

See also[edit]

References[edit]

  1. ^ 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.
  2. ^ "Analysis: x86 Vs PPC". Retrieved 2008-09-18.
  3. ^ Tony Smith (February 28, 2002). "Megahertz myth : Technology". The Guardian. Retrieved 2008-09-18.
  4. ^ "single-core". Archived from the original on 2009-08-05. Retrieved 2017-09-04.
  5. ^ "A video of Megahertz Myth presentation". YouTube. Archived from the original on 2021-12-21.
  6. ^ Nitrozac and Snaggy (2001-10-11). "The Megahertz Myth". The Joy of Tech. Retrieved 2011-11-21.
  7. ^ https://www.amd.com/en/products/cpu/amd-ryzen-7-7700x
  8. ^ https://www.intel.com/content/www/us/en/products/sku/230493/intel-core-i513600k-processor-24m-cache-up-to-5-10-ghz/specifications.html

External links[edit]