Shadow Memory

by Matthew Duncan.

Share
|
Homepage | Submit your article | Contact | TOS
More articles on memory processor motherboards and buses  

You are here: Categories » Computers and technology » Memory Processor Motherboards and buses

32-bit and 64-bit computers provide a means to access memory through 8-, 16-, 32-, or 64-bit data buses. It's often most convenient to use a 16-bit data path for ROM BIOS memory (so only two expensive EPROM chips are needed instead of the four required by a 32-bit path or eight by a 64-bit path). Many expansion cards, which may have onboard BIOS extensions, connect to their computer hosts through 8-bit data buses. As a result, these memory areas cannot be accessed nearly as fast as the host system's 32-bit or 64-bit RAM. This problem is compounded because BIOS routines, particularly those used by the display adapter, are among the most often used code in the computer (at least when running DOS).

To break through this speed barrier, many designers of 80386 computers use shadow memory. They copy the ROM routines into fast 32-bit or 64-bit RAM and use the page virtual memory mapping abilities of the 80386 and newer microprocessors to switch the RAM into the address range used by the ROM. Execution of BIOS routines can then be speeded up by a factor of four or more-more because greater wait states often are imposed when accessing slower ROM memory. Of course, the shadow memory is volatile and must be loaded with the BIOS routines every time the computer is booted up.

Shadowing has some detrimental effects on its host PC. Any ROM memory that is shadowed must be duplicated in RAM, and the bytes used for the duplication will be stolen away from the total RAM in your system. This memory is reallocated for its purpose by your PC's BIOS and is invisible to the rest of your system-including your applications. Consequently, the total RAM installed in your PC often exceeds the amount reported by your system's POST (power-on self test).

The ROM that is moved must go somewhere. Almost any address space can be assigned to it because once it is relocated, it should not need to be called upon again. When shadowing first appeared in machines made by Compaq Computer Corporation, the company's engineers assigned the range just above 16MB for the relocation, because these systems were designed to address no more than 16MB of RAM. Letting the shadow fall up there prevented programs from bumping into it. Most computer and motherboard makers copied the Compaq prototype and chose this address space for ROM relocation.

This address choice posed no problems as long as PCs and their applications needed only a few megabytes. Today, however, 16MB is where many people want to start with memory. However, PCs that plant relocated ROM at the 16MB border can't go higher. Their memory must be contiguous and the relocated ROM puts a big hole in the address range that prevents any RAM at higher addresses from being used. In other words, in some PCs adding more physical RAM beyond 16MB won't yield any more useful RAM.

This problem has an easy solution-switch off ROM shadowing. Most modern PCs make shadowing an option that can be switched on or off during their advanced setup procedure. Switching shadowing off prevents the relocated ROM from interfering with normal RAM addressing. In modern PCs, there's little penalty for switching shadowing off, anyway. The most important effect of shadowing is to accelerate video BIOS routines. However, most advanced applications and operating systems (like Windows and OS/2) avoid the video BIOS and instead write directly to display memory. These operations are not aided by shadowing, so they operate at the same speed whether shadowing is on or off. In other words, if most of your work is in Windows, ROM shadowing doesn't have any effect, so you might as well switch it off.

The other problem with shadowing is that not all the ROM in a PC comes as standard equipment. Many peripherals-for example video boards, disk controllers, and network adapters-add their own ROM to your PC's native endowment. Most PCs make an effort at shadowing this ROM memory, too. Sometimes, however, the code in these add-in ROMs is not designed to be relocated, and trying to shadow it can crash your system even before it boots up. To avoid such problems, most PC makers give you the option of shadowing ROM in blocks, letting you switch shadowing on and off for each individual block. Switching on shadowing for a given address range should be approached carefully, particularly when you are uncertain whether the code in that address range is amenable to shadowing.

Leave a comment or ask a question
Total comments: 0

Memory Processor Motherboards and buses Disclaimer

  • The e-articles directory is not responsible for any and all copyright infringements by writers and authors. If you suspect the information contained by this page for any copyright infringements, please contact us to investigate the issue
The evolution of Microprocessors from 1971 to the Present - It is interesting to note that the microprocessor had existed for only 10 years prior to the creation of the PC! Intel invented the microprocessor in 1971; the PC was created by IBM in 1981. Now mo (more...)
How SIMM DIMM and RIMM memory work - Originally, systems had memory installed via individual chips. They are often referred to as dual inline package (DIP) chips because of their designs. The original IBM XT and AT had 36 sockets on t (more...)
EDORAM ~ Extended Data Out RAM - In 1995, a newer type of memory called extended data out (EDO) RAM became available for Pentium systems. EDO, a modified form of FPM memory, is sometimes referred to as Hyper Page mode. EDO was inv (more...)
Troubleshooting Memory - Memory problems can be difficult to troubleshoot. For one thing, computer memory is still mysterious to people because it is a kind of "virtual" thing that can be hard to grasp. The other difficult (more...)
Guidelines when upgrading memory on older systems - When upgrading an older motherboard, it is sometimes impossible to match the installed memory. Some motherboards have 30-pin and 72-pin SIMM sockets, and many have both SIMM and DIMM sockets. I (more...)
Guidelines when upgrading memory in Pentium II/III/IV Celeron and Athlon systems - These systems are excellent candidates for memory upgrades. Early Pentium II systems often have only 16 MB of RAM. In the price-sensitive consumer Celeron market, many early systems shipped wit (more...)
Power6 Processor: World`s Fastest Processor - Increases the processing speed to 4.7 GHz A revolutionary device in the form of tiny chip has been designed by IBM which has put the world in wonders. Power6 is really a mind-blow (more...)
About Clocking - In computers, a serial signal is one in which the bits of data of the digital code are arranged in a series. They travel through their medium or connection one after another as a train of pulses (more...)
Hardware Flow Control in the Serial Interface - Several of the signals in the serial interface are specifically designed to help handle flow control. Rather than a simple on and off operation, however, they work together in an elaborate ritua (more...)
Software Flow Control in the Serial Interface - The alternate means of handshaking, software flow control, requires your serial peripheral and PC to exchange characters or tokens to indicate whether they should transfer data. The serial perip (more...)

 
free content
    Copyright © 2006 - 2012 e-articles.info.
The texts, articles and tutorials in the directory are property of their respective owners and authors.