The AVR line of 8-bit microcontrollers has it's built in peripheral's registers in a block which can then be access by memory IO. Interesteingly they also have IO instructions and an IO address space so you and use both (in fact io instructions are faster because the architechture is optimised for them).
It's like the IO address space is also mapped into a portion of the memory address space, odd.
srg