[News] AFUA visited Thendic-France | ANN.lu |
Posted on 24-Apr-2002 15:30 GMT by Teemu I. Yliselä | 629 comments View flat View list |
The French Amiga user group AFUA visited the Thendic-France headquarters and met with Bill Buck and the Coyote Flux guys. Read their report here.
|
|
List of all comments to this article |
AFUA visited Thendic-France : Comment 264 of 629 | ANN.lu |
Posted by Björn Hagström on 26-Apr-2002 07:39 GMT | In reply to Comment 263 (Samface): It is not mapped into physical RAM. It is mapped (by hardware) into to physical memory space. This does not mean that it is mapped into RAM. RAM is just one type of memory that is mapped into the physical memory space. Beside RAM and ROM mapped into it we have things like the paula/agnus/gary/CIA chipset registers.
A ROM/RAM/EPROM/EEPROM in it self is mapped over a fixed amount of address pins. And then these are mapped into the overall physical memory space which has even more address pins. That just means that when the CPU wants to read from a ROM the mobo logic decodes the requested memory adress and the depending on how things are organised uses higher bits to find out which chip is to be accessed and the lower bits to where inside the chip data is to be read or written.
Example. (Don't take these figures for real values, they are just set by me for illustrative purposes)
Chip RAM, 4 chips with 512kb each.
Each chip uses 0x00080000 bytes. Say that we map this into the memory space from adress 0x00000000 like this:
Chip 1, 0x00000000 - 0x00007ffff
Chip 2. 0x00080000 - 0x0000fffff
Chip 3. 0x00100000 - 0x00017ffff
Chip 4. 0x00180000 - 0x0001fffff
And then we have a ROM, 2 chip 256kb each which means 0x00040000 bytes for each chip.
And we map it in(by hardware) at 0x0E000000 like this:
ROM chip 1. 0x0E000000 - 0x0E03ffff
ROM chip 2. 0x0E040000 - 0x0E07ffff
Chipset Registers, 1 chip. 16 adress pins of Total space of 65kb
CS chip. 0x00DFF000 - 0x00DFFFFF
So we get a total physical memory space that looks like this:
0x00000000 - 0x0007FFFF RAM
0x00080000 - 0x000FFFFF RAM
0x00100000 - 0x0017FFFF RAM
0x00180000 - 0x001FFFFF RAM
0x0E000000 - 0x0E03FFFF ROM
0x0E040000 - 0x0E07FFFF ROM
0x00DFF000 - 0x00DFFFFF Chipset registers
So when we want to read from ROM we just read from adress 0xE0000000 to 0xE003FFFF. The hardware simply decodes the adress you are trying to access into which chip it is and what adress inside the chip you want to access all invisible to the software.
On some card for the Amiga the contents of the ROM is copied to RAM and any access to the ROM in the physical memory map is decoded by the MMU so that the software thinks it is reading from ROM but in reality it is reading from the copy in RAM.
Anyway, mapping into the physical memory space does not mean that it is copied by some means into RAM. It means that the components (like a ROM chip) internal memory map is available by reading/writing from a certain address in the overall scope of the address pins.
See the physical memory space as a window to what the processor can see. And that every component that the processor can see is exposed inside this window.
(I hope formattign doesn't kill everythign I've written :)
/Björn |
|
List of all comments to this article (continued) |
|
- User Menu
-
- About ANN archives
- The ANN archives is powered by #AmigaZeux. It was updated daily (news last: 22-Oct-2004; comments last: 18-May-2005).
ANN.lu was created, previously owned and maintained by Christian Kemp, www.ckemp.com.
- Contribute
- Not possible at this time!
- Search ANN archives
- Advanced search
- Hosting
- ANN.lu was hosted by Dreamhost. Sign up through this link, mention "ckemp" as referrer and he will get a 10% commission on any account you purchase.
Please show your appreciation for any past, present and future work on ANN.lu by making a contribution via PayPal.
|