Do ARM CPUs have patchable microcode?

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,203
126
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?
 
  • Like
Reactions: Alexium

ShintaiDK

Lifer
Apr 22, 2012
20,378
145
106
Microcode goes way back before the P6. The 80286 used micrcode too for example.

And yes, ARM does as well.
 

Exophase

Diamond Member
Apr 19, 2012
4,439
9
81
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.
 

Smoblikat

Diamond Member
Nov 19, 2011
5,184
107
106
Would it be possible to take microcode from a 2600K and put it into a 2500K to unlock HT?
 

Exophase

Diamond Member
Apr 19, 2012
4,439
9
81
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.
 
  • Like
Reactions: Alexium

Idontcare

Elite Member
Oct 10, 1999
21,110
59
91
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 :eek:
 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,203
126
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.
 

ShintaiDK

Lifer
Apr 22, 2012
20,378
145
106
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:

marc.ceeeee

Junior Member
Jan 22, 2014
1
0
0
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
 

Nothingness

Diamond Member
Jul 3, 2013
3,292
2,357
136
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.