How to a processor be made faster with a “software” update

cpufirmware

The new AMD processors Ryzen are out on the market and unfortunately they seem to lack in gaming. Intel processors are obviously still faster for gaming.
People of course weren't in favour of this and AMD made a statement saying that they're updating the firmware or software for speeding up Ryzen for games.

Correct me if I'm wrong but the processor must have a static firmware to be compatible to the x64 standard? If so wouldn't AMD have to optimize the games(software) for their processors which is obviously impossible? What is going on there to say such things if it seems like it's impossible seeing the underlying conditions?

But I may be wrong (I hope so) so Question is:

Is it possible to achieve a speedup for a processor without changing the underlying hardware?
If it's possible, how is this done? Is there software beside the firmware for the processor?

Best Answer

Modern processors are much more complicated than one might think. They are incredibly complicated, nearly beyond the comprehension of a single person. Expanding on a short remark by "horta", one might have all of the following:

  1. To begin with, almost all internal hardware is configurable to a large extent. There are thousands and thousands of configuration registers with zillions of individual bits that must be set for a CPU to operate. All the several layers of CPU-cache interaction have configurable pipelines, and various timing delays obviously have an effect on overall performance.

  2. There are hundreds of advanced features that are put there by architects that engineering didn't have time to validate, so hundreds of features are disabled or set into fail-safe configuration with "chicken bits". But they can be tuned up and enabled if found functional and useful. These enhancing features usually get validated in-depth over time, and can be gradually enabled over the life of a processor by various microcode patches.

  3. All recent CPUs have several internal units that are controlled by independent microprocessors that are embedded inside the x86 CPU chip. One publicly surfaced unit is the P-Unit. Modern processors can't function without aggressive power management, or they will melt. However, deep power management is in contradiction to an aggressive entry-exit clock/voltage policy, and changes in the policy strongly affect overall system performance. All details are controlled by the P-Unit, and can be optimized/tuned by loading another microcode patch, as answered here.

  4. Many other aspects of internal interconnection are controlled by various additional embedded processors, which can be corrected by loading microcode patches into them, or upgrading the BIOS if it has an access to these configuration resources.

In short, while the CPU hardware is indeed hardwired, the configuration of the said hardware pretty much defines its performance, and can be tuned for better system performance by means of BIOS updates and embedded microcode patches.

Related Question