Päämuistialue

Päämuistialue ( Main memory , eng.  Perinteinen muisti ) vie IBM PC -yhteensopivien tietokoneiden ensimmäiset 640 kt RAM - muistia . Tämä alue lataa keskeytysvektoritaulukon (vie 1 kt), joitakin tietoja BIOSista (esimerkiksi näppäimistöpuskurin), erilaisia ​​16-bittisiä DOS -ohjelmia . Heille 640 kt on este.

Este 640 kilotavua

IBM PC -yhteensopivissa tietokoneissa 1 Mt oli muistin raja, jonka prosessori pystyi käsittelemään. Intel 8088 -suorittimessa on 20 osoiteriviä ja se voi käyttää jopa 2 20 = 1 Mt muistia. Ensimmäinen megatavu jaettiin 16 64 kt:n alueeseen. Ensimmäiset kymmenen aluetta oli varattu käyttäjäohjelmien käyttöön (kun käyttöjärjestelmä itse pystyi käyttämään koko megatavua muistia), ja niitä kutsuttiin päämuistiksi . Loput 6 aluetta, joiden tilavuus oli 384 KB ( Ylempi muistialue , UMA, ylempi muisti ) varattiin järjestelmän tarpeita ja lisälaitteita varten. Varhaisissa tietokoneissa oli BIOS ja sen laajennukset, näyttösovittimen muisti ja laiteohjaimet. IBM PC: n olemassa olevissa toteutuksissa osa ylemmästä muistista käytettiin CGA / EGA :lle, loput jäi käyttämättä. 1980-luvun alussa 640 kilotavua muistia riitti keskivertokäyttäjän tarpeisiin, mutta RAM-muistin tarve uusiin sovelluksiin kasvoi nopeammin, mikä johti tarpeeseen käyttää ylemmän muistin ylimääräisiä alueita eri tavoilla, jotka ohitti kielto sovellusohjelmia käyttämästä ylempää muistia. Tämän seurauksena tämä johti siihen, että 1 Mt käytettävissä olevaa muistia ilmestyi varautuneiksi "aukoiksi", joita useat laitteistot käyttivät. Tällaisten "aukkojen" poistaminen oli teknisesti vaikeaa toteuttaa, eivätkä nykyiset DOS -versiot ja sovellusohjelmat tuesivat sitä. Myöhemmin kehitettiin yleinen menetelmä, joka mahdollistaa pääsyn ylempiin muistilohkoihin ( Upper memory blocks, UMB ).

Taaksepäin yhteensopivuuden varmistamiseksi olemassa olevien sovellusten kanssa 640 kt:n raja säilytettiin IBM PC -standardin myöhemmissä toteutuksissa jopa sen jälkeen, kun Intel 8086/8088 -arkkitehtuuri korvattiin nykyaikaisemmalla Intel 80286 :lla, joka salli jo 16 megatavun muistin käsittelemisen. suojatussa tilassa . Tämä rajoitus johtui siitä, että 80286-prosessori pystyi toimimaan sekä uudessa suojatussa että vanhassa reaalitilassa , mikä varmistaa yhteensopivuuden vanhan arkkitehtuurin kanssa: reaalitilassa on mahdotonta osoittaa muistia, jonka bittileveys on suurempi kuin 20 bittiä (tai 2 20 = 1 Mt). Myöhemmät IBM PC -arkkitehtuurin kanssa yhteensopivat prosessorit jatkoivat tämän yhteensopivuuden toteuttamista. Jopa nykyaikaisissa tietokoneissa on edelleen varattu muistialue 640–1024 kilotavua muistia [1] [2] , vaikka useimmissa nykyaikaisissa käyttöjärjestelmissä se on näkymätön, koska ne käyttävät RAM-muistia virtuaalimuistin kautta piilottaen todellisen varauksen sen taakse. muistia eikä ole siitä riippuvainen [3] .

Päämuistin käyttö

640 kt:n este koskee vain 16-bittisiä ohjelmia, jotka toimivat DOS:ssa. 640 kt:n este ei käytännössä vaikuta 32- ja 64-bittisten käyttöjärjestelmien ( Microsoft Windows 4.x , NT , GNU / Linux jne.) toimintaan.

Muistiinpanot

  1. Valkoinen kirja: esittely BIOS-muistikarttojen suunnittelusta UEFI BIOSissa (linkki ei ole käytettävissä) . Intel Corporation (helmikuu 2015). Haettu 3. joulukuuta 2018. Arkistoitu alkuperäisestä 30. syyskuuta 2015. 
  2. Mark, Russinovich; David A., Solomon; Alex, Ionescu. Windowsin sisäosat. — 6. — Microsoft Press, 2012. - T. Osa 2. - S. 322. . - "Huomaa muistin osoitevälin aukko sivulta 9F000 sivulle 100000 ...".
  3. ↑ Ohjelmointisovellukset Microsoft Windowsille  . - s. 435jj.

Katso myös

Kirjallisuus