Shadow Ram Explained
- ️Tue Jul 06 2004
Shadow RAM 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. If 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.
|