Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Now the question is "What does the microarchitecture really look like so we can write our own x86 microcode?"


The problem with microcode is that it’s specifically tailored to each specific microarchitecture. The microcode for, say, Skylake, won’t work on Haswell. And it definitely won’t work on any AMD CPU.

Intel and AMD almost certainly have compilers/assemblers of sorts that handles turning the microcode assembly-of-sorts into the correct bits, but they’re not portable.


I'd settle for a single specific microarchitecture, just to see what was possible.


Oh for sure. Even if it’s the P6’s microcode (the first with updatable code), I’d take it. I’ve always wondered what microcode looks like in these processors, and how it functions. There is “p6tools”[0][1] which looks interesting. But if Intel released info on it, that’d be really cool.

Sidenote: Ken Shirriff has reverse engineered the ARM1’s microcode,[2] but it’s a “horizontal” microcode (bits control CPU blocks directly) while x86 uses “vertical” (RISC-like) microcode.

[0]: https://github.com/peterbjornx/p6tools

[1]: https://www.youtube.com/watch?v=4oFOpDflJMA (slides: https://hardwear.io/netherlands-2020/presentation/under-the-...)

[2]: http://www.righto.com/2016/02/reverse-engineering-arm1-proce...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: