2013-03-12 11 views
6

Mapowane na pamięć I/O to technika umożliwiająca wykorzystanie pamięci centralnej (RAM) do komunikacji z urządzeniami peryferyjnymi. Portowane I/O używa portów (ze specjalną instrukcją montażu) do komunikacji przez porty cyfrowe.Mapowane na pamięć I/O vs Mapowane na port I/O

Jakie są zalety jednej metody w odniesieniu do innej?

+2

Najlepiej zapoznać się z FAQ przed wysłaniem - http://stackoverflow.com/faq –

+1

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. –

+1

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. –

Odpowiedz

11

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

+0

Zobacz http: // superuser. com/q/703695/78897 – Pacerier