Megahertz myth

From RationalWiki
Jump to navigation Jump to search
A 233 MHz Intel Pentium MMX processor.
Style over substance
Pseudoscience
Icon pseudoscience.svg
Popular pseudosciences
Random examples
Actually, it's about ethics in
Video games
Video games icon.png
Cutscenes
There is in fact a "Megahertz Myth" and it exists in the minds of those who think that the only factor that matters is raw chip speed, as defined in megahertz ratings. Especially true in the case of different CPU designs, even among products in the same family. When you start to compare different classes of chips, the mythological 1:1 relationship of MHz to "speed" becomes even more difficult to cling to.
—Aphelion, ArsTechnica forums[1]

The megahertz myth is a name for the widely held[2] misconception that the computing power of a CPU is strictly a function of its clock speed. In reality, clock speed is only one of many factors that determine the speed at which a CPU can execute instructions. The myth is largely a creation of computer and hardware manufacturers' marketing departments, who for a while highlighted clock speed as one of the primary features in their advertising,[2] playing up the innate assumption that big numbers = MOAR POWER!!!11

What affects speed[edit]

For many years, the number of times a computer's clock — PC's "heart" to its processor's "brain" — ticked each second was a direct indication of how many calculations a processor could perform. One clock tick, one instruction, was how the design rule ran.
—Tony Smith, The Guardian[2]

Although CPU clock speeds have not significantly changed in the last decade, many improvements to hardware efficiency and software optimization have kept actual performance steadily growing.

Multiple cores[edit]

Modern CPUs, especially the ones of mobile devices as smartphones and tablets, include multiple execution units, or cores, within the same chip. Each one of these cores has all of the capabilities of a typical CPU, and these cores are able to work together on the same piece of software. This is known as parallel processing. While modern multi-core CPUs may run at a lower megahertz speed than past processors, their multiple cores allow them to process more workloads simultaneously. Therefore, the same amount of work can be achieved at lower speeds. Fewer megahertz equals less power, so multi-core CPUs are not only more powerful, they are also significantly more energy efficient. The multi-core CPUs in modern smartphones, where cores are typically divided into performance and energy efficient ones (plus high performance ones for high-end devices[3]), are able to achieve greater performance with fewer than five watts of power than the the hundreds of watts needed by desktop computers from less than a decade earlier. Desktop and laptop computers sold today typically have four- or eight-core CPUs, with lower-end models having four or lower; smartphones and tablets have typically either four or eight-core CPUs, and enthusiast, academic and professional computers can have CPUs with dozens, if not hundreds, of cores (in the case of corporate mainframes). In recent years, the performance-and-efficiency core paradigm has also been adopted by Intel and AMD in their Core and Ryzen lines especially in laptops where battery life and thus portability is paramount.

To take advantage of parallel processing, developers must write their code accordingly in order to distribute the software's workload among the available cores. Some algorithms, especially those with many interdependencies between intermediate results, can be hard or impossible to parallelize. Earlier software such as the original Windows release of Crysis were coded with the expectation that processor clock speeds were to climb up over time, without taking into account the benefits of multithreading and other architectural advencements. This may account for why Crysis was so notoriously hard to run and could even get newer systems to get framerate issues ingame.[note 1]

Multiple CPUs[edit]

In the same way that a single CPU with multiple cores can distribute its workload, multiple CPUs, each with multiple cores, can further parallelize the task at hand. These multiple CPUs may all be housed in the same case on a common motherboard, or they may be spread out across multiple racks of cases that then communicate with each other over high-speed network links. Supercomputers use this technique, having sometimes hundreds of thousands of CPUs (and GPUs) working together on one task to achieve their huge processing power. Similarly, the vast server and render "farms", employed by companies like Google and Industrial Light and Magic, utilize hundreds of thousands of cooperating CPUs.

Because of these techniques, making many CPUs act as one, the only theoretical limit to a supercomputer's processing power is the physical space it can occupy. The practical limits are energy usage and heat dissipation. At its peak, the Oak Ridge National Laboratory Titan's 37,376 CPUs and GPUs require 8.2 megawatts of power (or, enough to power about 8000 homes).[4] The Titan's cooling system has 6600 tons of capacity (a large house has about 3 tons).[5]

Distributed computing projects,Wikipedia like Folding@home and BOINC, allow home PC users to volunteer their unused processing power, through the internet, to globally networked projects. With distributed computing software, a home PC downloads and then calculates a small chunk of a much more massive shared data set. Once work on that small chunk has been completed, it is uploaded into the global data set, and a new small chunk is downloaded to be worked on. In this manner, the unused power of millions of home PCs can be leveraged into solving extremely complex problems, like genome folding and the cataloguing of astronomical data. Bitcoin also works similar to this.

GPU acceleration[edit]

Graphics processing units (GPUs) are specialized processors that can quickly perform a limited set of operations on a large series of values at the same time (for example, pixels on a screen). This differs from the CPU, which is able to perform a much broader array of functions, but at a slower rate. As their name implies, GPUs are usually used for rendering graphic elements (like video games) efficiently, but can also be used for machine learning or other data-driven tasks that are hugely parallelizable, yet mathematically simple. GPUs currently account for the majority of the processing power in nearly all of the World's supercomputers. Two of the fastest supercomputers, China's Tianhe-2 and the US's Titan, both utilize tens of thousands of GPUs, most of which are little more than scaled-up versions of the same add-in cards used in home PCs.[6]

Miniaturization[edit]

Miniaturization of components makes it possible to have more components in the same chip, which in turn can be used to parallelize more tasks. There are some physical limits on miniaturization, because as the size of components decreases, quantum effects such as tunnelingWikipedia become more apparent.

Processors[edit]

Instructions connect computer software to hardware and are information sent to the processor to be interpreted. The types of processors include:

Vector processors Scalar processors Superscalar processors
One fixed-length instruction is interpreted per clock cycle, one after another. Unlike scalar it excels at manipulating large blocks of data.[7] Similar to vector, scalar interprets one instruction at a time and manipulates one data item at a time.[7] Executes multiple instructions at a time because it has multiple pipelines and can manipulate multiple data items at a time.[7]

It is clear that superscalar is superior to scalar because it's super more instructions can be interpreted at a time. Being able to process more instructions per machine cycle means that processes are performed relatively more quickly.

Bus and memory speed[edit]

RAM is orders of magnitude slower than the CPU, and peripherals like drives and networking adapters are slower still. In modern computers, the CPU spends a good deal of time waiting for data to be read from or written to other components. Faster memories, more and bigger CPU caches,Wikipedia and faster busesWikipedia are used to try to chip away at this delay.

Other techniques[edit]

Other techniques that have been employed to improve computing performance are:

  • Register renaming,Wikipedia to overcome the difficult instruction-level parallelism due to the scarceness of registers in some instruction setsWikipedia (like those of the x86 architecture).
  • Out-of-order execution,Wikipedia to avoid wasting cycles by executing instructions in a different order while making sure the semantics of the program remain the same.
  • Addition of specialized instructionsWikipedia that are optimized for performing some tasks more quickly than they would if these operations were manually performed by the binary code. CompilersWikipedia can recognize these patterns in programs and generate machine code that makes use of these specialized instructions. For example, POPCNT in SSE4 counts the number of 1 bits in a numeric value. Other instructions can speed up common cryptographic or media encoding/decoding operations.
  • Computer cooling,Wikipedia to get rid of the waste heat produced by the components that may damage them at worst or reduce their lifespan at best. This is a problem in mobile devices as smartphones and tablets, whose hardware is designed for power efficiency cramming an entire system into the same chipWikipedia and except for some niche devices designed for gaming,[8] generally lack active cooling systems (passive cooling systems are much more common).

The "Bit Wars"[edit]

A related misconception prevalent in video game circles especially during the 80s and 90s was the (somewhat) mistaken assumption that more bits is better. While this holds true with older systems such as the NES and Sega Genesis/Mega DriveWikipedia when compared side by side,[9] as a 16-bit processor can address more memory unaided thus allowing for better graphics and more complex gameplay, it all fell apart as time went on and video game systems became more and more complex (As an aside, the Sega Genesis also spawned the term "blast processing", which Sega of America's marketing team exploited for them to boast that the Genesis/Mega Drive is computationally superior to the Super NES. While Nintendo dismissed the term as mere woo on Sega's part through an advertorial piece on various gaming magazines, there is at least some basis to this whole "blast processing" gimmick; it is uncertain as to what the term actually stood for, but it is widely accepted that the term refers to the Genesis/Mega Drive's direct memory access (DMA) capabilities.[10]). Some systems such as the TurboGrafx-16Wikipedia[note 2] and the Atari JaguarWikipedia were marketed as "16-bit" and "64-bit" respectively, but the TurboGrafx-16 actually ran off a custom derivative of the 8-bit WDC 65C02Wikipedia called the HuC6280Wikipedia with the "-16" suffix referring to the HuC6270 video display controller,[11] while the Jaguar's "64-bit" designation was more marketing bullshit on Atari's part than a factual measure of the console's computing abilities as the "Tom" and "Jerry" coprocessors as well as the Motorola 68000 CPU all execute 32-bit instructions, with Electronic Gaming Monthly ridiculing Atari's "Do The Math" marketing campaign, saying "If Sega did the math for the Sega Saturn the way Atari did the math for their 64-bit Jaguar system, the Sega Saturn would be a 112-bit monster of a machine."[12] The Nintendo 64Wikipedia did come with a 64-bit MIPS CPU, though software rarely took advantage of 64-bit data precision operations;[13] emulators simply ignore those instructions as they were practically unused in commercial software.[14]

The sixth generation of video game consoles spawned the marketing term "128-bit", which was sadly picked up wholesale by mainstream news outlets such as CNN and even otherwise reputable encyclopedias.[15] The DreamcastWikipedia for example was reported by CNN as a "128-bit monster",[16] even though this is applies more to the PowerVR GPU used by the system; the Hitachi SH-4 CPU is by all intents and purposes 32-bit.[17] As of 2024, there is currently no practical application for a 128-bit general purpose microprocessor as the advantages it has over a 64-bit CPU doesn't justify the complexity when existing 64-bit processors can simply handle most tasks just fine as it is.[18]

See also[edit]

Notes[edit]

  1. The Remastered release ports things over to CryENGINE 3, which was built with consoles in mind and brought over some extra content such as ray tracing.
  2. Originally sold in Japan by NEC as the PC Engine.

References[edit]

  1. The Megahertz myth. ArsTechnica forums, 2003.
  2. 2.0 2.1 2.2 Tony Smith, Megahertz myth. The Guardian, 27 February 2002.

    For years, that frequency - measured in megahertz and more recently gigahertz - has been a key factor for millions of consumers when buying PCs. The higher the number the better, goes the rule of thumb.

    But while AMD's engineers may be happy with the balance they have struck, the company's business brains aren't so keen. They know that while their top-of-the-range processor runs at 1.67GHz, Intel's runs at 2.2GHz - and too many buyers assume it is much faster. [...] To stay within the law, the comparison AMD makes is with the previous generation of Athlon, but make no mistake. It wants buyers to have Intel's figures in mind. Moorhead is convinced they are doing so and that without that performance comparison, the Athlon XP's first three months would not have proved as successful. Certainly AMD's market share dipped a fraction in the last quarter of 2001, but not enough to say whether it has struck a chord with the "victims" of the megahertz myth - consumers. Ultimately, it may not matter. Moorhead admits that the naming scheme is a "bridge metric" to fill the gap until the company can come up with something more meaningful.

  3. For example, see Qualcomm Snapdragon 8 Gen 2 for Galaxy. notebookcheck.com, 2023.
  4. The Green500 List - November 2012. Archived from green500.org, 14 November 2012.
  5. Oak Ridge National Laboratory Tour - Cooling Requirements. AnandTech on YouTube, 2013.
  6. Anand Lal Shimpi, Inside the Titan Supercomputer: 299K AMD x86 Cores and 18.6K NVIDIA GPUs. anandtech.com, 31 October 2012.
  7. 7.0 7.1 7.2 Dulce Corazon, What is the Difference Between Scalar and Superscalar Processors? Easy Tech Junkie, 24 August 2023.
  8. For example, the Nubia Red Magic 9S Pro+, 2024.
  9. Genesis Does
  10. Blast processing - Sega Retro
  11. PC Engine / TurboGrafx-16 Architecture
  12. "The Hot Number: 112". Electronic Gaming Monthly. No. 71. Sendai Publishing. June 1995. p. 30.
  13. "Nintendo 64 Architecture: A Practical Analysis". Rodrigo Copetti. September 12, 2019. Archived from the original on July 30, 2023. Retrieved August 4, 2023.
  14. UltraHLE technical information
  15. 2000s-era New Book of Knowledge article about video games
  16. Sega unleashes a 128-bit monster on the gaming world
  17. Dreamcast Architecture
  18. Waterman, Andrew; Asanović, Krste. "The RISC-V Instruction Set Manual, Volume I: Base User-Level ISA version 2.2". University of California, Berkeley. EECS-2016-118. Retrieved 25 May 2017.