Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Who executes POST? BIOS microcontroller or CPU?

Tags:

cpu

bios

uefi

What piece of hardware executes firmware during POST?

BIOS microcontroller or CPU? BIOS microcontroller is executing the firmware on ROM which has some configuration on CMOS (like a RAM). But during POST who is executing the firmware that is checking himself?

After POST, BIOS must "tell" CPU to assign instruction pointer to some address on memory right? that's how it jumps on startup?

like image 849
int3 Avatar asked Dec 25 '22 06:12

int3


1 Answers

There is no "BIOS microcontroller". The BIOS chip is just flash memory. All execution is done by the CPU.

When the processor comes out of reset, it begins executing from a fixed address (called the reset vector). That fixed address is mapped to the BIOS flash chip.

Once the BIOS has completed its boot time tasks (hardware initialization, POST), it begins enumerating boot devices in the order specified in the BIOS setup. The first boot device it finds with a valid boot sector, it begins executing it, and thus control of the computer is handed over to the Operating System.

One other comment, based on your comments: CMOS is just a set of registers inside the chipset that are backed by the RTC battery. They were traditionally used to store BIOS settings, but in a modern UEFI BIOS your settings are stored in flash.

like image 136
myron-semack Avatar answered Jan 11 '23 21:01

myron-semack