Windows – do Ryzen processors (or any other processor) need a driver

amd-ryzencpudriverswindows 7

I have been reading today about the new AMD Ryzen processors not being supported under Windows 7 by drivers and so on.

How come a processor needs a driver to run, or that it can decide which OS to run or not?

I though processors are designed to conform to a standard of instructions (say x86), and that any OS that is compiled to that instruction can run on top of it.

How come now that the processor will choose what to run, and what not? And is there similar cases with Linux distributions? Like a processor that can run Ubunut, but not Fedora? It seems insane to me.

Best Answer

I though processors are designed to conform to a standard of instructions (say x86), and that any OS that is compiled to that instruction can run on top of it.

There's a certain category of hardware/features that falls under the umbrella of "chipset" devices.

In the 80's, the CPU was one component of many discrete chips on a motherboard, and there were many other components (separate chips) which, while not technically required for the CPU itself to function, nonetheless formed the "base hardware" of a system - example devices are the programmable interrupt controller, programmable interval timer, and DMA controller. These devices form part of the system's "physical infrastructure" and let the CPU interact with the outside world a lot easier - and if this hardware is standardized, you have a platform.

Techincally, hardware of this type are "peripherals" since they are not built-in to the CPU, but you do not have an option to remove them. They can pretty much be always assumed to exist - and thus these became part of the "standard PC platform" by convention. These eventually became consolidated into one chip by various vendors, but was still called a "chipset" - and other traditionally discrete hardware such as IDE controllers, VGA controllers would start to be included as well.

Now in the modern era, most of the "chipset" type hardware are now advanced versions of legacy PC platform hardware (APIC, HPET, PCI-E bus controller, memory controller, USB and SATA controllers, etc.), plus new things like power management, power control, integration with a "Management Engine" type platform. Most of it is built into the CPU now; we may be soon reaching the point where a typical motherboard will have a CPU socket, PCI-E slots, and not much else (there are actual systems like this now). With Intel and AMD both integrating graphics into their CPUs, graphics are obviously probably a big part of the chipset now.

But the chipset hardware, to the extent it is configurable/programmable, still appears to the CPU on the "outside" like either traditional external devices or through an address mechanism called "Model Specific Registers" even though physically the hardware is now part the CPU.

So drivers are still needed like one would need with any external device. AMD is choosing not to make/release drivers for Windows 7.

Windows will still boot on it, it's just that various things that are chipset devices may appear as missing devices in Device Manager. These could include things like thermal sensors, PCI devices that talk to the graphics hardware, etc. Intel chipset drivers often override and implement better power/thermal management than the BIOS does (I've heard) and AMD chipset drivers may do the same.


Some in the comments are referencing things like 3d-Now, MMX, SSE, SSE2, etc. These are extensions to the x86 instruction set, and not all CPUs have all extensions. Drivers are not needed to access them. The program wanting to use them needs to check if the CPU can support them and this is easily done with a CPUID instruction.

Related Question