stringtranslate.com

Memoria RAM XDR

Memoria RAM XDR.

La memoria DRAM XDR ( memoria de acceso aleatorio dinámico de velocidad de datos extrema ) es una interfaz de memoria de acceso aleatorio dinámico de alto rendimiento . Se basa en la RDRAM y la reemplaza . Otras tecnologías competidoras son la DDR2 y la GDDR4 .

Descripción general

La tecnología XDR fue diseñada para ser eficaz en sistemas de consumo pequeños y de gran ancho de banda, aplicaciones de memoria de alto rendimiento y GPU de gama alta. Elimina los problemas de latencia inusualmente alta que plagaron las primeras formas de RDRAM. Además, la DRAM XDR pone un gran énfasis en el ancho de banda por pin, lo que puede beneficiar un mayor control de costos en la producción de PCB. Esto se debe a que se necesitan menos carriles para la misma cantidad de ancho de banda. Rambus posee los derechos de la tecnología. Sony utiliza XDR en la consola PlayStation 3. [1]

Especificaciones técnicas

Actuación

Características

Requisitos de potencia

Facilidad de diseño del sistema

Estado latente

Protocolo

Las señales de alta velocidad de un chip de RAM XDR son una entrada de reloj diferencial (reloj del maestro, CFM/CFMN), un bus de solicitud/comando de un solo extremo de 12 bits (RQ11..0) y un bus de datos diferencial bidireccional de hasta 16 bits de ancho (DQ15..0/DQN15..0). El bus de solicitud puede estar conectado a varios chips de memoria en paralelo, pero el bus de datos es punto a punto; solo se le puede conectar un chip de RAM. Para admitir diferentes cantidades de memoria con un controlador de memoria de ancho fijo, los chips tienen un ancho de interfaz programable. Un controlador de DRAM de 32 bits de ancho puede admitir 2 chips de 16 bits, o conectarse a 4 chips de memoria, cada uno de los cuales suministra 8 bits de datos, o hasta 16 chips configurados con interfaces de 2 bits.

Además, cada chip tiene un bus serial de baja velocidad que se utiliza para determinar sus capacidades y configurar su interfaz. Este consta de tres entradas compartidas: una línea de reinicio (RST), una entrada de comando serial (CMD) y un reloj serial (SCK), y líneas de entrada/salida de datos seriales (SDI y SDO) que están conectadas en cadena y, finalmente, se conectan a un solo pin en el controlador de memoria.

Todas las líneas de un solo extremo son activas-bajas ; una señal afirmada o un 1 lógico se representa mediante un voltaje bajo.

El bus de solicitud funciona a una velocidad de datos doble en relación con la entrada del reloj. Dos transferencias consecutivas de 12 bits (que comienzan con el flanco descendente de CFM) forman un paquete de comandos de 24 bits.

El bus de datos funciona a una velocidad 8 veces superior a la del reloj; un reloj de 400 MHz genera 3200 MT/s. Todas las lecturas y escrituras de datos se realizan en ráfagas de 16 transferencias que duran 2 ciclos de reloj.

Los formatos de paquetes de solicitud son los siguientes:

Hay una gran cantidad de restricciones de tiempo que establecen los tiempos mínimos que deben transcurrir entre varios comandos (ver Memoria de acceso aleatorio dinámica § Sincronización de la memoria ); el controlador de DRAM que las envía debe asegurarse de que se cumplan todas.

Algunos comandos contienen campos de retardo; estos retardan el efecto de ese comando por la cantidad de ciclos de reloj dada. Esto permite que varios comandos (a diferentes bancos) tengan efecto en el mismo ciclo de reloj.

Comando de activación de fila

Esto funciona de manera equivalente al comando de activación de la SDRAM estándar, especificando una dirección de fila que se cargará en la matriz de amplificadores de detección del banco. Para ahorrar energía, un chip puede configurarse para activar solo una parte de la matriz de amplificadores de detección. En este caso, los bits SR1..0 especifican la mitad o la cuarta parte de la fila que se activará, y las direcciones de columna de los siguientes comandos de lectura/escritura deben limitarse a esa parte. (Las operaciones de actualización siempre utilizan la fila completa).

Comandos de lectura y escritura

Estos funcionan de manera análoga a los comandos de lectura o escritura de una SDRAM estándar, especificando una dirección de columna. Los datos se proporcionan al chip unos pocos ciclos después de un comando de escritura (normalmente 3), y el chip los emite varios ciclos después de un comando de lectura (normalmente 6). Al igual que con otras formas de SDRAM, el controlador de DRAM es responsable de garantizar que el bus de datos no esté programado para usarse en ambas direcciones al mismo tiempo. Los datos siempre se transfieren en ráfagas de 16 transferencias, que duran 2 ciclos de reloj. Por lo tanto, para un dispositivo ×16, se transfieren 256 bits (32 bytes) por ráfaga.

Si el chip utiliza un bus de datos de menos de 16 bits de ancho, se utilizan uno o más de los bits de dirección de subcolumna para seleccionar la parte de la columna que se presentará en el bus de datos. Si el bus de datos tiene 8 bits de ancho, se utiliza SC3 para identificar a qué mitad de los datos leídos se debe acceder; si el bus de datos tiene 4 bits de ancho, se utilizan SC3 y SC2, etc.

A diferencia de la SDRAM convencional, no existe ninguna opción para elegir el orden en el que se suministran los datos dentro de una ráfaga. Por lo tanto, no es posible realizar lecturas de palabras críticas primero.

Comando de escritura enmascarado

El comando de escritura enmascarada es similar a una escritura normal, pero no se permite ningún retraso de comando y se proporciona un byte de máscara. Esto permite controlar qué campos de 8 bits se escriben. No se trata de un mapa de bits que indique qué bytes se deben escribir; no sería lo suficientemente grande para los 32 bytes de una ráfaga de escritura. En cambio, es un patrón de bits con el que el controlador de DRAM rellena los bytes no escritos. El controlador de DRAM es responsable de encontrar un patrón que no aparezca en los otros bytes que se deben escribir. Como hay 256 patrones posibles y solo 32 bytes en la ráfaga, es sencillo encontrar uno. Incluso cuando se conectan varios dispositivos en paralelo, siempre se puede encontrar un byte de máscara cuando el bus tiene un ancho máximo de 128 bits. (Esto produciría 256 bytes por ráfaga, pero un comando de escritura enmascarada solo se utiliza si al menos uno de ellos no se debe escribir).

Cada byte son los 8 bits consecutivos transferidos a través de una línea de datos durante un ciclo de reloj particular. M0 corresponde al primer bit de datos transferido durante un ciclo de reloj y M7 corresponde al último bit.

Esta convención también interfiere con la realización de lecturas de palabras críticas primero; cualquier palabra debe incluir bits de al menos los primeros 8 bits transferidos.

Comando de precarga/actualización

Este comando es similar a una combinación de los comandos de precarga y actualización de una SDRAM convencional. Los bits POP x y BP x especifican una operación de precarga, mientras que los bits ROP x , DELR x y BR x especifican una operación de actualización. Cada uno puede habilitarse por separado. Si está habilitado, cada uno puede tener un retardo de comando diferente y debe dirigirse a un banco diferente.

Los comandos de precarga solo se pueden enviar a un banco a la vez; a diferencia de una SDRAM convencional, no existe un comando de "precargar todos los bancos".

Los comandos de actualización también son diferentes a los de una SDRAM convencional. No existe un comando de "actualización de todos los bancos" y la operación de actualización se divide en operaciones de activación y precarga independientes, por lo que el controlador de memoria determina el tiempo. El contador de actualización también es programable por el controlador. Las operaciones son:

Comando de calibración/apagado

Este comando realiza una serie de funciones diversas, según lo determina el campo x de XOP . Aunque hay 16 posibilidades, en realidad solo se utilizan 4. Tres subcomandos inician y detienen la calibración del controlador de salida (que debe realizarse periódicamente, cada 100 ms).

El cuarto subcomando coloca el chip en modo de apagado. En este modo, realiza una actualización interna e ignora las líneas de datos de alta velocidad. Debe reactivarse utilizando el bus serial de baja velocidad.

Bus serial de baja velocidad

Las DRAM XDR se prueban y configuran mediante un bus serial de baja velocidad. El controlador envía las señales RST, SCK y CMD a cada chip en paralelo. Las líneas SDI y SDO están conectadas en cadena, con la última salida SDO conectada al controlador y la primera entrada SDI conectada a nivel alto (lógica 0).

Al reiniciar, cada chip lleva su pin SDO a nivel bajo (1). Cuando se libera el reinicio, se envía una serie de pulsos SCK a los chips. Cada chip lleva su salida SDO a nivel alto (0) un ciclo después de ver su entrada SDI a nivel alto (0). Además, cuenta la cantidad de ciclos que transcurren entre la liberación del reinicio y la visualización de su entrada SDI a nivel alto, y copia ese recuento en un registro interno de identificación del chip. Los comandos enviados por el controlador a través de la línea CMD incluyen una dirección que debe coincidir con el campo de identificación del chip.

Estructura general de los comandos

Cada comando lee o escribe un único registro de 8 bits, utilizando una dirección de 8 bits. Esto permite hasta 256 registros, pero actualmente solo está asignado el rango 1-31.

Normalmente, la línea CMD se deja alta (lógica 0) y los pulsos SCK no tienen efecto. Para enviar un comando, se envía una secuencia de 32 bits a través de las líneas CMD:

Véase también

Referencias

  1. ^ AnandTech: procesadores Rambus in Cell y anuncios de Intel sobre núcleos duales
  2. ^ Elpida produce la DRAM XDR de 7,2 GHz más rápida del mundo
  3. ^ Arquitectura XDR™ Archivado el 24 de julio de 2011 en Wayback Machine . (Rambus)

Enlaces externos