MostThe most important reaeon herereason is that IBM introduced that check as part of the BIOS startup code, so everyone copied it to be compatible.
The PC did differ from many other machines of the same time,era in that it did a thruoutthorough test of all components installed at power up to make sure the configuration iswas operable. Something carried over from mainframes or alikesimilar professional systems. Other machines just initialized components and let the user guess whats wrongwhat the problem was when an error occuredoccurred.
RAMsRAM got more reliable over the years. Equally important, RAM-size size increased manyfold, making a thruoutthorough memory test anything but quick. Last but not least, memory design for PCs did split in the (late) 90s between consumer PC with error detection (like the first PC) and professional machines with error correction (ECC). Where consumer grade machines just let the process/OS die on the USERuser, Professionalprofessional systems will not only correct starting RAM failure, but also report it which (hopefulyhopefully) leads to preemptive RAM change.
VariaousVarious bit patterns are written to RAM and read again, to detect cell failure or certain kinds of cross overcrossover. The test is split into two parts, Base: base RAM (first 16/64 KiB, *1,2) and memory above 64 KiB. On AT (286+) class machines, a third (faster) test may be used for memory above 1 MiB (*3), together with an additional test in protected mode and even more diverging POST codes.
In conventionalConventional memory (up to 1 MiB ,*4) is checked in 4 KiB blocks (*5) and reported as such. The BIOS halts if there is an error in the first 16 KiB (original PC) or first 64 KiB (XT and above).
The bit pattern used (*6) for the first 64 KiB is AA, 55AA
, 0055
, FF00
, 01FF
, 0201
, 0402
, 0804
, 1008
, 2010
, 4020
, 8040
and 80
. They are written (and read) in a way to not only detect single bit failiuresfailures, but also address and data line missmatchmismatch/failiurefailure.
For the remaining memory it is shortened to AAAA
, 55 55
, FFFF
, 0000
and 0101
.
(Here is a nice explanation of basic bit walking and increment tests similar to what the PC does/did and what it will show).
To alarm itsthe user of an immanentimminent RAM problem before it occures during work and he may looseoccurs so that they don't lose hours of work due to a flipped bit.
*2 - On the XT there is a seperateseparate BIOS POST code for the first 32 KiB.
*3 - The beep codes do not distinguish between above 64 KiB and above 1 MiB).
*4 - Well, in reality on the early PCs only until 544 KiB, while later. Later PCs would go unitluntil 640 KiB.
*6 - Caveat: Bit paternspatterns are taken from an old mansman's memory, to. To verify, browsing the BIOS would be helpful.