Memoria
Una memoria de computadora es un conjunto de pequeñas celdas
numeradas. Más aún: cada una de esas celdas puede almacenar sólo entidades
binarias (dígitos o símbolos que toman uno de dos valores discretos 0 o 1).
Así, utilizando apropiadamente esas celdas es posible guardar fácil -pero
exclusivamente- la información X en la celda Y. Sin embargo, la celda Y no
puede almacenar otra información en el mismo instante de tiempo.
Dicho de otra forma, la memoria de una computadora es
completamente localizada. Por supuesto, el número de celdas es muy grande. Una
memoria de computadora es muy sistemática, muy ordenada, de ahí su eficiencia;
pero al mismo tiempo es muy rígida. Eso significa que para tener acceso a una
información se requiere saber exactamente en qué lugar preciso está almacenada.
Así, es necesario dar a la máquina instrucciones del tipo: ``Leer la
información que se encuentra almacenada en la celda 32767 y copiarla a la celda
26567''.
El uso de la memoria es para agilizar el flujo de
información hacia el CPU. En otras palabras es como decir desde el disco duro
al CPU hay mucha más distancia y mucho más tiempo es perdido mientras busca en
el disco duro y manda al CPU para ser procesado, mientras que si la información
que está en el disco es cargada a la memoria de allí el CPU puede accesar más
rápidamente la información que ha sido pedida. También se puede decir que el
uso de la memoria es agilizar la compilación de información.
La memoria tiene como función primordial almacenar
temporalmente (en el caso del RAM) información del disco para ser ejecutada por
el CPU, de una manera más ágil y veloz.
Tipos de Memoria
·
Memorias con paridad consiste en añadir a cualquier
de los tipos anteriores un chip que realiza una operación con los datos cuando
entran en el chip y otra cuando salen. Si el resultado ha variado, se ha
producido un error y los datos ya no son fiables. Dicho así, parece una
ventaja; sin embargo, el ordenador solo avisa de que el error se ha producido,
no lo corrige. Es mas, estos errores son tan improbables que la mayor parte de
los chips no los sufren jamás aunque estén funcionando durante años; por ello,
hacen que todas las memorias se fabrican sin paridad.
·
Primaria:
·
RAM: abreviatura para random access memory, en
español vendría siendo memoria de acceso randomico. Este tipo de memoria se
considera volátil ya que cada vez que la computadora es apagada esta memoria es
totalmente eliminada y puesta en 0. Hay muchos tipos de RAM, como por ejemplo:
·
DRAM: Dinamic - RAM, o RAM a secas, ya que es “la
original”, y por tanto la más lenta. Este tipo de memoria fue usada desde la
época del 386, su velocidad de refresco típica es de 80 ó 70 nanosegundos,
tiempo este que tarda en vaciarse para poder dar entrada a la siguiente seria
de datos. Por ello, es más rápida la de 70ns que la de 80ns. Físicamente,
aparece en forma de DIMMs o de SIMMs, siendo estos últimos de 30 contactos.
·
Fast Page(FPM): a veces llamado
DRAM, puesto que evoluciona directamente de ella, y se usa desde hace tanto que
pocas veces se las diferencia. Algo más rápida, tanto por su estructura (el
modo de página rápida) como por ser de 70 ó 60 nanosegundos.
Usada hasta con los primeros Pentium, físicamente
aparece como SIMMs de 30 ó 72 contactos.
·
EDO: o EDO - RAM, extended data output - RAM. Evoluciona de la
Fast Page; permite empezar a introducir nuevos datos mientras los anteriores
estan saliendo, lo que la hace algo más rapida. Muy común en los Pentium MMX y
AMD K6, con refrescos de 70, 60 ó 50nonasegundos. Se instala sobre todo en
SIMMs de 72 contactos, aunque existe en forma de DIMMs de 168 contactos.
·
SDRAM: Sincronic - RAM.
Funciona de manera sincronizada con la velocidad de la placa, para lo que debe
ser rápidisima, de unos 25 a 10 nonasegundos. Solo se presenta en forma de
DIMMs de 168 contactos; es usada en los Pentium II de menos de 350MHz y en los
Celeron.
·
PC100: SDRAM de 100MHz.
Memoria SDRAM capaz de funcionar a esos 100MHz, que utilizan los AMD K6-2,
Pentium II 350MHz y micros más modernos; teóricamente se trata de unas
especificaciones mínimas que se deben cumplir para funcionar correctamente a
dicha velocidad, aunque no todas las memorias vedidas como “de 100MHz” las
cumplen
·
PC133: SDRAM de 133MHz.
La más moderna. Es el mismo principio de la PC100.
·
BEDO: (Burst - EDO) una
evolución de la EDO, que envía ciertos datos en “ráfagas”. Poco extendida,
compite en prestaciones con al SDRAM.
·
ECC: memoria con corrección de errores. Puede ser
cualquier tipo, aunque sobre todo EDO - ECC o SDRAM - ECC. Detecta errores de
datos y los corrige; para aplicaciones realmente criticas. Usadas en servidores
y mainframes.
·
Memoria de Vídeo: para tarjetas
gráficas. De menor a mayor rendimiento pueden ser: DRAM -> FMP -> EDO
-> VRAM -> WRAM -> SDRAM ->SGRAM.
·
Secundario
·
Memoria Cache:
Aunque siempre hablamos de caches de hardware o
software, lo cierto es que se trata de una palabra mal utilizada puesto que
proviene del inglés cash (de hecho, en círculos especializados se habla de
memorias cache, sin acento). Pero dejando aparte las puntualizaciones lingüísticas,
nos limitaremos a definir su función. La memoria caché es una memoria de tipo
estático (SRAM), rápida pero cara, que se sitúa entre el procesador y la
memoria principal. Su misión principal consiste en acelerar los accesos del
procesador a aquellos datos que necesita, ya que su tiempo medio de acceso es
sensiblemente inferior al de una RAM normal. Cuando el procesador intenta
acceder a un dato que no se encuentra en dicha memoria, se produce lo que se
conoce como fallo de caché, fallo que ha de ser subsanado trasladando un bloque
adecuado de información desde la memoria principal a la caché. La decisión de
qué bloque hemos de retirar, cuándo hemos de actualizar la información, etc.,
dan lugar a las denominadas políticas de reemplazo y actualización. Pero a la
hora de hablar de este tipo de memorias se suele distinguir entre caché de
primer nivel y caché de segundo (ésta última es a la que habitualmente nos
referimos cuando decimos que un equipo tiene tantos kilobytes de caché). La de
primer nivel es la que se encuentra integrada dentro del propio microprocesador
y resulta, lógicamente, más efectiva que la de segundo nivel, ya que dispone de
una vía directa de 128 bits en el interior del chip. En las máquinas actuales,
pensar en menos de 256 Kbytes de memoria caché es desaprovechar las
posibilidades del equipo. Las tarjetas madres se venden habitualmente con dicha
memoria ya instalada, por lo que es otro detalle a tener en cuenta. En el caso
de los Pentium, resulta cada vez más habitual encontrarse con cantidades de 512
Kbytes de cache. Un último detalle a tener en cuenta es que existen dos tipos
de caché: write-through y write-back. No entraremos en detalle acerca de las
mismas, pero basta con saber que la segunda resulta más efectiva que la primera
(aunque su implementación también es más compleja, lo que suele redundar en un
mayor coste económico).
¿Para qué sirve?
Para empezar, digamos que la caché no es sino un tipo de memoria de la
computadora; por tanto, en ella se guardarán datos que la PC necesita para
trabajar. ¿Pero no era eso la RAM?, Te preguntarás. Bueno, en parte sí. A decir
verdad, la memoria principal de la computadora (la RAM con sus famosos 8, 16,
32, 64, 128... "megas") y la memoria caché son básicamente iguales en
muchos aspectos; la diferencia está en el uso que se le da a la caché. Debido a
la gran velocidad alcanzada por los microprocesadores desde el 386, la RAM de
la computadora no es lo suficientemente rápida para almacenar y transmitir los
datos que el microprocesador (o "micro") necesita, por lo que tendría
que esperar a que la memoria estuviera disponible y el trabajo se ralentizaría.
Para evitarlo, se usa una memoria muy rápida, estratégicamente situada entre el
micro y la RAM: la memoria caché.
La memoria caché es muy rápida
¿Cuánto es "muy rápida"? Bien, unas 5 o 6
veces más que la RAM. Esto la encarece bastante, claro está, y ése es uno de
los motivos por los cuales su capacidad es mucho menor que el de la RAM: un
máximo cercano a 512 kilobytes (512 Kb), es decir, medio "mega",
frente a 16 ó 32 megas de RAM. Además, este precio elevado la hace candidata a
falsificaciones y engaños.
Pero la caché no sólo es rápida; además, se usa con
una opera en ocasiones con un número reducido de datos, pero que tiene que
traer y llevar a la memoria en cada operación. Si situamos en medio del camino
de los datos una memoria intermedia que almacene los datos más usados, los que
casi seguro necesitará el micro en la próxima operación que realice, se
ahorrará mucho tiempo del tránsito y acceso a la lenta memoria RAM; esta es la
segunda utilidad de la caché.
El tamaño de la caché
Leído lo anterior pensarás: cuanto más grande,
mejor. Cierto, pero no; o más bien, casi siempre sí. Aunque la caché sea de
mayor velocidad que la RAM, si usamos una caché muy grande, el micro tardará un
tiempo apreciable en encontrar el dato que necesita. Esto no sería muy
importante si el dato estuviera allí, pero ¿y si no está? Entonces habrá
perdido el tiempo, y tendrá que sumar ese tiempo perdido a lo que tarde en
encontrarlo en la RAM.
Por tanto, la caché actúa como un resumen o
"atajo" de los datos de la RAM, y todos sabemos que un resumen de 500
páginas no resulta nada útil. Se puede afirmar que, para usos normales, a
partir de 1 MB (1024 Kb) la caché resulta ineficaz, e incluso pudiera llegar a
ralentizar el funcionamiento de la computadora. El tamaño idóneo depende del de
la RAM.
RAM(MB)
|
Cache(Kb)
|
1 a 4
|
128 ó 256
|
4 a 12
|
256
|
12 a 32
|
512
|
Mas de 32
|
512 ó 1024
|
La caché interna o L1
La caché a la que nos hemos referido hasta ahora es
la llamada "caché externa" o de segundo nivel (L2). Existe otra, cuyo
principio básico es el mismo, pero que está incluida en el interior del micro;
de ahí lo de interna o de primer nivel (L1). Esta caché funciona como la
externa, sólo que está más cerca del micro, es más rápida y más cara, además de
complicar el diseño del micro, por lo que su tamaño se mide en pocas decenas de
kilobytes. Se incorporó por primera vez en los micros 486, y por aquel entonces
era de 8 Kb (aunque algunos 486 de Cyrix tenían sólo 1 Kb). La importancia de
esta caché es fundamental; por ejemplo, los Pentium MMX son más rápidos que los
Pentium normales en aplicaciones no optimizadas para MMX, gracias a tener el
doble de caché interna.
La caché de los Pentium II / III y Celeron
Puede que hayas oído hablar de que el Pentium III
(y sus antecesores extintos Pentium Pro y Pentium II ) tienen 512 Kb de caché
interna; esto es inexacto, cuando no una "confusión interesada" por
parte de Intel y los vendedores. Los Pentium II y III tienen 32 Kb de caché
interna, y 512 Kb de caché dentro del cartucho SEC pero externa al encapsulado
del microchip. Los que casi pueden presumir de tener una gran caché interna son
los Celeron Mendocino (no los antiguos Celeron, que carecían de caché L2 en
absoluto). Estos micros tienen 128 Kb de caché L2 integrada en el propio
encapsulado del micro y la hacen funcionar a la misma velocidad que éste, de forma
que no llega a ser tan rápida como la caché L1 pero sí lo bastante como para
permitirles competir con los Pentium II pese a tener sólo la cuarta parte de
caché. Digamos, en fin, que los Pentium II y III y los Celeron Mendocino tienen
una caché interna y una semi-externa, lo cual no es poco mérito en absoluto;
pero las cosas son como son, mal que le pese a los magos de la publicidad.
Tecnologías usadas en la caché
Aunque en general no se puede elegir qué memoria
caché adquirir con la computadora, puesto que se vende conjuntamente con la
placa base (o con el micro, si es un Pentium III, un Mendocino...), conviene
tener claros unos cuantos conceptos por si se diera el caso de tener varias
opciones a nuestra disposición.
Ante todo, el tipo de memoria empleada para
fabricar la caché es uno de los factores más importantes. Suele ser memoria de
un tipo muy rápido (como por ejemplo SRAM o SDRAM) y con características
especiales, como burst pipeline: transmitir datos "a ráfagas"
(burst). La velocidad de la caché influye en su rendimiento, como es obvio. Las
cachés se mueven en torno a los 10 nanosegundos (ns) de velocidad de refresco;
es decir, que cada 10 ns pueden admitir una nueva de datos. Por tanto, a menor
tiempo de refresco, mayor velocidad.
No hay comentarios:
Publicar un comentario