During the POST, there are only two players, the BIOS (Basic Input Output System) and CMOS. These parts are the hardware of a computer and everything resides on the motherboard. CMOS is stored in the description of some hardware devices are very important for the operation of the computer, such as hard disk configuration or the type of video card installed. Through a suitable interface, the user can control the behavior of the hardware such as disk cache. The BIOS contains instead a series of procedures, written in assembly language, to manage the computer hardware. In practice, the BIOS can be considered as a library of functions by means of which the programmer can interact with the hardware of the machine. The BIOS takes care of two main operations: check-up hardware and reading the operating system from the hard disk or other media. The BIOS must then verify the hardware of the computer and then leave the control of the operating system, if there was something wrong with the BIOS will warn the user with a series of beeps.
When you turn on a computer, the engineers who designed the hardware have made sure that the CPU is ready to execute a small program stored in the BIOS, here are the main steps that the instructions contained in the program make:
- CPU Check – The operating system is the software part of the procedure and run it you need to have a CPU that should be working. To verify the correct operation of the CPU you put in this number in all registers (ax, bx, cx .. in a x86 CPU) and at the end of the instructions reads the value of a cell in a register, if the value found is different from the one entered then the BIOS does emit 5 bits continuous to the machine.
- BIOS ROM Check – This test is to ensure the consistency of the contents of the BIOS, the procedure calculates a kind of pre-calculated CRC compared with that in the process of storing the ROM, if the test fails we have 9 Continuous beep.
- Keyboard controller check – The BIOS sends the command to the controller of teastiera hex AA and response is expected the hexadecimal value 55, if something fails the BIOS emits 6 consecutive beeps.
- CMOS – A review of the CMOS is set in a part of memory and if this test failed the operating system will display a visual message to the user.
- Channel 2,1,0 timer – If this test fails, the BIOS emits sound bites, or if there is some minor problem the result is placed in a part of the memory so that the operating system will show you only after checking the video card.
- Memory Refresh – Test the time it takes to perform a refresh.
- Base 64KB RAM – It tests reading and writing of all the cells of the first 64 bytes of RAM, if the test fails, the BIOS will emit 3 beeps.
- CACHE Memory Test – The algorithm is similar to the previous one, except that in this case are considered also the characteristics of the CMOS.
- CMOS battery, options set & checksum – Check the status register CMOS and operating power.
- Checking the type of video – If the BIOS can not use the video card will be issued then the appropriate error beeps.
- Protected Mode – Through the procedure (interrupt) number 15 BIOS (service 89), you switch the processor into protected mode.
I will not dwell on all the other tests, but there are many, this is to make sure that everything is ready to give control to the operating system, the well-known phase-Boot Strap.