3.3.2. - Departamento de Arquitectura y Tecnología de Computadores

Anuncio
ARQUITECTURA DE
COMPUTADORES
z Tema
2:
z TECNOLOGÍA DE LOS SISTEMAS DE
MEMORIA
http:// www.atc.us.es
Objetivos
z
z
z
z
z
Presentar las características más relevantes
de las memorias RAM estáticas y dinámicas.
Hacer un estudio histórico de la evolución de
la tecnología de las memorias DRAM.
Proporcionar una visión moderna y actual del
funcionamiento de las memorias DRAM.
Dar una base para entender futuros avances
en la tecnología de memorias.
Capacidad para elegir la memoria DRAM
más adecuada para un computador.
2
Bibliografía
Escasa, muy general y no suficientemente actualizada con últimas tendencias.
• http://www.jedec.org (Organismo de estandarización semiconductores)
• http://www.micron.com (Memorias EDO/FPM, SDRAM, DDR)
• http://www.rambus.com (Memorias RDRAM)
• http://www.intel.com (Controladores de memorias, Chipsets)
• Ashok K. Sharma. “Semiconductor Memories: Technology, Testing, and
Reability”. Wiley-IEEE Press, 2002. (Æ Actualmente descatalogado)
BIBLIOGRAFÍA COMPLEMENTARIA
•Hans-Peter Messmer. “The Indespensable PC Hardware Book”. AddisonWesley, 2002.
•Thomas L. Floyd. “Fundamentos de sistemas digitales”. Prentice-Hall, 2000.
•J.L. Hennessy, D.A. Patterson. “Computer Architecture”. Morgan Kaufmann
Publishers, 2003.
3
Índice de contenidos (1)
1. Memorias semiconductoras
2. Memorias de acceso aleatorio estáticas (SRAM):
2.1. Estructura externa de una SRAM asíncrona
2.2. Estructura interna de una SRAM asíncrona
2.3. Cronograma de lectura/escritura en una SRAM asíncrona
3. Memorias de acceso aleatoria dinámicas (DRAMs):
3.1. Fundamentos de memorias DRAM
3.2. DRAMs asíncronas:
3.2.1. Estructura interna de una DRAM asíncrona
3.2.2. Cronograma Acceso Lectura Memoria DRAM
3.2.3. FPM RAM
3.2.4. EDO RAM
3.2.5. BEDO RAM
4
Índice de contenidos (2)
3.3. Otros aspectos relacionados con las DRAMs:
3.3.1. Refresco
3.3.2. Precarga
3.3.3. Entrelazado de memoria
3.3.4. Otras mejoras para aumentar el rendimiento.
3.3.5. El controlador de memoria
3.4. Módulos de Memoria DRAM
3.4.1 Organización y modos de operación.
3.4.2 Ejemplo conexión memoria DRAM en Pentium IV
3.5. DRAMs síncronas:
3.5.1. Memorias SDRAM (Synchronous DRAM)
3.5.2. Memorias DDR SDRAM (Double Data Rate SDRAM)
3.5.3. Memorias RDRAM (Rambus DRAM)
4. Anexo: Nomenclatura DRAMs.
5
1. Memorias Semiconductoras
z
z
z
Memoria semiconductora: matriz de celdas que contienen
1 ó 0, donde cada celda se especifica por una dirección
compuesta por su fila (ROW) y su columna (COLUMN).
Utilización de transistores Æ semiconductoras.
Operaciones básicas: lectura y escritura de datos. Conexión
al exterior mediante bus de datos, direcciones y control.
Dos categorías principales:
- ROM (read-only memory): los datos se almacenan de
forma permanente o semipermanente Æ memorias no
volátiles.
- RAM (random-access memory): se tarda lo mismo en
acceder a cualquier dirección de memoria (acceso en
cualquier orden), capacidad de lectura y escritura,
memorias volátiles. Dos tipos: SRAM y DRAM.
6
2. Memorias de acceso
aleatorio estáticas
(SRAM, static RAM)
z
z
z
z
z
Utilización de flip-flops para almacenar celdas.
Rapidez de acceso a los datos.
Tecnología con la que se implementan las memorias caché.
Dos tipos: asíncronas y síncronas de ráfaga. Diferencia:
utilización de la señal de reloj del sistema para sincronizar
todas las entradas este reloj.
Modo ráfaga en las SRAM síncronas: leer o escribir en
varias posiciones de memoria (hasta 4) utilizando una
única dirección. También presente en memorias DRAM.
7
2.1. Estructura externa de una SRAM asíncrona
Vcc
Pastilla memoria 2n x w bits
GND
an-1
a2 a1 a0
Dirección (n bits)
Control
SRAM
OE
WE
CS
Selección
dw-1
d2 d1 d0
Líneas de datos
(w bits)
8
2.2. Estructura interna de una SRAM asíncrona
Pastilla memoria 2n x w bits
an-1 a1 a0
Dirección
(n bits)
Decodificador
Biestable D
Din
D Q
Clk
WE
OE
WE
Fila
Control datos entrada/salida
Dout
CS
dw-1
d2 d1 d0
Líneas de datos
(w bits)
9
2.3. Cronograma de lectura/escritura en una
SRAM asíncrona
•Tiempo de acceso: tiempo transcurrido desde que se hace la petición
(dirección a la entrada del bus de direcciones) hasta que se accede al dato.
•Tiempo de ciclo (ciclo de lectura/escritura): tiempo mínimo que debe
transcurrir entre dos peticiones de lectura y escritura.
Ambos tiempos pueden coincidir
Ciclo de escritura
d (w-1, 0)
a (n-1, 0)
Datos entrada
Dirección escritura
Ciclo de lectura
Datos salida
Dirección lectura
Datos salid
Dirección lectura
OE
WE
Tiempo de establecimiento
de la escritura (tiempo de
setup)
Tiempo
mantenimiento Tiempo acceso
lectura
Datos escritura
(tiempo de
hold)
Tiempo acceso
lectura
10
3. Memorias de acceso aleatoria
dinámicas (DRAM, dinamic RAM)
3.1. Fundamentos de memorias DRAM
3.2. DRAMs asíncronas:
3.2.1. Estructura interna de una DRAM asíncrona.
3.2.2. Cronograma Acceso Lectura Memoria DRAM
3.2.3. FPM RAM
3.2.4. EDO RAM
3.2.5. BEDO RAM
3.3. Otros aspectos relacionados con las DRAMs:
3.3.1. Refresco
3.3.2. Precarga
3.3.3. Entrelazado de memoria
11
3. Memorias de acceso aleatoria
dinámicas (DRAM, dinamic RAM)
3.3.4. Otras mejoras para aumentar el rendimiento: ampliación banco
memoria y pipeline de direcciones
3.3.5. El controlador de memoria
3.4. Módulos de Memoria DRAM
3.4.1. Organización y modos de operación
3.4.2. Ejemplo conexión memoria DRAM en Pentium IV
3.5. DRAMs síncronas:
3.5.1. Memorias SDRAM (Synchronous DRAM)
3.5.2. Memorias DDR SDRAM (Double Data Rate SDRAM)
3.5.3. Memorias RDRAM (Rambus DRAM)
12
3.1. Fundamentos de memorias DRAM
z
z
z
z
Celdas implementadas mediante un
condensador en vez de un
latch/biestable Æ mayor densidad de
almacenamiento a un menor costo. Se
pasa de 6 transistores a 1 transistor.
Transistor MOS (MOSFET).
El transistor actúa como interruptor.
Guarda la mínima carga eléctrica
posible para luego poder ser leída
mediante un circuito de amplificación:
cargado (1) o descargado (0).
Acceso por fila (linea de palabra) y
por columna (línea de bit).
Línea de palabra
Línea de bit
z
C
13
3.1. Fundamentos de memorias DRAM
z
z
z
z
z
Memorias más lentas que las SRAM: se prima el bajo costo y
la mayor capacidad de almacenamiento.
Requieren refresco periódico (Dynamic RAM): el condensador
se descarga.
Tiempo de ciclo > tiempo de acceso.
Multiplexación de direcciones: ahorro de pines en los chips de
memoria. Las SRAM al tener menor capacidad, no tenían ese
problema. Una dirección se divide/multiplexa en dos partes:
fila (parte alta) y columna (parte baja). Señales necesarias:
RAS# y CAS#.
- RAS# (row access strobe): validación de la fila.
- CAS# (column access strobe): validación de la columna.
Asíncronas y síncronas: intercambio de señales entre la
memoria y el procesador ó utilización de una señal de reloj.
14
3.2. Memorias DRAM asíncronas
3.2.1. Estructura interna de una DRAM asíncrona
N/2
Dirección
(N / 2 bits)
Registro de
FILA
Matriz 2N/2x2N/2
Vcc
Decod. FILA
RAS
Memoria 2N x 1
GND
Amplificadores
Registro de
N/2
COLUMNA
CAS
Mux. COLUMNA
Bit OUT
Bit IN
R/W
15
3.2.2. Cronograma Acceso Lectura Memoria
DRAM
16
3.2.3. Memorias FPM RAM
(Fast paged mode RAM)
z
z
z
z
Una operación de lectura/escritura consiste en una
secuencia de accesos donde sólo el primero especifica la
fila y la columna. El resto se realizan sobre la misma fila
(página) especificando sólo la columna.
El primer acceso es el más lento.
Se puede llegar a ahorrar hasta un 50% en el tiempo de
acceso.
Problema/desventaja: a la subida de CAS se quita el dato
de salida del bus de datos. Esto limitaba el tiempo que
tenían los procesadores para leer el dato antes de ser
quitado de la salida del bus de datos.
17
3.2.3. Memorias FPM RAM (Fast paged mode
RAM) (Cronograma memoria FPM RAM)
• Acceso en chips de 60ns a una frecuencia máxima de 28.5
MHz Æ Utilización en PC-s 486 a 33MHz ó PC-s entre 66MHz
y 200MHz añadiendo caché (SRAM) para escalar tiempos.
18
3.2.4. Memorias EDO RAM
(Extended Data Out RAM)
z
z
Similares a las FPM. Mantiene el dato válido más tiempo:
se guarda el dato en un buffer y no así no se elimina del
bus a la subida de la señal CAS Æ Extended Out. Así la
CPU tiene más tiempo para leer dato.
Aumenta la frecuencia de funcionamiento hasta los 40mhz
consiguiendo una mejora en el rendimiento de un 40%
respecto FPM.
19
3.2.5. Memorias BEDO RAM (Burst EDO RAM)
z
z
Una vez que se haya proporcionado una dirección de columna las
siguientes direcciones se generan internamente mediante un
contador Æ modo ráfaga (burst). Frecuencia 66mhz.
Problema: memoria asíncrona (y lenta). La señal de CAS# se
generaba a partir de CLK y luego se leía. ¿Por qué no muestrear
entonces directamente señal CAS# mediante señal CLK? Æ
Siguiente generación: DRAMs síncronas ó SDRAMs.
20
3.3. Otros aspectos
relacionados con las DRAMs
3.3.1. Refresco (1)
•
•
•
•
•
•
Operación de reescritura periódica de la información de la DRAM.
La realiza un circuito de refresco que puede ser independiente o
estar dentro de la memoria DRAM. Actualmente integrado dentro.
El refresco puede interferir con los ciclos de acceso a la memoria.
Con cada acceso a la DRAM, para lectura o escritura, se refresca
una fila completa de la matriz de bits.
Se refrescan simultáneamente todos los chips (del SIMM ó DIMM).
Supone una bajada en el rendimiento de la RDAM: a veces la DRAM
no está disponible. Diseñadores intentan que sea menos del 5% del
tiempo total.
Tiempo de refresco (TR):
Tiempo máximo que puede transcurrir entre dos accesos
consecutivos a una misma fila de la DRAM.
Si no se respeta el tiempo de refresco, la memoria pierde la
información por descarga del condensador de la celda de bit.
21
3.3.1. Refresco (2)
Técnicas de refresco:
• Refresco con RAS (RAS-Only Refresh): señal RAS# + dirección fila
a refrescar. Se precisaba circuito externo para refrescar todas las filas:
DMA 8237 (recorre filas) + Temporizador 8254 (tiempo TR).
• Refresco con CAS antes que RAS (CAS-before-RAS Refresh):
chips de DRAM contienen lógica de refresco interna. Existe un contador
interno de filas.
• Refresco oculto (Hidden Refresh): después de un acceso para
lectura se vuelve a activar RAS# manteniendo CAS#. Es más rápido
que iniciar nueva lectura de fila. Existe contador interno de direcciones
de refresco.
Secuencia de los ciclos de refresco:
• Refresco por ráfagas: refresco por filas consecutivas. Ocupación
de la memoria excesiva hasta refrescar las N filas.
• Refresco intercalado: ciclos intercalados entre lecturas y
escrituras. Los ciclos se distribuyen en todo el periodo T a intervalos
T/N (siendo T el tiempo de refresco y N el número de filas).
22
3.3.1. Refresco (3)
23
3.3.2. Precarga (1)
•El circuito de
Precarga sirve para
dar soporte a los
amplificadores de
señal.
•Al conectarse los
transistores para
lectura (y
amplificación) se
produce una
pequeña diferencia
de potencial en las
líneas BL y BL*
24
3.3.2. Precarga (2)
z
La diferencia de potencial en las líneas BL y BL* se ha de
restaurar (a Vcc/2) durante una fase llamada de precarga (tPR),
antes de poder volver a acceder a una nueva fila.
25
3.3.3. Entrelazado de Memoria (1)
z
z
z
z
Memoria entrelazada (Interleaved memory): se
plantea como solución al problema de la precarga de
la memoria.
Se divide el módulo de la DRAM en varios bancos
(banks) de memoria pero independientes entre si.
La información se guarda de forma secuencial a lo
largo de los diferentes bancos consecutivos de
memoria.
Así es posible precargar un banco mientras se accede
al resto de bancos Æ ocultación del tiempo de
precarga.
26
3.3.3. Entrelazado de Memoria (2)
• Ejemplo de memoria DRAM NO entrelazada
• Memoria compuesta por un único banco/vía dividido en dos
secciones (chips) que proporcionan una palabra de 16 bits.
27
3.3.3. Entrelazado de Memoria (3)
• Ejemplo de memoria DRAM entrelazada
• Memoria compuesta por dos bancos/vías (de dos secciones cada
uno) que proporcionan una palabra de 16 bits.
28
3.3.3. Entrelazado de Memoria (4)
z
Ejemplo de cronograma para memoria entrelazada de 2
vías que acceden a datos en diferentes filas.
29
3.3.4. Otras mejoras para aumentar el
rendimiento: ampliación banco memoria y
pipeline de direcciones
z
1)
2)
Varias técnicas genéricas utilizadas en algunas DRAM
asíncronas (BEDO) y a partir de las SDRAM para
incrementar la velocidad de acceso. Soluciones basadas en
modificar la arquitectura, no la tecnología:
Ampliar el banco de memoria: solución más simple. Se traen
varias palabras por cada acceso a una palabra de la DRAM.
Estas palabras (bloque) se pueden guardar en una memoria
intermedia de tipo SRAM llamada memoria caché. Requiere
añadir una lógica extra (multiplexor) entre ambas memorias.
Pipeline de direcciones: el procesador pide un segundo
acceso sin tener el dato antes del primero. Se minimiza el
tiempo de latencia del procesador. Relacionado con el
concepto de ráfaga. Aparece ya en las memorias FPM.
30
3.3.5. El controlador de memoria (1)
z
z
z
Los chips de DRAM no se conectan directamente al
bus.
El controlador de memoria adapta las señales del
procesador a las de la memoria.
Funciones:
– Traducción de la dirección que envía el procesador en filas y
–
–
–
–
columnas.
Activar señales de control: RAS#, CAS#, ...
Sincronización con todos los chips de DRAM. Selección
módulo DRAM (en DIMMs).
Refresco. A veces esta función (o parte de ella) ya va incluida
en los propios chips de DRAM.
Verificar paridad.
31
3.3.5. El controlador de memoria (2)
z
Estructura de un controlador de memoria DRAM
dirección
de
palabra
RAS0
DESC
RASn–1
MUX
dirección multiplexada
datos
CAS1
MEM, R/W,
etc
CAS0
habilitación
de byte
módulos de
memoria
DRAM
datos
32
3.4. Módulos de Memoria
DRAM (1)
z
z
z
z
Los chips de memoria DRAM se agrupan en circuitos
impresos que constituyen módulos de memoria y que son
usados para ser directamente insertados las placas base de
los computadores.
Antiguamente (procesadores anteriores a los Intel 386) la
memoria DRAM iba soldada a la placa base como el resto
de circuitos.
Estos módulos están estandarizados y han evolucionado en
paralelo a los diferentes tipos de DRAMs.
Se clasifican/nombran por su patillaje (nº contactos),
tecnología DRAM, fabricante, ...
33
3.4. Módulos de Memoria
DRAM (2)
z
z
z
z
SIP (Single In-Line Package): hasta 256KB. Bus de datos de 8
bits. Usados en i80386 e i80486.
SIMM (Single In-Line Memory Module):
– 30 contactos: memorias FPM/EDO, bus datos de 8 bits, 4-6
MB. Usados en i80386 e i80486.
– 72 contactos: memorias FPM/EDO, bus datos de 32 bits, 432 MB. Usados en i80486 y primeros Pentium.
DIMM (Dual In-Line Memory Module) : memorias SDRAM,
168 contactos, bus de datos de 32 ó 64 bits efectivos (sin bits
paridad), 4-512 MB. Procesadores Pentium.
DIMM DDR (DIMM Double Data Rate): memorias DDR. Hasta
240 contactos. Bus de datos de 64 bits efectivos. Módulos de
hasta 2 GBs. Procesadores Pentium 4.
34
3.4. Módulos de Memoria
DRAM (3)
z
RIMM ó PS/2 (Rambus In-Line Memory Module):
memorias RAMBUS. Bus de datos de 32 bits. Primeros
procesadores Pentium 4 y Play Station 2.
35
36
DIMM
3.4. Módulos de Memoria
DRAM (4)
z
Ejemplo de sistema de memoria con DRAM: controlador (en el caso de los
PCs incluído en el puente norte de la placa base) + DIMM (4 módulos de 168
contactos, ancho del bus de datos 64 bits)
DESC
RAS1
dirección
MUX
datos
dirección
multipl.
RAS2
RAS3
datos
CAS7
RAS0
CAS0
BE0..7*
DIMM 0
DIMM 1
DIMM 2
DIMM 3
37
3.4.1. Organización y modos de
operación (1)
z
z
Soporte de configuraciones de módulos de
memorias proporcionados para el módulo interfaz
de memoria (G)MCH por el chipset Intel 965
Express (puente norte).
Tres configuraciones:
– Canal simple/único (single channel): toda la memoria
del ordenador en un único módulo DIMM.
– Canal doble/dual asimétrico (dual channel asymmetric):
dos módulos DIMM pero no del mismo tamaño.
– Canal doble/dual simétrico (dual channel symmetric):
dos módulos DIMM del mismo tamaño.
38
3.4.1. Organización y modos de
operación (2)
Canal
simple/único
Canal
doble/dual
asimétrico
39
3.4.1. Organización y modos de
operación (3)
Canal doble/dual
simétrico.
Permite acceso
completo a un
ancho de banda
para
procesadores 64
bits
z
En caso de que los módulos DIMM de memoria DDR sean de
diferente velocidad/frecuencia, la frecuencia del sistema de
memoria (Front Side Bus) se ajusta a la frecuencia del DIMM
más lento/bajo.
40
3.4.1. Organización y modos de
operación (4)
z
La configuración de los módulos DIMM con canales
dobles/duales permite también el entrelazado de memoria
para páginas (filas) consecutivas a nivel de módulos DIMM.
41
3.4.2 Ejemplo conexión memoria
DRAM en Pentium IV (1)
z
La conexión de la memoria DRAM a un Pentium IV se hace a través de la
placa base/madre ó chipset. Es un circuito impreso (PCB: Printed Circuit
Board) que soporta y conecta los elementos básicos de un PC.
z Contiene generalmente dos chips principales llamados coloquialmente
“puente norte” y “puente sur”. Están comunicados entre si a través de un
bus interno y sirven de nexo entre todos los componentes del PC, incluída la
memoria.
– El “puente norte” sirve de nexo de unión entre los dispositivos
“rápidos”. Incorpora el controlador de memoria, la interfaz con el
procesador y el controlador gráfico. A veces incluso incorpora el propio
procesador gráfico. El fabricante Intel lo suele denominar al chip MCH
ó GMCH.
– El ”puente sur” sirve de nexo de conexión a los dispositivos “lentos”,
generalmente dispositivos de E/S. Tiene soporte para EIDE, Serial
ATA, USB, DMA, IRQ, …, integra bus PCI, audio y moden, … El
fabricante Intel lo suele denominar ICH.
42
3.4.2 Ejemplo conexión memoria
DRAM en Pentium IV (2)
43
Diagrama de
bloques/señales
del Chip Intel
915 (“puente
norte”).
•El Processor System
Bus Interface conecta
las líneas/buses de la
CPU.
•El Direct Media
Interface (DMI) sirve
de conexión al
“puente sur”.
•Los System Memory
son los controladores
de memoria (uno por
canal).
44
3.5. Memorias DRAM síncronas
3.5.1. Memorias SDRAM (Synchronous DRAM)
z
z
z
z
z
Los protocolos de comunicación entre la CPU y la DRAM producen una latencia
alta: la CPU tiene que esperar a que la memoria acabe su ciclo y luego
sincronizarse mediante señales.
Ahora se elimina la necesidad de propagar múltiples strobes y de señales para
comunicar la entrada de datos Æ se sustituyen por una señal de reloj.
El “puente norte” (controlador memoria) puede medir con precisión la duración
de los diferentes pasos de un ciclo de bus/acceso a la DRAM mediante la señal
de reloj. La CPU sabe por tanto también el tiempo que tarda en recibirlos y ya no
tiene que estar inactiva durante el periodo de espera/sincronización.
Del reloj del bus del sistema (FSB) existen multiplicadores y divisores de
frecuencia (de reloj) para la CPU, la memoria SDRAM y otros componentes y/o
buses tales como el PCI. La velocidad (frecuencia) de las SDRAM se mide en
hercios y generalmente coincide con la del bus del sistema en el caso de los PCs.
Nuevas señales como CLK# (clock) o DQM (data mask) que sustituye a OE#
(output enable).
45
3.5.1. Memorias SDRAM (Synchronous DRAM)
z
SDRAM = Memoria BEDO ampliada que utiliza señal reloj para sincronización,
entrelazado interno y dos registros o búferes por separado para la entrada y salida
de datos a la memoria.
z Utilización de mandatos (commands) en vez de señales. Un mandato se compone
varias señales: CS#, RAS#, CAS# y WE#. Ejemplo: el mandato ACTIVATE
equivale poner en bajo las señales CS# y RAS# (selección fila y banco). El
mandato READ equivale a poner en bajo las señales CS# y CAS# (selección
columna).
z Un mandato (command) se activa por un flanco de subida de reloj.
46
3.5.1. Memorias SDRAM (Synchronous DRAM)
z
Registros de modo programables para seleccionar la latencia CAS
(ajuste de la velocidad de la memoria) y tipos y longitudes de ráfaga.
z Al igual que en las memorias BEDO existen múltiples bancos de
memoria: se pueden abrir varias filas (ROWS) en paralelo Æ posibilita
más tipos de acceso en modo ráfaga: longitud de ráfaga 1, 2, 4 u 8
secuencial (incluyendo página completa) o entrelazada.
47
3.5.1. Diagrama de bloques de una SDRAM
(Módulo de 4 bancos de 2Mx8b Æ 8M x 8b = 8 MB)
48
3.5.1. Memorias SDRAM (Synchronous DRAM).
Esquema integración módulos SDRAM en DIMM
(módulos DDR2 en DIMM)
49
3.5.1. Memorias SDRAM (Synchronous DRAM)
z
La latencia CAS ó tCL número de ciclos entre mandato READ y datos
disponibles en DQs.
z tRCD tiempo (latencia) entre activación de la señal RAS y la señal CAS.
z Antes de poder utilizar el mandato ACTIVE (selección de banco y fila) es
necesario que el banco esté cerrado y precargado Æ mandato PRECHARGE
(precarga) ó mandatos READ ó WRITE con AUTO-PRECHARGE (auto
precarga). tRP (tiempo de precarga) es el tiempo que transcurre desde que se
desactiva (sube) la señal RAS hasta que se puede volver a activar (bajar).
z DQM debe ponerse en alta (activarse) dos ciclos de reloj como mínimo antes
del mandato WRITE para eliminar datos del anterior mandato READ.
50
3.5.1. Memorias SDRAM (Synchronous DRAM)
z
Los accesos en modo ráfaga con READ o WRITE pueden ser interrumpidos
si no se han utilizado antes en sus versiones de AUTO PRECHARGE. Esto
es debido a que con auto precarga una vez acabado la ráfaga se procede
automáticamente a hacer la precarga (desactivar la/s fila/s de/los módulo/s
correspondiente/s).
z Memorias SDRAM funcionan entre los 66 MHz y 133 MHz.
z Una memoria SDRAM (y DDR) se suele clasificar además de por su
frecuencia, por tres medidas: tCL, tRCD y tRP. Ejemplo SDRAM-66 (2-3-3).
51
3.5.1. Comparación DRAMs
síncronas y asíncronas
52
3.5.2. Memorias DDR SDRAM
(Double Data Rate SDRAM)
z
Evolución natural de las SDRAM: simplemente aprovechan también
los flancos de bajada de la señal de reloj para doblar frecuencia de
funcionamiento y ancho de banda Æ se envían dos datos por cada
señal de reloj.
Ejemplo: una DDR 266 es básicamente una PC133 (última SDRAM
fabricada) con señales CK y CK#.
z Se añaden algunas nuevas señales y se quitan otras (ver tabla siguiente
página). Como por cada ciclo de reloj se pueden recoger (leer) ó enviar
(escribir) dos datos, es preciso añadir circuitería extra (ver diagrama de
bloques).
z Subir los MHz físicos es más difícil (y caro) de fabricar Æ razón de su
éxito.
z Varias familias en función de su frecuencia virtual: DDR1 (200mhz –
400mhz), DDR2 (400mhz – 667mhz), DDR3 (a partir de 800mhz).
53
3.5.2. Memorias DDR SDRAM (Double Data
Rate SDRAM)
z
Los mandatos (commands) al igual que en las SDRAMs se leen a la
subida de una señal de reloj.
z Como se accede a dos datos consecutivos en un ciclo, el controlador de
memoria puede optar por enmascarar cualquiera de ellos mediante la
señal DM.
54
3.5.2. Diagrama de bloques de una DRAM con
interfaz SDR y DDR
(Módulo de 4 bancos de 4Mx8b Æ 16 MB)
55
3.5.2. Memorias DDR SDRAM
(Acceso para lectura)
Algunas diferencias entre DDR1 y DDR2:
• Hay más mandatos en DDR2 que en DDR1. Mismo controlador
de E/S puede manejar ambas memorias Æ cierta compatibilidad.
• Se aumenta el tamaño de la página (fila) y se pasa de 4 bancos de
memoria a 8 Æ Mejor aprovechamiento de la memoria entrelazada.
56
3.5.2. Memorias DDR SDRAM
(Acceso para escritura)
• Disminución del voltaje a 1,8V gracias al mayor nivel de integración.
En memorias FPM era 5V.
• La diferencia de voltaje es realmente la única diferencia tecnológica
entre la DDR1 y la DDR2.
57
3.5.2. DDR1 y DDR2 DIMM
58
3.5.2. Memorias DDR SDRAM
(optimizaciones 1)
z
1.
De cara a mejorar la eficiencia en el rendimiento de las
memorias DDR, los controladores de memoria realizan ciertas
optimizaciones. Ejemplo: funcionamiento del (G)MCH “puente
norte” de Intel para los procesadores Pentium IV. Tecnología
denominada como Intel Fast Memory Access. Básicamente
cuatro mejoras:
Just in Time Command Scheduling: implementa un planificador
de mandatos (commands) dentro del controlador de memoria
para acceso a datos de la memoria. Dichos accesos a memoria
pueden provenir de la CPU, el PCI-Express (controlador
gráfico) o el DMI (conexión con el “puente sur”). Se examinan
los accesos pendientes y se determina el orden de ejecución
para obtener mayor eficiencia.
59
3.5.2. Memorias DDR SDRAM
(optimizaciones 2)
2.
3.
4.
Command Overlap: permite insertar commands entre los
ACTIVATE, PRECHARGE y READ/WRITE de otros
accesos siempre y cuando no produzcan dependencias.
Out of Order Scheduling: si hay múltiples peticiones
pendientes de accesos sobre la misma página, estas peticiones
se planifican de forma seguida para evitar abrir el menor
número de veces posible la página.
Opportunistic Writes: las peticiones de escritura en memoria
suelen tener menos prioridad que las lecturas para evitar tener
que hacer esperar a la CPU. Esta técnica agrupa las peticiones
de escritura y las planifica cuando no entran en conflicto con
las peticiones de lectura. De esa manera se garantiza un flujo
más continuo de datos e instrucciones a la CPU.
60
En este ejemplo con Command Overlap y Out of Order Scheduling se planifican
dos commands de lectura/READ (señal CAS#) a páginas/filas ya abiertas (Rd1
Pag A y Rd2 Pag B) fuera de orden. Los mandatos Act Pg son commands
61
ACTIVE de apertura de filas (RAS#) y los Pre Pg de PRECHARGE.
3.5.2. Memorias DDR SDRAM
(optimizaciones 3)
z
z
Los Dual-Channels (descritos en 3.4.1) permiten un aumento del
ancho de banda del FSB mediante la utilización de la misma
técnica de utilizar tanto el flanco de subida como de bajada de la
señal reloj de las memorias DDR.
Ejemplo: el reloj/velocidad del sistema (el verdadero FSB) de un
PC basado en Pentium IV va a 200 MHz. Pero …
– Con la técnica de las DDR (double pumped) tiene efecto de 400 MHz.
– Pero cada uno de los 2 canales de memoria tiene su propia señal de reloj
individual a 200 MHz reales (y 400 MHz virtuales).
– Ambos relojes van alternados con un semiciclo de diferencia
consiguiendo en cada ciclo de reloj obtener hasta 4 datos por ciclo:
2 canales x 200 MHz x 2 (double pumped) = 800 MHz de FSB
™ Se habla en este caso de quad pumped (QDR).
™ Dato de frecuencia del FSB para marketing, sólo alcanzable con al menos
2 módulos DIMM de DDR en accesos secuenciales que aprovechen el
entrelazado a nivel de módulos de memoria.
62
Ejemplo de comparación ancho de banda de un bus del sistema a 200 MHz (FSB
800 MHz con QDR), bajando la frecuencia de una DDR533 de 268 MHz a 200
MHz (pasa a ser una DDR400) para igualar así frecuencia reloj del sistemaÆ
¡¡¡Ancho de banda del FSB (chipset bandwidth) igual!!!
63
3.5.3. Memorias RDRAM
(Rambus DRAM)
z
z
z
z
z
z
Alternativa sin éxito comercial de la memoria DDR de finales de
los 90s y principios de siglo. Utilizadas en las primeras consolas
PS2 y primeras placas base Intel para Pentium IV.
Arquitectura revolucionaria respecto a las tradicionales SDRAMs
Æ mayor coste económico respecto DDR.
Bus de alta velocidad (entre 800 MHz y 1600 MHz) pero ancho de
bus pequeño (16 bits) Æ en media ancho de banda parecido/igual
a las DDR.
Arquitectura dividida en dos grandes bloques: un bloque
compuesto por hasta 32 bancos de memoria (múltiples accesos
concurrentes) y otro compuesto por un interfaz Rambus que
permite a un controlador externo acceder con una velocidad de
hasta 3,2 Gb/s.
Múltiples accesos concurrentes.
También orientado a mandatos (commands) y aprovecha ambos
flancos del reloj (subida y bajada).
64
3.5.3. Diagrama de bloques de una RDRAM
65
4. ANEXO: nomenclatura DRAMs
Ejemplo. PC133:
133 MHz Æ
1000/133 ns = 7,5 ns
por ciclo
64 bits / 7,5 ns =
8,5 x 109 b/s =
8,5 Gb/s = 1,06 GB/s
NOTA:
1M = 106
1G = 109
66
Descargar