Intel CPUs have design and security flaw

From Microsoft's Executive Vice President of Windows and Devices Group:

Terry Myerson said:
Understanding the performance impact of Spectre and Meltdown mitigations on Windows Systems

our experience is that Variant 1 [Spectre, Bounds Check Bypass, CVE 2017-5753] and Variant 3 [Meltdown, Rogue Data Cache Load, CVE 2017-5754] mitigations have minimal performance impact, while Variant 2 [Spectre, Branch Target Injection, CVE 2017-5715] remediation, including OS and microcode, has a performance impact.

With Windows 10 on newer silicon (2016-era PCs with Skylake, Kabylake or newer CPU), benchmarks show single-digit slowdowns, but we don’t expect most users to notice a change because these percentages are reflected in milliseconds.

With Windows 10 on older silicon (2015-era PCs with Haswell or older CPU), some benchmarks show more significant slowdowns, and we expect that some users will notice a decrease in system performance.

Older versions of Windows have a larger performance impact because Windows 7 and Windows 8 have more user-kernel transitions because of legacy design decisions, such as all font rendering taking place in the kernel.

Windows Server on any silicon, especially in any IO-intensive application, shows a more significant performance impact when you enable the mitigations to isolate untrusted code within a Windows Server instance.
 
Here is a practical question. How long before I could buy electronic equipment such as computers and tablets that do not have chips with this bug? I guess new designs have to be done and then made. Then the software patches need to be removed.
But how long will that take? I will want a new computer in a year or two.
 
Computers old enough to be running XP most likely don't have processors that do speculative execution and therefore they're not vulnerable to the Spectre/Meltdown flaw.

Actually a computer that can't do speculative execution would have a really hard time running XP. You have to go back to the original Pentium in the early-mid 90s. Intel's P6 (Pentium Pro/Pentium II) was their first desktop architecture with speculative execution.

So technically the system requirements for Windows XP include the very top end of the original P5 Pentiums, but the Pentium 3 and 4 were the desktop state-of-the-art when XP was released.
 
When they say it is unbootable, they probably mean the OS won't fully load the system into a working state, not that you can't turn on the machine. The most likely issue is the operating system trying to apply a microcode update to the CPU, and that microcode not operating properly due to bad specifications from AMD. However, the microcode update doesn't overwrite the CPU microcode. That microcode is stored in ROM which the CPU loads when you power the system on. However the CPU also contains a bit of RAM, which the BIOS or Operating System can write to where the CPU will look for patches to it's existing microcode, and apply it.

The solution if the system won't boot would be to use something like a system restore to roll back the Windows to it's pre-patch state. The system would then boot properly.
The patches can't and don't update microcode.
 

There are several ill informed comments there.

The correct answer is in there, though.

The question is ill-formulated. There are many "microcodes" in modern x86/IA64 CPU, and there is a difference between "microcode patch" and microcode.

The microcode in its classic understanding (as step-by-step elements of execution of long CPU instructions) is almost certainly en-carved in silicon, as there is no reason to keep bugs unfixed along many generations of CPU, when new silicon/RTL is compiled with every new manufacturing node.

However, all recent CPUs have several internal units that are controlled by independent microprocessors that are embedded inside the x86 CPU chip.

Most notable/known is so-called "P-unit", a processor that controls dynamic power management of the CPU. As core frequencies went up and leakage went up with further miniaturization of CPU transistors, the only way to keep power in reasonable limit is by aggressive clock throttling and dynamic power gating. The problem is that the CPU can execute infinite varieties of software codes, and each reaches a certain peak of power consumption. Some patterns of "power viruses" may not be known at the moment when CPU was finalized for retail, and some parameters of managing algorithms must be corrected. This is done via dedicated "microcode patches".

There are several more microprocessors of this sort that control other CPU blocks like graphics and memory.

The details of patching process are top secret, to prevent malicious interference. Here is some hacker's report on the attempt to reverse engineer the mechanism.

In short, the x86 architecture microcode is not loaded in modern CPUs, but microcodes for various auxiliary embedded microprocessors can have patches

The meta processors can be patched but these codes are protected. The core processor can't.
 

Back
Top Bottom