My understanding is that the PC is actually the odd one out there. Many pre-UEFI devices (PowerPC Macs, Sun SPARC boxen, etc) ran Open Firmware, which used device-independent bytecode in their boot ROMs. You could swap the graphics card out of a Mac and put it in a Sun machine, and things would work. PCs, on the other hand, put x86 machine code directly in the boot ROM.