assemblymulticoreboothardware-interface

how multicore processors boot?


talking in very low level, how the cores are initialized ?


Solution

  • you can check out all the gory details in the Intel specification. The gory details are in chapter 8.1.

    Here is an excerpt:

    Following power-up or an assertion of the RESET# pin, each processor on the system bus performs a hardware initialization of the processor (known as a hardware reset) and an optional built-in self-test (BIST). [snip] At this point, the action taken depends on the processor family:

    • P6 family processors—All the processors on the system bus (including a single processor in a uniprocessor system) execute the multiple processor (MP) initialization protocol across the APIC bus. The processor that is selected through this protocol as the bootstrap processor (BSP) then immediately starts executing software-initialization code in the current code segment beginning at the offset in the EIP register.