Loading AI tools
Z Wikipedii, wolnej encyklopedii
MMIO (ang. memory-mapped input/output) – sposób ułatwienia obsługi dostępu do i wykonywania operacji na urządzeniach wejścia/wyjścia w systemach komputerowych.
W metodzie tej rejestry urządzenia zostają odwzorowane w przestrzeni adresowej pod zadanym adresem. Oznacza to, że zapisy i odczyty do pamięci pod tym adresem, wykonywane przez procesor, zamiast powodować operacje na rzeczywistej pamięci operacyjnej, skutkują zapisami i odczytami do fizycznych rejestrów urządzenia. Dzięki temu komunikacja z urządzeniem staje się łatwiejsza, gdyż nie różni się niczym od korzystania z pamięci operacyjnej. W szczególności używa się do tego celu tych samych instrukcji, dzięki czemu możliwe jest uproszczenie budowy i wewnętrznej logiki mikroprocesora.
Główną wadą tego rozwiązania jest fakt, że zakres przestrzeni adresowej używany w ten sposób nie może być użyty do komunikacji z pamięcią operacyjną. Wynika to z faktu, że operacje zapisu i odczytu w pamięci operacyjnej, wykonywane przez procesor na tak odwzorowanych obszarach przestrzeni adresowej, są przekierowywane bezpośrednio (na poziomie sprzętowym) do rejestrów urządzenia.
Problem ten może być szczególnie dotkliwy w systemach 16- i 32-bitowych, gdzie przestrzeń adresowa jest stosunkowo niewielka (na przykład w systemie 32-bitowym przestrzeń adresowa posiada rozmiar 4 GB). Procesor w systemie korzystającym z wejścia-wyjścia odwzorowywanego w pamięci i mającym 4 GB fizycznej pamięci operacyjnej nie będzie miał możliwości skorzystania z części zainstalowanej pamięci, gdyż będzie ona zajęta przez MMIO – zjawisko takie nazywa się dziurą w pamięci.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.