Memoria
El
segundo componente importante de cualquier ordenador es la memoria. El
sistema de memoria se construye mediante una jerarquía de capas:la capa
superior consiste en los registros
internos de la CPU. Éstos se componen del mismo material que la CPU por lo que
son tan rápidos como ella. Consecuentemente no se produce ningún retraso al
acceder a ellos. La capacidad de almacenamiento de estos registros suele ser de
32 × 32 bits en una CPU de 32 bits, y de 64 × 64 bits en una CPU de 64 bits. En
ambos casos, menos de 1 KB. Los programas deben administrar los registros (es
decir, decidir qué se coloca en ellos) por su cuenta, mediante el software.
Luego viene la memoria caché, que en su mayor parte
está bajo el control del hardware. La memoria principal se divide en líneas
de caché, normalmente de 64 bytes, con las direcciones de 0 a 63 en la
línea de caché 0, las direcciones 64 a 127 en la línea 1, etc. Las líneas de la
caché de uso más frecuente se mantienen en una caché de alta velocidad situada dentro
de la CPU o muy cerca de ella. Cuando el programa necesita leer una palabra de memoria,
el hardware de la caché determina si la línea necesaria está o no en la caché.
Si está, lo que constituye un acierto de caché, se atiende la petición
desde la caché y no se envía ninguna petición por el bus a la memoria
principal. Normalmente los aciertos de caché tardan en completarse alrededor de
dos ciclos de reloj. Los fallos de caché implican acceder a la memoria, con una
considerable pérdida de tiempo.
A continuación viene
la memoria principal. La memoria
principal se conoce también como la RAM (Random Access Memory; memoria
de acceso aleatorio). Actualmente las memorias tienen decenas o cientos de
megabytes y siguen creciendo con rapidez. Todas las peticiones de la CPU que no
pueden atenderse desde la caché se dirigen a la memoria principal.
En el siguiente
escalón de la jerarquía está el disco
magnético (disco duro). El almacenamiento en disco es dos órdenes de
magnitud más barato por bit que la RAM y también suele ser dos órdenes de
magnitud más grande. El único problema es que el tiempo necesario para acceder
aleatoriamente a los datos que contiene es casi tres órdenes de magnitud más grande.
Esta velocidad tan baja se debe al hecho de que un disco es un dispositivo
mecánico,
Un disco consta de
uno o más platos de metal que giran continuamente a 5.400, 7.200 o 10.000 rpm.
Un brazo mecánico pivota sobre los platos desde una esquina, como lo haría el brazo
de un tocadiscos de 33 rpm para reproducir discos musicales de vinilo. La
información se graba en el disco en una serie de circunferencias concéntricas.
En cualquier posición del brazo, cada una de sus cabezas puede leer una región
anular llamada pista (track). Juntas, todas las pistas que quedan bajo
una posición dada del brazo constituyen lo que se denomina un cilindro. Cada
pista se divide en cierto número de sectores, que por lo general tienen 512
bytesmcada uno. En los discos modernos, los sectores exteriores contienen más
sectores que los interiores. Desplazar el brazo de un cilindro al siguiente
tarda aproximadamente
1 ms; desplazarlo a
un cilindro al azar suele tardar entre 5 y 10 ms, dependiendo de la unidad. Una
vez que el brazo está en la pista correcta, la unidad deberá esperar hasta que
la rotación del disco deje el sector requerido bajo la cabeza, lo que implica
un retraso adicional de 5 a 10 ms, dependiendo de la velocidad de rotación de
la unidad. Una vez que el sector está bajo la cabeza, la lectura o escritura se
efectúa a razón de 5 MB/s en los discos más económicos, y hasta 160 MB/s en los
más rápidos.
La última capa de la
jerarquía de memoria corresponde a la cinta
magnética. Éste medio suele utilizarse como un backup (respaldo o
copia de seguridad) de la memoria de disco y para guardar conjuntos de datos
muy grandes. Para tener acceso a una cinta, primero hay que colocarla en un
lector de cintas, acción que puede realizar una persona o un robot (el manejo automatizado
de las cintas es común en instalaciones que tienen bases de datos enormes).
Luego podría ser necesario hacer avanzar la cinta hasta llegar al bloque
solicitado. En total, esto podría tardar minutos. La gran ventaja de la cinta
es que es extremadamente barata y removible, lo cual es importante en el caso
de cintas de backup que deben guardarse en otro lugar para que sobrevivan
a incendios, inundaciones, terremotos, etc.
Además de los tipos
de memoria mencionados, muchos ordenadores tienen una pequeña cantidad de
memoria de acceso aleatorio no volátil. A diferencia de la RAM, la memoria novolátil
no pierde su contenido cuando se corta el suministro de electricidad. La ROM
(Read Only Memory; memoria de sólo lectura) se programa en la
fábrica y no puede modificarse posteriormente. La ROM es rápida y económica. En
algunos ordenadores el programa de
arranque del
ordenador está almacenado en ROM. Además, algunas tarjetas de E/S llevan incorporada
su propia ROM con rutinas que se encargan del control del dispositivo a bajo
nivel.
La EEPROM (Electrically
Erasable Programable ROM; ROM borrable y programable eléctricamente) y la flash
RAM tampoco son volátiles, pero en contraste con la ROM, su contenido puede
borrarse y volver a escribirse. Sin embargo, su escritura tarda varios órdenes
de magnitud más que la escritura en RAM, por lo que se usan de la misma manera
que la ROM, con la única diferencia de
que en su caso es posible corregir errores en los programas que contienen, y
reescribirlos en el mismo lugar donde se encuentran.
Un tipo más de
memoria es la CMOS, que es volátil. Muchos ordenadores emplean memoria CMOS
para guardar la fecha y hora actuales. La memoria CMOS y el circuito de reloj que
incrementa sus contenidos se alimentan con una pequeña batería para que la hora
se siga actualizando de forma correcta aunque el ordenador esté apagado. La
memoria CMOS también puede guardar los parámetros de configuración, entre los
que está la unidad de disco desde la que se debe arrancar.
Se utiliza CMOS porque consume tan poca electricidad que la batería original
instalada en la fábrica puede durar varios años.
No hay comentarios:
Publicar un comentario