hi everyone ... sorry but my arabic is not that good and i don't have an arabic keyboard system ... anywayz ... i have some questions regarding the ISA-based system boot process:
As far as my knowledge and reading are concerned, when an x86 processor is reset, the initial CS:IP (or CS:EIP) equals to FFFF0 (when 8088 or 8086), FFFFF0 (when 80286), and FFFFFFF0 (when 80386 or later). This address is supposed to be of the first instruction to be fetched. Is this a RAM or ROM address? If Rom than who is responsible for shadowing the ROM into the RAM later on, the ROM itself or the OS after booting up? If RAM, on the other hand, than I suppose that the ROM shadowed itself into the RAM. Is that right? In this case, where the ROM does the shadowing, does this process take place before the processor fetches the first instruction (a pre-initializing process) or after that (during the POST/BOOT execution of the ROM)?
Also why the address space between FFFF0 and FFFFF is called boot ROM while the processor start fetching from other addresses like FFFFF0 (when 80286), and FFFFFFF0 (when 80386 or later)? Is the first fetched instruction a jump to the boot ROM (FFFF0) for compatibility issues?
There are more expert questions but first let’s hear something about these questions. Thanks guys and have a nice day.
