Pamięć wysoka

Z Wikipedii, wolnej encyklopedii
Mapa pamięci w trybie rzeczywistym procesora o architekturze x86 z zaznaczonym obszarem HMA

Pamięć wysoka (ang. High Memory Area, HMA) – obszar pamięci dostępny w systemie komputerowym PC, poczynając od procesora 80286, pracującym w trybie rzeczywistym, rozpoczynający się od adresu fizycznego 1 MB i mający rozmiar 64 KB - 16 B to znaczy 65520 bajtów. Wynika to z faktu, że jeżeli maksymalny adres segmentowy dostępny w trybie rzeczywistym, czyli szesnastkowo 0xFFFF, pomnoży się przez 16 i doda się do tego maksymalną wartość offsetu, czyli 0xFFFF, to otrzyma się maksymalny adres komórki, jaką można zaadresować w tym trybie pracy procesora, równy 0x10FFEF.

Jego istnienie jest skutkiem ubocznym występowania w procesorach Intel 80286 linii adresowej A20 (21. linii adresowej, gdyż są one numerowane od 0), przez co generowanie adresu fizycznego z adresu logicznego w formacie segment:offset daje możliwość pojawienie się na szynie adresowej procesora adresu przekraczającego granicę 1 MB pojemności pamięci operacyjnej, mimo pracy w trybie rzeczywistym procesora. Taki przypadek w procesorach Intel 8086/8088 powoduje przejście do pierwszych komórek pamięci operacyjnej. W ten sposób uzyskany dodatkowy blok pamięci o rozmiarze prawie 64 KB może być wykorzystany przez system MS-DOS (od wersji 5.0 z 1991 roku) do umieszczania tam buforów i sterowników urządzeń, dzięki czemu więcej pamięci konwencjonalnej może być przydzielonej na potrzeby uruchamiania aplikacji.

Zobacz też[edytuj | edytuj kod]