Informática
Memoria RAM (Random Access Memory)
1.- Introducció
La memòria RAM és el lloc on l'ordinador emmagatzema els programes i les dades que està utilitzant.
L'evolució dels equips informàtics i del software que cada vegada és més potent, ha portat a que els ordinadors actuals disposin de molta més memòria que els primers PC's. Fa escassament quatre anys, quan anàvem a comprar un ordinador, no hi havia gran cosa a dir sobre la memòria a part de la quantitat de Mb que volíem. Però el progressiu augment de velocitat dels processadors i dels busos de les plaques mare ha portat a que la velocitat de la RAM sigui un paràmetre important respecte a les prestacions d'un ordinador. Això ha fet que, paral·lelament a l'evolució de les CPU's, hi hagi hagut una evolució de les tecnologies de memòria emprades. Així ens trobem que actualment existeixen un munt de dissenys diferents de memòria disponibles, que satisfan les diferents necessitats de cada usuari.
De poc serveix tenir un processador d'última generació, si aquest va acompanyat d'una RAM molt lenta, que constantment el faci esperar per obtenir les dades.
2.- Funcionament de la DRAM
La mémoria que utilitzen els ordinadors és l'anomenada RAM Dinàmica (DRAM). Aquest tipus de memòria està constiuïda com un conjunt de petites cel·les dividides en files i columnes. Cada una d'aquestes cel·les és en realitat un condensador que pot estar carregat (1 lògic) o descarregat (0 lògic). Així quan volem emmagatzemar dades en memòria, es passa l'adreça del conjunt de cel·les on es guardarà la informació i es modifica la càrrega de cada cel·la de manera que es correspongui amb les dades binàries.
El principal problema de les DRAM és que els condensadors tendeixen a descarregar-se, per la qual cosa han de ser periòdicament recarregats. Aquest procès s'anomena refresc de la memòria.
Com ja he dit, la memòria està dividida en files i columnes, ara bé, com que accedim nomès a una determinada cel·la el funcionament es regeix per una sèrie de senyals :
-
Primer es carrega el número de fila requerit al buffer de fila; quan arriba la senyal RAS i desprès que s'estabilitzi, s'activa la fila seleccionada.
-
En aquest moment es carrega al buffer de columna la columna que volem per tal que quan arribi la senyal CAS s'activi la columna i s'activi igualment el buffer de sortida; quan la senyal CAS s'estabilitza, la cel·la es còpia al buffer de sortida.
En l'actualitat el valor de CAS és un paràmetre important a tenir en compte quan comprem memòria. Per exemple, els mòduls SDRAM PC-100 que utilitzen els ordinadors actuals, poden tenir valors CAS 2 o CAS 3 (per una freqüència de 100Mhz). Queda clar que les memòries CAS 2 seràn més ràpides que les CAS 3.
Un altre paràmetre important al comprar una memòria és el temps d'accès. Amb els mòduls SDRAM PC-100 el valor típic és de 10 nanosegons (10-9 seg.) però també és comú trobar-ne de 7 i 8 nseg. L'única diferència és que aquests darrers soportaran freqüencies de funcionament més altes, com els 133Mhz dels nous Pentium III, però això no significa que siguin més ràpides quan les utilitzem en un bus stàndard de 100Mhz.
3.- Formats de memòria (per ordre cronològic d'aparició)
3.1.- RAM Soldada a placa base
Els primers PC's (8086-8088) tenien els xips de memòria directament soldats a la placa base, amb la qual cosa l'ampliació de memòria moltes vegades no era possible o havia de ser feta per personal especialitzat.
3.2.- Dual In-line Package (DIP)
Per evitar haver de soldar quan es volia ampliar la RAM, van aparèixer xips amb dos files de pins, una a cada costat del mateix. Aquests xips es podien insertar manualment en uns sòcols especials per ells.
Aquest tipus de format es va utilitzar en els i8086 i en els primers 286.
3.3.- Single In-line Package (SIP)
Els SIP són unes plaquetes o mòduls on hi ha soldats xips RAM i que es connecten a la placa mare a travès d'una fila de pins que té a un extrem de la placa.
Aquest tipus de format s'utilitzà en ordinadors 286 i alguns 386sx.
3.4.- Single In-line Memory Module (SIMM)
Els mòduls SIMM són unes plaquetes que contenen els xips de RAM i que es comuniquen amb la placa base de l'ordinador per mitjà de contactes metàl·lics.
Els SIMM's poden ser de 30 o de 72 contactes. Els de 30 són per ordinadors 386 i els primers 486 i tenien un bus de dades de 8 bits, la qual cosa obligava a instala-los de 4 en 4 per tal de completar els 32 bits d'aquests processadors.
Els mòduls de 72 contactes van aparèixer posteriorment. Eren més llargs que els de 30 contactes i tenien un bus de 32 bits, amb la qual cosa es podien instal·lar d'1 en 1 en sistemes 486 i de 2 en 2 en sistemes Pentium (64 bits).
3.5.- Double In-line Memory Module (DIMM)
Són mòduls de memòria semblants als SIMMS però més allargats (13cm) i amb 168 contactes. S'utilitzen en processadors Pentium, Pentium Pro, Pentium II i Pentium III (o equivalents a aquests) i com que tenen un ample de bus de 64 bits, es poden instal·lar d'1 en 1.
Existeix una versió especial per ordinadors portàtils anomenada SO-DIMM que es diferencia en el tamany i en que té 144 contactes.
3.6.- Rambus In-Line Memory Module (RIMM)
El disseny de la Direct Rambus DRAM va comportar l'aparició d'un nou format de memòria, els RIMM's. Aquests tenen són molt semblants al dels DIMM actuals tant en aspecte com en tamany, però la seva estructura interna és totalment diferent.
Ja existeix una versió per portàtils anomenada SO-RIMM.
4.- Modes de funcionament de les memòries
4.1.- Memòries asíncrones
Les primeres memòries que van aparèixer van ser de les tipus asíncron, és a dir, memòries en les que el seu funcionament no està regit pel rellotge del bus del sistema o del processador. Amb aquestes memòries sempre que es fa una petició de lectura o d'escriptura, la CPU desconeix el moment exacte en que la seva petició serà executada i, per tant, després de fer la petició haurà d'esperar un cert temps (cicles de rellotge) a que aquesta sigui realitzada.
Cada una de les operacions internes d'un chip DRAM té assignat un temps mínim per realitzar-se, així si es produeix un cicle de rellotge abans que hagi passat el temps mínim, s'haurà d'esperar almenys fins al següent cicle per tal que la següent operació pugui començar.
Qualsevol operació de lectura o escriptura fa perdre a la CPU un temps considerable i és per aquest motiu que per tal de millorar aquest tipus de memòries, els fabricants han adoptat estratègies o bé d'augmentar el nombre de bits per accès o bé minimitzar el nombre d'operacions internes que ha de realitzar cada xip.
4.1.1.- Page Mode (PM)
És el mode d'accès que tenien les memòries utilitzades en els primers PC's (8086-8088). En aquest mode desprès de cada operació de lectura o escriptura es manté la senyal RAS (fila) activada, de manera que si el següent accès es ralitza a la mateixa fila, nomès farà falta seleccionar la columna, amb el consegüent guany de velocitat.
4.1.2.- Fast Page Mode (FPM)
La memòria FPM es diferencia de l'anterior en que s'assumeix que la següent petició de memòria que es realitzarà és a la columna immediatament següent, mantenint la fila anterior. La senyal de fila RAS es manté constant, mentre que internament la memòria presuposa que les següents senyal CAS seran per tal de llegir la seqüència de cel·les de memòria contígües a la primera llegida de la fila i així si es compleix la predicció, quan arriba la senyal CAS s'ahorrarà el temps d'activació de la columna. Aquest sistema permet reduir el temps d'accès i permet també reduir els requeriments d'energia. Els temps d'accès típics (timings) són : 6-3-3-3 i 5-3-3-3. Això significa que pel primer accès a una posició d'una fila es necessiten 6 o 5 cicles de rellotge, mentre que el posterior accès a les posicions contígües tarda 3 cicles de rellotge.
Aquest tipus de memòria és el que s'utilitza pels sistemes basats en el processadors 286, 386, 486 i fins i tot les primeres plaques mare per Pentium que van aparèixer. Els temps d'accès van anar evolucionant dels 120 fins als 70 nseg i la velocitat típica del bus era de 33Mhz.
4.1.3.- Extended Data Output (EDO)
La major millora de les memòries asíncrones es va produïr amb el disseny del mode d'accès EDO (extended data output) o també anomenat mode hiperpàgina.
Aquest mode es diferencia del FPM en que no cal esperar a que els buffers de sortida es desactivin per tal de poguer rebre una nova instrucció; amb la qual cosa s'ahorra el temps d'activació de columna (CAS). Aquesta millora permet que aquest tipus de memòria tingui uns timings de 5-2-2-2, i que tinguin un temps d'accès d'entre 80 i 45 nseg, amb la qual cosa poden treballar amb un bus de 66Mhz. Tot això fa que sigui entre un 30 i un 40% més ràpida que la EDO-DRAM.
Aquest tipus de memòria té l'inconvenient de que ha d'èsser soportat pel chipset de la placa base, la qual cosa fa que només serveixi per sistemes amb processador Pentium o equivalent.
4.1.4.- Burst Extended Data Output (BEDO)
La memòria BEDO afegia a la EDO un mode d'accès per ràfagues (burst mode) i una arquitectura de doble banc (dual bank). El mode burst és una millora sobre el modes de paginat anteriors, en el fet de que després d'introduir la primera adreça, les tres adreces següents es generen internament, eliminant per complet el temps de selecció de la següent columna. Això li permet tenir uns timings de 4-1-1-1 amb un temps d'accès d'entre 60 i 45 nseg, amb una velocitat de bus inicial de 66Mhz.
Aquest disseny va coincidir en el temps amb la creació de les SDRAM, i Intel va decidir retirar-li el seu suport en favor de la SDRAM. Això va fer que la memòria BEDO morís abans de tenir aplicacions comercials destacables.
4.2.- Memòries síncrones
Les memòries síncrones són aquelles en les que el seu funcionament està regit per una senyal de rellotge que generalment coincideix amb la del bus del sistema. La seva ventatja és que eliminen bona part dels temps d'espera (latència) que tenia la CPU al treballar amb memòria asíncrona.
La memòria síncrona utilitza uns buffers (latches) on el processador hi deposita les adreces, dades i senyals de control de les operacions de lectura/escriptura que vol realitzar. El processador sap en tot moment el nombre de cicles de rellotge que la memòria tardarà en realitzar-se la seva petició, i això permet que la CPU realitzi altres tasques mentrestant i no perdi cicles de rellotge esperant.
Un altra ventatja de les DRAM's síncrones és que eliminen la majoria de senyals de control que necessitaven les asíncrones, amb la qual cosa es simplifica la seva implementació i n'augmenta el seu rendiment.
Actualment amb aquestes memòries s'ha estandaritzat la incorporació d'un xip PROM anomenat Detector de Presencia de Serie o SPD (Serial Presence Detect). Aquest conté els paràmetres de funcionament del mòdul de memòria i permet que l'ordinador es configuri automàticament els paràmetres d'accès a la RAM per tal d'obtenir un rendiment òptim.
4.2.1.- SDRAM (JEDEC SDRAM)
El terme SDRAM fa referència a tots els tipus de memòries síncrones que existeixen, però generalment utilitzem aquest terme per a referir-nos a la JEDEC SDRAM.
La SDRAM intercanvia dades amb el processador de forma sincronitzada amb una senyal de rellotge externa, que opera a la velocitat del bus sense imposar estats d'espera.
Disposen d'un nucli DRAM molt més ràpid que el de la memòria convencional, arribant a aconseguir-se velocitats quatre vegades superiors. A més tenen una arquitectura de doble banc que permet entrellaçats, de forma que mentres un banc prepara les dades, un altre les proporciona. Així mateix tenen un mode de funcionament per ràfagues de longitut programable que permet aprofitar al màxim el fet de que la majoria d'accessos són seqüencials. Això permet que en lectura seqüencial, aquest tipus de memòria sigui capaç de suministrar les dades a la mateixa velocitat que el bus, sense cicles d'espera entre dada i dada. Aquesta característica es tradueix en uns timings de 5-1-1-1-1... o 4-1-1-1-1...
La velocitat de la SDRAM es mesura per Mhz i no pels nanosegons de temps d'accès. Així tenim que les primeres SDRAM de 15 nseg. permetien treballar a 66Mhz, les de 10nseg a 100Mhz i les darreres que han aparegut, de 7.5nseg soporten les velocitats de bus de 133Mhz dels últims models de Pentium III.
Actualment existeixen 3 estàndards de SDRAM segons les seves prestacions :
PC66 :
Utilitzada pels darrers Pentium i els primers Pentium II que funcionaven amb una velocitat de bus de 66 Mhz.
PC100 :
Utilitzada en ordinadors amb bus a 100Mhz com els Pentium II a partir de 350Mhz i els primers Pentium III. També és la que utilitzen els actuals AMD Athlon i K6.
PC133 :
És el tipus de memòria necessària en els nous Pentium III (Coppermine) que utilitzen una velocitat de bus de 133Mhz.
4.2.2.- Double Data Rate SDRAM (DDR SDRAM)
Un dels inconvenients de la SDRAM és que ja s'ha arribat a la velocitat teòrica màxima que permet el seu disseny. Però amb la constant evolució dels processadors és obvi que les velocitats de bus i de memòria actuals no seran suficients.
La DDR SDRAM és una millora de les memòries SDRAM actuals que, a diferència d'aquestes, permeten la transferència d'informació tant en el flanc de baixada com en el flanc de pujada de cada cicle de rellotje. Amb aquest sistema s'aconsegueix duplicar la cantitat d'informació que pot transferir.
Això permet que, per exemple, a partir d'una memòria SDRAM PC100, amb unes petites modificacions de disseny, es pugui fabricar una memòria DDR SDRAM que funcioni a 200Mhz d'ample de banda. Això permet una velocitat de transferència màxima de 4.6Gb/seg.
Un punt a favor seu és que es tracta d'una arquitectura oberta, amb la qual cosa no s'han de pagar drets a cap fabricant. El fabricant dels chipsets VIA ha manifestat la seva intenció de soportar aquest tipus de memòria en les pròximes plaques per equips basats en processadors Athlon. Això permetrà aprofitar al màxim els 200Mhz de bus als que funcionen els actuals ordinadors basats en els AMD Athlon. Avui en dia ja existeixen plaques socket 7 per AMD K6-II i K6-III que soporten aquesta tecnologia.
Per contra Intel no recolza aquest tipus de memòries en favor de les memòries Direct Rambus DRAM.
4.2.3.- Enhanced SDRAM (ESDRAM)
La ESDRAM consisteix en mòduls de memòria SDRAM als que s'ha afegit un chip de memòria caché SRAM (RAM Estàtica). Aquesta caché permet reduir els temps d'espera (latència) i permet fer ràfagues d'operacions a més de 200Mhz. El secret d'aquesta memòria caché és que emmagatzema les operacions i les dades més freqüentment usades i, a més a més, utilitza un bus més ample (+ bits) per accedir als chips SDRAM, amb la qual cosa, encara que l'operació demanada no es trobi dins la caché, aquesta es realitza de manera molt més ràpida que amb un mòdul SDRAM convencional.
Actualment existeixen plaques socket 7 per processadors Amd que soporten aquesta tecnologia, però degut a l'elevat preu d'aquest tipus de memòria (entre 4 i 5 vegades més que un mòdul SDRAM), tot indica que no té futur.
4.3.- Memòries basades en protocol
Totes les DRAM vistes fins ara tenen línies d'adreces, dades i control separades, cosa que limita la velocitat a la que poden operar. Per tal se superar aquesta limitació han aparegut varis dissenys que implementen totes aquestes senyals en un mateix bus.
4.3.1.- Direct Rambus DRAM (DRDRAM)
Intel després de la fabricació del chipset BX 440 per a Pentium II, va decidir invertir els seus diners en el disseny de la DRDRAM, que és una memòria propietària de l'empresa Rambus.
A primera vista sembla que la DRDRAM ha de ser molt ràpida ja que funciona a velocitats de bus de fins 800Mhz. La realitat és que aquest disseny teòricament és nomès el doble de ràpid que la memòria SDRAM a 100Mhz, ja que el bus que utilitza és de 16 bits en comptes dels 64 de la SDRAM. A més a més la DRDRAM té uns temps d'espera (latencia) bastant més elevats que les actuals SDRAM a 133Mhz, amb la qual cosa el guany real de velocitat d'aquestes memòries és mínim i no es sufucient com per estar a l'altura dels últims processadors que han aparegut al mercat.
La DRDRAM té l'inconvenient de que la seva fabricació és molt complexa i a més cal pagar els royalties a Rambús i Intel pels drets de fabricació. Això fa que actualment el seu preu sigui entre 8 i 10 vegades superior a la SDRAM.
Tot i amb això Intel no sembla disposada a tirar-se enrera i ja ha anunciat el pròxim llançament del chipset 840 per Pentium III que teòricament permetrà aprofitar millor les ventatges d'aquest tipus de memòria i n'augmentarà el rendiment respecte els sistemes actuals basats en el chipset 820.
4.3.2.- SyncLink SDRAM (SLDRAM)
La SLDRAM, desenvolupada pel consorci SyncLink, és una nova arquitectura no propietària, que néix com a competència d'un grup de fabricants a la RDRAM propietària de Rambús Inc. És com una mena de memòria DDR SDRAM però amb un funcionament basat en protocol. A causa de l'utilització de paquets per contenir les adreces, dades i senyals de control, la SLDRAM permet operar amb altes velocitats de bus. A aquesta característica cal afagir que la senyal de sortida opera al doble de velocitat que la senyal de rellotge (com les DDR). A més a més cal afegir que aquest tipus de memòria té un major ample de bus que les DRDRAM. Tot plegat fa que aquestes memòries puguin treballar a velocitats de entre 400 i 800Mhz i arribar a velocitats de transferència reals de fins 3.2Gb/seg, mentres que les DRDRAM només arriben a 1.6 Gb/seg.
Encara que aquest tipus de memòria té majors prestacions i és més barata de fabricar que la DRDRAM, Intel no té previst soportar-la en el seus propers chipsets. Això fa que el seu futur passi per la pressió que facin els usuaris i per si algun altre fabricant de chipsets decideix soportar-la.
5.- Sistemes de correcció d'errors
Dintre d'un ordinador és important que la transmissió de les dades entre la memòria i la CPU sigui fiable. Per asegurar que no es produeixin errors s'han desenvolupat tècniques que permeten detectar els errors i fins i tot corregir-los.
Aquests sistemes són innecessaris pels usuaris domèstics ja que les taxes d'error són extremadament baixes, però si que tenen aplicació en les memòries dels servidors i dels ordinadors on la fiabilitat de funcionament és un punt crític.
5.1.- Paritat
La Paritat és un sistema de detecció d'errors que consisteix en afegir un bit extra per cada byte (8 bits) d'informació. El bit extra de paritat agafa el valor `1' o `0' depenent del nombre de 1's que composen el byte de dades. Això permet detectar errors en un bit, però pot passar que si l'error es produeix en 2 o més bits, no es detecti cap error. Quan es detecta un error la memòria ho fa saber al hardware i generalment es procedeix amb la retransmissió de les dades.
Actualment aquest sistema està en desús en favor dels sistemes de control ECC.
5.2.- Sistemes ECC (Error Correction Code)
En els sistemes ECC per cada byte o conjunt de bytes tenim una serie de bits adicionals on s'hi guarden els codis generats a l'aplicar certs algorismes (CRC) al contingut dels bytes. Aquests codis permeten detectar errors d'un, dos o més bits, eliminant quasi per complet la possibilitat de que un error passi per alt. A més de les funcions de detecció d'errors, aquest sistema permet corretgir-ne la majoria d'ells sense haver de retransmetre la informació.
Així per exemple tenim que els mòduls SDRAM-ECC actuals utilitzen 8 bits de codi CRC per cada paraula de 64bits (8 bytes).
El seu inconvenient és que es necessita una circuiteria adicional, que fa que el preu d'aquest tipus de mòduls memòria sigui considerablement superior al dels moduls convencionals.
Descargar
Enviado por: | Thais Torrebadella |
Idioma: | catalán |
País: | España |