Pamięć konwencjonalna

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez PG (dyskusja | edycje) o 20:18, 11 sie 2015. Może się ona znacząco różnić od aktualnej wersji.

Pamięć konwencjonalna (ang. conventional memory, base memory) – obszar pierwszych 640 KB pamięci operacyjnej w komputerach klasy IBM PC.

Procesory Intel 8086 i 8088 używane w komputerach IBM PC posiadały magistralę adresową o szerokości 20 bitów, co pozwalało im na bezpośrednie zaadresowanie 1 MB (220) pamięci. W rzeczywistości jednak ograniczenie było niższe - pierwotnie planowano, że jedynie pierwsze 640 kB będzie zajmowała pamięć RAM, pozostałe 384 kB były zarezerwowane dla innych urządzeń (w tym obszarze był na przykład ulokowany frame buffer kart graficznych CGA). W praktyce początkowo większość tego obszaru była niewykorzystana, ale zarezerwowana na potrzeby przyszłych urządzeń. Szybko okazało się jednak, że zapotrzebowanie na RAM rośnie znacznie szybciej, niż potrzeba użycia zarezerwowanych adresów, co spowodowało, że część pamięci zostało zmapowane pod nieużywanymi "wyższymi" adresami, aby maksymalnie wykorzystać całą przestrzeń adresową (tzw. UMB, Upper Memory Blocks).

Pomimo, że kolejne procesory Intela posiadały już znacznie szersze magistrale i mogły z łatwością zaadresować wyższe adresy, podział został zachowany ze względu na wsteczną kompatybilność. Z czasem pojawiły się odpowiednie techniki na podłączenie większej ilości pamięci tak, aby różne jej obszary były "widoczne" w obszarze UMB - były to tzw. pamięci XMS i EMS (odpowiednio Expanded i Extended Memory Specification) - podłączano w ten sposób nawet kilkanaście megabajtów pamięci, jednak dostęp do nich był utrudniony i dosyć skomplikowany, przez co nie wszystkie programy potrafiły z nich korzystać.

Podział na pamięć konwencjonalną i rozszerzoną mógł zostać zniesiony dopiero z czasem pojawienia się procesorów 386, które obsługiwały tzw. tryb wirtualny. Faktycznie jednak zostało to wykorzystane dopiero kilka lat później, wraz z pojawieniem się Windows 95. Nawet wtedy jednak część starszych aplikacji wymagała do działania odpowiedniej ilości wolnej pamięci podstawowej.