I have been using Linux (Ubuntu). To communicate with IO devices, IO port addresses are used. For example, 0x378 is an address for a parallel port.
Is an IO port address an actual RAM address? If it's not, where does it reside?
Back to the root of the IBM PC which used 8088 microprocessor, separate address rooms were used for RAM and IO. The 8088 processor supported 20 bit addresses when accessing RAM, but used only 16 bit addresses for access IO. There was an extra pin on the processor to signalize whether RAM or IO is addressed.
This procedure is called port-mapped I/O and is still being used by actual X64-processors.
So the address 0x378 for parallel port does not present an address in RAM.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments