4 ms·
It is pretty interesting how this has evolved over the decades. Most hardware has some sort of one-way identity that can be stored in a ROM or sometimes just on
by oneplane 2y ago
It is pretty interesting how this has evolved over the decades. Most hardware has some sort of one-way identity that can be stored in a ROM or sometimes just on the mainboard (like adding/removing some zero-ohm resistors). But because the information has gotten so much more involved over time we now have specific areas on almost all hardware that store device-specific calibration data but also code for network cards to be able to function at all (pretty much all Intel PCs have a GbE firmware embedded in the BIOS or UEFI ROM for example).
There used to be separate chips for everything as well, but that became too error-prone and limiting, so instead of having 10 ROMs of varying kinds we ended up with 3 in most cases (embedded boot ROM, device ROM and storage ROM), which then got slimmed down even more to the point where there is a SiP or SoC ROM and either NAND or DFU has to do everything else.
Depending on the vendor, some have been adding some 'extra' ROMs (usually Flash EEPROMs) for embedded controllers because they can't trust or modify the hardware delivered by their partners (AMD/Intel) as much as they like, so they do it externally (HP SureStart for example). But because those controllers themselves also have a boot ROM and an embedded config ROM you now end up adding 3 ROMs back into the completed product. We even had a short period where the Intel ME in the chipset had one as well, so you ended up with at least 5 boot ROMs (CPU, CH, GbE, USB, EC) and 2 separate combined ROMs (one of which was the combined traditional BIOS ROM, the other purely the EC), just to start up a random desktop PC.
- 1oooqooq 2y agoit's almost like the purple shipping binary blobs dislike being inconvenienced by other people's binary blobs while they ship their binary blobs. shocking.