Ir a mi página
En muchas ocasiones hemos hablado sobre el rendimiento de los ordenadores, y los componentes implicados en conseguir una mayor o menor potencia, llegando a la conclusión de que cada uno tiene una misión especial, y que por muy rápido que sea un procesador, si los demás componentes que le rodean no están a su altura, lo único que conseguirá es arrastrarse, en lugar de correr.
De todos ellos, uno de los que más importancia tiene es la memoria RAM, puesto que es el lugar en el que se almacenan los programas que se están ejecutando, así como sus datos. Con el paso del tiempo los programas cada vez necesitan más y más memoria. Al principio de esta década era extraño encontrar ordenadores con más de 1 MB de memoria RAM, pero actualmente es raro que un ordenador nuevo tenga menos de 16 MB. Si queremos que un sistema operativo gráfico, como puede ser Windows 98, es mejor pensar que cuanta más memoria mejor, y desde luego, si queremos un ordenador cómodo de usar, un mínimo de 32 MB es lo más aconsejable.
Memoria es una palabra demasiado genérica, en un ordenador podemos encontrar muchos tipos de memorias, cada una con su función específica.
También tenemos que distinguir entre memoria y almacenamiento, puesto que hay muchos profanos que confunden estos términos.
¿Oué es la memoria?
En primer lugar debemos definir lo que significa memoria, para poder saber de qué estamos hablando. Por definición, la memoria es un lugar en el que se almacenan datos. Nuestro cerebro tiene zonas diseñadas para almacenar recuerdos, olores, imágenes, y sonidos mediante complejos procesos químicos. La memoria aplicada a la informática, o mejor dicho, a la electrónica es mucho más sencilla. Está diseñada para almacenar números, pero números un poco especiales, los que pertenecen al sistema numérico binario.
Los humanos empleamos comúnmente el sistema decimal, que es un sistema numérico en base 10. La base es el parámetro que define el sistema numérico y representa el número de símbolos distintos que se utilizan para representar los números.
En electrónica se emplea el sistema binario, que únicamente utiliza el 0 y el 1 para formar todos los números, por eso es de base 2.
Utilizar dos dígitos sólo, facilita enormemente el trabajo de diseñar circuitos que sean capaces de acordarse de un número, puesto que únicamente tienen que "recordar" dos estados, alto para el uno y bajo para el dos. Por supuesto se podría utilizar el sistema decimal, pero complicaría el circuito bastante, porque tendrían que definirse los diez estados como divisiones de la tensión de alimentación, y en la práctica es difícil mantenerla perfectamente estable, y se provocarían muchos errores al alterarse dicha tensión.
En el sistema decimal, un dígito puede representar números desde el 0 hasta el 10, mientras que en el sistema binario, sólo llega hasta
el 1. Precisamente ese dígito binario, que se llama bit, es la unidad mínima de memoria que se puede fabricar. Normalmente está formada por transistores que toman el estado lógico alto (1), o bajo (0).
Un solo bit no sirve para mucho, por eso se agrupan de ocho en ocho, formando un byte. También se pueden hacer grupos más grandes, de 16 bits, e incluso de 32 bits, pero estas agrupaciones, a nivel electrónico no nos interesan, por lo menos de momento.
En un byte podemos representar números desde el 0 hasta el 255, o mejor dicho desde el 0 binario hasta el llllllll binario. Parece que la cosa se complica al aumentar el número de bits, y representar números más grandes empleando el sistema binario puede resultar bastante incómodo. Para facilitar las cosas apareció el sistema hexadecimal, que representa con un solo dígito números desde el 0 hasta el 15, es decir, que es un sistema de base 16. Un solo dígito del sistema hexadecimal puede representar a cuatro bits, lo cual simplifica notablemente la conversión de un sistema al otro, además de la representación de grandes números binarios.
Bit se suele abreviar con una b minúscula, mientras que byte se abrevia en mayúscula. Esto suele ser fuente de confusiones al escribir puesto que hay personas que no respetan esta regla. Cuando juntamos 1.024 bytes se utiliza el prefijo kilo, que se abrevia K, para evitar tener que escribir o decir números muy largos. 1.024 bytes es lo mismo que 1 KB ( dicho kilo byte). De la misma forma, al agrupar 1.024 kilobytes empleamos el prefijo mega, Abreviado M, y al agrupar 1.024 MB, usamos giga (GB): 1 GB = 1.024 MB = 1.048.576 KB =1.073.741.824 bytes.
Como puede verse es mucho más cómodo y sencillo hablar de 1 GB, que utilizar mil setenta y tres millones setecientos cuarenta y un mil chocientos veinticuatro bytes.
Aunque no son muy graves, los errores al escribir estas abreviaturas son demasiado habituales. Es conveniente emplear correctamente las distintas abreviaturas de las unidades. Las más habituales son las siguientes.
Al hablar de memoria se almacenar emplea muy a menudo Mb, en lugar de MB: "Super ordenador con procesador Celeron a 300 MHz y 16 Mb de RAM" 16 Mb (megabits) = 2 MB (megabytes).
En este caso el fallo no es muy grave, puesto que nadie vendrá exigiéndonos un ordenador con menos memoria de la que ofrecemos.
Pero también encontramos el caso contrario: "Oferta especial en tarjetas de red de 100 MB" 100 MB (megabytes) = 800 Mb (megabits).
Es evidente que normalmente la memoria se mide en bytes y la velocidad de transmisión de datos en bits, pero si ponemos un anuncio como el anterior podrá venir un cliente exigiendo su tarjeta de 800 Mb, y llevarnos a los tribunales, si no se la entregarnos.
También se producen confusiones con los prefijos, puesto que en el Sistema Internacional de Unidades (SI) tiene prefijos para poder multiplicar y dividir a la unidad por un trillón (ver Tabla 2).
El primero de ellos tiene que ver con el prefijo kilo, en el SI este prefijo multiplica por 1.000 a la unidad, en informática, se emplean potencias de 2, y la más cercana a mil es 2/10, o la décima potencia de 2, que es 1.024. Para evitar confusiones se suele emplear la k minúscula al referirse al kilo de 1.000 unidades y K mayúscula para el kilo de 1.024 unidades. Con el prefijo mega el problema es otro, en este caso no se emplea la m minúscula para representar los megas de un millón de unidades, porque esta letra ya está ocupada por el prefijo mili, que representa una milésima parte de la unidad. Recordemos que un bit no se puede dividir, y que un byte sólo se puede en ocho partes, así que no podremos hablar de 32 mb de RAM ni de 32 mB.
Echando un vistazo a la tabla de prefijos, podemos observar que en un futuro no muy lejano empezaremos a hablar de terabytes, por lo menos en los discos duros, y a más largo plazo en las memorias.
Memoria y almacenamiento
Hay personas que confunden estos dos términos y aunque los dos se refieren a sistemas que sirven para guardar datos, es evidente que nada tienen que ver uno con otro. Mientras que la memoria se utiliza para ejecutar programas o almacenar datos de forma temporal, los sistemas de almacenamiento, que tienen una capacidad bastante más elevada, tienen como cometido guardar los programas y datos durante un plazo medio o largo, mientras no se utilizan o cuando el ordenador está apagado. Es conveniente enseñar a los usuarios la diferencia entre estos dos conceptos, para evitar que cuando preguntemos "¿Cuánta memoria tiene su ordenador?" nos respondan "3 gigas".
La memoria a nivel físico
Como hemos dicho antes, la unidad básica de memoria es el bit. Un solo bit no tiene mucha utilidad, por eso se suelen agrupar en bytes de modo que se pueda acceder a todos sus bits al mismo tiempo. Pero tampoco un solo byte sirve de mucho, a menos que estemos aplicándolo a un esquema electrónico muy concreto. Así se fabrican chips con miles, e incluso millones de bytes. Lo más común es que tengan 8 bits, aunque también pueden
agruparse de 16 en 16 bits.
La dirección es el parámetro que identifica a un byte concreto dentro del chip de memoria. Los chips de memoria tienen un bus de direcciones y otro de datos. Con el de direcciones se selecciona el byte concreto que queremos leer o escribir a través del bus de datos. El tipo de acceso se selecciona con otra patilla, y depende del tipo de memoria que empleemos, puesto que hay algunas que son sólo de lectura y no se pueden sobreescribir, o las que únicamente se pueden programar una vez. De los distintos tipos de memorias, según su tipo de acceso, hablaremos más adelante.
Los bits y bytes de memoria están formados por transistores que se constituyen en una oblea de silicio para formar los circuitos integrados, que posteriormente se encapsularán para confeccionar los conocidos chips. Al igual que hay varios tipos de memorias, sus encapsulados y, por tanto, su aspecto físico, también varía de unos a otros. En el caso de las memorias utilizadas como RAM principal del ordenador, se emplean módulos de memoria, que son pequeñas placas de circuito impreso con varios chips soldados en su superficie, que se conectan en unos zócalos especiales que tiene la placa base del equipo. Estas son las memorias que vamos a ver y manipular más comúnmente, puesto que el resto de tipos es raro que haya que sustituirlas, si no es por una avería.
Tipos de memoria a nivel electrónico
Existen muchos tipos de memorias, y muchas posibles clasificaciones. Podemos hablar de ellas atendiendo a su organización física, a su tipo de acceso, modos de grabación de datos, o cómo las utiliza el sistema operativo a nivel lógico. Empezaremos definiendo los distintos tipos de memoria, atendiendo a su forma de acceso.
MEMORIA RAM. Las siglas RAM significan Random Access Memory, traducido al castellano, Memoria de Acceso Aleatorio. Como su propio nombre indica el acceso a esta memoria es completamente aleatorio, tanto en sus posiciones, como en el tipo de acceso, ya sea de escritura o de lectura.
La memoria RAM pierde su contenido al desaparecer la tensión de alimentación de los chips. Por eso no se utiliza para guardar datos de forma permanente, aunque hay una excepción, la memoria CMOS, de la que hablaremos más adelante.
Dentro de la memoria RAM, podemos distinguir dos tipos, la estática o SRAM y la dinámica o DRAM. En la memoria estática los datos se conservan siempre que el chip esté alimentado. En la memoria dinámica estos datos desaparecen al cabo de un tiempo, por eso hay que estar "recordándole" al chip cuales son esos datos. Para eso se emplea una señal conocida como refresco, puesto que su cometido es "refrescarle la memoria" a los chips. A nivel de usuario no hay que preocuparse por esta señal, puesto que el controlador de memoria es el encargado de controlar esta señal.
El principal inconveniente de la memoria dinámica es que su acceso es más lento, debido al refresco, aunque su precio es notablemente inferior al de la memoria estática. En situaciones que se requiere una gran cantidad de memoria, como puede ser la RAM principal del ordenador se emplea memoria dinámica, para evitar que el precio total se dispare. En otros casos es necesaria una memoria extremadamente rápida, y normalmente no se necesita una cantidad muy grande. Este es el campo perfecto para las memorias estáticas puesto que aunque son más caras, al emplearse cantidades inferiores, el precio final no es demasiado elevado.
MEMORIA ROM. La ROM es una memoria que únicamente se puede leer, sus siglas se traducen como Memoria de Solo Lectura (Read Only Memory). Se emplean para contener pro- gramas o datos que siempre van a ser los mismos, por ejemplo, las rutinas que permiten al ordenador buscar el sector de arranque del disco duro al encenderlo.
El principal inconveniente de las memorias ROM es que se fabrican con el programa que el cliente entregue, por lo cual únicamente son rentables si se encargan grandes cantidades. Si posteriormente queremos modificar el programa, tendremos que quitar la ROM y poner otra con el programa modificado. Por estas razones cada vez se emplean menos, y prácticamente ya han desaparecido de los equipos nuevos, a favor de otras tecnologías que si permiten modificar los programas.
MEMORIA PROM. Esta memoria es muy similar a la ROM, con la ventaja de venir sin datos de la fábrica, por lo que los pequeños fabricantes de equipos las pueden emplear para grabar sus propios programas, al diseñar un producto determinado. Si modificamos el programa en el futuro, tendremos que tirar esa PROM y grabarlo en otra nueva. Al igual que las ROM, tiende a desaparecer.
MEMORIA EPROM. Para evitar el inconveniente y el derroche de tener que tirar una PROM cuando queramos modificar un programa se desarrollaron las memorias EPROM. Sus siglas significan Erasable Programmable Read Only Memory, Memoria Programable de Solo Lectura Borrable. Su rasgo más característico es la ventana transparente que tienen en la parte superior de su encapsulado, que permite ver la oblea de silicio que contiene las celdas de memoria. La grabación se realiza en un aparato especial empleando una tensión elevada, varias veces la de alimentación, llamada tensión de programación. Si en el futuro queremos modificar el programa grabado lo único que tendremos que hacer es borrar la memoria y volverla a grabar. Para borrarla sólo tenemos que exponer el chip a una fuente de luz ultravioleta de forma que incida directamente en la oblea de silicio, durante unos minutos. Un inconveniente de este sistema es que el número de ciclos de borrado y grabación es bastante limitado. Además, se requiere un programador por lo que no se puede utilizar para guardar datos que varíen frecuentemente.
MEMORIA EEPROM. Los dos inconvenientes de las memorias EPROM se solucionaron con las Electronic Erasable Programmable Read Only
Memory, o EEPROM, cuyo nombre traducido es Memoria Programable de Solo Lectura Borrable Electrónicamente. La ventaja de no emplear la engorrosa luz ultravioleta para borrar el contenido de la memoria es notable, puesto que se puede diseñar un circuito de borrado en la placa en la que se coloque la memoria y así hacer innecesario retirar el chip para eliminar su contenido. En ordenadores es poco común encontrarlas, utilizándose normalmente en equipos en los que el usuario tiene que almacenar datos que se tienen que mantener mientras el equipo está desconectado, y sin baterías.

MEMORIA FLASH. La memoria Flash es la última generación de memorias no volátiles, esto es, que no pierden su contenido al desconectar la alimentación. Su contenido puede ser modificado de una forma sencilla por software, lo que las convierte en las memorias ideales para contener el firmware de los equipos. El firmware es el conjunto de rutinas, o programas que hacen funcionar y comunicarse con el ordenador de forma autónoma un hardware específico. Gran parte de los periféricos suelen contener firmware que se actualiza con mayor o menor frecuencia. El ejemplo más común es el de los módem, que suelen disponer de actualizaciones más o menos frecuentes que incorporan los nuevos estándares de comunicaciones, o mejoras y correcciones de errores de las rutinas antiguas.
También podemos encontrar memorias Flash en impresoras, controladoras SCSI, tarjetas gráficas, y un largo etcétera, culminando en la memoria BIOS, que contiene las rutinas de arranque y de entrada/salida del ordenador. En general, prácticamente todos los equipos que tienen firmware, fabricados desde hace un par de años (o quizá algo más), lo incluyen en memorias Flash.
Las memorias de un ordenador
En un ordenador podemos encontrar hasta 7 tipos de memorias, algunas imprescindibles para el correcto funcionamiento del ordenador, y otras que, aunque el equipo puede funcionar sin ellas, ayudan bastante a aumentar el rendimiento. También los periféricos pueden tener su propia memoria, que puede ser controlada, o no, desde el ordenador.
MEMORIA RAM. Esta es la memoria más importante del ordenador, y también la más conocida. Se utiliza para almacenar los programas durante su ejecución, además de mantener los datos de los mismos mientras son utilizados por las aplicaciones.
Este es uno de los elementos que, después del procesador, más influye en el rendimiento global del ordenador, en especial cuando se utilizan sistemas operativos gráficos, que consumen gran cantidad de memoria.
La cantidad necesaria para un óptimo rendimiento del equipo está determinada por el tipo de sistema operativo que vayamos a utilizar, así como el número de aplicaciones que usaremos de manera simultánea. Más adelante hablaremos de la cantidad de memoria necesaria y recomendada para algunos casos concretos.
Cuando hablamos de los tipos de memorias, dijimos que la que se emplea como RAM principal del sistema, es del tipo dinámico. Pero dentro de las memorias dinámicas existen varias tecnologías en función del modo en el que el procesador accede a las mismas.
La más antigua es la Fast Page Mode o FPM que prácticamente ya ha desaparecido del mercado, y es muy difícil de encontrar.
Otra de las tecnologías que tiende a desaparecer es la EDO, siglas de Extended Data Output, que se empezó a utilizar con las primeras placas base para procesadores Pentium, y que dejaron de fabricarse en 1998.
La memoria SDRAM (Synchronous Dynamic RAM) o memoria dinámica de acceso aleatorio síncrona. Este tipo de memoria sincroniza los accesos a la misma con un reloj que a su vez está sincronizado con el del procesador, de forma que el movimiento de datos de uno a otro se realiza a una velocidad hasta un 25 por ciento superior ala que se consigue con la tecnología EDO.
La tecnología SDRAM fué sustituida por una nueva versión, llamada DDR SDRAM o SDRAM II. En este tipo de memoria permite un acceso al doble de velocidad, puesto que está preparada para intercambiar datos tanto en el ciclo alto del os los números. reloj como en el bajo. De esta forma se consigue duplicar el ancho de banda de la memoria sin tener que variar la frecuencia de reloj.
La memoria SDRAM no funciona a la misma frecuencia de reloj que el núcleo del procesador, pero si lo hace a la velocidad de su bus. Con la aparición de los procesadores de Intel con tecnología de 0,25 micras, que tienen una velocidad de bus de 100 MHz, aparecieron también memorias que pueden funcionar a esta frecuencia. Esto se conoce como especificación PC 100. Si algún usuario quiere ampliar la memoria de su ordenador con módulos DIMM es aconsejable que utilice módulos PC 100, aunque no los necesite, puesto que pueden funcionar perfectamente a 66 MHz, y si en un futuro cercano cambia de placa base, la memoria seguirá sirviendo.
Otras tecnologías son RDRAM o Rambus DRAM, desarrollada por la empresa Rambus, que utiliza un bus hasta 10 veces más rápido que el de las memorias DRAM convencionales. Dentro de esta tecnología existen tres modalidades: RDRAM, RDRAM concurrente, RDRAM directa. Esta empresa llegó a un acuerdo con Intel, para que sus próximos chipset soporten esta tecnología.
Como respuesta a la Rambus DRAM, un consorcio formado por 12 empresas fabricantes de DRAM ha desarrollado la tecnología SLDRAM (SyncLink DRAM), que consiste en una mejora de la tecnología SDRAM. Seguramente será la competencia más directa para las memorias de la empresa Rambus.
En los ordenadores la memoria RAM se monta en forma de módulos, que se componen de varios chips soldados sobre una pequeña placa de circuito impreso. Dependiendo del tipo de conexión que tengan se denominan de una forma o de otra. Los que se han utilizado hasta hace poco recibían el nombre de módulos SIMM. Esta denominación indica que el módulo sólo tiene una fila de contactos, 30 ó 72, en función del tipo. Aunque nosotros veamos que hay contactos en los dos lados de la placa, a nivel eléctrico están unidas las de un lado con las del otro.
En los módulos DlMM de 168 patillas, repartidas en dos filas de 84. DlMM significa Dual In line Memory Module, Modulo de Memoria Doble En línea, mientras que SIMM quiere decir Single In line Memory Module, Módulo de Memoria Simple En línea. Aunque la traducción de estos dos acrónimos no tiene mucho sentido, la idea principal queda clara.
BIOS. Estas siglas significan Basic Input/Output System, que se traduce como Sistema básico de Entrada/Salida. Son un conjunto de rutinas que residen en una memoria ROM, o Flash, situada en la placa base, y proporciona al ordenador las rutinas necesarias para poder acceder al disquete, o disco duro, para empezar a arrancar el sistema operativo. Es un componente muy conocido, especialmente por su programa de configuración que se muestra al pulsar una tecla determinada durante el arranque del equipo y que todos hemos utilizado alguna vez. En la memoria BIOS también suelen estar las rutinas que permiten utilizar determinados dispositivos, como pueden ser los puertos paralelo avanzados, o arrancar de otras unidades como Zip o lectores CD-ROM.
En las placas modernas el sistema BIOS se encuentra instalado en una memoria Flash, para que el propio usuario pueda actualizarlo por software cuando sea necesario, sin tener que desmontar nada.
MEMORIA CMOS. Esta memoria es la más pequeña del equipo, puesto que sólo consta de algunas decenas de bytes. Se encuentra situada normalmente en el mismo chip que proporciona el reloj de tiempo real al sistema. Este chip funciona siempre, esté el ordenador encendido o apagado, puesto que es la única forma de mantener constantemente la hora actualizada. Se alimenta mediante pilas o con baterías recargables. Como para mantener la hora, necesita algunos bytes de memoria, y los diseñadores crearon más de la necesaria, los bytes que sobran se emplean para almacenar las opciones de configuración de la memoria BIOS. Dicho chip está fabricado con tecnología CMOS de bajo consumo, por lo que la batería es capaz de mantener esta información, y el reloj funcionando durante mucho tiempo. Actualmente casi ninguna placa emplea baterías recargables. En su lugar se utiliza una pila de litio, como las de los relojes de pulsera, que suele durar dos o tres años y después se puede cambiar fácilmente por otra nueva.
En determinadas ocasiones es posible que al encender el equipo aparezca un mensaje indicando que el contenido de la memoria CMOS ha desaparecido, si este mensaje se repite frecuentemente es necesario cambiar la pila que mantiene el funcionamiento del reloj de tiempo real.
MEMORIA CACHÉ L1 y L2. Aunque el acceso del procesador a la memoria RAM del sistema es muy rápido, no se acerca siquiera a la velocidad real a la que puede leerse la memoria, puesto que como dijimos al hablar de memorias estáticas y dinámicas, el refresco de éstas últimas ralentiza un poco su velocidad. Aunque empleásemos memorias estáticas para la memoria RAM principal seguiríamos teniendo la limitación de velocidad del bus del procesador.
Para aumentar el rendimiento del sistema se emplea la memoria caché, que suele funcionar a la mitad de velocidad que el núcleo del procesador,
aunque en las últimas versiones de los procesadores más comunes, ya lo hace a la misma velocidad.
Para explicar cómo funciona la memoria caché vamos a poner un ejemplo práctico. Imagínese que tiene en casa una estantería llena de libros. Normalmente son los que utiliza más a menudo para consultar, y los tiene muy cerca de su mesa, si necesita mirar algo sólo tiene que estirar el brazo para coger el libro apropiado. Puede darse el caso de necesitar mirar una información que no tiene en esos libros de la estantería. En ese caso tendrá que levantarse para ir a la librería del salón, mucho más grande, y con más libros. Evidentemente la información está allí, pero tardará más tiempo en utilizarla, porque tiene que levantarse, ir al salón, coger el libro, y volver a la mesa. Al cabo de un rato le asalta otra duda, pero no tiene en casa ningún libro que pueda resolverla. ¿La solución? Ir a una biblioteca, que tiene un tamaño muchísimo mayor al de su pequeña librería, o la estantería del salón. Al igual que en el caso anterior, encontrará la información, pero tendra que salir de casa, ir a la biblioteca, buscar el libro, y volver a casa con él para consultarlo.
Exactamente igual funcionan las memorias cache y RAM de su ordenador. Sólo tiene que sustituir la estantería por la memoria caché de nivel 1 (L1), la librería del salón por la caché de nivel 2 (L2) y la biblioteca por la memoria RAM del sistema.
Cuando el procesador lee una instrucción para ejecutarla, el controlador de la memoria caché copia en dicha memoria las siguientes instrucciones, porque es muy probable que se lean a continuación. Es como si al ir a la biblioteca para leer el primer tomo de la Crónica de la Segunda Guerra Mundial, el bibliotecario le entregase también los tomos 2 y 3, porque es probable que los lea a continuación. Cuando llegue a su casa, tendrá en la estantería los libros durante unos días, porque los consultará a menudo, al cabo de los cuales los devolverá a la biblioteca. Del mismo modo, la memoria caché mantiene los datos que ha leído durante algún tiempo, normalmente hasta que necesite ese espacio para otros programas. La mayor utilidad se obtiene cuando el ordenador ejecuta bucles puesto que, dependiendo de su tamaño, pueden copiarse íntegramente en la memoria caché aumentando notablemente el rendimiento total del sistema.
La memoria caché de nivel 1 es la que más próxima está al procesador, tanto es así que normalmente está integrada en el chip del procesador. La de segundo nivel puede estar en la placa base, o dentro del encapsulado del procesador, como ocurre con los Pentium II y III y los Celeron. En el caso de que no exista caché de nivel 1, la de segundo nivel pasa a ser de primer nivel, pero esto es algo que no sucede en los procesadores modernos.
Podríamos añadir también un cuarto nivel, en nuestro ejemplo de los libros. Imagine que en la biblioteca no tienen el libro que necesita, en este caso tendrán que encargarlo a la editorial para que se lo envíe, con lo que pueden pasar algunos días hasta que pueda consultar el libro en cuestión. Este equivalente a la editorial podría ser el disco duro del ordenador. Aunque en nuestro ejemplo tratamos con segundos, minutos, horas, e incluso días, y al pasarlo al ordenador se convierten en millonésimas de segundo, las diferencias que hay en proporción nos permiten hacernos una idea de lo que significa para el procesador no encontrar un dato en la memoria caché. Es más si quiere ver un ejemplo real de lo que hace la memoria caché no tiene más que entrar en las pantallas de configuración de la BIOS de su ordenador, desactivar las memorias caché de primer y segundo nivel, y trabajar con el equipo durante un rato. Si quiere puede emplear un programa para medir el rendimiento, y comprobar las diferencias con y sin caché.
Muchas personas no tienen ni la más ligera idea de la utilidad de la memoria caché, esperemos que con este ejemplo tan gráfico hayamos despejado todas las dudas posibles.
MEMORIA DE VIDEO. La tarjeta gráfica también necesita su propia memoria, en la cual se genera la imagen que después aparecerá en la pantalla. El procesador accede a esta memoria, para copiar los datos que forman la imagen, y a continuación los chips de la tarjeta convierten estos datos en una señal analógica que se envía al monitor .
Hay muchos tipos de memoria de vídeo, en función del tipo de tarjeta gráfica empleada, desde las que utilizan memoria RAM del ordenador, que normalmente están integradas en la placa base, hasta las memorias de doble puerto, en las que el procesador escribe los datos en uno de los puertos, mientras que los chips gráficos los leen por el otro, de forma simultánea. Esta forma de acceso acelera notablemente el acceso a esta memoria, puesto que en las convencionales, mientras el procesador escribe los datos, los chips gráficos tienen que esperar, y viceversa. Si la memoria tiene dos puertos, no es necesario que ninguno espere. También se emplean memorias RAM EDO, convencionales, además de algunos tipos más, desarrollados por los fabricantes de tarjetas gráficas, entre los que podemos destacar WRAM (o Windows RAM), SGRAM o VRAM (Vídeo RAM).
MEMORIA CACHE DE DISPOSITIVOS. Hay determinados periféricos que utilizan distintos tipos de memoria para almacenar datos de forma temporal, ya sea para su utilización propia, o para enviárselos posteriormente al ordenador .
El ejemplo más habitual de esta última función es la memoria intermedia que utilizan algunas controladoras de discos de alto rendimiento. Para evitar que el procesador tenga que estar esperando mientras se recuperan los datos del disco duro, se utilizan controladoras que disponen de memoria caché en la que almacenan los ficheros. Cuando el programa que se está ejecutando pide un determinado fichero, el procesador transmite esta petición a la controladora, y continua procesando otras tareas. Mientras la controladora accede al disco y copia los ficheros pedidos a su memoria caché, para que cuando el procesador los vuelva a necesitar no se tengan que volver a leer del disco duro, siendo el acceso a la memoria
caché prácticamente instantáneo, en comparación con lo que supone buscar y copiar los datos desde el dispositivo de almacenamiento.
Algunas tarjetas de sonido también incorporan memoria, pero que no se utiliza como memoria caché para enviar datos al ordenador. Por el contrario, es el ordenador en que introduce en esta memoria bancos de instrumentos que posteriormente utilizará el sintetizador por tabla de ondas para generar música. Con la llegada de tarjetas de sonido PCI, esta memoria tiende a desaparecer, porque el chip que genera el sonido puede acceder directamente ala RAM principal del sistema. Se reserva una determinada cantidad de memoria para la tarjeta, que no puede usar el sistema, y así el fabricante ahorra esa memoria, lo cual repercute en el precio final del producto.
¿Cuánta memoria necesito?
La respuesta más rápida a esta pregunta es muy sencilla, cuanta más mejor. Pero no siempre es posible incorporar al ordenador toda la memoria que el usuario quiera, a menos que el dinero no sea un problema para él.
En la mayoría de sistemas operativos modernos se utiliza la memoria virtual, que no es más que un espacio del disco duro, reservado, y que el procesador es capaz de utilizar como si fuese memoria RAM convencional. Su principal inconveniente es que el acceso es extremadamente lento, si lo comparamos con el de la memoria física, Cuando el sistema operativo se queda sin memoria RAM, empieza a utilizar la memoria virtual. A partir de este momento el rendimiento del ordenador cae de forma estrepitosa. Para evitar que esta situación convierta en un sufrimiento el trabajar con el ordenador, el sistema operativo mueve a la memoria virtual los programas que no están en uso, cuando se agota la memoria física, para liberarla. En equipos con poca memoria, en los que se ejecuten varias aplicaciones, y se esté cambiando de una a otra constantemente es fácil desesperarse viendo como al cambiar de aplicación se bloquea el ordenador durante algunos segundos, en los que la luz ,de acceso al disco duro apenas tiene tiempo de apagarse.
Si tenemos un equipo con 16 MB de RAM, que utiliza Windows 95 ó 98 como sistema operativo, apenas podremos arrancar una aplicación sin que se dispare el acceso a la memoria virtual. Simplemente con ampliar la memoria a 32 o, mejor, 64 MB, conseguiremos un aumento del rendimiento espectacular. Es preferible tener un procesador un poco más lento, y disponer de 64 MB de RAM, a tener un Pentium III a 500 MHz, con 16 MB de RAM, permanentemente en espera de que lleguen los datos de la memoria virtual. Si utilizamos Windows NT Workstation, habrá que sumar 16 ó 32 MB a las cantidades recomendadas.
Para máquinas basadas en Windows NT Server se ofrece en la documentación de Microsoft algunas fórmulas para calcular la memoria necesaria en función del número de usuarios y servicios de que van a disponer, pero un mínimo de 64 MB es imprescindible si queremos que el sistema operativo funcione de una forma fluida. Si tenemos unos 5 usuarios que pueden acceder de forma simultánea al servidor, debemos contar con un mínimo de 128 MB.
A partir de ciertas cantidades de memoria ya no se obtiene un aumento del rendimiento apreciable. Esto es porque no suele accederse a la memoria virtual, puesto que siempre hay memoria RAM suficiente. Lo ideal sería utilizar algún programa para comprobar la utilización de la memoria virtual, que se pueden obtener de forma gratuita en Internet, en alguno de los puntos habituales de distribución de software de dominio público.
Ir a mi página
Ir a mi página