orange wrote:
Maybe I didn't understand all this, but ROM is certainly read more than once unless it has been copied to RAM. All the programs use ROM routines, and most of Amiga OS is held in ROM (thank God)
Can you explain me why are you all mentioning 1Gb, do you mean 1Mb? Kickflash is ROM image in flash memory, right?
There are only two "real" ROM spaces: 0xf80000-0xffffff where the normal kickstart ROM resides and 0xf00000-0xf7ffff for the "debugging" ROM (AFAIK used by CD32 and Cyberstorm/Blizzard early init ROM). The code in this location is already relocated to these fixed addresses -- they cannot be moved except by using virtual mapping by the MMU (or special hardware hacks like the MapRom feature).
Replacing Residents (aka RomTags aka Modules) from the ROM with new ones (e.g. from AmigaOS Update in 3.5/3.9/BB2) is done by relocating these modules somewhere in fast memory and letting a mechanism in the Kickstart ROM initialize the newer ones (KickTagPtr/KickMemPtr or the Residents list) instead the ones from the ROM.
Hence, as FlashROM actually behaves like a ROM in the sense that it cannot be written to in normal ways (it is not RAM), but you cannot guarantee that RomTags do not have DATA/BSS segments and need to write into associated memory or code, these modules have to be relocated to "real" RAM.
Under normal circumstances, this relocation of RomTags from the FlashRom only happens once at the very first boot, thus, the FlashRom is only read once and it is not time critical, how fast this is.
The Kickflash and Algor (PRO) cards are autobooting Zorro II cards, but they only use a 64KB segment of the Zorro II address space for accessing the 512KB/1MB of FlashRom.
Both Kickflash and Algor have to copy the contents to fast ram (including the kickstart rom image, that might be stored in there). (Again, this happens only once). The eFlash has to do this aswell, because of the reasons mentioned above (relocation) -- but unlike the other solutions, the eFlash cannot remap the Kickstart ROM.
The Kickflash has an additional clockport on its board, and it has been said that it should be able to hold a flash memory module with 1GB capacity (again, this will not show up as real memory in the computer, but rather some kind of ram-drive).
Hope this helps a bit.