ROMs are used by components that need their own instructions to work properly,
such as a video card or caching disk controller; the alternative is loading the instructions from
disk every time they are needed. ROMs are 8-bit devices, so only one byte is accessed at a time;
also, they typically run between 150-400 ns, so using them will be slow relative to 32-bit memory
at 60-80 ns, which is also capable of making four accesses at once (your effective hard disk
interleave will drop if data is not picked up in time).
Shadow RAM is the process of
copying the contents of a ROM directly into extended memory which is given the same address as
the ROM, from where it will run much faster. The original ROM is then disabled, and the new
location write protected. You may need to disable shadow RAM whilst installing Multi-user DOS.
your applications execute ROM routines often enough, enabling Shadow RAM will increase
performance by around 8 or 9%, assuming a program spends about 10% of its time using ROM
instructions, but theoretically as high as 300%. The drawback is that the RAM set aside for
shadowing cannot be used for anything else, and you will lose a corresponding amount of extended
memory; this is why there is a shortfall in the memory count when you start your machine if
shadowing is enabled. The remainder of Upper Memory, though, can usually be remapped to the end
of extended memory and used there. However, with Windows, or other operating systems that take
over some BIOS functions directly, like NT, it is arguable as to whether any performance increase
is actually noticeable, as the old slow routines are not used anyway.
With some VGA cards,
if video shadow is disabled, you might get DMA errors, because of timing when code is fetched
from the VGA BIOS, when the CPU cannot accept DMA requests. Some programs don't make use of the
video ROM, preferring to directly address the card's registers, so you may want to use the
extended memory for something else.
If your machine hangs during the startup sequence for
no apparent reason, check that you haven't shadowed an area of upper memory containing a ROM that
doesn't like it-particularly one on a hard disk controller, or that you haven't got two in the
same 128K segment. NetWare doesn't really benefit from Shadow RAM, certainly for the video, and
can make better use of the memory.
Flash ROM is now quicker than DRAM, so if you have a
Flash BIOS you may find Shadow RAM is not required.
This is an article from
Phil Croucher, author of
"The BIOS Companion" Phil has
a way of explaining in "plain" English. The information is well presented and
is well above A+ standard.