Jak wspomniano Cthulhu,
- Zmapowane we/wy pozwala na zapis/odczyt z portami urządzenia we/wy takie same jak odczytu/zapisu do normalnego pamięci (przy użyciu tego samego kodu maszynowego/ASM)
ale jest wadą:
- zużywasz fizyczną przestrzeń adresową pamięci do pamięci urządzenia odwzorowanym I/o (myślę o 32-bitowym systemie Windows nie jest w stanie uzyskać dostęp do wszystkich 4G RAM na komputer)
Zaletą zastosowania metody I/O z mapowaniem portów jest to, że posiadasz oddzielną przestrzeń adresową dla urządzeń I/O i możesz wykorzystać cały zakres adresowania pamięci do uzyskania dostępu do pamięci.
EDIT: Tutaj jest bardziej kompletna odpowiedź na pytanie: hardware ports to memory addresses
Najlepiej zapoznać się z FAQ przed wysłaniem - http://stackoverflow.com/faq –
Zaletą mmio byłoby, że don” t potrzebujesz specjalnych instrukcji, aby pisać na urządzenia. Będzie wyglądać jak zapis pamięci, ale niektóre adresy będą mapować na określone zestawy urządzeń. Port-mapped I/O używa innej klasy instrukcji. –
Posiadanie oddzielnej magistrali We/Wy jest dość specyficzne dla procesorów Intel. To sięga początków 8-bitowych procesorów. Tam, gdzie projekty autobusów były wyjątkowo proste, a wybór miejsca w przestrzeni adresowej 64KB był trudny. Te rozważania nie obowiązują już dzisiaj. –