On Wed, 23 Jul 2014 01:29:53 +0000 (UTC), glen herrmannsfeldt
<
g...@ugcs.caltech.edu> wrote:
>Johny B Good <
johnny...@invalid.ntlworld.com> wrote:
>
>(snip on even/odd EPROMs)
>
>> That bit about the IBM AT using a PAIR of roms for the bios to gain
>> 16 bit access intrigued me. I can't recall seeing anything shoddier
>> than the IBM PS/2 machines (which by rights should have been thrown
>> through the windows of IBM's offices by way of 'recycling the tat'.
>
>All the AT and AT clones that I know of used two EPROMs. I think
>it was the 386 and 486 days where I saw one, but note that by
>then the usual OS did minimal BIOS access. Well, I was running
>OS/2 on an AT clone, then upgraded to a 486 machine, again running
>OS/2. I am not sure by now how much MS-DOS in the later days used
>the BIOS, other than for booting.
Definitely by the time the 486 MoBos appeared, it was a common
feature in the bios to choose to shadow the roms into ram (16 bit wide
dimms had become standard by then so the rom region of the 1st MB
memory map had to disable that region of ram addresses to make way for
the roms - it was a no brainer to shadow copy the rom contents into
that otherwise mapped out ram space and have the rom code stored in 32
bit wide ram).
As you say, windows 95 and up made no use at all of the rom code once
booted but I think msdos still used the bios rom routines. The
shadowing into ram space considerably accelrated the performance
compared to running directly from the 8 bit wide roms (and they were
single 8 bit wide roms - I programmed enough replacement eproms to
know this for a fact).
>
>> Apart from the original IBM PC MoBos (2nd hand) I used to build my
>> very first PCs, the only other PCs have been built as clones using
>> MoBos made by third party manufacturers. My first upgrade using a
>> brand new MoBo was an 80286 33MHz clocked AT with its own built in
>> cmos setup menu (which set the standard in regard of my expectations).
>
>I only remember the 80286 up to 12 or so MHz. The 486 I remember at
>33MHz and up. At some point, I had something with a really fast AMD
>chip that fit into the Intel 486 socket.
>
>> I must admit this is so long ago that I can't really recall but I
>> think this used only a single eprom for its bios (at a 33MHz clock
>> speed, I suspect there was an option to shadow copy the 8 bit rom into
>> 16 bit dram to compensate for the loss of speed due to throttling
>> access down from 16 bit to the 8 bit data bus of the rom).
>
>I think some did that, but with Windows or OS/2, once booted there
>is very little in calls to the BIOS.
Almost certainly no calls whatsoever except probably only in 'safe
mode'.
>
>> Almost certainly, the quaint idea of using a pair of eproms to
>> improve access speed was a dead duck with the advent of the first
>> decent CPU to come out of Intel's fabrication plant, the famous 80386
>> and it's cut down cousin, the 80386SX.
>
>I don't remember any 32 bit systems with four EPROMs.
There weren't any. Being able to shadow the rom code into 16 or 32
bit wide ram did away with the need for 16 or 32 bit wide rom chips.
Shadowing would only cost a second or so, if that, of additional
POSTing time so was a no-brainer feature. Using a single 8 bit rom
(flashable or eprom) kept costs down without performance penalty when
shadowing was enabled.
I think it not being a default setting was more to help diagnose ram
issues if that region of the ram was faulty - the user, after hitting
trouble by selecting the shadow option only had to clear the cmos
settings back to default to get a working system so they could play
around with the ram (swapping dimms out or between slots or whatever).
I simply can't remember when this shadowing option first appeared.
Most likely as a result of the use of 72 pin DIMMs (16 bit?) which
started off at 1MB a dimm which meant the 1st MB of ram had 384MB
mapped out going unused. Shadowing just made better use of the
existing dram that would otherwise be mapped out.
386 and 486 MoBos would have been using 72 pin dimms in pairs so the
shadowing would have conferred a speed advantage without the need to
double or quadruple up the roms to make a 32 bitwide data bus. A
single large 8 bit eprom would (and did) suffice quite nicely for the
job, that much I _do_ know.
I could well imagine the use of a pair of bios rom chips (odd and
even addressed bytes) in the early 286 systems using memory made up in
two banks of discrete memory chips but I can't specifically recall the
use of a pair of rom chips (but then, they only came to my attention
when I wanted to reprogram the bios code in 486 and later system
boards).
--
J B Good