The text is not edited yet, but as I had the benefit of learning about it with fresh eyes, it should be very approachable (and hopefully accurate enough)
The text is not edited yet, but as I had the benefit of learning about it with fresh eyes, it should be very approachable (and hopefully accurate enough)
I wonder if it's worth it to call out the "processor microcode" firmware? Any cool startup things happen at that low level as well?
"Microcode" generally looks more like expanding a CISC instruction into other instructions, rather than something that looks like a program.
Extremely low level paper: https://www.researchgate.net/publication/295010710_Booting_a... ; good to confirm that Intel systems still boot at 0xFFFFFF0 in real (16-bit!) mode. It also points out that microcode updates are applied after execution has started.
There is also the fun of "cache as RAM"; it's usually quite a time consuming operation to get the DRAM controller up and running and "trained" to the particular signal properties of the motherboard, so the early boot phase has no RAM.
[1] https://oxide.computer/blog/building-big-systems-with-remote...
[0] https://speakerdeck.com/bcantrill/i-have-come-to-bury-the-bi...
[1] https://www.osfc.io/2022/talks/i-have-come-to-bury-the-bios-...