Memorias
En un sistema informático la memoria es el elemento que permite almacenar y recuperar información. Se pueden realizar diferentes clasificaciones en función de diferentes criterios.
Criterios de clasificación de las memorias:
- Persistente/Volátil:
Según sea capaz de almacenar la información de manera persistente o
bien se pierda al cortarse el suministro eléctrio o al transcurrir un
tiempo sin ser refrescada.
- Según su localización:
- Memoria principal (o interna): Aquella que es directamente accesible por la CPU
- Memoria secundaria (o periférica): Aquella que precisa de operaciones de entrada/salida para ser accedida por la CPU
- Tecnología: estado sólido, electromagnética, magneto-óptica
- Otros criterios: velocidad, coste, capacidad y densidad de almacenamiento y consumo.
Memorias persistentes/volátiles
Las memorias persistentes preservan su información a lo largo del
tiempo sin necesidad de suministro eléctrico. En las memorias volátiles
al cesar el suministro eléctrico (o cuando la información no es
refrescada durante cierto tiempo) se pierde la información.
Algunos ejemplos de los dos tipos de memoria son:
memorias persistentes | memorias volátiles |
---|---|
Disco duro Unidades de cinta CD-ROM, CD-R, CD-RW DVD-ROM, DVD-R, DVD-RW ROM, PROM, EPROM, EEPROM FLASH MRAM | RAM (DRAM, SRAM, VRAM) |
Según su localización
Como memoria principal se suele utilizar una combinación de memoria
RAM y alguna tecnología persistente (normalmente algún tipo de memoria
ROM). Mientras en la memoria RAM se cargan los programas que están en
ejecución, así como los datos con los que trabajan, en la memoria ROM
se guardan las instrucciones que permiten arrancar el ordenador al
conectarlo. En el caso de los PCs a esta memoria se la llama BIOS (Basic Input Output System) de un modo más general, a la información contenida en esta memoria se la llama Firmware.
Como memoria secundaria se utilizan toda una variedad de
dispositivos periféricos: Discos duros, lectores/grabadores de CDs,
DVDs y unidades de cinta.
Tecnología utilizada
- Electromagnética:
- Los discos duros, discos
flexibles y cintas utilizan un cabezal de escritura que guarda
información en el soporte físico (platos o cintas) al polarizar dominios magnéticos.
Estos soportes son sensibles a los campos magnéticos, de manera que si
por ejemplo se acerca un imán a un disco flexible, se pierde su
contenido.
- Magneto-óptica:
- Los discos magneto-opticos (como el Minidisc)
utilizan un cabezal magnético para leer y escribir la información, sin
embargo, sólo es posible polarizar los dominios magnéticos del soporte
físico cuando el material está a cierta temperatura, por eso antes de
escribir un laser calienta el soporte físico.
- Estado sólido:
- Las memorias de estado sólido no cuentan con partes móviles ni por supuesto con válvulas de vacío (el significado original de electrónica de estado sólido fué el de electrónica basada en trasistores, sin válvulas de vacío).
Habitualmente los chips de memoria están agrupados en pequeños módulos de manera que resulta relativamente fácil substituir/ampliar la memoria del sistema informático.simm
dimm
Los módulos más habituales son:
Jerarquía de memorias
En el diseño del sistema informático, en lo que a la decisión de la
memoria a utilizar, se ha de encontrar un compromiso entre su capacidad
y su velocidad. Ocurre que en algunas situaciones se necesita una gran
capacidad de almacenamiento (es el caso de la memoria secundaria) y en
otros es conveniente una mayor velocidad (memoria principal, caché,
etc..).
La
memoria secundaria trata de proveer una gran capacidad de
almacenamiento (sacrificando la velocidad), mientras que la memoria que
almacena la información que se está procesando en un determinado
momento ha de ser rápida aunque no cuente con una gran capacidad.
Desde el punto de vista de la ejecución de un programa, no todos los
datos son accedidos con la misma frecuencia estadística. Datos próximos
(e instrucciones próximas) tienen una mayor probabilidad de ser
accedidos. Por esta razón las cachés, aunque no cuentan con una
capacidad suficiente como para almacenar un proceso en ejecución,
aumentan notablemente la velocidad del sistema informático.
Actualmente se suelen utilizar dos niveles de caché en los
ordenadores domésticos. La caché de primer nivel está integrada en el
interior del µP, la caché de segundo nivel normalmente está integrada
en la placa base o bien en el circuito impreso que contiene a la CPU.
Algunos sistemas de ejemplo:
µP | Caché l1 | caché l2 | caché l3 |
---|---|---|---|
Pentium IV (Northwood) | 8 KiB datos 12 KiB instrucciones | 512KiB | |
PowerPC G5 (PowerPC 970) | 32KiB datos 64KiB instrucciones | 512KiB | |
Sun SPARC (UltraSPARC IV+) | 64KiB datos 64KiB instrucciones | 2048KiB | 32768KiB |
Otros conceptos:
En los sistemas operativos modernos se utilizan técnicas de gestión de memoria que introducen:
- Memoria virtual:
- Se utiliza conjuntamente memoria principal y memoria secundaria para presentar un espacio de memoria homogéneo a los programas en ejecución. De este modo se puede demandar más memoria de la que físicamente (principal) tiene instalada la máquina. Evidentemente utilizar memoria virtual provoca una pérdida de rendimiento.
- Buffers I/O:
- Puesto que acceder a algunos dispositivos como unidades CD, Floppy, Cinta, y discos duros es mucho más lento que acceder a la memoria principal. El sistema operativo utiliza memoria principal para guardar en memoria principal los últimos datos que han sido accedidos (o los que considera que se van a utilizar próximamente) para intentar mejorar la velocidad de respuesta.
Para saber más:
- Página sobre memorias de ordenador de la Wikipedia
- Página sobre memorias FLASH de la Wikipedia