2 ms·
A CPU can contain hardcoded memory, it can detect the power-on event. That we have an incredibly fancy chain of smaller CPUs booting bigger CPU is more surpris
by tux3 3y ago
A CPU can contain hardcoded memory, it can detect the power-on event.
That we have an incredibly fancy chain of smaller CPUs booting bigger CPU is more surprising! Things should be initializing themselves. Those are 'just' voltage levels in the chip.
I would 'simply' have the main core of the main CPU come out of power-on-reset in a vaguely usable state, and then let regular firmware on a NAND spin up the RAM and setup everything else!
It's still not clear to me why is a second core needed to setup the first core the right way, instead of coming out of reset the right way
- thrtythreeforty 3y agoFrequently (I work on large SOCs) it's less risk and more flexible to let software do boot. For example, there is some initialization step in the way between the big core and the instructions, and it is deemed easier/less risky to let software perform this initialization rather than do it in hardware and not have a fallback in case of hardware bugs. Or, if you have the fallback, then you've just reinvented the simple-core boot mechanism so you might as well ditch the hardware work. I hate this trade-off because it means so much irritating work for the software engineer and frequently has downstream impact on other parts of the system (e.g. does PCIe link come up in time?) but the risk of silicon problems drives this design decision.