Kompiuterio atmintis

Atmintis () – adresuojamoji apdorojimo vieneto atminties erdvė ir visa kita komandoms vykdyti naudojama vidinė atmintis. Paprastai tai specialus skaičiavimo įrenginys, veikiantis kaip neatsiejama kompiuterio dalis. Dėl paplitusio kompiuterių veikimo nesupratimo, atmintis dažnai painiojama su duomenų saugojimo įrenginiais (pvz., diskais). Dėl šios priežasties, norint pabrėžti atminties skirtumą nuo duomenų saugojimo įrenginių, vietoje termino atmintis kartais naudojamas terminas atmintinė.

Atminties veikimas labai smarkiai susijęs su procesoriaus darbu, tam tikra atminties dalis (ar net visa atmintis) gali veikti, kaip neatskiriama procesoriaus dalis (registrai, registrų langai, stekas, akumuliatoriai ir pan.). Tokiu atveju gali būti keblu nagrinėti atmintį atskirai nuo procesoriaus ar procesorių – atskirai nuo atminties.

Atminties tipai

Pastovioji atmintis 

Šis atminties tipas išsaugo informaciją ir atjungus maitinimo šaltinį. Paprastesnėse sistemose (kalkuliatoriuose, mobiliuose telefonuose, įvairiuose specializuotuose kompiuteriuose) joje gali būti saugomos visos reikalingos vykdyti programos. Įprastiniuose kompiuteriuose šioje atmintyje esanti programinė įranga (BIOS) parengia darbui kompiuterio aparatinę dalį ir įkrauna paprastai magnetiniame diske saugomą operacinę sistemą.

Priklausomai nuo naudotų techninių sprendimų, pastovioji atmintis gali būti
 Jau gaminama su tam tikra įrašyta informacija. Tokia atmintis tinka tik didelėmis serijomis gaminamuose įrenginiuose.
 Vienąkart įrašoma. Ši atmintis yra palyginus greita, tačiau kartą įrašytų duomenų pakeisti neįmanoma.
 Daugelį kartų pakartotinai įrašoma (su ankstesnės informacijos nutrynimo galimybe). Nutrynimas gali būti įvykdomas arba elektriškai arba tik specifinėmis manipuliacijomis (pavyzdžiui, apšviečiant ultravioletine šviesa). Ši atmintis yra daug lėtesnė. Darbui pagreitinti jos turinys vykdymo metu kai kada perkeliamas į greičiau dirbančią operatyvinę atmintį („šešėlinė atmintis“).

Operatyvinė statinė atmintis 

Ši atmintis išsaugo įrašytą informaciją tol, kol tiekiama maitinimo įtampa, todėl kol prijungtas maitinimo šaltinis, duomenys išlieka kiek norima ilgai. Šiek tiek tokios atminties yra jau pačiame mikroprocesoriuje (registrai, kai kada ir stekas). Informacija saugoma įvairaus tipo trigeriuose. 

Kadangi nereikalinga regeneracija, šio tipo atmintį patogu naudoti paprastuose kompiuteriuose. Ji neretai taip pat ir greitesnė už regeneruojamą atmintį. Tačiau statinės atminties mikroschemos paprastai brangesnės ir jų atminties talpa mažesnė nei dinaminės atminties mikroschemų. Taip yra todėl, kad jų atminties ląstelė (trigeris) yra palyginus sudėtinga. Ją sudaro šeši, aštuoni ar net dešimt tranzistorių (palyginus su dinamine atmintimi, kurią sudaro tik vienas tranzistorius).

Operatyvinė regeneruojama (dinaminė) atmintis 

Ši atmintis išsaugo informaciją tik ribotą, paprastai gana trumpą (sekundės dalys) laiką. Taip yra todėl, jog jų įsimenantis elementas yra ne trigeris, o krūvį saugantis (taigi ir savaime išsikraunantis) kondensatorius. Norint neprarasti duomenų, jie turi būti periodiškai nuskaitomi ir iš naujo įrašomi (atminties regeneracija). Regeneracijai palengvinti dauguma šiuolaikinių tokios atminties mikroschemų sugeba pačios atnaujinti tuo metu skaitomus duomenis (neretai ne tik skaitomą, bet ir kelias dešimtis ar šimtus gretimų atminties ląstelių). Regeneracijos procesas vienu metu vyksta visose atminties mikroschemose, todėl atminties plėtimas kompiuterio darbo nesulėtina.

Kol procesorius neinicializavo regeneracijos aparatinės įrangos, ši atmintis apskritai neveikia. Tokiomis sąlygomis naujai įjungus kompiuterį dirba BIOS. Paprasčiausias būdas atminčiai regeneruoti – periodiškai kviesti reikiamą skaičių atminties ląstelių perrenkančią procesoriaus paprogramę. Neretai tokia paprogramė kviečiama kaip atsakas į periodiškai generuojamą pertraukimą. 

Regeneracijai pagreitinti naudojamos įvairios išorinės schemos, tačiau kol jos dirba, atmintis lieka neprieinama procesoriui. Vienu metu buvo galima „skaidri regeneracija“, atmintį regeneruojant tuo metu, kai procesorius į ją nesikreipia. Šiuolaikiniai procesoriai dirba labai greitai ir taip regeneruoti nepakanka laiko, todėl procesorių reikia laikinai sustabdyti. Atminties ląstelės yra paprastos, todėl jos gaminamos didelės talpos (daugiau kaip 100 MB). Tai pagrindinis kompiuterių atminties tipas.

Adresavimo tipai 
Paprasčiausiu atveju atminties mikroschema turi kontaktų grupę, kurioje nustatomas skaitomos (ar rašomos) ląstelės dvejetainis adresas. Siekiant sumažinti kontaktų skaičių, adresas gali būti padalintas į dvi ta pačia kontaktų grupe įvedamas dalis (stulpelis ir eilutė), naudojant papildomus įėjimo signalus CAS (įvedamas stulpelio numeris) ir RAS (įvedamas eilutės numeris). Dinaminėje atmintyje paprastai skaitant ar rašant į bet kurią stulpelio ląstelę, regeneruojamas ir kitų tame stulpelyje esančių ląstelių turinys.

Rečiau pasitaiko, tačiau taip pat naudojamos du adreso įėjimus turinčios atminties mikroschemos (procesorius ir, tarkim, displėjus gali dirbti su ta pačia atmintimi vienas kitam netrukdydami). Kai kada vietoje antrojo adreso naudojamas nuoseklaus perrinkimo signalų rinkinys, leidžiantis antrajam įrenginiui ląsteles perrinkti tik nuosekliai vieną po kitos.

Atminties mikroschemos išėjimas paprastai gali persijungti į didelės varžos (Z) būseną, todėl visų kompiuterio atminties mikroschemų vienavardžiai adreso, maitinimo, duomenų perdavimo ir dauguma valdymo signalų išvadų gali būti tiesiog sujungti tarpusavyje (taip prijungiant ir naujas mikroschemas, jei atmintį reikia plėsti). Mikroschema į signalus reaguoja ir pati juos formuoja tik jei jos išrinkimo įėjime (CS) yra aktyvus loginis lygmuo.

Klasifikacija pagal panaudojimą 
Egzistuoja šios operatyvinės atminties rūšys: registrai, veikiantys, kaip neatskiriama procesoriaus dalis, procesoriaus priešatmintis (cache), adresuojama atmintis (RAM, iš ) ir stekinė atmintis. Pastaroji buvo įrengta pirmuosiuose masinės gamybos mikroprocesoriuose, tačiau šiuo metu menkai paplitusi dėl didelės kainos ir mažos greitaveikos, apdirbant didelius duomenų masyvus. Dėl programavimo ir kešavimo patogumo ji kartais ir dabar naudojama superkompiuteriuose. Asmeniniuose kompiuteriuose naudojama tik adresuojama atmintis, dėl to labai dažnai atmintis vadinama santrumpa „RAM“.

Klasifikacija pagal korpuso konstrukciją 

Atmintis dažniausiai būna gaminama, kaip kelių rūšių įrenginiai:
 DIP – dvi kojyčių eiles turinčios mikroschemos
 SIPP – mažagabaritės spausdintinės plokštės, turinčios vieną kojyčių eilę
 SIMM – mažagabaritės spausdintinės plokštės, turinčios vieną (dubliuotą) kontaktinių išvadų eilę
 DIMM – mažagabaritės spausdintinės plokštės, turinčios dvi kontaktinių išvadų eiles

Analoginiai atminties įrenginiai 
Skaičiavimo technikoje dažniausiai naudojami reikiamą skaičių dvejetainių reikšmių (bitų) įsimenantys įrenginiai. Tačiau galimi ir analoginiai atminties įrenginiai, kurie sugeba išsaugoti ir grąžinti tam tikrą elektros įtampą.

"Atminties siena" 
Šiuo metu operatyvinės atminties įrenginiai neretai dirba lėčiau nei procesorius, lėtindami ir visos sistemos darbą. Pavyzdžiui, nuo  1986 iki 2000 procesoriaus greitis kasmet didėjo maždaug 55 %, tuo tarpu atminties sparta didėjo tik po 10 %.  Manoma, jog ateityje tai gali tapti viena svarbiausių skaičiavimo greitį ribojančių problemų.

Nuorodos 

 Virtualioji atmintis

Techninė įranga
Elektronika