⌘ Midware Info

La memoria

La memoria#

Introducción#

La memoria es aquel elemento o unidad encargado de almacenar la información que necesita el ordenador, por tanto, las instrucciones que forman los programas y los datos que se emplean en su ejecución. Se encuentra dividida en celdas o palabras que se identifican mediante una dirección y sobre las que se llevan a cabo operaciones de lectura y/o escritura.

El elemento básico de la memoria digital es el biestable , dispositivo electrónico capaz de almacenar un bit. Mediante agrupamientos de estos dispositivos en distintas variantes tecnológicas que determinan las características de las memorias (el coste por bit, el tiempo de acceso y la capacidad o tamaño), se establece lo que se ha dado en llamar una jerarquía de memorias .

Ilustración Introducción
Imagen pendiente · introduccion--18c367.pngintroduccion--18c367.png

Figura 23. Esquema jerarquías de memorias.

Tipos de memoria#

Según su velocidad y coste#

Históricamente han existido dos tipos de memorias que se diferencian, principalmente, por su velocidad y coste, la memoria interna y la memoria externa o secundaria.

1. Memoria principal o interna

Se compone de los tres escalones superiores de la figura representada en el gráfico: un conjunto de registros, la memoria caché y la memoria principal. Cabe recordar que el procesador es el elemento principal del ordenador y que interesa que las instrucciones y los datos con los que va a trabajar estén los más próximos a él.

Cuando la CPU no encuentra un dato en alguno de los niveles de la memoria interna se obtiene del nivel inmediatamente inferior. A medida que descendemos de nivel, el coste de adquisición se reduce, la velocidad disminuye, el tiempo de acceso aumenta y la capacidad será mayor. Los registros, integrados en la CPU, están formados por un conjunto de biestables y almacenan bloques de bits que habitualmente se denominan palabras.

Son capaces de realizar operaciones a la misma frecuencia que el procesador y su capacidad es muy pequeña. La memoria caché es un tipo de memoria intermedia entre el procesador y la memoria principal. Este tipo de memoria suele estar formada por circuitos integrados SRAM o RAM estáticos que suelen ser más rápidos que los circuitos DRAM o RAM dinámicos empleados en la memoria principal.

Al ser más rápidos, son más caros y voluminosos, de menor capacidad y mayor consumo energético. Este tipo de memorias se emplean para mantener la información más comúnmente usada por el procesador, evitando accesos continuos y más lentos a memoria principal. Dicha memoria sólo se usa como caché, debido a que su fabricación resulta cara, y por esta razón muchos comerciantes abaratan el coste de los microprocesadores quitando alguna caché o reduciendo el tamaño. Ejemplos son los microprocesadores CELERON de INTEL y DURON de AMD.

Los microprocesadores actuales incluyen en su propio chip total o parcialmente su caché. Existen tres tipos diferentes de memoria caché para procesadores:

  • • Caché de Primer nivel o L1: Integrada en el núcleo del procesador, trabajando a la misma velocidad que éste. Su tamaño varía de un procesador a otro y suele estar dividida en dos partes dedicadas, una para instrucciones y otra para datos.

  • • Caché de Segundo nivel o L2: Integrada también en el procesador, aunque no directamente en el núcleo, tiene las mismas ventajas que la caché L1, aunque es algo más lenta que ésta. La caché L2 suele ser mayor que la caché L1. A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas que al sistema.

  • • Caché de Tercer nivel o L3: Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad, incorporada a la placa base.

La memoria principal de un ordenador está organizada en grupos de celdas de memoria llamados palabras de memoria. Una palabra es el conjunto de bits que se pueden leer o memorizar en un instante dado y al número de bits se le denomina ancho de memoria o longitud de palabra.

2. Memoria secundaria o auxiliar

El gran inconveniente de la memoria principal, a pesar de ser muy rápida, es su baja capacidad de almacenamiento por lo que para guardar información de forma masiva se usan otros tipos de memorias. La información guardada en este tipo de memorias permanece indefinidamente hasta que el usuario la borre de manera expresa (es lo que se denomina un almacenamiento no volátil).

Estos dispositivos tienen mucha más capacidad que las memorias internas pero no podemos ejecutar programas desde esta memoria, es necesario pasar el programa completo o parte de éste a la memoria RAM para su ejecución. Además pueden llegar a ser intercambiables, pudiéndose cambiar el soporte de almacenamiento de la información sin necesidad de cambiar la unidad lectora/ grabadora (cd, dvd o disco flexible). Se puede llevar a cabo una clasificación de este tipo de memorias según diferentes criterios.

  • Según la tecnología empleada:

  • - Tecnología Magnética. Emplean sustrato de plástico o aluminio cubierto de material magnetizable (óxido férrico o de cromo). La información se graba en celdas que forman líneas o pistas. Cada celda puede estar sin magnetizar o magnetizada con dos posibles valores: norte (0) y sur (1).

  • - Tecnología Óptica. Usan energía lumínica (como el rayo láser) para almacenar o leer información. Los ceros o unos se representan por la presencia o ausencia de señal luminosa.

  • - Tecnología Magneto-Óptica. Los soportes originarios poseen una magnetización previa (norte o sur) y mediante láser es posible cambiar la magnetización de las celdas.

  • - Tecnología Flash-USB. Usan memorias semiconductoras de tipo flash nand, con la característica de que no necesitan refresco al usar tecnología de puerta flotante.

  • Según el tipo de operaciones que se pueda realizar sobre los mismos:

  • - Reutilizables (cinta magnética, disco cd-rw, etc.).

  • - No Reutilizables (disco cd-rom, etc.).

  • Según la forma de acceder a la información:

  • - Secuencial (cinta magnética).

  • - Directo (cd-rom, disco duro).

  • Según la ubicación física de dicha unidad:

  • - Interna (disco duro, unidad flexible).

  • - Externa (memoria USB, discos duros externos).

  • Según la relación existente entre el soporte de almacenamiento y el elemento que lleva a cabo la lectura escritura:

  • - Removibles (discos flexibles).

  • - No removibles (discos duros).

Recordemos que este tipo de memoria aparece recogida en el esquema de Von Newmann* como formando parte del subsistema de entrada-salida siendo periféricos de almacenamiento.

*John Von Neumann (1903-1957), nacido en Budapest, fue un niño prodigio con gran memoria fotográfica y talento para las matemáticas aunque su padre le prohibió dichos estudios porque pensaba que no era una carrera con la que ganar dinero así que lo engañó y estudiaba química en Berlín aunque estaba matriculado en Budapest en Matemáticas y sólo iba a los exámenes.

En 1930 viaja a EEUU y al comenzar la Segunda Guerra Mundial trabaja para el gobierno americano y viendo las limitaciones del ENIAC y otras máquinas de computación definió un nuevo sistema lógico de computación. El modelo básico de arquitectura empleado en los computadores digitales fue establecido en 1946 por John Von Neumann.

Su aportación más significativa fue la de construir una computadora con programa almacenado ya que los computadores existentes hasta entonces trabajaban con programas cableados que se introducían estableciendo manualmente las conexiones entre las distintas unidades. La idea de Von Neumann consistió en conectar permanentemente las unidades de las computadoras, siendo coordinado su funcionamiento por un elemento de control.

Esta tecnología sigue estando vigente en la actualidad aunque con pequeñas modificaciones y sigue siendo empleada por la mayoría de los fabricantes.

Ilustración Según su velocidad y coste
Imagen pendiente · segun-su-velocidad-y-coste--9a8a82.pngsegun-su-velocidad-y-coste--9a8a82.png

Figura 24. Arquitectura de Von Neumann.

Arquitectura Harvard#

Es una arquitectura de computadora con pistas de almacenamiento y de señal físicamente separadas para las instrucciones y para los datos.

Ilustración Arquitectura Harvard
Imagen pendiente · arquitectura-harvard--82bfb6.pngarquitectura-harvard--82bfb6.png

Figura Arquitectura Harvard.

Según la lectura y escritura en las mismas#

Dentro de las memorias internas, éstas se pueden clasificar atendiendo a la posibilidad de lectura o escritura en las mismas. Hablamos de:

- Memorias de sólo lectura o programables. No volátiles, no pierden la información en ausencia de alimentación. Son memorias de este tipo: ROM, PROM, EPROM, EEPROM y Flash.

Ilustración Según la lectura y escritura en las mismas
Imagen pendiente · segun-la-lectura-y-escritura-en-las-mismas--4590fb.pngsegun-la-lectura-y-escritura-en-las-mismas--4590fb.png

Figura 25. Tipos Memoria ROM.

- Memorias de lectura y Escritura. La llamada memoria RAM, son memorias volátiles, que pierden la información en ausencia de alimentación. Son memorias de este tipo: SRAM, DRAM.

1. SRAM (Static Random Access Memory), RAM estática, memoria estática de acceso aleatorio. Memoria que no necesita refresco. Se graba una vez la información y perdura a lo largo del tiempo. El coste es elevado. Su diseño es más complejo y la velocidad más alta. El tiempo de acceso es notablemente inferior. o volátiles. o no volátiles:

  • ▪ NVRAM (non-volatile random access memory), memoria de acceso aleatorio no volátil

  • ▪ MRAM (magnetoresistive random-access memory), memoria de acceso aleatorio magnetorresistiva o magnética

2. DRAM (Dynamic Random Access Memory), RAM dinámica, memoria dinámica de acceso aleatorio. Necesita refresco, es decir, que se realimente con tensión su contenido para que no se pierda. Son memorias más lentas y más sencillas de construir (consisten en una circuitería y elementos más fáciles de integrar) y menos costosa.

  • ▪ DRAM Asincrónica (Asynchronous Dynamic Random Access Memory, memoria de acceso aleatorio dinámica asincrónica*)

  • ▪ FPM RAM (Fast Page Mode RAM)

  • ▪ EDO RAM (Extended Data Output RAM)

  • ▪ SDRAM (Synchronous Dynamic Random-Access Memory, memoria de acceso aleatorio dinámica sincrónica)

  • ▪ Rambus: a. RDRAM (Rambus Dynamic Random Access Memory) b. XDR DRAM (eXtreme Data Rate Dynamic Random Access Memory) c. XDR2 DRAM (eXtreme Data Rate two Dynamic Random Access Memory)

  • ▪ SDR SDRAM (Single Data Rate Synchronous Dynamic Random- Access Memory, SDRAM de tasa de datos simple)

  • ▪ DDR SDRAM (Double Data Rate Synchronous Dynamic Random-Access Memory, SDRAM de tasa de datos doble)

  • ▪ DDR2 SDRAM (Double Data Rate type two SDRAM, SDRAM de tasa de datos doble de tipo dos)

  • ▪ DDR3 SDRAM (Double Data Rate type three SDRAM, SDRAM de tasa de datos doble de tipo tres)

  • ▪ DDR4 SDRAM (Double Data Rate type four SDRAM, SDRAM de tasa de datos doble de tipo cuatro)

* Síncrono/Asíncrono: Unos conceptos particulares asociados a las memorias son el de memoria síncrona y asíncrona. Se dice que una memoria es síncrona cuando, el intercambio de datos entre la CPU y la memoria, se realiza mediante una señal de reloj externa a ésta que le indica en qué momentos puede recibir y devolver las peticiones de lectura o escritura, con lo que se evitan así ciclos de espera.

La memoria es asíncrona cuando depende de unos relojes internos que sincronizan el microprocesador y los buses con el resto de elementos. Todo sistema asíncrono tiene asignado unos tiempos mínimos para cada una de las operaciones internas, por lo que se pueden tener en accesos diferentes, distintos tiempos de respuesta del sistema.

Esta es una de las desventajas de estos sistemas, pues aunque acaben en medio de un ciclo su operación, hasta el siguiente no pueden empezar otra, dado que han de resincronizarse con el resto de componentes.

Ilustración Según la lectura y escritura en las mismas
Imagen pendiente · segun-la-lectura-y-escritura-en-las-mismas--5558be.pngsegun-la-lectura-y-escritura-en-las-mismas--5558be.png

Figura 26. Memorias RAM.

MEMORIA CACHÉ: En el diseño de la memoria caché se deben considerar varios factores que influyen directamente en el rendimiento de la memoria y por lo tanto en su objetivo de aumentar la velocidad de respuesta de la jerarquía de memoria. Estos factores son las políticas de ubicación, extracción, reemplazo y escritura. Política de ubicación Decide dónde debe colocarse un bloque de memoria principal que entra en la memoria caché. Las más utilizadas son:

  • • Directa: al bloque i-ésimo de memoria principal le corresponde la posición i módulo n, donde n es el número de bloques de la memoria caché. Cada bloque de la memoria principal tiene su posición en la caché y siempre en el mismo sitio. Su inconveniente es que cada bloque tiene asignada una posición fija en la memoria caché y ante continuas referencias a palabras de dos bloques con la misma localización en caché, hay continuos fallos habiendo sitio libre en la caché.

  • • Asociativa: Los bloques de la memoria principal se alojan en cualquier bloque de la memoria caché, comprobando solamente la etiqueta de todos y cada uno de los bloques para verificar acierto. Su principal inconveniente es la cantidad de comparaciones que realiza.

  • • Asociativa por conjuntos: Cada bloque de la memoria principal tiene asignado un conjunto de la caché, pero se puede ubicar en cualquiera de los bloques que pertenecen a dicho conjunto. Ello permite mayor flexibilidad que la correspondencia directa y menor cantidad de comparaciones que la totalmente asociativa.

Política de extracción La política de extracción determina cuándo y qué bloque de memoria principal hay que traer a memoria caché. Existen dos políticas muy extendidas:

  • • Por demanda: un bloque sólo se trae a memoria caché cuando ha sido referenciado y no se encuentre en memoria caché.

  • • Con prebúsqueda: cuando se referencia el bloque i-ésimo de memoria principal, se trae además el bloque (i+1)-ésimo. Esta política se basa en la propiedad de localidad espacial de los programas.

Política de reemplazo Determina qué bloque de memoria caché debe abandonarla cuando no existe espacio disponible para un bloque entrante. Básicamente hay cuatro políticas:

  • • Aleatoria: el bloque es reemplazado de forma aleatoria.

  • • FIFO: se usa el algoritmo First In First Out (FIFO) (primero en entrar primero en salir) para determinar qué bloque debe abandonar la caché. Este algoritmo generalmente es poco eficiente.

  • • Usado menos recientemente (LRU): Sustituye el bloque que hace más tiempo que no se ha usado en la caché, traeremos a caché el bloque en cuestión y lo modificaremos ahí.

  • • Usado con menor frecuencia (LFU): Sustituye el bloque que ha experimentado menos referencias.

Política de Actualización o Escritura Determinan el instante en que se actualiza la información en memoria principal cuando se hace una escritura en la memoria es ejecutada. Existen 2 casos diferentes: Sobre la memoria caché

  • • Escritura Inmediata: Se escribe a la vez en Memoria caché y Memoria principal para mantener una coherencia en todo momento.

  • • Postescritura: El bloque donde se escribió queda marcado con un bit llamado bit de basura, cuando se remplaza por la política de re-emplazamiento se comprueba si el bit se encuentra activado, si lo está, se escribe la información de dicho bloque en la memoria principal.

Sobre la memoria principal

  • • Asignación en escritura: El bloque referenciado se copia de la memoria principal a la cache y después el bloque se envía a la CPU.

  • • No asigación en escritura: Envía el bloque directamente de la memoria principal a la CPU y al mismo tiempo la carga en la cache.

Buscar en todas las áreas

Escribe para buscar en el contenido completo.