How to implement memory mapped IO
Here is a link to a short explanation of how Memory mapped I/O operates in an older style computer system.  Perhaps this can answer a few of your questions:

http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/IO/mapped.html