Memória
Bevezető[szerkesztés]
A számítógép alaplapján található a memória. A központi feldolgozóegység direkt kapcsolatban áll a memóriával. A memóriában tartózkodnak az éppen futó programok, és a programhoz tartozó adatok.
A számítógép memóriája byte-okból épül fel, melyek sorszámozva vannak 0-tól n-1-ig, ahol n
a memória mérete. A mai számítógépek memóriái byte-szervezésűek, ami azt jelenti, hogy a legkisebb adatmennyiség amellyel dolgozhatunk 1 byte (8 bit).
Memória cím[szerkesztés]
A memória byte-jai be vannak sorszámozva, e sorszámokat a megfelelő byte-ok címeinek
nevezzük.
A memória címeket általában hexadecimálisan adják meg. Tehát, a memória minden byte-jának van egy címe, amit arra használhatunk fel, hogy tudjuk melyik byte-ról van szó. Illetve van tartalma, aktuális értéke, amely $0 és $FF közzé eshet.
Memória címzése[szerkesztés]
Ahhoz, hogy a memória byte-jait elérhessük, a memóriát címezni kell. A központi feldolgozóegység (processzor) a címet 16, 32, 64 biten tárolja. Hogy pontosan hány biten, az processzorra jellemző adat. Mivel 16 biten 216 különböző érték tárolható, ezért 16 bites, vagyis két byte-os címzés esetén csak 216 , azaz 65535 (64 KB) nagyságú lehetne a memóriánk - az ezen felüli byte-ok nem címezhetők. Ez rendkívül kevés, és a mai igényeknek nem felel meg. 32 bites címzés esetén 232 byte, azaz 4 GB a memóriakorlát. Ugyanennyi címbittel még nagyobb memória címezhető, ha a memóriát 2, 4, 8 stb. byte-os egységként kezeljük.
Redundancia[szerkesztés]
Ha a memóriát azonos méretű tárolórekeszek összességének vesszük, akkor szemelőt kell tartanunk azt is, hogy valamennyi tárolórekesz mellett van egy 9. bit is, amelyet ismertebb nevén paritásbit
-nek is szokás nevezni. A paritásbit feladata, hogy felismerje az esetleges tárolási hibákat (redundancia). Értéke 0 vagy 1 lesz attól függően, hogy a rekeszbe történő íráskor páros vagy páratlan az egyesek száma. Ha a tárolórekesz kiolvasásakor nem felel meg az egyesek száma a paritásbit értékének, akkor a processzor memória hibát jelez.
Memória tartalma[szerkesztés]
A memória tartalma a program futása során állandóan változhat. A memóriának bármely byte-ját közvetlenül el tudjuk érni, oda eltárolhatunk adatot, és el is tudjuk olvasni annak tartalmát. Tároláskor természetesen a memória előző tartalma törlődik, olvasáskor viszont nem változik. A számítógép kikapcsolásakor a memória tartalma általában elvész.
Memóriák csoportosítása[szerkesztés]
A memóriákat fizikai szempontból két csoportra oszthatjuk.
- RAM (Random Access Memory)
- A központi feldolgozó egység a memória tetszőleges byte-jait azonos idő alatt éri el. Az ilyen elérésű memóriát véletlen elérésű memóriának nevezik.
- Olvasható, írható és törölhető a tartalma.
- Ahhoz, hogy az adatokat el tudja tárolni, külső tápfeszültségre van szüksége, vagyis a számítógép kikapcsolásakor a benne tárolt adatok elvesznek.
- Operatív tár céljára használják. Egy program futása úgy történik, hogy a először a program betöltődik a RAM-ba, majd végrehajtódnak az utasítások.
- A RAM gyorsabb mint a ROM.
- ROM (Read Only Memory)
- A memória, amelybe az adatok véglegesen be vannak égetve, a ROM. A számítógép vezérléséhez szükséges alapvető parancsokat tartalmazza.
- Tartalma olvasható, de nem változtatható meg.
- Programozása a gyártáskor történik.
- Információ tartalmát a számítógép kikapcsolásakor is megőrzi.
- Speciális fajtája a
PROM
, melyet a felhasználó egy speciális készülékkel programozhat, utána azonban a tartalma csak olvasható. Például azEPROM
, mely ultraibolya fénnyel törölhető majd újraírható.
- RAM-ok csoportosítása
- DRAM (dinamikus RAM): olcsóbban gyártható, mivel a bitet a félvezető kapacitása tárolja, de a háttérben rendszeres időközönként végig kell címezni a sorokat, ellenkező esetben elvész a benne tárolt információ. Sorok és oszlopok: alacsony szinten a DRAM-ok nem egy skalár memóriacímmel címződnek, hanem sor és oszlop kijelöléssel. A sorkijelölés hatására kiolvasódik az egész sor és egyúttal vissza is íródik.
- SRAM (statikus RAM): ebben már rendes D tároló cella lett kialakítva, ami duplá akkora gyártási költséget jelent. Azonban nem kell frissíteni az SRAM-ot, mert a cella mindkét állapotában stabilan megmarad, amíg tápfeszültséget kap. Általában ezért kisebb kapacitásúak (néhány 10 MB-os nagyságrendig maximum), azonban nagyon gyors működésűek és az üzemi állapotukat nem szakítja meg frissítési ciklus.
- ROM-ok csoportosítása
- PROM: egyszer programozható, üzem közben csak olvasható memória. Technológiailag általában vékony szilíciumszálakat égettek át a programozás során. Az üres memória minden bitjében ép volt ez a szál.
- EPROM: elektromos árammal írható memória, törlése UV fénnyel történt.
- EEPROM: elektromos árammal írható és elektromos árammal törölhető memória. UV fény és kvarcablak a tokozáson már nem kell.
- FLASH ROM: az EEPROM cellájának írása nagyságrendileg 1 ms időt vesz igénybe, azaz nagyon lassú. Ezt feloldandó X oszlop hosszú (pl. 512 byte) sorokra osztották a memóriát a byte szervezés helyett. Így ha bele akarunk írni 2 kB-ot, az 4 ms alatt megtörténik, szemben a klasszikus EEPROM byte-os szervezésével, ahol 2000 ms alatt zajlott volna le. Amennyiben a példának bemutatott FLASH-ben 16 byte-ot akarnánk írni, akkor alacsony szinten kiolvasódik a teljes 512 byte, beleíródik a RAM-ba a megfelelő 16 byte és az új 512 byte-os tartalom íródik vissza a FLASH ROM sorába.
A gyakorlatban az EPROM írási sebessége is gyorsult, ám az igazi sebességnövekedést a FLASH-eknél még mindig azzal érik el, hogy a sorok hossza gyakran hosszabb, mint 512 byte, így az egyidejű párhuzamos írás okán adnak jobb sebességértéket.
Memória típusok használata[szerkesztés]
- ROM típusú memóriák:
- A BIOS-t tartalmazó memória a ROM-BIOS. Melynek feladata az egyes hardver elemek működésének irányítása. Ennek tartalmát a DOS a RAM-ba másolja.
- Nagy felbontású VGA monitorok esetén, a vezérlőkártyán is találhatunk ROM-ot.
- RAM típusú memóriák:
- Operatív memória. Ennek első 640 KB-os részét, hagyományos memóriának, az 1 MB feletti részét pedig kiterjesztett memóriának (XMS) nevezzük. A DOS közvetlenül csak a hagyományos memóriát tudja kezelni.
- CMOS-RAM. Olyan kis fogyasztású memória, amely külön akkumulátorról kapja az áramot, így a gép kikapcsolásakor sem veszíti el tartalmát. A számítógép konfigurációs beállításait őrzi.
- CACHE-MEMORY. Kis kapacitású gyorsító memória.
Virtuális memória[szerkesztés]
A számítógépnek lehet úgynevezett virtuális memóriája. Itt tulajdonképpen arról van szó, hogy a gép - igazi memória hiányában - memóriának használja a merevlemez egy bizonyos meghatározott részét.