3 ms·
The 8088 CPU requires that its reset vector be placed at the top of its 1MB address space [1]. So even if the IBM engineers had wanted to put all the reserved
by pwg 10y ago
The 8088 CPU requires that its reset vector be placed at the top of its 1MB address space [1]. So even if the IBM engineers had wanted to put all the reserved space at the bottom, there still would have been a tiny "reserved" hole right at the 1MB barrier due to the design of the chip.
So with the requirement of the physical CPU hardware for a small reserved space at the top of the (at the time) maximum addressable range resulting in a non-linear memory map anyway, putting other reserved stuff (ROM, I/O memory, etc.) up there was not so much of a bad idea at the time. They clustered the "ROM stuff" up there along with the required reset vector.
Also, remember, hindsight is 20/20. The IBM engineer's in Boca Raton, in 1979 to 1981 [2], designing what became the IBM-PC likely had no idea just how big of an industry wide impact their choices were going to eventually have.
[1] https://en.wikipedia.org/wiki/Reset_vector https://en.wikipedia.org/wiki/Reset_vector
[2] https://en.wikipedia.org/wiki/IBM_Personal_Computer https://en.wikipedia.org/wiki/IBM_Personal_Computer (released Aug. 12, 1981, so the design was created some length before that date, 1979-1981 is a guesstimate)