How Computers Boot Up (2008)
manybutfinite.com
How Computers Boot Up (2008)
1–10 of 25 posts
Re: How Computers Boot Up (2008)
#2Re: How Computers Boot Up (2008)
#3Re: How Computers Boot Up (2008)
#4We published a very similar article a few years ago, but as we (NeoSmart Technologies) are bootloader people, there’s a lot more emphasis on that part of things.
If you care to read it (and have the time): https://neosmart.net/wiki/mbr-boot-process/
Re: How Computers Boot Up (2008)
#5Re: How Computers Boot Up (2008)
#6Re: How Computers Boot Up (2008)
#7This kind of glosses over the actual boot loading part, imho. We published a very similar article a few years ago, but as we (NeoSmart Technologies) are bootloader people, there’s a lot more emphasis on that part of things. If you care to read it (and have the time): https://neosmart.net/wiki/mbr-boot-process/
Re: How Computers Boot Up (2008)
#8I'd like to see a description of the real boot process: the one that starts from cold silicon, and the Management Engine fetching its first instruction, as it brings up the main CPU.
Re: How Computers Boot Up (2008)
#9I'd like to see a description of the real boot process: the one that starts from cold silicon, and the Management Engine fetching its first instruction, as it brings up the main CPU.
Once the caches and some CPU-internal peripherals are active, the next stage is loaded. At this point the L1 cache is used as RAM, this code will activate some parts of the system bus and begin training of the PCIe and DDR bus as well as bringing up the chipset, if necessary. This is where the Management Engine first runs.
The firmware looks for the BIOS on it's bus, I'm not certain on how it's connected but it's likely part of the I2C or SPI busses. Once that is loaded up, the firmware loads and activates the RAM and disables the Cache as RAM. Then the BIOS/EFI is invoked via the reset vector mentioned in the article.
The BIOS/EFI brings up the remaining parts of the CPU and Chipset while initializing and setting up the power and CPU clock. It will iterate the PCIe, USB and SATA busses, bring up the VGA graphics (or an EFI driver for graphics if available), connect up any missing devices on the SPI and I2C bus and setup any missing parameters (DDR RAM, CPU and other overclocks happen here if they are setup in the BIOS)
Once the BIOS has setup the device tree, it generates the ACPI table and other memory structures in memory, looks for the boot device and loads up the first applicable bootloader. The BIOS hands of to the OS and bootup is complete.
Atleast, this is the process I recall from my computing systems course.
Re: How Computers Boot Up (2008)
#10This kind of glosses over the actual boot loading part, imho. We published a very similar article a few years ago, but as we (NeoSmart Technologies) are bootloader people, there’s a lot more emphasis on that part of things. If you care to read it (and have the time): https://neosmart.net/wiki/mbr-boot-process/