Home

      Comment post English
x

Select your language

EnglishEspañol

Cómo funciona la memoria de una computadora


28 people like this


Si uno se pone a pensar en todos los tipos de memoria electrónica que existen, se encontraría con un gran número de ellos, muchos de los cuales se han vuelto ya parte de nuestra vida cotidiana. Algunos de los términos más utilizados para referirse a tipos de memoria electrónica son:

  • Memoria RAM (Random Access Memory - Memoria de Acceso Aleatorio)
  • Memoria ROM (Read Only Memory - Memoria de sólo lectura)
  • Memoria Cache
  • Memoria RAM Dinámica o DRAM (Dynamic RAM)
  • Memoria RAM Estática o SRAM (Static RAM)
  • Memoria Flash
  • Memoria Virtual
  • Memoria de Video o VRAM

La mayoría de los usuarios de computadoras saben que sus máquinas utilizan memoria para funcionar; pero lo que muchos desconocen es que la mayoría de los dispositivos electrónicos utilizados hoy día también cuentan con algún tipo de memoria; entre dichos dispositivos se encuentran:

  • Teléfonos celulares
  • Consolas de juego
  • Reproductoras y grabadoras de DVD
  • Televisores
  • Tablets

En este artículo les explicaré todo acerca de las memorias de computadora, desde qué significan los términos más utilizados hasta cómo funcionan.
 

La memoria de la computadora

La memoria cumple un papel muy importante en la computadora y su funcionamiento, ya que se trata del dispositivo donde se almacena temporalmente toda la información con la que trabajan los microprocesadores para procesarla y devolver los resultados que los usuarios requieren.

Se podría realizar la siguiente analogía; imaginen un empleado que debe realizar una serie de tareas contables. El cajón donde se guardan los documentos administrativos, podría considerarse equivalente a un disco duro; los documentos son equivalentes a los datos e información a procesar; el escritorio o mesa de trabajo donde se apilan dichos documentos sería equivalente a la memoria de la computadora donde se almacena temporalmente la información que se encuentra en procesamiento; mientras que la persona o su cerebro vendría a ser como un procesador que realizará las distintas tareas:

  • Primero se sacan del cajón (disco duro) los documentos administrativos y se los lleva a un escritorio (memoria) donde se apilan para poder trabajar.
  • Se toma un primer documento de la pila para que el empleado (microprocesador) realice los cálculos necesarios, así como otras tareas y finalmente se ingresan las modificaciones o resultados de datos procesados en dicho documento.
  • Se regresa dicho documento procesado a otra parte del escritorio (memoria) donde se colocarán los documentos procesados.
  • Luego se toma otro documento de la pila de documentos no procesados y se repiten los dos pasos anteriores. Eso se reitera una y otra vez hasta que todos los documentos hayan sido procesados.
  • Finalmente cuando se terminan de procesar todos los documentos, los cuales se encuentran apilados en la parte del escritorio (memoria) de documentos ya procesados, se toman y se vuelven a guardar en el cajón (disco duro) de almacenamiento de archivos.

La analogía anterior es una buena comparación del modo de funcionar de una computadora; y específicamente de la memoria. Ahora veamos un ejemplo concreto de cómo funciona la memoria de una computadora en la práctica, durante la realización de una tarea cotidiana.

  • Un usuario se dispone a modificar un documento con un procesador de texto. Para eso abre un programa de procesamiento de texto que supongamos se llama Word (muy original lo mio), y que se encuentra almacenado en su disco duro. La orden que le envía este usuario a la computadora para abrir dicha aplicación mediante un mouse, viaja en forma de pulsos eléctricos y llega hasta la memoria, colocándose temporalmente en un espacio de la misma. Después el microprocesador recibe un aviso de que en una cierta ubicación de la memoria hay una nueva orden y la pasa a buscar. La misma es leída por el microprocesador, indicándole que debe abrir un programa de procesamiento de texto llamado Word y que se encuentra almacenado en el disco duro de la computadora.
  • A continuación la orden se elimina tanto del procesador como de la memoria, para que dicho espacio no sea ocupado por algo que ya ha sido utilizado. De esta manera el procesador le envía la orden a un controlador especial ubicado en la placa madre (motherboard), que vendría a ser como un empleado de transportes que lleva la información de un dispositivo a otro. Dicho controlador toma la aplicación llamada Word, que está almacenada en el disco duro y la lleva hasta la memoria, colocándola en un espacio vacío de la misma para poder trabajar con ella.
  • El microprocesador comienza a poner en operación a Word una vez ubicado en la memoria. El microprocesador de la computadora necesita utilizar la memoria ya que no tiene suficiente espacio de almacenamiento para trabajar con tanta información, por lo que la almacena temporalmente en la memoria donde sí hay mucho espacio para poder operar con información de gran tamaño. Procesa de a partes cada pedazo de la información ubicada en la memoria, trayéndolos y llevándolos una y otra vez del procesador a la memoria y vice versa. Una buena analogía es verlo como que un empleado administrativo no tiene suficiente capacidad de almacenamiento en sus manos para trabajar (procesar) todos los documentos; por lo que los apoya en su mesa de trabajo o escritorio (memoria) donde hay más espacio; tomando a cada instante determinado únicamente los documentos que necesita y luego devolviéndolos a un espacio del escritorio donde puedan ser apoyados mientras realiza otras tareas.
  • Una vez que Word se encuentra cargado (así se dice técnicamente) en memoria y funcionando, el usuario envía otra orden con el mouse que le indica a la computadora que abra un archivo de texto (supongamos que se llama examen.doc), el cual también se encuentra almacenado en el disco duro. De esta manera la orden de abrir dicho documento de texto se carga en un espacio (dirección se dice técnicamente) vacío de memoria donde puede ser recogido por el microprocesador.
  • El microprocesador luego recibe un aviso de que hay una instrucción aguardando en una dirección de la memoria. Por lo que la busca, se la lleva y la procesa. La misma como ya sabemos, le indica que debe abrir un archivo de texto llamado examen.doc que se encuentra almacenado en el disco duro de la computadora.
  • A continuación nuestro microprocesador elimina la instrucción ubicada en la memoria para que no ocupe espacio innecesariamente. Después le envía la orden a ese controlador de memoria ubicado en la placa madre o motherboard, para que vaya a buscar a examen.doc del disco duro y lo coloque en la memoria.
  • Dicho controlador toma el archivo del disco duro y lo transporta hasta la memoria colocándolo en espacios o direcciones vacías de la memoria. Es bueno en este punto explicar que la información, instrucciones y datos viajan de un dispositivo a otro (microprocesador, memoria, disco duro, etc) a través de algo llamado bus de datos, que no son otra cosa más que esas líneas o circuitos impresos de cobre que se ven sobre la placa madre o motherboard si se abre la computadora.
  • Una vez que el archivo examen.doc se encuentra en la memoria; el microprocesador utiliza los recursos del programa Word que también se encuentra en la memoria, para poder procesar a examen.doc.
  • Ya en este momento nuestro usuario puede realizar una serie de tareas utilizando las herramientas del programa Word, con lo que se harán modificaciones en el documento de texto abierto. Durante esta instancia de trabajo se darán una infinidad de instrucciones, procesamientos de datos en el microprocesador así como millones de transferencias de porciones de datos entre la memoria y el microprocesador, las cuales se irán traduciendo a texto modificado acorde a las necesidades del usuario.
  • Una vez finalizados los trabajos del usuario con el documento, guardará los cambios. En ese momento el usuario a través del mouse envía la orden de guardar los cambios. Dicha instrucción viaja hasta la memoria; a continuación el microprocesador recibe un aviso de nueva orden; la toma de la memoria, la lee y luego la elimina para que no ocupe espacio innecesario de la memoria.
  • Acto seguido le envía una orden a controlador de memoria, que se encarga de transportar información de la memoria a otros dispositivos y vice versa a través del bus de datos. Dicha orden consiste en guardar el documento de texto con el que se trabajó, realizando un copia exacta en el disco duro de cómo se encuentra modificado y se ve en memoria; también con su mismo nombre original, examen.doc; lo cual significa que será sobrescrito.
  • Una vez concluidas las tareas, el usuario envía con su mouse la orden de cerrar Word; la cual viaja a través del cable del mouse hasta la placa madre y una vez ahí a través del bus de datos hasta la memoria de la computadora.
  • El microprocesador recibe un aviso de orden, la pasa a buscar de su ubicación en memoria, la lee y luego la elimina para que no ocupe espacio innecesario de la memoria. Dicha instrucción le ordena que cierre a Word, lo cual técnicamente no es otra cosa más que quitarlo del espacio que ocupa en memoria. Por lo tanto procede a quitarlo de la memoria, así como a examen.doc. ATENCION: No lo elimina del disco duro, que es donde se encuentra almacenado el original de Word, sino que quita la copia temporal de dicho programa que se encuentra almacenada temporalmente en la memoria para trabajar.
Microprocesador, memoria y disco duro

Los datos e información en uso son copiados del disco duro en una parte de la memoria RAM, para que puedan ser procesados por el microprocesador que va tomando de a porciones a dichos datos e información y los procesa, trayéndolos y llevándolos de la memoria RAM constantemente - Cliquear para ampliar imagen

 
Lo que se describió recién es lo que ocurre en todo momento cuando trabajamos con una computadora y sintetiza bastante bien la importancia que tiene la memoria para que un sistema funcione correctamente y pueda realizar todas las tareas.

Aunque técnicamente se considera memoria a todo tipo de dispositivo de almacenamiento electrónico, usualmente se utiliza el término para referirse a dispositivos de almacenamiento temporal y alta velocidad de acceso, como lo es la memoria principal de la computadora.

Pero muchos se preguntarán; por qué en lugar de utilizar la memoria para trabajar, el microprocesador no utiliza los discos duros; el motivo es simple, velocidad; ya que los discos duros son mucho más lentos que la memoria, puesto que para acceder a la información se depende de la velocidad de rotación de los discos que tiene adentro y que son mucho más lentos que un módulo de memoria que permite acceder a la información almacenada temporalmente en él en lapsos de tiempo de nanosegundos (mil millonésimas de segundo). Un artículo que explica muy bien cómo funcionan los discos duros es Cómo funcionan los discos rígidos.

Si el microprocesador tendría que trabajar con el disco duro, todo funcionaría más lentamente, por lo que se requieren dispositivos más rápidos.

Cuando se está utilizando la computadora todas las instrucciones y datos van a parar a la memoria RAM (Random Access Memory - Memoria de Acceso Aleatorio).

Pero existe un tipo de memoria aún más veloz que la RAM, se trata de la memoria Cache, la cual es un tipo de memoria más costosa pero mucho más rápida y que se encuentra en todas las computadoras pero que tiene menor capacidad de almacenamiento, dados sus altos costos. Pueden llegar a tener capacidades de aproximadamente 12 MB (Megabytes) a comparación de la memoria RAM que cuenta con varios Gigabytes de capacidad (si no conocen bien cuánto es un byte les recomiendo que lean Qué son los bytes y los bits).

La memoria
Cache se utiliza para trabajar con los datos e instrucciones que el microprocesador ve que se utilizan más seguido, entonces para no tener que ir a buscarlos una y otra vez de la memoria RAM que es más lenta, coloca una copia de esos datos en la memoria Cache para tenerlos a mano. La memoria Cache se encuentra dentro del microprocesador y se divide en tres niveles (levels en inglés) L1, L2 y L3. La memoria Cache L1 es la más rápida y se encuentra dentro de los núcleos del microprocesador, la L2 es un poco más lenta pero igualmente hoy día se encuentra incorporada también dentro del microprocesador (antiguamente se encontraba al lado del microprocesador en la placa madre) y tiene mayor capacidad que la L1; finalmente la L3 es la más lenta de las tres pero la que mayor capacidad tiene, siendo aún así mucho más veloz que la memoria RAM instalada en la placa madre o motherboard de la computadora.

Por ejemplo en los procesadores de tipo Intel i5 cuentan con memorias Cache L1 dentro de cada núcleo del procesador las cuales se encuentran divididas en memoria Cache L1 para datos y memoria Cache L1 para instrucciones de 32 kilobytes cada una. En cuanto a la memoria Cache L2 de estos procesadores, cada núcleo cuenta con 256 kilobytes para almacenar tanto datos como instrucciones. Finalmente la memoria Cache L3 se encuentra dentro del conjunto del procesador pero fuera de los núcleos y es compartida por cada uno de ellos; es más lenta que las L1 y L2 pero igualmente mucho más rápida que la memoria RAM ubicada en la placa madre o motherboard; este tipo de modelo de microprocesador cuenta con aproximadamente 12 Megabytes de L3.

Así en una computadora del año 2012 se podía encontrar un microprocesador multinúcleo de 4 nucleos; 32 kilobytes de L1 para datos y 32 kilobytes de L1 para instrucciones en cada núcleo, dando un total de 256 kilobytes de L1; 256 kilobytes de L2 en cada núcleo para dar un total de 1 Megabyte de L2; y 12 MB de L3 compartidos por todos los núcleos. En cuanto a su memoria RAM ubicada en la placa madre podía contar con 4 Gigabytes o mucho más de la misma.

Todos los dispositivos de la computadora; como el microprocesador, el disco duro y la memoria entre otros, trabajan en equipo, y la memoria podría decirse que es uno de los componentes más importantes de este equipo. Desde el primer momento en que se enciende la computadora hasta el momento en que se apaga, el microprocesador hace uso constante de la memoria.

Jerarquía de dispositivos de almacenamiento
Los dispositivos de almacenamiento de izquierda a derecha disminuyen en velocidad y aumentan en capacidad de almacenamiento - Cliquear para ampliar imagen

 
Veamos lo que sucede desde que se enciende la máquina:

  • Se enciende la computadora y el microprocesador necesita programas o aplicaciones para funcionar y hacer las distintas tareas, pero como todavía no puede leer nada desde su disco duro simplemente porque no sabe que existe y tampoco sabe cómo hacerlo; lee las primeras instrucciones desde un tipo de memoria no volátil (o sea que no se borra) que se encuentra de fábrica en la placa madre, llamada ROM (Read Only Memory - Memoria de Sólo Lectura); de ella lee la primera instrucción que se llama POST (Power-On Self-Test - Auto Prueba de Encendido) la cual le ordena que haga un chequeo de funcionamiento de los componentes más importantes del sistema. Como parte de esta prueba el controlador de memoria hace un chequeo de todas las direcciones de memoria para ver que no hayan daños físicos en sus chips, escribiendo un bit en cada celda de memoria y luego leyendo a cada uno de esos bits (un bit es un pulso eléctrico, la menor cantidad de información posible en una computadora, para más información les recomiendo que lean Qué son los bytes y los bits).
  • Una vez que la memoria se encuentra en funcionamiento se carga en la misma un programa llamado BIOS (Basic Input Output System) que provee información acerca de los dispositivos de almacenamiento con que cuenta la computadora (discos duros, lectoras de DVD); información sobre cuál es el disco de arranque que contiene el sistema operativo que se cargará en memoria para poder trabajar con la computadora; información sobre dispositivos como adaptadores de video, sonido y otros con que cuenta el sistema, y otro tipo de información. Es como una presentación de todos los componentes que forman parte del equipo; de esta forma cada vez que el microprocesador quiera enviar o recibir una instrucción de cada uno de éstos, sabrá dónde encontrarlos simplemente buscando su dirección o identificador cargado en la memoria RAM en el momento en que se encendió la máquina.
  • Como el microprocesador ya sabe de la existencia del disco duro de arranque, que contiene un sistema operativo para que podamos trabajar; pasa a cargar dicho sistema operativo en la memoria RAM (por ejemplo Windows, Linux, Unix o Mac OS, entre otros). El sistema operativo es lo que permite que podamos manejar la computadora e interactuar con ella. Se puede decir que es el programa más importante de todos y el que permite que podamos cargar otros programas como juegos, reproductores de audio y video, procesadores de texto, exploradores Web, etc. El sistema operativo permanece cargado todo el tiempo en la memoria RAM hasta que se apaga la computadora, ya que nuestro microprocesador hará uso del mismo a cada instante, por lo que lo necesita en la memoria para tener acceso inmediato a sus recursos.
  • Una vez que se cargó el sistema operativo podemos comenzar a trabajar con la computadora. Cuando se abre un programa o aplicación, el mismo es cargado en la memoria RAM; pero para conservar espacio de la misma, inicialmente solamente carga las partes esenciales de dicho programa y eventualmente cargará otros pedazos según sea necesario.
  • Una vez que una aplicación haya sido cargada en la memoria, todo archivo que se abra para ser utilizado en dicha aplicación también será cargado en la memoria.
  • Una vez que se haya terminado de trabajar con un archivo, si se guardan los cambios realizados, éstos serán almacenados en el disco duro. Pero cuando se cierra el archivo el mismo será inmediatamente eliminado o quitado de la memoria RAM, para que dicho espacio esté disponible a otros recursos.
  • Si se cierra la aplicación con la que trabajamos también se elimina de la memoria.

Cada vez que algún archivo o aplicación se abre se carga en la memoria RAM; para que el microprocesador tenga acceso inmediato a esta información, dado que la memoria es muchísimas veces más rápida que el disco duro, haciendo que se pueda trabajar más velozmente.

El microprocesador toma los datos e instrucciones de la memoria RAM, los procesa y devuelve los resultados ya procesados escribiéndolos en la memoria en un ciclo continuo. Este ida y vuelta de datos entre el microprocesador y la memoria ocurre millones de veces por segundo. Una vez que se cierra una aplicación, ella y los archivos que funcionan bajo la misma (por ejemplo un editor de imágenes y las imágenes editadas) se quitan instantáneamente de la memoria, para dar espacio a otros datos. Si los archivos con los que se trabajó no se guardan en un dispositivo de almacenamiento permanente (como por ejemplo un disco duro) se pierden para siempre.

 

Tipos de memoria de una computadora

 
En una computadora hay varios tipos de memoria, ordenados en jerarquías de velocidad y capacidad.

  • Memoria Cache L1, L2 y L3
  • Memoria RAM
  • Memoria Virtual
  • Disco Duro

 
Cuanto más bajamos en la lista desde la memoria Cache hacia el disco duro, decrece la velocidad de los distintos tipos de memoria y aumenta su capacidad.

Los microprocesadores actuales son muy rápidos y funcionan a miles de millones de ciclos por segundo Ghz (Gigahertz), lo cual significa que pueden procesar miles de millones de bytes por segundo. Por esta razón requieren de dispositivos de almacenamiento temporal de alta velocidad que puedan seguirle el ritmo, de lo contrario se detendría para aguardar que la información le llegue.

Sin embargo hay un pequeño problema, y es que la memoria que puede funcionar a la misma velocidad del microprocesador es muy cara; y en grandes cantidades harían inalcanzable los costos de una computadora personal hogareña.

Pero los ingenieros encontraron una solución a este problema, utilizando el tipo de memoria más veloz, Cache, en pequeñas cantidades, y la memoria RAM en mayores cantidades. Cada vez que el microprocesador se da cuenta que un segmento de datos o información se utiliza de manera reiterada, toma una copia de la RAM y la carga en la memoria Cache. Y a su vez de esta información la más utilizada la lleva a la Cache de nivel 1, o sea L1, que se encuentra dentro de los mismos núcleos del microprocesador, funcionando a la misma velocidad de éstos. Los datos que utiliza un poco menos los coloca en la memoria Cache L2, que también se encuentra dentro de los núcleos, pero es un poco más lenta que la anterior, sin embargo puede tener mayor capacidad, mientras que el resto de la información "cacheada" la coloca en la L3 que puede llegar a tener como 12 Megabytes en promedio.

En el próximo nivel de jerarquía se encuentra la memoria principal de la computadora, la memoria RAM, que a pesar de ser más lenta que la memoria Cache, es muchísimo más rápida que el disco duro y se puede tener en grandes cantidades a un precio accesible; por lo que cuando se trabaja, la mayor parte de la información se carga en ella y solamente aquellas pequeñas porciones que se utilizan seguido van hacia la memoria Cache. De este tipo de memoria hablaremos más adelante con mucho detalle ya que es la que más nos interesa en este artículo.

Después en el nivel de jerarquías le sigue la memoria virtual que no es otra cosa más que una porción del disco duro dedicada exclusivamente a "sostener" temporalmente los pedazos de los programas y datos en ejecución que se utilizan menos o que ocupan espacio innecesario en algún momento determinado y es preferible colocarlos en una zona de reserva donde siempre estarán listos para ser utilizados cuando se los requiera, pero que no ocuparán innecesariamente los espacios limitados de la memoria.

Por lo general hacia 2012 era normal tener 4 Gigabytes de memoria RAM en la computadora, pero qué ocurriría si se comienzan a utilizar simultáneamente programas que requieren mucho espacio, como por ejemplo un juego, mientras se está bajando una película para ver luego y el siempre presente sistema operativo funcionando a todo momento (especialmente Windows Vista que derrocha gracias a sus recursos y algunas fallas de programación mucho espacio de memoria); la solución es reservar un espacio de memoria virtual en el disco duro (por ejemplo en mi computadora, que cuenta con 3 Gigabytes de memoria RAM, el sistema operativo Windows 7 me recomienda reservar 4 Gigabytes de memoria virtual). Con la memoria virtual, cada vez que hay algún recurso de un programa que ocupa mucho volumen de la memoria RAM y todavía no se está utilizando, se coloca hasta próximo aviso en la memoria virtual. De esta forma esa parte disponible puede ser utilizada por otros recursos en uso.

La clave para un mejor rendimiento de la computadora y depender menos de la memoria virtual, siempre es tener mayor cantidad de memoria RAM; de esta manera cuando se está trabajando con muchos programas y tareas a la vez, solamente se puede percibir que se está utilizando la memoria virtual cuando se pasa de un programa a otro ocurriendo una pequeñísima pausa de hasta quizá 1 segundo, y nada más. Sin embargo si este no es el caso y se cuenta con poca memoria RAM y la computadora tiene que mover constantemente información entre la memoria RAM y la memoria virtual del disco duro, el funcionamiento de la máquina se vuelve muy lento, provocándose un efecto indeseado llamado hiperpaginación (thrashing en inglés). El término proviene de páginas, ya que las porciones de la memoria RAM que se almacenan temporalmente en la memoria virtual del disco duro se guardan en archivos temporales llamados archivos de página, que en Windows tienen la extensión .SWP

Es bueno dejar claro que la memoria virtual, simplemente sirve para "sostener" porciones de un programa que no se está utilizando "todavía" pero que en cualquier momento sí se utilizará; y que dado que el disco duro es mucho más lento que la memoria RAM no es bueno depender mucho de ella; y lo mejor siempre es contar con la mayor cantidad posible de memoria RAM.

El tamaño en bits de un Microprocesador indica cuánta información puede procesar o manipular simultáneamente; por ejemplo un microprocesador de 32 bits puede procesar 4 bytes al mismo tiempo (ya que 32 bits equivalen a 4 bytes); mientras que un microprocesador de 64 bits puede procesar o manipular 64 bits simultáneamente. Por otro lado la velocidad de procesamiento por segundo de un microprocesador se mide en la cantidad de ciclos por segundo que marca su reloj, o sea que si tenemos un microprocesador de 2 Ghz (Gigahertz) o ciclos por segundo; cuenta con cuatro núcleos, y puede realizar tareas en cada "pulso" o ciclo del reloj; si es de 64 bits (o sea que puede procesar 64 bits simultáneamente) puede procesar potencialmente hasta 64 Gigabytes de información por segundo (2000 millones x 64 x 4 / 8). Obviamente estos números no se dan en la realidad ya que tiene que traer y llevar esa cantidad de información de y hacia la memoria RAM, la cual no puede trabajar a la misma velocidad del microprocesador, de hecho es muchísimo más lenta, por lo que se tardan varios segundos en enviar una cantidad tan grande de información, además que hacia el año 2012 la mayoría de las computadoras hogareñas no contaban con semejante cantidad de memoria RAM, lo más común era tener unos 4 Gigabytes.

La velocidad del los módulos de memoria depende de la velocidad del bus, o sea las pistas del circuito impreso de la placa madre por la que viaja la información de un dispositivo a otro, y más concretamente de la velocidad del reloj del bus que une la memoria con el microprocesador. Además depende de la cantidad de bits (pulsos eléctricos) que se transfieren a la vez a través del bus que pueden ser 32 bits en máquinas más viejas o 64 bits en placas madre de computadoras comunes del año 2012

Asi, si el módulo de memoria RAM se encuentra en una placa madre con un bus que funciona a 400 Mhz (400 millones de ciclos por segundo) y en cada ciclo del reloj se realiza una transferencia de datos; y el bus es de 64 bits, o sea que se pueden transferir 64 bits simultáneamente por las pistas del bus en cada ciclo; si multiplicamos 400.000.000 x 64 = 25.600.000.000 bits por segundo, y como cada byte está compuesto por 8 bits, si dividimos 25.600.000.000 / 8 = 3.200.000.000; esto significa que se pueden transferir teóricamente 3200 Megabytes por segundo. Obviamente estos números pueden variar por distintos motivos.

El principal motivo técnico que hace que estos números ideales de velocidad de transferencia de datos no se den es la latencia. Cuando se transporta la información de la memoria RAM a su microprocesador, también hay que tener en cuenta el tiempo en que tarda en leer dicha información de la memoria. Por ejemplo cuando se quiere transmitir una serie de datos primero hay que ir a buscarlos y si la lectura de dicha información puede durar 4 ciclos del reloj del bus, ese tiempo deberá ser sumado a los valores de tiempo de transferencia; en otras palabras si el reloj realiza 400.000.000 ciclos por segundo y en cada ciclo transporta 64 bits, esto significa que requiere 0,0000000025 segundos (2,5 nanosegundos; o sea 2,5 mil millonésimas de segundo) para transportar cada grupo de 64 bits, ya que cada ciclo del reloj del bus tiene una duración de 2,5 nanosegundos. Pero supongamos que para llegar a leer los bits que luego serán transferidos, como se mencionó antes, se necesita un tiempo de 4 ciclos del reloj del bus; por lo que tardará 2,5 x 4 = 10 nanosegundos adicionales en leer los datos; más 2,5 para transferirlos, entonces el tiempo total será de 12,5 nanosegundos; o sea 10 nanosegundos más que si la tarea consistiera únicamente en transferir los datos de la memoria a su microprocesador.
 
Por eso para entender mejor cómo funciona la memoria principal de la computadora, a continuación analizaremos la memoria RAM.
 

Cómo funciona la memoria RAM

La memoria RAM es el tipo de memoria más importante de la computadora, su nombre representa las siglas de Random Access Memory (Memoria de Acceso Aleatorio); la razón de dicho nombre es porque la misma está dividida en celdas de memoria donde se almacenan cada uno de los bits o pulsos eléctricos (que representan los 1 y 0) y a las cuales se puede acceder directamente indistintamente de su posición o dirección. Lo opuesto a la memoria RAM sería el tipo de memoria SAM o Serial Acces Memory (Memoria de acceso Serial) donde los datos se almacenan en serie uno después del otro y los cuales solamente pueden ser accedidos secuencialmente, como sucede por ejemplo con un cassette, donde para llegar a un determinado punto de la cinta hay que pasar primero por todos los puntos anteriores; mientras que en la memoria RAM los datos pueden ser accedidos en cualquier orden.
 
Así como el microprocesador, un chip de memoria es un circuito integrado, compuesto por millones de transistores y capacitores. La memoria RAM está dividida en celdas en donde se almacenan temporalmente cada uno de los bits que componen los bytes de la información con la que trabaja el microprocesador. Cada una de las celdas de la memoria que almacena un bit (1 o 0), se encuentra formada por un transistor y un capacitor. Mientras los capacitores sostienen los bits de información, los transistores actúan como interruptores que permiten a su controlador de memoria leer o modificar la información (los bits) que contienen cada una de las celdas. A este tipo de memoria con celdas formadas por un capacitor y un transistor se la denomina Dynamic Random Access Memory (Memoria de Acceso Aleatorio Dinámica) o por sus siglas DRAM; a continuación les explicaré la razón por la que la memoria que utiliza ese tipo de tecnología se denomina así.

Un capacitor es como una pequeña cubeta o balde que puede almacenar electrones; para almacenar un bit equivalente a 1, se llena el capacitor con electrones; mientras que para almacenar un bit igual a 0 se lo deja vacío. El único problema es que los capacitores son como cubetas o baldes con orificios, así que si hacemos una analogía sería como llenarlos con agua la cual se saldría por los orificios, por lo cual para mantenerlos llenos habría que echarles agua constantemente, de lo contrario se vaciarían rápidamente. Los capacitores funcionan exactamente igual, teniendo que ser recargados constantemente con electrones que representan la información, antes de ser vaciados, cosa que ocurre en cuestión de pocos milisegundos (para más información les recomiendo que lean Qué son los capacitores). Para mantener a los capacitores exactamente con la misma información de 1 (capacitores llenos de electrones) y 0 (capacitores vacíos) sin que se modifiquen, el controlador de memoria tiene que recargar los capacitores con 1 constantemente. Para hacer eso el controlador tiene que primero leer la memoria y rellenar los capacitores aún cargados con electrones (o sea los que representan a los bits 1) antes de que se descarguen. Esta operación de recarga ocurre automáticamente varias veces por segundo.

Entonces como los capacitores se vacían rápidamente si no fueran recargados toda la información pasarían a ser bits iguales a 0, por ende haciéndola desaparecer. Este proceso de recarga constante es de donde proviene el nombre de memoria dinámica RAM, ya que debe ser dinámicamente recargada todo el tiempo para no perder la información que almacena. El punto en contra de este tipo de tecnología es que hace que este tipo de memoria sea más lenta, el punto a favor es que es económica y se puede tener en grandes cantidades a diferencia de la memoria Cache.

Memoria DRAM 
Cliquear para ampliar imagen

 
LAS CELDAS DE MEMORIA DRAM
 
La memoria está formada por celdas de bits distribuidas en una grilla bidimensional. Las celdas de memoria (cada una compuesta por un capacitor y un transistor microscópicos) están grabadas en láminas u obleas de silicio, distribuidas en una matriz de columnas llamadas bitlines (líneas de bits) y filas llamadas wordlines (líneas de palabra), la intersección de una columna y una fila determinan la dirección de una celda de memoria.
 
La memoria DRAM funciona enviando una señal o carga eléctrica RAS (Row Address Strobe o Señal de Dirección de Fila) a la fila donde se encuentran las celdas cuyos transistores se van a activar para poder permitir pasar a los electrones que se almacenarán en los capacitores de las celdas. Una vez que la fila ha sido seleccionada mediante la señal RAS; para escribir los bits que representan a los 1, se envían cargas eléctricas CAS (Column Address Strobe o Señal de Dirección de Columna) a través de las correspondientes columnas para cargar con electrones a los capacitores de las celdas que representan bits 1, mientras que las celdas que representan bits 0 se mantienen vacías por lo que no se envían cargas a través de sus filas.

Por otro lado, para leer las celdas de la memoria de una fila, una vez seleccionada, mediante la CAS, la columna que contiene la celda que se quiere leer, un detector de carga llamado amplificador sensor (sense amplifier) determina el nivel de carga del capacitor de la celda que se está leyendo; si detecta carga suficiente lo considera un bit 1 de lo contrario lo considera un bit 0.

A su vez un controlador para mantener los capacitores de las celdas cargados, tiene que leer cuáles son las celdas cargadas y luego las vuelve a cargar. Todo este proceso de lectura y escritura ocurre en períodos de nanosegundos (mil millonésimas de segundo).
 

Las celdas de memoria (compuestas por un capacitor y un transistor) además dependen de otros componentes para que la información pueda ser recibida y enviada correctamente por y desde ellas. Algunas de las funciones que cumplen esos componentes son:
 

  • Identificar cada fila y columna de una celda (RAS y CAS)
  • Chequear la secuencia de recarga de celdas (contador); o sea que si se tienen que recargar una determinada cantidad de veces por segundo se van contando para saber cuándo hay que rellenarlas.
  • Leer y reescribir la carga de una celda (amplificador sensor)
  • Permitir o no permitir que una celda sea cargada (write enable - permiso de escritura)

Otras funciones del controlador de memoria incluyen tareas como detección del tipo, velocidad y cantidad de memoria; así como el chequeo de errores de escritura de datos, especialmente durante el proceso de recargado de celdas, en que todo tiene que permanecer igual.

Memoria dinamica
En la imagen se muestra una parte de la memoria, para que pueda ser graficada aquí; ya que en realidad contienen miles de millones de celdas de memoria, una para cada bit - Cliquear para ampliar imagen

 

LA MEMORIA ESTÁTICA RAM (SRAM)
 
La memoria estática RAM (SRAM) utiliza una tecnología diferente a aquella de la memoria DRAM. En la memoria estática cada celda de bit está compuesta por cuatro o seis transistores y algunos circuitos; logrando que no sea necesario refrescar la información recargando las celdas constantemente como sucede con la memoria dinámica. Eso hace que la memoria SRAM sea más rápida que la DRAM, sin embargo por tener más partes o componentes en cada celda, las mismas ocupan mayor espacio que las celdas de memoria DRAM, obteniéndose menor cantidad de bits de almacenamiento en un chip del mismo tamaño y por otro lado encareciendo los costos de las memorias por la mayor cantidad de partes

Dado que la memoria SRAM es más rápida y costosa que la memoria DRAM, se la utiliza para la memoria caché del microprocesador.

 
DIFERENTES CLASES DE MEMORIA:

DRAM: (Dynamic Random Access Memory - Memoria de Acceso Aleatorio Dinámica), es el tipo de memoria cuyas celdas de almacenamiento de bits están compuestas cada una por un capacitor y un transistor, requiriendo constante recarga o refrescamiento.

SRAM: (Static Random Access Memory - Memoria de Acceso Aleatorio Estática) cuenta con celdas compuestas cada una por cuatro a seis transistores; sin capacitores, por lo que no requieren recarga o refrescamiento de datos constante. Sin embargo, por la mayor cantidad de componentes que se hay en cada celda, ocupan mayor espacio, limitando la capacidad de almacenamiento por módulo así como encareciendo los costos. Se la utiliza principalmente como memoria cache.

FPM DRAM: (Fast Page Mode Dynamic Random Access Memory - Memoria Dinámica de Modo de Paginación Rápida) es un antiguo tipo de memoria DRAM; con el cual se implantó el modo de direccionamiento burst; este método aprovecha el hecho de que por lo general cuando se lee información de la memoria, la misma es leída de direcciones de memoria consecutivas; por lo que cada vez que realiza una operación de lectura, direcciona la primera celda y la lee junto con varias celdas consecutivas, evitando así varios procesos de direccionamiento de celdas contiguas. Sin embargo con este modo de acceso a la información de memoria primero se localizaba la celda de memoria ubicada en una determinada dirección (en el cruce de una fila y una columna) y a continuación se leía la informacion (bit 1 o 0) ubicada en la misma, sin poder proceder con la lectura de la siguiente dirección hasta no haber terminado con el procedimineto de lectura de la celda actual; o sea cada procedimiento de ubicación y lectura era individual para cada celda. Eran muy utilizadas en sistemas 486 y las primeras Pentium. La tasas de transferencia de la memoria RAM a cache L2 eran de hasta aproximadamente 176 Megabytes/s y los tiempos de acceso a cada dirección de memoria oscilaban los 70-80 nanosegundos (70-80 mil millonésimas de segundo).
 
EDO DRAM: (Extended Data-Out Dynamic Random Access Memory - Memoria DRAM de Salida Extendida de Datos); utiliza también el método de direccionamiento burst, sólo que es más rápida ya que ni bien termina de localizar una determinada celda, mientras la misma es leída comienza simultáneamente el procedimiento de localización de la siguiente celda de memoria; haciendo que sea aproximadamente un 5% más veloz que la memoria FPM y evitando así tiempos de demora. La tasa de transferencia de la memoria EDO RAM a cache L2 es de hasta aproximadamente 264 Megabytes/s y los tiempos de acceso a cada dirección de memoria oscilaban los 40 nanosegundos.

SDRAM: (Synchronous Dynamic Random Access Memory - Memoria Dinámica de Acceso Aleatorio Síncrona); así como la memoria EDO DRAM, también hace uso de la tecnología burst, con la que se aprovecha esa tendencia de que los datos leídos se encuentran por lo general en direcciones consecutivas, por lo que se leen varias direcciones seguidas durante un proceso de lectura. Además esta tecnología a diferencia de las anteriores que operaban al ritmo de un reloj independiente de aquel del bus de datos ubicado en la placa madre, hace que la memoria opere en sincronía con el reloj del bus de datos (hay que aclarar que todos los dispositivos en el hardware de la computadora se comportan como en una orquesta, realizando cada operación cada determinada cantidad de ciclos emitidos por un reloj o contador, por ejemplo una memoria de 100 Megahertz, o sea 100 millones de ciclos por segundo puede realizar hasta 100 millones de operaciones en cada segundo, o un microprocesador de 2 Gigahertz puede realizar hasta 2000 millones de tareas por segundo). Esta tecnología funciona en sincronía con el reloj central del bus; por lo que las operaciones de lectura y escritura de datos están sincronizadas con las otras tareas del sistema. Los primeros módulos disponibles eran de 66 Mhz (Megahertz o millones de ciclos por segundo), 100 Mhz y 133 Mhz. Por ejemplo en las memorias de 100 Mhz los tiempos de acceso podían llegar a oscilar los 10 nanosegundos. Las tasas de transferencias en un módulo de memoria SDRAM que opera a 133 Mhz y 32 bits (o sea que puede enviar o recibir 32 bits en cada ciclo del reloj) pueden llegar a aproximadamente 532 MB/s.

DDR SDRAM: (Double Data Rate Synchronous Dynamic Random Access Memory - Memoria Dinámica de Acceso Aleatorio Síncrona de Doble Tasa de Transferencia de Datos); es un tipo de memoria DRAM Síncrona, que funciona igual que las SDRAM, sólo que llega a una tasa de transferencia doble, ya que en cada ciclo del reloj envía el doble de datos; así en un módulo de 133 Mhz y un bus de datos de 64 bits se pueden transferir 2133 MB/s (133.000.000 ciclos/s x 8 bytes x 2). De este tipo de memoria las más comunes son de 100 Mhz, 133 Mhz, 166 Mhz, 200 Mhz y 266 Mhz, con tasas de transferencia de hasta 1600 MB/s, 2133 MB/s, 2667 MB/s, 3200 MB/s y 4264 MB/s respectivamente. Eran las más comunes entre los años 2001 y 2005.

DDR 2 SDRAM: Es igual que la Memoria de tipo DDR SDRAM, sólo que en lugar de poder operar con el doble de datos que una memoria SDRAM común en cada ciclo, opera con el cuádruple de datos por ciclo. Además son memorias de 64 bits, o sea que pueden transferir 64 bits simultáneamente en cada ciclo del reloj (en realidad 64 x 4, ya que en cada ciclo con la tecnología DDR 2 se pueden transferir el cuádruple de datos). Así en una memoria de 100 Mhz la tasa de transferencia puede llegar a 3200 MB/s (100.000.000 ciclos/s x 8 bytes x 4). Los módulos de memoria SDRAM DDR 2 más comunes trabajan a frecuencias de 100 Mhz, 133 Mhz, 166 Mhz, 200 Mhz con tasas de transferencia de hasta 3200 MB/s, 4266 MB/s, 5333 MB/s, 6400 MB/s respectivamente. Este tipo de memoria comenzó a ser la más utilizada en computadoras hogareñas a partir de 2007 hasta 2012. Además gastan menos energía, por lo que generan menos calor, ya que trabajan a voltajes inferiores a las DDR.
 
DDR3 SDRAM: Igual en funcionamiento a las otras dos, sólo que se pueden transferir en cada ciclo del reloj, el doble de datos que en una memoria DDR 2, el cuádruple que en una memoria DDR y óctuple de una memoria SDRAM común. Así como las DDR 2 y DDR, también trabajan en bus de datos de 64 bits. De esa manera en una memoria de 100 Mhz la tasa de transferencia puede llegar hasta 6400 MB/s (100.000.000 ciclos/s x 8 bytes x 8). Comenzaron a comercializarse desde 2007 pero recién se volvieron las más utilizadas o populares en 2012. Gastan menos energía que las DDR, trabajando a menor voltaje que las DDR2, por lo que son térmicamente más eficientes.
 

Módulos de memoria

 
E
l tipo de plaquetas o módulos de memoria RAM para computadoras de escritorio, así como sus conectores han evolucionado en los últimos años.

Los primeros modelos eran exclusivos para cada marca de computadora, por lo que solamente funcionaban en sus respectivos sistemas. Este tipo de módulos que se utilizaban en computadoras 286; se denominaban SIPP (Single In-Line Pin Package - Paquete de Pines en Línea Individual). Contaban con 30 pines, pero resultaban muy frágiles, ya que sus pines solían romperse con facilidad.

Luego llegaron los módulos SIMM, cuyas siglas en inglés significan Single In-line Memory Module (Módulo de Memoria de Línea Individual); se los denomina de esa forma porque sus contactos se comparten de ambos lados de la plaqueta o módulo de memoria. Los módulos SIMM llevan memorias DRAM, cuyos chips están colocados de un sólo lado de las plaquetas.

Los primeros módulos de este tipo utilizaban conectores de 30 pines o terminales y aproximadamente 9 x 2 cm. En la mayoría de las computadoras había que instalar los módulos SIMM de a pares, ya que cada uno podía enviar y recibir 8 bits de datos en cada instante mientras que los bus de datos de las placas madres donde se insertaban eran de 16 bits; así con dos módulos SIMM se cubría la cantidad de bits que podían enviarse y recibirse por el bus de datos. Cada módulo tenía que tener la misma capacidad y velocidad, por lo que si se necesitaban 32 MB de memoria se debían colocar dos módulos SIMM de 16 MB. De esta forma cada módulo enviaba 8 bits en cada instante y entre los dos 16 bits cubriendo el ancho del bus.

Con la llegada de las computadoras con microprocesadores Intel 80486, y sus placas madre con bus de datos de 32 bits, se instauraron los módulos SIMM con conectores de 72 pines y ancho de 32 bits. Sus dimensiones eran de 11 x 2,5 cm. Dado que con los módulos de 30 pins se requerían cuatro de ellos para poder cubrir el ancho del bus de datos de 32 bits, los módulos de 72 pines solucionaron ese problema con sus 32 bits, ya que con un sólo módulo era suficiente para cubrir el ancho del bus de datos.

Cada conjunto de módulos requeridos para llenar los 16 bits o 32 bits (según la placa madre) se denomina banco de memoria; así en un sistema de 16 bits con módulos de memoria de 8 bits, cada banco de memoria estaba compuesto por 2 módulos; y en sistemas con bus de 32 bits y memorias de 32 bits, había un sólo módulo por banco de memoria.
 
Los módulos SIMM de 30 pines comenzaron a comercializarse a principios de los años '80, con la llegada de los sistemas 286. Dichos módulos SIMM venían con capacidades de 256 KB, 1 MB, 4 MB y 16MB. Fueron populares a lo largo de aquella década hasta la introducción de los sistemas 486 con buses de datos de 32 bits a principios de los años '90, lo que popularizó a los módulos SIMM de 72 pines, a lo largo de la última década del siglo XX, y que fueron utilizados en sistemas 486, Pentium, Pentium Pro y los primeros Pentium II. Venían en módulos con capacidades de 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB y 128 MB.

Los chip de memoria incluidos en los módulos SIMM de 30 pines y los primeros de 72 pines, eran de tipo FPM DRAM (descrito en la sección anterior) y de tipo EDO DRAM (también descrito en la sección anterior) en los módulos SIMM de 72 pines.

Con el desarrollo de tecnologías más veloces y mayor ancho de banda en los buses de datos, la industria adoptó un nuevo tipo de módulos de memoria; los DIMM (Dual In-line Memory Module - Módulo de Memoria de Doble Línea), cuyas dimensiones son de 14 x 2,5 cm y cuentan con 168 pines (84 pines de cada lado del módulo); su nombre justamente deriva del hecho de que poseen terminales o pines separados de ambos lados de la plaqueta o módulo de memoria.

Comenzaron a popularizarse a partir del año 2000 con los sistemas Pentium II; los cuales contaban con un bus de datos de 64 bits, y son el tipo de módulo más utilizado hasta el momento. Una de sus ventajas era que por ser de 64 bits, no requería la colocación de dos módulos de 32 bits para llenar un banco de 64 bits, como sucedía con los módulos SIMM de 32 bits, ya que con un módulo DIMM era suficiente para cubrir el ancho de banda del bus de datos de sistemas Pentium.

El tipo de memoria en estos módulos es SDRAM, y cuentan con capacidades que van de 16 MB a 512 MB por módulo de memoria DIMM. Fueron utilizadas principalmente en sistemas Pentium II y en los Pentium III , así como en los AMD K6, AMD Athlon K7 y Duron.

Existe una variante más pequeña en dimensiones (5 x 2.5 cm) de los módulos DIMM de 168 pines con memoria de tipo SDRAM que se denomina SO-DIMM (Small Outline Dual In-line Memory Module - Módulo de Memoria de Doble Línea de Diseño Pequeño), la cual se utiliza en computadoras de tamaño más compacto como las notebook; y cuenta con 144 pines.

Luego llegaron los módulos DIMM de 184 pines para memorias de tipo DDR SDRAM así como las SO-DIMM de 200 pines para el mismo tipo de memorias en computadoras más compactas como las notebooks. Los módulos SO-DIMM de 200 pines también se usan para memorias DDR2 sólo que difieren de las DDR por la ubicación de una pequeña muesca en la zona de contacto para evitar que se instalen en ranuras de tipo DDR.

Con la implementación de memorias de tipo DDR2 y DDR3 en computadoras de escritorio se desarrollaron los módulos DIMM de 240 pines. Por otro lado en computadoras compactas con memoria DDR3 comenzaron a implementarse módulos SO-DIMM de 204 pines.

Los módulos DDR 2 y DDR 3 de computadoras de escritorio, a pesar de tener la misma cantidad de terminales, difieren en la posición de una pequeña muesca en la zona de contacto que evita que sean instaladas en sockets o ranuras incompatibles.

Para el tipo de memoria DDR SDRAM existen módulos DIMM con capacidad de hasta 4 GB. Mientras que de DDR3, hacia 2012, habían módulos de 32 GB.

Diferencias entre modulos de memoria
Diferencias entre módulos de memoria - Cliquear para ampliar imagen

Latencia de memoria

Una medida que se suele utilizar para medir el nivel de eficiencia de un módulo de memoria es la latencia, la cual está firmemente vinculada con el proceso electrónico de lectura y escritura de los datos en la memoria SDRAM. Para decirlo con palabras simples, la latencia mide la cantidad de tiempo que se tarda en obtener de la memoria cada bit de información, o sea el tiempo que pasa desde que el controlador de memoria pide en nombre del microprocesador una serie de datos y dichos datos son obtenidos.

Cada chip de memoria está compuesto por 8 grillas de celdas (cada una formada por un transistor y un capacitor) que almacenan cada bit de información. Las mismas están formadas por filas y columnas en cuyos cruces se encuentran cada una de las millones de celdas donde se almacenan los bits de información.

También se mencionó que los chips de memoria SDRAM funcionan en sincronía con el reloj del bus de la placa madre, por lo que cada tarea realizada en la memoria se mide en ciclos del reloj del sistema. Así, si el bus funciona a 100 Mhz (100 millones de ciclos por segundo), cada ciclo dura 1 segundo / 100.000.000 ciclos por lo tanto 0,00000001 segundos o lo que equivale a 10 nanosegundos (mil millonesimas de segundo).

Cada proceso de lectura o escritura en memoria requiere una cierta cantidad de ciclos. Por ejemplo para leer o escribir un bit de información sucede lo siguiente:

  1. El controlador de memoria envía la dirección de la fila donde se encuentra la celda a leer o escribir. La fila es activada. Para que eso ocurra se requieren una cierta cantidad de ciclos.
  2. Una vez activada la fila, se envía la dirección de la columna donde se encuentra la celda a leer o escribir, lo cual también requiere otra cierta cantidad de ciclos para ocurrir.
  3. Sigue la lectura o escritura del bit de información de la celda de memoria, así como la lectura o escritura de bits de celdas subsiguientes.
  4. Una vez que se terminó la lectura o escritura de las celdas de una determinada fila y se requiere pasar a otra, se envía una señal o comando denominado de "precarga", con que se desactiva la fila actual. Esta señal tarda una cierta cantidad de ciclos del reloj. Una vez desactivada se puede comenzar todo el proceso desde el primer punto enviando una señal a otra fila que se quiere activar.

La latencia de los chips de memoria se califica utilizando cuatro valores, cada uno de los cuales representa la cantidad de ciclos de reloj que se requieren para cada una de las tareas mencionadas en la lista anterior:
 
 
tCAS: Tiempo requerido en ciclos de reloj para activar una determinada columna donde se encuentra la celda a leer o escribir. O sea la cantidad de ciclos de reloj que tarda una señal CAS en activar una columna de memoria.
 
tRCD: (RAS to CAS delay - Demora de RAS a CAS) representa la cantidad de ciclos de reloj que pasan entre la activación de una fila de memoria y el envío de una señal de activación de columna CAS.

tRP: (Row Precharge - Precarga de Fila) representa la cantidad de ciclos que se necesitan para desactivar una determinada fila y activar otra fila de memoria.

tRAS: Representa la mínima cantidad de ciclos de reloj que una determinada fila permanecerá activa para leer o escribir un bit de una fila, desde el momento en que se realiza la orden del controlador de memoria. La misma equivale a la suma de tRCD + tCAS + una cierta cantidad de ciclos adicionales que pueden ser 2 a 4 ciclos, para darle tiempo suficiente a la información a ser leída o escrita. O sea que esto equivale a la cantidad de ciclos que pasan entre que una fila ha sido activada y tRP (Precarga de Fila) en que la misma será desactivada. También hay que tener en cuenta que con el método de lectura burst cada vez que se quiere leer información de la memoria la misma es leída de a varias celdas previendo que las mismas serán necesarias; por lo que tRAS representa la mínima cantidad de tiempo que una fila permanecería activa si solamente se leyera un bit; pero como es usual leer varios bits seguidos en cada proceso de lectura, por lo general las filas permanecen más tiempo activas que tRAS.

Por ejemplo si se tiene un módulo de memoria cuyas latencias especificadas son 4-4-4-12 las mismas representan respectivamente a tCAS-tRCD-tRP-tRAS. Siendo tCAS probablemente el valor más importante de los cuatro, ya que cuando se leen o escriben bits de información de celdas contiguas en una determinada fila, son varias columnas de cada celda las que tienen que ser activadas repetidamente mediante señales tCAS; determinando así este valor el rendimiento de los chips de memoria.

Veamos un ejemplo concreto:

Un módulo DIMM de memoria SDRAM de 1 Gigabyte de memoria a 200 Mhz y valores de latencia 4-4-4-12; está compuesto por ocho chips de 1 Gigabit cada uno. A su vez, cada uno de los chips contiene ocho grillas o matrices (bancos de memoria) de 128 megabits (8192 filas x 16384 columnas).

Ya que el módulo tiene un ancho de 64 bits, o sea que envía o recibe 64 bits o pulsos eléctricos simultáneamente, cada uno de los ocho chips del módulo de memoria deben proveer o recibir 8 bits durante una tarea de lectura o escritura de información. De esta manera durante la lectura de datos, entre los ocho chips podrán cubrir los 64 bits que se deben enviar simultáneamente (en sistemas de 64 bits esa cantidad de información se denomina palabra).

Además hay que tener en cuenta que con el método de lectura burst, que prevé que serán necesarios los siguientes datos de una serie, se envía más de una palabra (64 bits) en cada proceso de lectura, ya que se leen ocho palabras de 64 bits (8 bytes), dando un total de 512 bits o 64 bytes leídos.

También hay que tener en cuenta que en este sistema cada ciclo del bus de datos dura 1/200.000.000 segundos o sea 0,000000005 segundos (5 ns o nanosegundos).

Entonces si se realiza una operación de lectura la controladora de memoria emitirá en nombre del microprocesador una señal de activación del primer banco o matriz de cada uno de los chips del módulo de memoria, dicha señal se denomina ACTIVE. Si por ejemplo se requieren 2 ciclos del reloj para activar un banco, esta parte del proceso tardará 10 ns (2 x 5 ns).

Una vez activado el primer banco de cada uno de los chips, se emitirá la señal RAS, con la dirección de la fila que se activará y que contiene las celdas a leer. Como también se requieren 4 ciclos del reloj para activar una fila (tRCD: 4), esta parte del proceso tardará 20 ns (4 x 5 ns). De esta manera quedará activada en paralelo la misma dirección de fila en cada una de las primeras matrices de cada chip.

Luego se enviará una señal CAS con la dirección de la columna que se activará y que contiene la primera celda a leer de la fila activa. Dicho proceso también tarda 4 ciclos de reloj (tCAS: 4) por lo que pasarán 20 ns (4 x 5 ns) hasta que se pueda comenzar a leer el bit ubicado en la celda del cruce de la fila activa con la columna recién activada. Esa misma dirección de columna se activa en paralelo en cada uno de los primeros bancos de memoria de cada chip.

Hasta este punto en que se activaron la fila y la columna de la primera celda de memoria a leer en paralelo de cada una de las primeras matrices de cada chip pasaron 50 ns.

Mientras se lee el bit de la celda de la misma dirección en cada una de las primeras matrices de los chips del módulo de memoria, puede comenzar a enviarse la señal CAS que activará la siguiente columna de la grilla. Esto es posible desde la implementación de la tecnología EDO (Extended Data-Out- Salida Extendida de Datos), ya mencionada. En memorias más antiguas, había que esperar a que se termine de leer el bit de información antes de continuar con la siguiente columna. Los bits leídos son enviados a un espacio de almacenamiento temporal de la memoria, llamado buffer de entrada/salida.

Para activar la siguiente columna donde se encuentra la celda a leer, en paralelo en cada chip del módulo, se envía la señal CAS a la columna siguiente a activar; lo cual tarda 4 ciclos del reloj, o sea otros 20 ns. Así se continúa con las siguientes seis columnas, en períodos de 4 ciclos o 20 ns, hasta juntar 64 bits en buffer.

Ya que cada byte de información se obtiene luego de leerse simultáneamente 8 bits de cada uno de los chips del módulo de memoria, para juntar 64 bits deberán enviarse ocho señales CAS a las columnas consecutivas a leer de cada chip. Por lo que todo el proceso de lectura de 64 bits tardará; 50 ns para leer los primeros 8 bits en paralelo de cada chip, más (20 x 7) ns para la lectura en paralelo de las columnas subsiguientes; o sea un total de 190 ns.

Pero como también se mencionó, con el método burst de lectura, previendo que se van a necesitar los datos subsiguientes, en cada proceso de lectura se leen ocho palabras o conjuntos de 64 bits, dando un total de 512 bits de información (64 bytes). Como el ancho del bus es de 64 bits, los datos se envían del buffer de entrada/salida a microprocesador, de a grupos de 64 bits simultáneamente; por lo que los 512 bits son enviados en ocho tandas de 64 bits.

Todo el proceso de lectura de los 512 bits tardará (180 x 8) ns + 10 ns (de activación inicial de matriz o banco) dando un total de 1450 ns o 290 ciclos de reloj.

Una vez finalizado, mediante una señal tRP (Row Precharge - Precarga de Fila), se desactiva la fila desde donde se leyeron los datos y se abre otra fila, repitiéndose el proceso de lectura de otros 512 bits (64 bytes). La desactivación de una fila y la posterior activación de otra, requieren 4 ciclos de reloj (20 ns) adicionales.

El proceso recién descrito se realiza millones de veces por segundo. Por eso cuanto más pequeños son los tiempos de latencia de un módulo mejor rendimiento tendrá la memoria. Así, si tenemos dos módulos de memoria que funcionan con la misma frecuencia pero el primero presenta valores de latencia de 4-4-4-12 y el segundo de 10-10-10-26; la primera memoria tendrá un mejor rendimiento.

Proceso de lectura de memoria

En este ejemplo leen las celdas ubicadas donde se cruzan la fila 4 con la columna 420 a 427. Luego de cada una de las lecturas se envían los datos a un espacio de almacenamiento temporal llamado Buffer de Entrada/Salida, donde se mantienen temporalmente los bits leídos hasta juntarse 64 de ellos y poder ser enviados por bus de datos. Cada etapa de lectura toma un tiempo (latencia) para ejecutarse. La activación del primer banco de memoria de cada uno de los chips, la posterior activación de la fila 4 de cada banco 1 de cada chip, luego la de la columna 420 y las celdas posteriores hasta llenar Buffer - Cliquear para ampliar imagen
   
      

Latencias de memoria

Latencias tRCD, tCAS y tRP - Cliquear para ampliar imagen
 

Qué es memoria DDR

Las memorias de tipo DDR (Double Data Rate - Doble Tasa de Transferencia de Datos) también son memorias SDRAM, o sea que realizan transferencias de datos en sincronía con el reloj del bus de datos de la placa madre. La diferencia es que las SDRAM simples (hoy también conocidas como SDRAM SDR, por Simple Data Rate o sea Tasa de Transferencia de Datos Simple), pueden transmitir por cada línea del bus de datos a la controladora de memoria y microprocesador en cada ciclo del reloj del bus un bit, mientras que las memorias DDR tienen la capacidad de enviar 2 bits por cada pulso de reloj; uno durante la primera mitad del ciclo y otro durante la segunda mitad; logrando así transmitir doble cantidad de información por cada ciclo del reloj.

Esta característica da un efecto o apariencia de que las memorias de tipo DDR operan a una frecuencia doble de la del reloj del bus, por esa razón se las etiqueta comercialmente con un valor doble de la frecuencia del reloj del bus en la que realmente operan; así un módulo de memoria DDR-400 trabaja a 200 Mhz. La ventaja de esta tecnología es que operando a la misma frecuencia de una memoria SDRAM simple se pueden transmitir una cantidad doble de información por cada ciclo del reloj.

Por ejemplo, una memoria SDRAM DDR-400 que opera a 200 Mhz; tendrá la siguiente tasa de transferencia por segundo:

(200.000.000 ciclos/s) x (64 bits de ancho del bus de datos) x (2 bits enviados en cada ciclo por cada línea del bus) / 8 bits por cada byte = 3200 MB/segundo.

Tasas de transferencia DDR vs SDR
Cliquear para ampliar imagen

Hay que aclarar que las memorias se comercializan indicando las máximas tasas de transferencia posibles si en cada pulso de reloj se transmiten bits de información; aunque en la práctica se requiere a veces un poco más de un ciclo para transmitirlos. Sin embargo lo que sí queda claro es que con las memorias de tipo SDRAM DDR se puede transmitir un doble de información por segundo que con una memoria SDRAM simple o SDR. De esta manera si por ejemplo en una memoria SDRAM SDR se transmiten los bits de información cada 2 ciclos, en una memoria que opera en la misma frecuencia pero es de tecnología SDRAM DDR, cada 2 ciclos se transmite una cantidad doble de bits, siendo transmtidos los de la primera mitad durante el primer ciclo y los de la otra mitad durante el segundo ciclo.

Luego aparecieron en 2003 las memorias de tipo DDR 2 y en 2007 las DDR 3; reemplazando una a la otra, dadas las mejoras en rendimiento que proporcionaron.

Primero llegaron las SDRAM DDR 2, destinadas a reemplazar a las SDRAM DDR. Algunas de las diferencias que presentan las DDR 2, es que pueden operar a frecuencias mayores y además transmiten una cantidad doble de bits que las DDR por cada ciclo de reloj y un cuádruple que las SDR. Esto lo logran gracias a que el bus interno de la memoria que transporta los bits de la matriz de celdas a un buffer de entrada/salida (espacio de la memoria donde se almacenan temporalmente los datos durante un proceso de lectura o escritura hasta llenar los 64 bits que se enviarán o escribirán) y viceversa, tiene un ancho de 4 bits en las DDR 2 mientras que en las DDR es de 2 bits.

Luego llegaron las SDRAM DDR 3, para reemplazar a las SDRAM DDR 2; las cuales pueden a su vez operar a frecuencias de reloj mayores y que además cuentan con un bus interno, entre los bancos de memoria de los chips y el buffer de entrada/salida, de 8 bits en lugar de 4 bits pudiendo así enviar y recibir una cantidad doble de datos que las DDR 2 y un cuádruple que las DDR.

Para graficar mejor este concepto vamos a ver un ejemplo:

Imaginemos que hay tres módulos de memoria, uno de tipo DDR-400, otro DDR 2 - 400 y otro DDR 3 - 400 (en realidad las DDR 3 - 400 no existen, pero supongamos que sí para poder seguir con nuestro ejemplo).

Estas memorias trabajan externamente a 200 Mhz transmitiendo 2 bits de información por ciclo del reloj a través de cada una de las pistas del bus de datos que conectan la memoria con su controlador y posteriormente con la CPU; logrando que la frecuencia aparente sea del doble, o sea 400 Mhz.

Sin embargo dentro de la memoria las cosas son algo distintas. En su interior hay otro bus de datos interno que conecta a los bancos de los chips con el buffer de entrada/salida. Dicho bus es independiente del bus externo en cuanto a frecuencia de reloj; por lo que para que coincidan las frecuencias aparentes (también llamadas efectivas), que en este caso son de 400 Mhz, el mismo opera también a 200 Mhz (en la memoria DDR) y cuenta con dos líneas por donde se transmiten 2 bits en cada pulso de reloj, lográndose así un efecto de 400 Mhz también en su interior.

En las memorias de tipo DDR 2, este bus interno que conecta las matrices de los chips con un buffer de entrada/salida, tiene cuatro líneas por lo que para equiparar los 400 Mhz de frecuencia efectiva o aparente, se requiere un bus interno con frecuencia de 100 Mhz, que gracias a su ancho de 4 bits, puede transmitir 4 bits por cada ciclo, logrando una frecuencia aparente de 400 Mhz.

En la memorias de tipo DDR 3, su bus interno tiene un ancho de 8 bits, por lo que en cada ciclo se transmiten de las matrices a buffer 8 bits. De esta manera para equiparar la frecuencia aparente interna con la frecuencia aparente del reloj del bus de datos externo (400 Mhz); se requiere una frecuencia para el bus interno de 50 Mhz. A continuación se da una imagen aclaratoria:

Diferencias entre memorias DDR
Diferencias entre los buses internos de las memorias DDR, DDR 2 y DDR 3 - Cliquear para ampliar imagen

 
Por lo tanto si se duplica la cantidad de líneas del bus interno del módulo en cada nueva generación de memorias de tipo DDR, se duplica la frecuencia aparente máxima. Entonces las memorias DDR - 400, DDR 2 - 800 y DDR - 1600; todas tienen un bus interno que opera a la misma frecuencia de 200 Mhz.

Además cada nueva generación de memorias de tipo DDR funciona con un menor voltaje que la anterior, haciendo que consuman menos energía. Por lo tanto la memoria DDR 2 operan con un menor voltaje que las DDR y a su vez las DDR 3 funcionan con un menor voltaje que las DDR 2. Trabajar con voltajes menores también reduce la producción de calor por parte de los módulos.
 
Tabla con distintos modelos de memorias DDR, DDR 2 y DDR 3 (la frecuencia efectiva o aparente técnicamente se denomina transferencias por segundo, por lo que la misma se indica en MT/s o sea Megatransferencias por segundo o millones de transferencias por segundo) .

 

Tipo de Memoria Reloj del bus interno
(MHz)
Duración de cada ciclo
(ns)
Reloj del bus de datos
(MHz)
Tasa de transferencia de datos
(MT/s)
Nombre de módulo Tasa de transferencia máxima
(MB/s)
Latencias
(tCAS-tRCD-tRP)
DDR-200 100 10 100 200 PC-1600 1600  
DDR-266 133⅓ 7.5 133⅓ 266⅔ 2133⅓ 2133⅓  
DDR-333 166⅔ 6 166⅔ 333⅓ 2666⅔ 2666⅔  
DDR-400A
DDR-400B
DDR-400C
200 5 200 400 PC-3200 3200 2.5-3-3
3-3-3
3-4-4

 
 

Tipo de Memoria Reloj del bus interno
(MHz)
Duración de cada ciclo
(ns)
Reloj del bus de datos
(MHz)
Tasa de transferencia de datos
(MT/s)
Nombre de módulo Tasa de transferencia máxima
(MB/s)
Latencias
(tCAS-tRCD-tRP)
DDR 2 - 400B
DDR 2- 400C
100 10 200 400 PC2-3200 3200 3-3-3
4-4-4
DDR2- 667C
DDR2- 667D
166⅔ 6 333⅓ 667 PC2-5300 5333⅓ 4-4-4
5-5-5
DDR2 - 800C
DDR2 - 800D
DDR2 - 800E
200 5 400 800 PC2-6400 6400 4-4-4
5-5-5
6-6-6
DDR2 - 1066E
DDR2 - 1066F
266⅔ 533⅓ 1066⅔ PC2-8500 8533⅓ 6-6-6
7-7-7


 

Tipo de Memoria Reloj del bus interno
(MHz)
Duración de cada ciclo
(ns)
Reloj del bus de datos
(MHz)
Tasa de transferencia de datos
(MT/s)
Nombre de módulo Tasa de transferencia máxima
(MB/s)
Latencias
(tCAS-tRCD-tRP)
DDR3-800D
DDR3-800E
100 10 400 800 PC3-6400 6400 5-5-5
6-6-6
DDR3-1066E
DDR3-1066F
DDR3-1066G
133⅓ 7 12 533⅓ 1066⅔ PC3-8500 8533⅓ 6-6-6
7-7-7
8-8-8
DDR3-1333F
DDR3-1333G
DDR3-1333H
DDR3-1333J
166⅔ 6 666⅔ 1333⅓ PC3-10600 10666⅔ 7-7-7
8-8-8
9-9-9
10-10-10
DDR3-1600G
DDR3-1600H
DDR3-1600J
DDR3-1600K
200 5 800 1600 PC3-12800 12800 8-8-8
9-9-9
10-10-10
11-11-11
DDR3-2133K
DDR3-2133L
DDR3-2133M
DDR3-2133N
266⅔ 3 34 1066⅔ 2133⅓ PC3-17000 17066⅔ 11-11-11
12-12-12
13-13-13
14-14-14


La nomenclatura que se utiliza para definir los módulos de memoria de tipo DDR sigue un patrón establecido que describe sus características: DDRx-yyyy PCx-zzzz; donde x define la generación DDR, yyyy la frecuencia aparente o efectiva (en Megatransferencias por segundo) y zzzz la máxima tasa de transferencia de datos (en Megabytes) por segundo que se puede lograr entre un módulo de memoria y su controlador. Esta tasa depende de dos factores, ancho de bus de datos (siempre de 64 bits) y la frecuencia efectiva de trabajo, mientras que para calcularla se utiliza la siguiente fórmula:

Frecuencia DDR efectiva x 64 bits / 8 bits por cada byte

Veamos algunos ejemplos:

1 GB DDR-400 PC-3200: Indica que se trata de un módulo de 1 GB (Gigabyte) de tipo DDR, frecuencia aparente o efectiva de trabajo de 400 Mhz o para ser más correctos 400 Megatransferencias por segundo y una tasa de transferencia de datos máxima de 3200 MB/s.

4 GB DDR3-2133 PC3-17000: Indica que se trata de un módulo de 4 GB de tipo DDR3, frecuencia aparente o efectiva de trabajo de 2133 Mhz o para ser más correctos 2133 Megatransferencias/s y una tasa de transferencia de datos máxima de 17000 MB/s.
 
 

Cómo se comunican las memorias

 
Se ha mencionadado varias veces a un controlador de memoria que se encarga de gestionar cada tarea de la memoria, comunicando las instrucciones del microprocesador, interviniendo en cada transferencia de información de y hacia la memoria, y estableciendo el ritmo o "velocidad" con que se realizan las operaciones a través de su reloj que marca millones de ciclos por segundo (medidos en Mhz o Megahertz).
 
Dicho controlador de memoria puede encontrarse en uno de los siguientes dos lugares:

  • En un chip ubicado en la placa madre entre los módulos de memoria y la CPU o microprocesador, y que se denomina Northbridge o MCH (Memory Controller Hub - Centro de Control de Memoria).
  • En sistemas más modernos se encuentra incorporado dentro del microprocesador.

 
La memoria se encuentra conectada con su controlador a través del bus, que no es otra cosa más que una serie de pistas de cobre (que actúan como cables) impresas en la placa madre o motherboard, por las cuales se transporta la información. Dicho bus se divide en tres subgrupos: data bus (bus de datos), address bus (bus de direcciones) y control bus (bus de control).

A través del bus de datos, compuesto por 64 pistas paralelas, se transporta toda la información de a un bit por pista, logrando transmitir de a 64 bits simultáneos, de la memoria a su controlador y vice versa.

A través del bus de direcciones se envía la dirección de memoria (posición en la matriz) donde se encuentra la información que se quiere leer o donde se va a escribir.

A través del bus de control se envían los comandos o instrucciones de acciones a ejecutar en memoria como por ejemplo escritura, lectura u otras operaciones. Otro de los aspectos más importantes del bus de control es lo que se denomina clock signal (señal de reloj), que establece la frecuencia o ritmo de trabajo en la que se comunican ambos dispositivos.

 Como se comunican las memorias
Cómo se comunican las memorias con el controlador de memoria y CPU - Cliquear para ampliar imagen

La tecnología o tipo de memoria que se puede utilizar depende del controlador de memoria, determinando si se pueden utilizar módulos de tipo DDR, DDR 2 o DDR 3. Ya que las tres tecnologías son incompatibles una con la otra se necesitan placas madre o motherboards exclusivos para cada versión DDR; por lo que si se quiere cambiar de tipo de tecnología DDR se deberá también cambiar la placa madre.

Visualmente esto se puede verificar inmediatamente chequeando las ranuras o sockets de memoria de la placa madre, que están diseñadas de una manera particular para que en las mismas se puedan instalar solamente memorias de un determinado tipo; ya que cada tecnología DDR posee algunas pequeñas diferencias físicas en sus módulos que impiden que sean conectados en ranuras incompatibles. Por ejemplo los módulos DDR tienen una conexión de 184 pines, mientras que las DDR 2 y DDR 3 poseen 240 pines. Por su parte, las DDR 2 y DDR 3 a pesar de tener la misma cantidad de pines, poseen una muesca en posiciones distintas para cada tecnología que impide instalarlas en sockets o ranuras incompatibles.

Otro aspecto a tener en cuenta es la máxima cantidad de memoria que un sistema puede reconocer; lo cual dependerá del ancho del bus de direcciones, si el mismo es de 32 bits podrá direccionar hasta 4 Gigabytes de memoria (232). En principio las computadoras modernas de 64 bits podrían direccionar hasta 16 Exabytes (264), pero como se trata aún de un número muy grande, las computadoras actuales están preparadas con un bus de direcciones de 52 bits para direccionar hasta 4 Petabytes (252), una cantidad que por ahora es técnicamente imposible de lograr dado los tamaños de los chip de memoria; sin embargo en los próximos años es posible que se logren producir módulos con esa capacidad.

Además hay que tener en cuenta que los controladores de memoria definen un límite máximo de direcciones (por ende capacidad) de memoria que se pueden instalar, por ejemplo se puede tener un sistema cuyo controlador de memoria puede operar hasta 32 Gigabytes.
 
 

Qué es memoria Dual Channel

Dado que las memorias RAM son mucho más lentas que el microprocesador, se pierde mucho rendimiento que sería posible en una computadora ideal donde la memoria principal del sistema funciona a la misma frecuencia que el microprocesador y aún así teniendo las mismas capacidades en bytes que las actuales. Pero como ya se ha hablado con anterioridad sobre aquello, aumentarían muchos los costos e incluso las dimensioes físicas para lograr una memoria así de varios gigabytes de espacio; por lo que se tienen que idear técnicas alternativas para mejorar el rendimiento de las mismas lo más posible como por ejemplo con el uso de memoria caché, o el desarrollo de tecnologías de transmisión de datos como la DDR. Otra técnica que se ha inventado para mejorar su performance es la de Dual Channel (Doble Canal), la cual consiste en duplicar el ancho de banda de comunicación entre la memoria y el controlador de la misma.

El Dual Channel es una tecnología con la que cuentan algunos controladores de memoria la cual les permite ensanchar el bus de datos que los une con los módulos de memoria de 64 bits a 128 bits. Si los valores de frecuencia de reloj, latencias, entre otros se mantienen iguales; teóricamente el monto de datos transmitidos por segundo debería duplicarse, ya que como vimos depende de la fórmula:
 

Frecuencia del reloj del bus x tasa de datos transferidos por ciclo (2 en tecnologías DDR) x bits transferidos por ciclo / 8 bits por byte = Bytes transmitidos por segundo

Por ejemplo:
 

Si se tiene una memoria DDR3-2133 PC3-17000 en un bus de datos que opera a 1067 Mhz se puede lograr una tasa de transferencia de datos por segundo de:
 

1067 x 2 x 64 / 8 = 17072 MB / s
 

Si se tienen dos módulos de memoria con dual channel activado, se podrá enviar una cantidad doble de bits por ciclo que con un bus de canal simple que opera a 64 bits por ciclo.

Para entenderlo mejor, analicemos primero un sistema sin dual channel, en donde el bus de datos conecta a través de 64 pistas paralelas a todos los sockets o ranuras de memoria con el controlador. Por lo tanto todos los sockets donde se instalan las memorias comparten las 64 pistas del bus de datos por donde se transmiten los bits. Cada vez que se transmiten la información se hace desde un módulo de memoria a la vez, que envía o recibe 64 bits simultáneos a o desde el controlador.

En un sistema con dual channel se puede enviar o recibir desde o hacia dos módulos de memoria simultáneamente, ya que cada uno cuenta con su propio canal de 64 bits. Por lo tanto para poder aprovechar los 128 bits deben utilizarse de a dos módulos, o sea dos o cuatro; cada par debe estar colocado en las ranuras del mismo color de la placa madre y sus módulos deben ser idénticos, contando con la misma capacidad, frecuencia, así como iguales latencias. También se debe contar con una placa madre que soporte dual channel (la cual cuenta con ranuras o sockets de memoria de dos colores distintos indicando que los dos módulos que operarán en dual channel deben estar instalados en las del mismo color). De esta forma se puede lograr que la información se transmita de a 128 bits simultáneos.

Cada pista del bus de datos se identifica como Dxx, donde xx representa número de pista. En un bus de datos de canal simple con 64 pistas se identifican de D00 a D63; mientras que en un bus de datos de canal doble (dual channel), en su primer canal, las pistas se identifican de D00 a D63 y en su segundo canal de D64 a D127. La imagen nos grafica su funcionamiento.

Memoria dual channel
Memorias instaladas en bus de canal simple vs bus de canal doble (dual channel) - Cliquear para ampliar imagen


28 people like this

Share
Related Articles

Suggested posts
Follow Youbioit






Comments

 excelente informacion 

 excelente informacion 

Siempre me ha apasionado la

Siempre me ha apasionado la neurología como ciencia y la informática como hobby. Debo reconocer que me he pasado muchas horas trasteando con redes neuronales en ordenadores, casi tantas como en  mi lugar de trabajo luchando con las neuronas de mis pacientes. En cuanto al publicado artículo me parece excelente, amplio, profundo, didáctico. Muy bueno, de verdad.
Saludos a todos

 Increible como evolucionan

 Increible como evolucionan las memorias y la informatica

Post new comment

The content of this field is kept private and will not be shown publicly.