I know this sounds like a dumb question but I just can't seem to find a proper answer to this by googling.
For example I found this description of the sequence of events on webopedia, and if you read it, you find it contradicts itself
When the computer's power is first turned on, the CPU initializes itself, which is triggered by a series of clock ticks generated by the system clock. Part of the CPU's initialization is to look to the system's ROM BIOS for its first instruction in the startup program. The ROM BIOS stores the first instruction, which is the instruction to run the power-on self test (POST), in a predetermined memory address.
POST begins by checking the BIOS chip and then tests CMOS RAM. If the POST does not detect a battery failure, it then continues to initialize the CPU, checking the inventoried hardware devices (such as the video card), secondary storage devices, such as hard drives, ports and other hardware devices, such as the keyboard and mouse, to ensure they are functioning properly.
Once the POST has determined that all components are functioning properly and the CPU has successfully initialized, the BIOS looks for an operating system to load.
So OK that tells me that the CPU initialises itself - but then the BIOS continues to initialise the CPU? But It said the CPU intialises itself, how can the BIOS continue to initialise the CPU if it wasn't already initialising it before it continued to do that??
Other sources of information say that it is the Super IO chip which initialises the CPU Some tutorials even call it the 'start-up chip'
Do you see why I am so confused by all this?
OK so can some kind person explain or post a link that explains what is actually going on at a hardware level when power is applied to a motherboard?
Does the CPU simply go to some fixed address at the top or bottom of the address space like old 8 bit CPUs and microcontrollers did and read a jump vector from there which presumably points to the start of the POST routine? .
Or does the microcontroller in the Super IO start to execute code by going to some fixed address and reading a jump vector from the BIOS (so the BIOS or part of it contains 8051 code or whatever the Super IO microcontroller supports)?
Is the Super IO then initialising the hardware in some way, or is the CPU initialising the hardware?
And actually it is the Super IO that runs the POST program, or the CPU?
I just can't get this clear in my head. And if I don't understand exactly what is happening when I hit the power button then it makes it a lot harder to understand what isn't happening when the motherboard will not POST.
For example I found this description of the sequence of events on webopedia, and if you read it, you find it contradicts itself
When the computer's power is first turned on, the CPU initializes itself, which is triggered by a series of clock ticks generated by the system clock. Part of the CPU's initialization is to look to the system's ROM BIOS for its first instruction in the startup program. The ROM BIOS stores the first instruction, which is the instruction to run the power-on self test (POST), in a predetermined memory address.
POST begins by checking the BIOS chip and then tests CMOS RAM. If the POST does not detect a battery failure, it then continues to initialize the CPU, checking the inventoried hardware devices (such as the video card), secondary storage devices, such as hard drives, ports and other hardware devices, such as the keyboard and mouse, to ensure they are functioning properly.
Once the POST has determined that all components are functioning properly and the CPU has successfully initialized, the BIOS looks for an operating system to load.
So OK that tells me that the CPU initialises itself - but then the BIOS continues to initialise the CPU? But It said the CPU intialises itself, how can the BIOS continue to initialise the CPU if it wasn't already initialising it before it continued to do that??
Other sources of information say that it is the Super IO chip which initialises the CPU Some tutorials even call it the 'start-up chip'
Do you see why I am so confused by all this?
OK so can some kind person explain or post a link that explains what is actually going on at a hardware level when power is applied to a motherboard?
Does the CPU simply go to some fixed address at the top or bottom of the address space like old 8 bit CPUs and microcontrollers did and read a jump vector from there which presumably points to the start of the POST routine? .
Or does the microcontroller in the Super IO start to execute code by going to some fixed address and reading a jump vector from the BIOS (so the BIOS or part of it contains 8051 code or whatever the Super IO microcontroller supports)?
Is the Super IO then initialising the hardware in some way, or is the CPU initialising the hardware?
And actually it is the Super IO that runs the POST program, or the CPU?
I just can't get this clear in my head. And if I don't understand exactly what is happening when I hit the power button then it makes it a lot harder to understand what isn't happening when the motherboard will not POST.

Comment