Go to Kingston.com  Homepage AMÉRICA LATINA  
Herramientas Kingston


Guía Completa de la Memoria

CÓMO FUNCIONA LA MEMORIA

Cómo Funciona La Memoria Con El Procesador
Maximización Del Desempeño


CÓMO FUNCIONA LA MEMORIA CON EL PROCESADOR
Anteriormente ya hablamos de la forma en que la memoria mantiene información en un lugar donde el CPU puede obtenerla rápidamente. Veamos este proceso con más detalle.


El CPU con frecuencia se conoce como el cerebro de la computadora. Este es el lugar donde se realizan todas las acciones de la computadora.

El conjunto de chips soporta el CPU. Generalmente contiene varios "controladores" que controlan la forma en que viaja la información entre el procesador y otros componentes en el sistema. Algunos sistemas tienen más de un conjunto de chips.

El controlador de memoria es parte del conjunto de chips y este controlador establece el flujo de información entre la memoria y el CPU.

Un bus es una ruta de datos en una computadora, el cual consiste de varios cables en paralelo a los que están conectados al CPU, la memoria y todos los dispositivos de entrada/salida. El diseño del bus o la arquitectura del bus determina cuántos y qué tan rápido se pueden mover los datos a lo largo de la tarjeta madre. Hay distintas clases de buses en el sistema, dependiendo de las velocidades que se requieran para los componentes en particular.

El bus de memoria va del controlador de la memoria a los sockets de memoria de la computadora. Los sistemas más nuevos tienen una arquitectura de bus de memoria en el que el bus frontal (FSB) va del CPU a la memoria principal y el bus inverso (BSB), el cual va del controlador de la memoria a la memoria caché L2.

VELOCIDAD DE LA MEMORIA
Cuando el CPU necesita información de la memoria, éste envía una solicitud que se administra en el controlador de memoria. El controlador de memoria envía la solicitud de la memoria e informa al CPU cuando la información estará disponible para leerla. Este ciclo completo, que va del CPU al controlador de la memoria y de ahí a la memoria y de regreso al CPU, puede variar en longitud de acuerdo con la velocidad de la memoria, así como de otros factores tales como la velocidad del bus.

La velocidad de la memoria a veces se mide en megahertz (MHz), o en términos de tiempo de acceso, el tiempo real requerido para generar datos, medido en nano segundos (ns). Ya sea que se mida en megahertz o nano segundos, la velocidad de la memoria indica la rapidez con la que el módulo de memoria puede generar una solicitud una vez que la recibe.

TIEMPO DE ACCESO (NANO SEGUNDOS)
El tiempo de acceso se mide desde el momento en que el módulo de memoria recibe una solicitud de datos hasta el momento en que esos datos están disponibles. Los chips y los módulos de memoria se utilizan para marcarse con tiempos de acceso que van de 80ns a 50ns. Con las mediciones de tiempo de acceso (es decir, las mediciones en nano segundos), un número inferior indica velocidades más altas.

En este ejemplo, el controlador de la memoria solicita datos de la memoria y la memoria reacciona a la solicitud en 70ns. El CPU recibe los datos en aproximadamente 125ns.Así, el tiempo total desde que el CPU hace la primera solicitud de información hasta que la recibe puede ser de hasta 195ns cuando se utiliza un módulo de memoria de 70ns. Esto es debido a que toma tiempo para que el controlador de memoria administre el flujo de información y la información necesita viajar del módulo de memoria al CPU en el bus.

MEGAHERTZ (MHZ)
Comenzando con la tecnología DRAM sincrónica, los chips de memoria tienen la capacidad de sincronizarse ellos mismos con el reloj del sistema de la computadora, haciendo más fácil la medición de la velocidad en megahertz o millones de ciclos por segundo. Debido a que esta es la misma forma en que se mide la velocidad en el resto del sistema, se hace mucho más fácil comparar las velocidades de los distintos componentes y sincronizar sus funciones. Para entender mejor la velocidad, es importante entender el reloj del sistema.

RELOJ DEL SISTEMA
Un reloj del sistema reside en la tarjeta madre. Éste envía una señal a todos los componentes de la computadora en ritmo, como un metrónomo. Generalmente, este ritmo se genera como una onda cuadrada, como la siguiente:

Sin embargo, en realidad la señal de reloj real, cuando se ve con un osciloscopio, se ve más como el ejemplo que se da a continuación.

Cada onda en esta señal mide un ciclo de reloj. Si el reloj del sistema funciona a 100MHZ, esto significa que hay 100 millones de ciclos del reloj en un segundo. Cada acción en la computadora se marca con un tiempo mediante estos ciclos del reloj y para realizarse, cada acción toma cierto número de ciclos del reloj. Cuando se procesa una solicitud de la memoria, por ejemplo, el controlador de la memoria puede informar al procesador que los datos requeridos llegarán en seis ciclos de reloj.

Es posible que el CPU y otros dispositivos funcionen más rápido o más lento que el reloj del sistema. Los componentes de distintas velocidades requieren un factor de multiplicación o un factor de división para sincronizarlos. Por ejemplo, cuando un reloj del sistema de 100MHZ interactúa con un CPU de 400MHZ, cada dispositivo entiende que cada ciclo de reloj del sistema es igual a cuatro ciclos de reloj del CPU; éstos utilizan un factor de cuatro para sincronizar sus acciones.

Mucha gente asume que la velocidad del procesador es la velocidad de la computadora. Sin embargo, la mayor parte del tiempo, el bus del sistema y otros componentes funcionan a distintas velocidades.


MAXIMIZACIÓN DEL DESEMPEÑO
Las velocidades del procesador de la computadora se han incrementado rápidamente durante los últimos años. Un incremento en la velocidad del procesador aumenta el desempeño general de la computadora. Sin embargo, el procesador sólo es parte de la computadora y se debe apoyar en otros componentes en un sistema para tener funciones completas. Debido a que toda la información que el CPU va a procesar se debe escribir o leer desde la memoria, el desempeño general de un sistema se afecta seriamente dependiendo de qué tan rápido pueda viajar la información entre el CPU y la memoria principal.

Por lo tanto, las tecnologías de memoria más rápida contribuyen bastante al desempeño general del sistema. Sin embargo, el incremento de velocidad de la memoria misma sólo es parte de la solución. El tiempo que toma para que la información viaje entre la memoria y el procesador generalmente es mayor que el tiempo que toma para que el procesador realice sus funciones. Las tecnologías e innovaciones descritas en esta sección están diseñadas para darle velocidad al proceso de comunicación entre la memoria y el procesador.

MEMORIA CACHÉ
La memoria caché es una cantidad relativamente pequeña (normalmente menos de 1MB) de memoria de alta velocidad que reside muy cerca del CPU. La memoria caché está diseñada para proporcionar a la CPU los datos e instrucciones que se solicitan con más frecuencia. Debido a que la recuperación de los datos en la memoria caché toma una fracción del tiempo que toma el accesarla desde la memoria principal, el tener una memoria caché puede ahorrar mucho tiempo. Si la información no está en la memoria caché, todavía se debe recuperar la memoria principal, pero la verificación de memoria caché toma tan poco tiempo que lo vale. Esto es parecido a verificar que en el refrigerador haya la comida que se necesita antes de correr a la tienda y comprarla: es probable que lo que necesite esté ahí; si no, sólo toma un momento en verificarlo.

El concepto detrás de la memoria caché es la regla "80/20" que establece que todos sus programas, información y datos en la computadora, aproximadamente de 20% se utiliza el 80% del tiempo. (Este 20% de datos puede incluir el código requerido para enviar o eliminar correos electrónicos, guardar un archivo en la unidad de disco duro o simplemente reconocer las teclas que se presionaron en el teclado. En forma inversa, el 80% restante de los datos en el sistema se utiliza aproximadamente el 20% del tiempo. La memoria caché tiene sentido debido a que hay una gran posibilidad de que los datos e instrucciones que el CPU está utilizando ahora se necesitarán una vez más.

CÓMO FUNCIONA LA MEMORIA CACHÉ
La memoria caché es como una "lista rápida" de instrucciones necesarias para el CPU. El controlador de memoria guarda en la memoria caché cada instrucción que solicita el CPU; cada vez que el CPU obtenga una instrucción que necesita de la memoria caché (llamada un "uso de caché"), esa instrucción se mueve a la parte superior de la "lista rápida". Cuando la memoria caché está llena y el CPU necesita una nueva instrucción, el sistema sobrescribe en la memoria caché los datos que no se han utilizado durante el periodo más largo de tiempo. De esta forma, la información prioritaria que se utiliza continuamente se queda en la memoria caché, mientras que la información que se utiliza con menor frecuencia se elimina.

NIVELES DE MEMORIA CACHÉ
Actualmente, la mayoría de la memoria caché esta incorporada al chip del procesador mismo; sin embargo, son posibles otras configuraciones. En algunos caso, un sistema puede tener una memoria caché localizada dentro del procesador, justo fuera del procesador en la tarjeta madre y/o puede tener un socket de memoria caché cerca del CPU, que puede contener un módulo de memoria caché. Sin importar la configuración, cualquier memoria caché tiene un "nivel" asignado de acuerdo con su proximidad al procesador. Por ejemplo, la memoria caché que está más cercana al procesador se llama memoria caché de nivel uno (L1), el siguiente nivel de memoria caché se enumera L2, después L3, y así sucesivamente. Las computadoras con frecuencia tienen otros tipos de memoria caché además de esta memoria. Por ejemplo, algunas veces el sistema utiliza una memoria principal como memoria caché para la unidad de disco duro. Aunque no hablaremos sobre esto en este manual, es importante hacer notar que el término memoria caché se puede referir especialmente a la memoria y también a otros tipos de tecnologías de almacenamiento.

Puede tomar hasta 195ns para que la memoria principal satisfaga una solicitud de memoria del CPU. La memoria caché externa puede satisfacer una solicitud de memoria del CPU hasta 45ns.

Usted podría preguntar: Si el tener la memoria caché cerca del procesador es tan benéfico, ¿por qué no se utiliza memoria caché para toda la memoria principal? Por una sencilla razón, la memoria caché generalmente utiliza un tipo de chip de memoria llamado SRAM (RAM estático), que es más caro y requiere más espacio por megabyte que el DRAM, que normalmente se utiliza para la memoria principal. Así mismo, mientras la memoria caché mejora el desempeño general del sistema, esto se hace hasta cierto punto, el beneficio real de la memoria caché es el almacenar las instrucciones que se utilizan con más frecuencia. Una memoria caché más grande mantendría más datos, pero si eso no se necesita con frecuencia, no hay un gran beneficio en tenerlo junto al procesador.

DISPOSICIÓN DE LA TARJETA DEL SISTEMA
Como tal vez ya lo sepa, la colocación de los módulos de memoria en la tarjeta del sistema tiene un efecto directo en el desempeño del sistema. Debido a que la memoria local debe mantener toda la información que el CPU necesita procesar, la velocidad a la que pueden viajar los datos entre la memoria y el CPU es muy importante para el desempeño general del sistema. Y debido a que los intercambios de la información entre el CPU y la memoria tienen un tiempo tan limitado, la distancia entre el procesador y la memoria se convierte en otro factor importante en el desempeño.

INTER-ESTRATIFICACIÓN
El término Inter-estratificación se refiere a un proceso en el que el CPU alterna la comunicación entre dos o más bancos de memoria. La tecnología de Inter-estratificación generalmente se utiliza en sistemas grandes tales como servidores o estaciones de trabajo. Esta es la forma en que funciona: Cada vez que el CPU se dirige a un banco de memoria, el banco necesita aproximadamente un ciclo de reloj para "restablecerse". El CPU puede ahorrar tiempo de procesamiento dirigiéndose al segundo banco mientras se establece el primer banco. La Inter-estratificación también puede funcionar dentro de los chips de memoria para mejorar el desempeño. Por ejemplo, las celdas de memoria dentro del chip SDRAM se dividen en dos bancos de celdas independientes, que se pueden activar en forma simultánea. La Inter-estratificación entre dos bancos de celdas produce un flujo continuo de datos. Esto reduce la longitud del ciclo de memoria y da como resultado velocidades más rápida de transferencia.

EXPLOSIÓN
La explosión es otra tecnología de ahorro de tiempo. El propósito de una explosión es proporcionar al CPU los datos adicionales desde la memoria con base en la posibilidad que se puede necesitar. Por lo tanto, en lugar de que el CPU recupere información de la memoria pieza por pieza, ésta toma un bloque de información de varias direcciones consecutivas de memoria. Esto ahorra tiempo debido a que hay una similitud estadística con la siguiente dirección de datos que el procesador solicitará y éste será secuencial con el anterior. De esta forma el CPU obtiene instrucciones que necesita sin tener que enviar una solicitud individual para cada una. La explosión puede funcionar con diferentes tipos de memoria y puede funcionar cuando se leen o se escriben datos.

ENTUBADO
El entubado es una técnica de procesamiento de la computadora cuando una tarea se divide en una serie de etapas, terminando parte del trabajo en cada uno. A través de la división de una tarea grande en varias pequeñas, las tareas superpuestas, el entubado se utiliza para mejorar el desempeño más allá de los que es posible con un procesamiento no entubado. Una vez que se inicia el flujo a través de los tubos, la velocidad de ejecución de las instrucciones es alta, a pesar del número de etapas a través de las cuales pasan.

Tanto la explosión como la tubería se hicieron populares aproximadamente al mismo tiempo que la tecnología EDO se puso a disposición de la gente. Los chips EDO que caracterizaron estas funciones se llamaron "EDO de explosión" ó "EDO de explosión de tubería".


© 2008 Kingston Technology Company - All Rights Reserved