Kompiuterio atmintis yra laikina saugojimo vieta. Joje saugomi duomenys ir instrukcijos, kurių reikia centriniam procesoriui (CPU). Prieš paleidžiant programą, ji į atmintį įkeliama iš saugyklos. Tai suteikia centriniam procesoriui tiesioginę prieigą prie kompiuterio programos. Atmintis reikalinga visuose kompiuteriuose.

Kompiuteris paprastai yra dvejetainis skaitmeninis elektronikos prietaisas. Dvejetainis reiškia, kad jis turi tik dvi būsenas. Įjungta arba išjungta. Nulis arba vienetas. Dvejetainiame skaitmeniniame kompiuteryje elektros energijai įjungti ir išjungti naudojami tranzistoriai. Kompiuterio atmintis sudaryta iš daugybės tranzistorių.

Bitai ir baitai

Kiekvienas įjungimo ir išjungimo nustatymas kompiuterio atmintyje vadinamas dvejetainiu skaitmeniu arba bitu. Aštuonių bitų grupė vadinama baitu. Techniniu požiūriu baitas susideda iš 8 bitų; dažnai šią aštuonių bitų dalį galima apibūdinti kaip du pusbaitius (angl. nibble) po 4 bitus. Terminas bitas kilo kaip dvejetainio skaitmens trumpinys (iš angl. binary digit), o žodis baitas (angl. byte) istorijoje kilo kaip susijęs su duomenų vienetais, kad būtų išvengta painiavos su kitu žodžiu bit. Angliškas žodis nibble reiškia „kąsnelį“ ir vartojamas pavadinti 4 bitų grupei.

Vienetai ir talpa

Dažniausiai naudojami dydžių vienetai:

  • 1 bitas = 0 arba 1
  • 1 baitas (B) = 8 bitų
  • 1 kilobaitas ~ 1 024 baitų (dažnai žymimas KiB, o kartais KB)
  • 1 megabaitas (MB) ~ 1 024 KiB = 1 048 576 baitų
  • 1 gigabaitas (GB) ~ 1 024 MB
  • 1 terabaitas (TB) ~ 1 024 GB

Pastaba: kai kurie gamintojai naudoja 1 KB = 1 000 baitų; tikslūs kompiuterių atminties skaičiavimai dažnai remiasi 1 024 pagrindu, todėl oficialios alternatyvos yra KiB, MiB, GiB ir t. t.

Atminties tipai ir hierarchija

Atmintis kompiuteriuose organizuojama sluoksniais pagal greitį ir talpą — tai vadinama atminties hierarchija. Pagrindiniai lygiai:

  • Registrai — labai greita, maža talpa CPU viduje, naudojama laikinam duomenų ir adresų saugojimui vykdant instrukcijas.
  • Kešas (cache) — labai greita atmintis tarp CPU ir pagrindinės atminties, skirta sumažinti prieigos laiką prie dažnai naudojamų duomenų.
  • Pagrindinė atmintis (RAM) — operatyvioji atmintis, kurioje veikia programos ir laikomi aktyvūs duomenys. Ji dažniausiai yra volatili (praranda turinį išjungus maitinimą).
  • Nepertraukiama atmintis (ROM, flash) — saugo duomenis nevolatiliai; įrašyti duomenys išlieka net po išjungimo (pvz., BIOS/UEFI arba įmontuota programinė įranga).
  • Antrinė saugykla (kietasis diskas, SSD, USB atmintinės) — didelės talpos, lėtesnė saugykla skirta ilgalaikiam duomenų saugojimui.

Pagrindinės technologijos

Keletas dažniausiai sutinkamų atminties technologijų:

  • DRAM (dinaminė RAM) — plačiai naudojama pagrindinei atminčiai; pigesnė, didesnės talpos, bet reikalauja periodinio atnaujinimo (refresh).
  • SRAM (statinė RAM) — greitesnė, naudojama procesoriaus kešui; neveikia su priežiūros atnaujinimu, bet yra brangesnė ir užima daugiau ploto.
  • Flash atmintis — nevolatili atmintis, naudojama SSD ir USB laikmenose; leidžia perrašyti blokus, tačiau turi ribotą persirašymo skaičių.
  • EEPROM — programinės įrangos ar konfigūracijos saugojimui, taip pat nevolatili.

Virtuali atmintis ir puslapiai

Operacinės sistemos dažnai naudoja virtualią atmintį, kad kiekvienai programai pateiktų nuoseklų logišką atminties vaizdą. Tikroji (fizinė) atmintis gali būti mažesnė nei bendra reikalinga programoms — sistema perkelia nenaudojamus duomenis į antrinę saugyklą (pvz., swap arba page file), o aktyvius duomenis laiko RAM. Tai leidžia vykdyti didesnes programas, bet lėtesnė raktų prieiga prie disko gali sumažinti našumą.

Kaip CPU pasiekia atmintį

CPU adresuoja atmintį naudodamas adresų magistralę; kiekvienas baitas turi unikalų adresą. Procesorius skaito ir rašo duomenis per šias magistrales, o tarp CPU ir RAM dažnai įterpiami kešai, kad būtų sumažintas laukimo laikas. Moderniuose kompiuteriuose taip pat naudojami mechanizmai, tokie kaip atminties valdikliai, atminties greitintuvai (memory controllers) ir atminties apsaugos schemos, siekiant užtikrinti greitą bei saugų prieigos procesą.

Praktiniai patarimai

  • Norint greitesnio veikimo — daugiau greitos RAM ir didesnis arba spartesnis cache gali pagerinti našumą, ypač daug užduočių vykdančiuose ar atminties intensyviuose darbuose.
  • SSD vietoje HDD reikšmingai pagreitina virtualios atminties operacijas ir sistemų įkrovimą.
  • Atminties talpa ir greitis turi būti suderinti su procesoriumi ir pagrindine plokšte — suderinamumas svarbus tiek techninėms specifikacijoms, tiek optimaliam veikimui.

Apibendrinant, kompiuterio atmintis — tai ne tik vienas elementas, o sudėtinga sistema, apimanti įvairius sluoksnius, technologijas ir valdymo mechanizmus, kurie kartu užtikrina sklandžią programų vykdymo ir duomenų saugojimo funkciją.