WTF?! For the last few days, the computer hardware microcosm of the internet has been awash with theories about an AMD Ryzen 7 7800X that appeared in the Geekbench database on October 27. It hadn't been seen, heard, or rumored anywhere beforehand, which is almost unprecedented. Had AMD really made a 10-core Zen 4 CPU without anyone knowing?
Nope. Chips and Cheese has come clean. They fooled Geekbench with a phony name by spoofing the CPUID on what was actually a Ryzen 9 7950X system. They also disabled six cores and reduced the precision boost overdrive clock by 350 MHz to make it look (and perform!) like a middle ground between the very real 7700X and 7900X. I wonder what AMD's engineers thought when they saw the 'leaked' processor.
The Chips and Cheese team admitted to changing the CPU's name with an internal benchmarking tool originally designed to find bottlenecks in CPU design. It's been available on GitHub this whole time and still is, so if you want to pull off a similar prank, tag us on Twitter when you do. Here are some fun, definitely-real processors that appeared in the Geekbench database this week.
Chips and Cheese's tool, called PMCReader, abuses the way benchmarking tools like Geekbench read a CPU's name on AMD systems. The CPUID for AMD processors is stored across six MSRs (Model Specific Registers) that can each contain eight ASCII characters (so no emoji, sadly). Programs can read the CPUID by accessing these six registers. These MSRs are publicly available in AMD's PPR (Processor Programming Reference) papers, which explain that the BIOS sets them at boot.
Some AMD CPUs as old as Bulldozer allow them to be written to arbitrarily, although some architectures are more okay with name changes than others. Some MSRs can be changed later by programs with admin privileges, including those six registers. With PMCReader, you can give your CPU any name with up to 47 characters: check out Chips and Cheese's hilarious example below.
Chips and Cheese say their tool can fool Geekbench, Cinebench, AIDA64, HWMonitor, the Blender Benchmark, and almost everything else they've tested. So far, the only exceptions to the rule have been HWiNFO and BenchMate (which borrows HWiNFO's tools) because they source the CPUID from a more fundamental level, much like the BIOS does.
It's actually been possible to spoof these benchmark tools for a long time with more than just silly names. Virtualization software like VMWare or CPUs from non-major manufacturers can falsify the CPU model, family, stepping, and manufacturer if you have the requisite expertise. However, with PMCReader, anyone can change the CPUID on an AMD CPU. From now on, it'll be tough to tell if a leaked benchmark result from an online database is real --- which adds to the fun if you ask me.