From this link - Chapter 9, section 9.1.4, it says:
The first instruction that is fetched and executed following a hardware reset is located at physical address FFFFFFF0H. This address is 16 bytes below the processor’s uppermost physical address. The EPROM containing the software- initialization code must be located at this address.
(also refer to the answer on my question : Who loads the BIOS in RAM during computer bootstrap
These are my questions:
- Is the EPROM/NVRAM chip containing the BIOS separate from the RAM ?
- If yes, three questions:
- Does it have to be loaded into RAM for execution ? Who loads it into RAM ?
- If it does not have to be loaded into RAM, how is the beginning of EPROM assigned a starting address of FFFFFFF0H ? Does it the last 16 bytes of RAM during boot are invalid ?
- How much of the whole firmware actually loaded into RAM, and what is its starting address ?
- If no, two questions (I dont think this is correct, but I am including it for the sake of completeness):
- Does the EPROM come bundled with every RAM, located at the end of the RAM's address space ?
- Is the actual size for a 4 GiB RAM 4*1024*1024 - firmware size KiB ?