Page 1 of 1

Is Memory Mapped I/O Taking RAM Address Space for Devices?

Posted: Mon Jun 23, 2025 11:34 pm
by karim
Does "Memory Mapped I/O" mean, for example, if the CPU is 32-bit (so the address space is 4GB), the BIOS can allocate 3GB of addresses for RAM, and when the BIOS does enumeration, it gives each device (like the graphics card) an address range from the remaining 1GB of addresses?
So basically, the term "Memory Mapped I/O" means that you take part of the address space that could have been used for RAM, but instead you assign it to a device (like the graphics card).
This way, when a program sends an address, the CPU checks if it belongs to RAM or to the graphics card, for example. Is that correct or not?

Re: Is Memory Mapped I/O Taking RAM Address Space for Devices?

Posted: Tue Jun 24, 2025 10:20 am
by Octocontrabass

Re: Is Memory Mapped I/O Taking RAM Address Space for Devices?

Posted: Tue Jun 24, 2025 10:37 am
by iansjack
I’m not convinced that a lack of ability, or willingness, to do simple research is a good basis for OS development. Or a good use of other contributors’ time.

Perhaps a book on computer architecture would help.

Re: Is Memory Mapped I/O Taking RAM Address Space for Devices?

Posted: Tue Jun 24, 2025 11:42 am
by sounds
I am also wary of questions that sound like a CS homework assignment.