This has been puzzling, so I'll lay it all out here. Apparently, through MMIO, you can access external devices using a certain memory-mapped address, which would then be re-routed to that device ...
How is a thread's initial context (registers state) determined on thread creation? For example: Current thread context eax=0x4, ebx=0x9000, ecx=0xfff, etc... Create a thread is called to begin ...
I was wondering if processor registers and IO registers are the same concept? Are they registers in CPU or in some IO devices? I picked up IO registers from this Super User question.