• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Do ARM CPUs have patchable microcode?

VirtualLarry

No Lifer
Just curious. Intel CPUs since, what, the original P6 (or PII?) have had patchable microcode that could be loaded by the BIOS. Do ARM CPUs have a similar feature? What do they do to workaround CPU bugs?
 
And yes, ARM does as well.

I don't know of any ARM CPU that uses microcode in any traditional sense. That means sequenced instructions read from some addressable storage, hence something you could actually patch.

Depending on the some CPU, you might see some instructions cracked into multiple internal operations. But usually it's two or maybe three fixed operations that the decoder can output directly. The only exception is the block load and store instructions which are implemented with fixed sequencers in the decoders and not reading from microcode.

AArch64 was actually made with the deliberate intention of being able to be implemented such that all instructions needed 1 or 2 operations. Hence why they dropped block memory instructions but have paired memory ones.
 
Would it be possible to take microcode from a 2600K and put it into a 2500K to unlock HT?

No. HT is not a microcoded feature.

And if there were features disabled via microcode then I guarantee you Intel would somehow make it impossible to get working just by copying it. I'm not so sure you can read back the microcode to begin with.
 
No. HT is not a microcoded feature.

And if there were features disabled via microcode then I guarantee you Intel would somehow make it impossible to get working just by copying it. I'm not so sure you can read back the microcode to begin with.

Given Intel's expertise in the areas of encryption as well as security (McAfee), it would be unlikely that they'd leave that opportunity wide-open.

So it probably is a no-go unless you happen to get an insider to commit some industrial espionage, in which case you're an idiot because the processor costs all of $330 but prison can be a real PITA. Especially if you go to one of those federal PITA prisons 😱
 
Microcode goes way back before the P6. The 80286 used micrcode too for example.

And yes, ARM does as well.

Did you miss the word "patchable" in my OP? That's totally different than a CPU that just generally uses microcode, which is most CPUs.

The ability for the BIOS to actually patch the microcode, on a running CPU (since it is executing the BIOS code to do so), is what I was inquiring about. That's a (relatively) advanced feature for a CPU.
 
Did you miss the word "patchable" in my OP? That's totally different than a CPU that just generally uses microcode, which is most CPUs.

The ability for the BIOS to actually patch the microcode, on a running CPU (since it is executing the BIOS code to do so), is what I was inquiring about. That's a (relatively) advanced feature for a CPU.

Most OSes loads microcode as well, including Windows and Android. Its not a BIOS only feature. So no, I dont think I missed anything.
 
Last edited:
As with most modern CPUs, the ARM CPU IP is heavily validated before tape-out. However, since the ARM ISA is relatively simple compared to the beastly x86 ISA, the validation tends to catch most errors.

In the event that there's a flaw in the processor logic, often times they can be worked around at the system software level. Otherwise, the user is pretty much S.O.L. until the chip is physically replaced.

The errata documentation for ARM CPUs are in the documentation center, but you have to be a registered ARM customer to view them. From what I've seen, there are a few bugs that can't be worked around, and require new hardware.

Anyway, you can see a sampling of workarounds applied in the Linux kernel here: https://git.kernel.org/cgit/linux/k...ree/arch/arm/Kconfig?id=refs/tags/v3.13#n1080
 
Most OSes loads microcode as well, including Windows and Android. Its not a BIOS only feature. So no, I dont think I missed anything.
Android loads microcode on ARM CPUs? Would be interested to see that as no ARM CPU I know uses microcode.

If you meant that the underlying Linux kernel loads microcode on x86 CPU then you're right.
 
Back
Top