William Case wrote: > Hi; > > " ... the CPU starts processing. > > The very first operation performed by a CPU is to fetch an instruction > from address FFFF:0000h. Since this address is almost at the end of > available ROM space, the instruction is almost always a jump command > (JMP) followed by the actual BIOS ROM starting address. ..." > > and further on; > > "... Next, BIOS looks for the presence of a video ROM between memory > locations C000:0000h through C780:000h. In just about all systems, the > search will reveal a video BIOS ROM on a video adapter board plugged > into an available expansion slot. ..." > > In both statements, there is mention of two separate ROM addresses as > opposed to the computer's RAM addresses. How does the CPU know that a > particular address is ROM based, HI Bill, to tell the truth, it does not actually know or care. On start up the processor will go to a known address which is "hard wired" in the chip. Since the designer of the mother board knows that is where the processor will look, they arrange for some interesting ROM to appear at that address on startup. Since the processor may also be running a part of the BIOS that would like ot have some ram, they provide some - generaly at the bottom of memory. AS soon as the bios starts, it may very well use the memory management features to switch what the processor sees. Certainly by the time Linux is loaded, the BIOS is completly out of the picture as the (80386 and above) CPU will swich to the 32 Bit (or 64 bit) mode. The BIOS may (and probaly is these days) designed to memory manage itself away as soon as the real Operating system is loaded. The CPU does not directly care if what it is seeing is rom or ram, they both look more or less the same, as long as there are valid instuctions. ROM these days is quite a bit slower than RAM, so when it is accessed, the hardware will generate a "wait State" or three for each fetch. but that is a hardware signal which the logic of the processor does not see, it just is held back in speed. Some CPUs like the 6502 found on the Apple][ and PET even by default use "memory addresses" which are read or written to as direct control of IO chips. A PC can also use this method, although there are special IO addreses, which look like memory addresses, but have a different hardware signal associated with them. I don't really want to refer you to the 6502 books as they may just confuse you more, but the mechnism is simalar without all the layers of abstraction that you seem determined to penetrate. -- Charles MacDonald Stittsville Ontario cmacd [ at ] TelecomOttawa [ dot ] net Just Beyond the Fringe http://www.TelecomOttawa.net/~cmacd/ No Microsoft Products were used in sending this e-mail.