memoria

1. Inform.
Ordenagailu baten memoria-hierarkia
Ordenagailu baten memoria-hierarkia

1. Inform.
Informazioa berreskuratu eta erabiltzeko moduan gordetzeko gai den ordenagailuaren atala.

Memoria Edit

Egilea: Natxo Martin, Txelo Ruiz, Iratxe Soraluze

MEMORIA

Ordenagailuak diseinatzeko aspalditik erabiltzen den Von Neumann arkitekturako funtsezko osagaia da memoria. Ordenagailu batean programa bat exekutatu nahi denean, memorian egon behar dute programak berak eta horrek behar dituen datuek, prozesadoreak hortik eskuratu eta exekuta ditzan aginduak, behar diren datuak erabiliz.

Memorien parametro nagusietako bi hauek dira:

  • Edukiera: memoriak gorde dezakeen informazio-kantitatea, adibidez, 2 GB.

  • Erantzun-denbora: eragiketa bat egiteko behar den denbora, adibidez, 50 ns.

Ordenagailuetan gero eta programa luzeagoak exekutatzen dira, eta denok nahi dugu gero eta azkarrago ibiltzea. Hortaz, memoria handiak eta azkarrak behar dira. Baina, oro har, zenbat eta handiagoak izan memoriak, hainbat eta motelagoak dira. Beste aldetik, prozesadoreak memoriak baino azkarragoak dira, eta abiadura-diferentzia gero eta handiagoa da. Beraz, memorien abiadurak mugatzen du ordenagailuaren abiadura. Arazo hori arintzeko, ordenagailu baten memoria-sistema ez da “homogeneoa”: memoria-hierarkia bat osatzen da hainbat metatze-mailatan, eta hierarkiaren maila bakoitzean teknologia desberdinak erabiltzen dira, edukiera eta abiadura orekatzeko asmoz.

Metatze-mailak: memoria-hierarkia

Memoria-hierarkiaren funtsa hauxe da: une batean prozesadoreak behar duen informazioa memoria txiki eta azkarretan gordetzen da, prozesadoretik gertu, oso azkar eskura dezan; une horretan behar ez duen informazioa, berriz, memoria handiago eta motelagoetan egoten da, prozesadoretik “urrutiago”, baina prozesadoreak behar duenean, sistema eragilea arduratuko da informazioa “hurbiltzeaz”.

grafikoak1

Ordenagailu baten memoria-hierarkia

Hierarkiaren beheko mailan, prozesadorearen barruan, erregistro-multzoa dago. Memoria azkarrena da, baina oso txikia, adibidez, 1 ns eta 128 hitzekoa. Bigarren mailan, cache memoria dago. Hainbat kasutan, cache-maila bat baino gehiago dago (L1, L2...), batzuk prozesadorearen txiparen barruan eta beste batzuk kanpoan. Cache memoria konpromiso bat da abiaduraren eta tamainaren artean, adibidez, 1 ns eta 32 kB-koa (L1) edo 25 ns eta 2 MB-koa (L2). Hirugarren mailan, memoria nagusia dago: ez da cachea bezain azkarra, baina handiagoa da, adibidez, 50 ns eta 2 GB-koa. Azkenik, disko gogorra dago, beste guztiak baino askoz handiagoa (200 GB, esaterako), baina askoz motelagoa (milisegundo batzuetako erantzun-denborak). Eskuarki, diskoak ordenagailuaren periferikotzat hartzen dira, eta sarrera/irteerako azpisistemak arduratu behar du diskoko informazioa atzitzeaz.

Baina memoria asko egon arren, ordenagailu batean programa bat exekutatu ahal izateko, programak memoria nagusian egon behar du kargatuta. Hala, memoria nagusiaren tamaina baino handiagoak diren programak exekutatu nahi direnean, hainbat zatitan banatu behar dira, eta zati horietako batzuk bakarrik kargatzen dira memoria nagusian; beste zatiak disko gogorrean egoten dira, eta sistema eragilea arduratuko da zati horiek memoria nagusian kargatzeaz prozesadoreak behar dituenean. Teknika horri alegiazko memoria deritzo.

Hala, hierarkiaren maila bakoitzeko edukia hurrengo mailakoaren azpimultzo bat da. Prozesadorea programa bat exekutatzen ari denean, cache memorian bilatzen ditu datuak zein aginduak. Hor ez badaude, memoria nagusian bilatzen ditu, eta, horretan ere huts eginez gero, diskora jotzen du, beharrezko zatiak ekartzeko. Informazioa aurkitzen duenean, hierarkiaren beheko mailan kopiatuko du, hurrengo batean “hurbilago” izateko. Memoria-sistema osoa modu egokian kudeatzea ez da sinplea, eta, horregatik, ordenagailu guztiek kontroladore eta estrategia bereziak erabiltzen dituzte horretarako.

Memoria-teknologiak

Memoriak fabrikatzeko teknologia garrantzitsuenak hiru dira: erdieroalezko memoriak, memoria edo disko magnetikoak eta memoria edo disko optikoak.

Erdieroalezko memoriak zirkuitu integratuetan fabrikatzen dira, material erdieroaleetan oinarriturik. Bi mota nagusi daude: RAM memoriak, zeinen edukia irakur eta idatz daitekeen, eta ROM memoriak, irakurri baino ezin direnak. RAM memorien edukia galkorra da, hau da, ordenagailua deskonektatzean, RAM memoriaren edukia ezabatu egiten da, eta, berriro erabili ahal izateko, datu guztiak kargatu behar dira. ROM memorien edukia, ordea, ez da galkorra, hau da, ez dute informazioa galtzen deskonektatuta egon arren.

RAM memorien artean, bi mota bereizten dira nagusiki: RAM estatikoak (SRAM) eta RAM dinamikoak (DRAM); haien arteko diferentzia nagusiak edukiera eta erantzun-denborak dira. SRAM memoriak azkarragoak baina txikiagoak dira; DRAM memoriak, berriz, askoz edukiera handiagokoak baina motelagoak.

ROM memorien artean mota asko daude: PROM, EPROM, EEPROM… Eta gaur egun erabiliena dena, Flash memoria, zeina ROM motakoa izan arren idatz daitekeen.

Erdieroalezko memoriak dira ordenagailu baten barne-memoriak: cache memoriak SRAM motakoak dira; memoria nagusia, DRAM motakoa; eta ROM motakoa da ordenagailuaren hasieratze-konfigurazioa gordetzen duen memoria (BIOS).