A számítógépes memória a számítógép működéséhez szükséges adatok és utasítások átmeneti tárolására szolgáló elektronikus terület. A memória biztosítja, hogy a központi feldolgozó egység (CPU)) közvetlenül hozzáférhessen a futtatandó programokhoz és az őket vezérlő/használó adatokhoz. Mielőtt egy program futni tudna, a programot a tárolóból betöltik a memóriába; ez a betöltés teszi lehetővé a gyors végrehajtást. A memóriára minden számítógépben szükség van, mivel a processzor csak a memóriában elérhető adatokkal tud dolgozni.

Működés és felépítés

A modern számítógépek bináris digitális elektronikai eszközök: minden tárolt információt két állapot valamelyikével (például be/kikapcsolt, 1/0) reprezentálnak. A kapcsolásokat tranzisztorok vagy egyéb memóriacella-technológiák végzik; a memória fizikai elemei így sok-sok apró kapcsolóból állnak. A memória cellák címezhetők: a processzor egy memóriacímet ad meg, és az adott címhez tartozó adatra kér hozzáférést. A memória jellemzői közé tartozik a kapacitás (mennyi adat fér bele), az elérés sebessége (mennyi idő alatt lehet olvasni/írni) és a volatilitás (az adat megmarad-e áramtalanítás után).

Bitek, bájtok és egységek

A memória legalapvetőbb egysége a bit: egyetlen bináris számjegy, amely vagy 0 vagy 1 értéket vehet fel. A bitek egymás mellé rendezésével jönnek létre nagyobb egységek:

  • Bájt: nyolc bit alkot egy bájtot. A bájt a legtöbb számítógépes rendszer alapvető címezhető egysége.
  • Nibble: négy bitet tartalmaz, azaz a bájt fele; az angol "nibble" szó a "fél harapás" képzete miatt vált elterjedtté.
  • Nagyobb egységek: kilobájt (KB), megabájt (MB), gigabájt (GB) stb., amelyek a bájtok többszörösei (a gyakorlatban néha 1000-alapú, néha 1024-alapú értelmezéssel használják őket).

A bit elnevezés a "binary digit" (bináris számjegy) rövidítése. A byte (bájt) elnevezést azért írják így, mert az eredeti "bite" szóval való összetéveszthetőséget el akarták kerülni; így alakult ki a ma használt helyesírás és jelentés. Eredetileg a bitek gyűjteményét a számítástechnikusok bájtnak nevezték.

Memóriatípusok

  • RAM (véletlen elérésű memória): olvasható és írható, gyors, de általában volatilis — áramtalanításkor az adat elvész. Ezen belül fontos megkülönböztetni a DRAM-ot (dinamikus RAM) és a SRAM-ot (statikus RAM), az SRAM gyorsabb, de drágább.
  • ROM (csak olvasható memória): tartalmazhat állandó, gyári adatokhoz szükséges információkat (például boot kód). Léteznek programozható és újraírható ROM változatok is.
  • Gyorsítótár (cache): kis, nagyon gyors SRAM terület a processzor közelében, amely a gyakran használt adatokhoz biztosít gyors hozzáférést, csökkentve a főmemóriához való lassabb hozzáférések számát.
  • Nem felejtő (non-volatile) memória: mint a flash vagy SSD alapú tárolók: megtartják az adatot áramtalanítás után is, de írás/olvasás sebességük általában lassabb, mint a RAM-é.

Memóriahierarchia és teljesítmény

A számítógép teljesítményét nagyban befolyásolja a memória-architektúra: a gyors, de kis kapacitású memóriák (registerek, cache) közelsége a processzorhoz és a nagy, de lassabb memóriák (fő memória, háttértár) távolsága. A cél, hogy a processzor a lehető legtöbbször találja meg a szükséges adatot a gyorsabb rétegekben (cache hit), és minél ritkábban kelljen a lassabb háttértárhoz fordulni (cache miss).

Gyakorlati tudnivalók

  • A memória mérete és típusa fontos a számítógép felhasználási területének meghatározásához: több memória és gyorsabb memória jobb többfeladatos munkához, nagy memóriát igénylő alkalmazásokhoz (pl. virtuális gépek, nagy adatbázisok, videószerkesztés).
  • A memóriacímzés és a processzor szóhossza (pl. 32 vagy 64 bites) határozza meg, hogy milyen mennyiségű memóriát tud közvetlenül címezni a rendszer.
  • Az endianness (a bájtsorrend) befolyásolhatja, hogyan értelmezik a többbájtos adatszerkezeteket különböző rendszerek között.

Összefoglalva: a számítógépes memória kulcsfontosságú az adatok és utasítások gyors eléréséhez. A bitek és bájtok szolgáltatják az alapot az információ ábrázolásához, míg a memória különböző típusai és szintjei biztosítják a szükséges egyensúlyt a sebesség és a kapacitás között.