Está en la página 1de 105

Diseño de placas de memoria

Diseño de placas de memoria


Estructura de computadores

Computer Structure 1 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

Contenidos:
1. Memoria RAM 4-7
1.1. RAM estática (SRAM) 9-16
1.2. RAM dinámica (DRAM) 18-53
1.3. RAM no volátil (NVRAM) 55-56

2. Diseño de placas de memoria


PUNTO 2 no es muy importante
2.1. Placas de memoria con RAM estática
2.2. Organización de las placas de memoria

3. Mapas de memoria IMPORTANTE

Computer Structure 2 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM

Computer Structure Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM
● Acceso aleatorio. El tiempo de acceso a la información no depende de
su localización.
● Volatilidad: la información se pierde si se apaga la fuente de
alimentación de la computadora.
● Se permiten operaciones de lectura/escritura.
● Dependiendo de la implementación basica de la celda:
○ RAM estática (SRAM) ⇒ Biestables.
○ RAM dinámica (DRAM) ⇒ Condensadores.
○ Memoria flash ⇒ Puertas lógicas.

Computer Structure 4 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM

Celdas

de

memoria

Computer Structure 5 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM
● N líneas de dirección.
● Línea de bits: entrada o salida de datos.
● Línea de palabra: seleccion de dirección.
● K líneas de datos.
● Líneas de control:
○ Líneas de selección de fichas
○ Leer/Escribir líneas
○ Líneas de fuente de alimentación
○ Capacidad: 2n palabras

Computer Structure 6 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM

Computer Structure 7 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1.1. RAM Estática (SRAM)

Computer Structure Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.1. RAM estática (SRAM)


● Alta velocidad, alto consumo de energía y baja densidad de
integración.

● La celda básica está formada por un flip-flop (biestables).

● Utilizan entre 4 y 6 transistores o más para almacenar un bit de


información.

● Mientras los transistores tienen alimentación, mantienen la información


de forma indefinida.

● Se utilizan sobre todo para memoria cache.

Computer Structure 9 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.1. RAM estática

Con un 1 leo, con un 0 escribo

Computer Structure 10 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.1. RAM estática

Computer Structure 11 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.1. RAM estática

Computer Structure 12 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.1. RAM estática


Ciclo de lectura:
● Selección de chip (chip select) CS=0.
● Operación de lectura (read operation) RD=0.
○ Tiempo de ciclo de lectura (tRC).
○ Tiempo de acceso desde la dirección (tA).
○ Tiempo de acceso desde la selección de chip (tCO).
○ Tiempo de acceso desde la activación de la operación de lectura
(tOE).
○ Tiempo de espera desde la salida de datos (tOHA).

Computer Structure 13 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.1. RAM estática No saberse

Ciclo de lectura: timing diagram

tRC

Address Valid Address


tA
CS

tCO
RD
tOE
tOHA
Data Valid Data

Computer Structure 14 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.1. RAM estática


Ciclo de escritura:
● Selección de chip (chip select) CS=0.
● Operación de escritura (writing operation) WR=0.
○ Tiempo de ciclo de escritura (tWC).
○ Tiempo de establecimiento de dirección (tAS).
○ Tiempo de ancho de pulso de escritura (tWP).
○ Tiempo de configuración de selección de chip antes del final de la
escritura (tCW).
○ Tiempo de establecimiento de datos antes del final de la escritura
(tDW).
○ Tiempo de retención de datos después del final de la escritura
(tDH).

Computer Structure 15 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.1. RAM estática


Ciclo de escritura (WR Control): timing diagram

tWC

Address Valid Address


tAS tCW tWR
CS

tWP
WR

tDW tDH
Data Valid Data

Computer Structure 16 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1.2. RAM Dinámica (DRAM)

Computer Structure Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● 1 transistor por celda de memoria en contraste con
Estructura interna: la celda de 4 o 6 transistores en una SRAM.
● El condensador se descargará gradualmente con el
tiempo, por lo que cada celda de la DRAM debe
Word Line actualizarse periódicamente antes de que se pierda
la carga en cualquier celda.
● Lectura destructiva. Refresco implícito.
● La complejidad adicional del chip se suma al tiempo
C de retraso antes de que se puedan leer datos válidos
Bit line

de los pines DRAM. Por lo tanto, las DRAM siempre


son más lentas que las SRAM.
● Menor consumo de energía que las SRAM.
● Mayor densidad de integración que las SRAM.

Computer Structure 18 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Estructura Interna:

Computer Structure 19 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Estructura Interna:

RAS

VCC

Row Decoder
Row
N/2 2N/2 x 2N/2
Address
Cell Array DRAM

….
Register
Chip
Address
2N x 1
(N lines)
N/2 Column
Address Column
Register Decoder
GND

R/W
CAS Bit OUT Bit IN

Computer Structure 20 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● Row address strobe (/RAS)
○ Usado para seleccionar una fila dentro de la memoria.

● Column addres strobe (/CAS)


○ Seleccionar una columna de la fila seleccionada para leer o escribir.

● Write enable (/WE)


○ Determinar si la operación a llevar a cabo es de lectura o escritura.

● Output enable (/OE)


○ Controla la salida a los pins de entrada / salida

Computer Structure 21 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● La dirección de memoria es tiempo multiplexado en dirección de fila y dirección de
columna. Las señales de control son necesarias para indicar qué parte de la
dirección está siendo aplicada:
○ Las direcciones de fila se enganchan con la señal RAS
○ Las direcciones de columna se enganchan con la señal CAS
○ Seleccionar línea: CAS
● Ancho de banda: cuántos datos se pueden leer/escribir por segundo
● Latencia: cuánto tiempo tiene que esperar para obtener los datos que desea
● Diferentes líneas para entrada y salida de datos.
● Líneas de selección de Escritura / Lectura.
● Líneas de fuente de alimentación: Vcc y GND
● Ciclos de acceso a datos y ciclos de actualización.

Computer Structure 22 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de acceso a datos: Read (Timing diagram)

RAS

CAS

Address Row Column

R/W

Bit OUT Valid data

Computer Structure 23 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de acceso a datos: Lectura (diagrama de tiempos). En términos de tiempo, los siguientes pasos
deben ocurrir:

1. La dirección de la fila se debe aplicar a los pines de entrada de dirección en el dispositivo de


memoria durante la cantidad de tiempo prescrita antes de que RAS baje y se mantenga después de
que RAS baje.
2. RAS debe ir de alto a bajo y permanecer bajo.
3. Se debe aplicar una dirección de columna a los pines de entrada de dirección en el dispositivo de
memoria durante la cantidad de tiempo prescrita y se debe mantener después de que CAS baja.
4. R/W debe establecerse en un valor alto para que se produzca una operación de lectura antes de la
transición de CAS, y permanecer alto después de la transición de CAS.
5. CAS debe cambiar de alto a bajo y permanecer bajo.
6. Los datos aparecen en los pines de salida de datos del dispositivo de memoria. El momento en el
que aparecen los datos depende de cuándo bajaron RAS y CAS y cuándo se proporcionó la
dirección.
7. Antes de que el ciclo de lectura pueda considerarse completo, CAS y RAS deben volver a sus
estados inactivos.

Computer Structure 24 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de acceso a datos: Write (Timing diagram)

RAS

CAS

Address Row Column

R/W

Bit IN Valid data

Computer Structure 25 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de acceso a datos: Escritura (diagrama de tiempos). En términos de tiempo, los siguientes pasos
deben ocurrir:

1. La dirección de la fila se debe aplicar a los pines de entrada de dirección en el dispositivo de


memoria durante la cantidad de tiempo prescrita antes de que RAS baje y se retenga por un período
de tiempo.
2. RAS debe ir de mayor a menor.
3. Se debe aplicar una dirección de columna a los pines de entrada de dirección en el dispositivo de
memoria durante la cantidad de tiempo prescrita después de que RAS baja y antes de que CAS baje
y se mantenga durante el tiempo prescrito.
4. R/W debe establecerse bajo durante un cierto tiempo para que ocurra una operación de escritura. El
tiempo de las transiciones está determinado por CAS bajando.
5. Los datos deben aplicarse a los pines de entrada de datos durante la cantidad de tiempo prescrita
antes de que CAS baje y se mantenga.
6. CAS debe cambiar de alto a bajo.
7. Antes de que el ciclo de escritura pueda considerarse completo, CAS y RAS deben volver a sus
estados inactivos.

Computer Structure 26 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de acceso a datos: Lectura-Modificación-Escritura
Se inicia con una operación de lectura normal para BitOut, y se escribe BitIn (cuando se
afirma la señal de escritura). Ni RAS ni CAS tienen que volver a afirmarse

RAS
La lectura(R) se
activa con 1 y la
escritura(W) con 0 CAS

Address Row Column

R/W ESCRITURA
LECTURA
Bit OUT Valid data

Bit IN Valid data

Computer Structure 27 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de acceso a datos: Acceso Paginado.
Acceso consecutivo a una fila de celda completa (página). RAS permanece activo.

RAS

CAS

Address Row Column Column Column

R/W

Bit OUT Valid data Valid data Valid data

Computer Structure 28 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de acceso a datos (cont.):
● Acceso a columnas en modo estático. Como el modo paginado, pero CAS permanece
activo.

● Memoria Intercalada (Interleaved Memory):


○ Evita el tiempo de precarga.
○ Para acelerar las operaciones de memoria (lectura y escritura), la memoria principal
de 2n=N palabras se puede organizar como un conjunto de 2m=M módulos de
memoria independientes (donde m<n) cada uno con 2(n-m) palabras.
○ Si estos módulos M pueden funcionar en paralelo (o en forma de tubería), entonces,
idealmente, se puede esperar una mejora en la velocidad de plegado M.
○ La dirección de n bits se divide en un campo de m bits para especificar el módulo y
otro campo de (n-m) bits para especificar la palabra en el módulo direccionado.

Computer Structure 29 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Memoria Intercalada

Computer Structure 30 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de refresco:
● Refresh Time: Tiempo máximo entre dos accesos consecutivos a filas de memoria.
● Cada operación de escritura o lectura puede implicar una actualización de fila
completa.

Memory

Refresh
CPU DRAM
Circuit

Computer Structure 31 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Secuencia del ciclo de refresco: cada t ms se actualizan todas las filas.
● Refresco por ráfagas (Burst Refresh). La actualización de todas las filas (N) se
realiza mediante ciclos consecutivos. La CPU se detiene.

1 2 3 ...N 1 2 3 ...N

N*tcycl N*tcycl
e e
Refresh time

Computer Structure 32 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Secuencia del ciclo de refresco:
● Refresco intercalado o distribuido (Interleaved or distributed Refresh). Los ciclos
de refresco de las filas se generan dentro de los ciclos de lectura/escritura para
evitar interferencias.

1 2 3 ... N 1 2

T/N T/N T/N T/N T/N


T=Refresh time

Computer Structure 33 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Refresco distribuido:
● El refresco distribuido es la más común de las dos categorías de actualización.

● El controlador DRAM está configurado para realizar un ciclo de actualización cada x


µs.

● Por lo general, esto significa que el controlador permite que se complete el ciclo
actual y luego detiene todas las instrucciones mientras se realiza una actualización
en la DRAM. A continuación, se permite que se reanude el ciclo solicitado.

Computer Structure 34 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● Secuencia del ciclo de actualización:
○ Refresco intercalado o distribuido (cont.):
■ Captura de ciclo. Cuando se tiene que realizar un refresco, el circuito
correspondiente toma el control de los buses el tiempo necesario para un
refresco de fila.
■ Actualización oculta. El circuito de actualización utiliza el ciclo de
lectura/escritura para llevar a cabo la actualización de la fila.

● Refresh time example: DRAM 16Kx1 (128x128 bits)


● Trefresh = 10ms
● Tcycle = 100ns
● 10ms → 100%
● 128x100ns → X, X=1,28%

Computer Structure 35 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Parte importante
Ciclos de refresco:
● Hay diferentes ciclos que se pueden usar para actualizar las DRAM,
todos los cuales se pueden usar en un método de ráfaga o
distribuido. Cuando no se actualiza, se puede leer o escribir en la
DRAM.

● Hay tres tipos:


○ RAS-Only Refresh.
○ CAS-before-RAS refresh.
○ Hidden refresh.

Computer Structure 36 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de refresco:
● RAS-Only Refresh. Se coloca una dirección de fila en las líneas de
dirección y luego se descarta RAS. Cuando RAS cae, esa fila se
actualizará.

● La función del controlador DRAM es proporcionar las direcciones


que se actualizarán y asegurarse de que todas las filas se actualicen
en la cantidad de tiempo adecuada. El orden de las filas de
actualización no importa; lo importante es que cada fila se actualice
en la cantidad de tiempo especificada.

Computer Structure 37 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de refresco:
● RAS-Only Refresh. Sin activación de CAS, para evitar una
operación de lectura, se accede a una fila completa.

RAS

CAS

Address Row

Computer Structure 38 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ciclos de refresco:
● Hidden Refresh. El refresco está integrado en un ciclo de lectura

RAS

CAS

Address Row Column Refresh

R/W

Bit OUT Valid data

Computer Structure 39 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Ejemplo: variaciones en el voltaje a través de un capacitor de celda DRAM después de
escribir un 1 y operaciones de actualización posteriores.

Computer Structure 40 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Tipos de DRAM:
● Objetivo: alta capacidad de almacenamiento, acceso optimizado para procesadores
actuales. Otros parámetros:
● Precarga: obtiene datos antes de la demanda.

● Latencia: Cantidad de tiempo o ciclos para responder a una solicitud.


Tipos:
● Asíncrona:
● FP RAM (fast paged RAM): RAM de paginación rápida.
● EDO RAM (extended data out RAM): RAM de salida de datos extendida.
● RAM BEDO (Burst EDO RAM): RAM EDO de ráfaga.
● Síncrona:
● SDRAM (Syncrhonous DRAM): DRAM síncrona.
● DDR RAM (Double data rate RAM): RAM de doble velocidad de datos.

Computer Structure 41 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Tipos de DRAMs síncronas:

● Las SDRAM utilizan tecnología SYNCHRONOUS (single clock) para obtener el


mejor rendimiento. PC100 y PC133 son especificaciones estándar de Intel que
definen los requisitos para SDRAM utilizadas en placas base de bus frontal de 100
MHz y 133 MHz

Computer Structure 42 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Tipos de DRAMs síncronas:

● Double Data Rate (DDR) SDRAM: los datos se pueden leer/escribir en AMBOS
flancos del reloj.

● Verificar la información de la placa base para el tipo de memoria apropiado.

Computer Structure 43 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● DDR SDRAM. Consigue un mayor ancho de banda que la SDRAM normal
mediante la transferencia de datos tanto en los flancos ascendentes como
descendentes de la señal del reloj. Esto duplica efectivamente la velocidad de
transferencia sin aumentar la frecuencia del bus frontal. Así, un sistema DDR de
100 MHz, denominado PC1600 o DDR200 (200 millones de datos por segundo),
tiene una frecuencia de reloj efectiva de 200 MHz.

○ Los DIMM DDR SDRAM tienen 184 pines (a diferencia de los 168 de la
SDRAM) y son físicamente iguales aparte de los pines adicionales.

Computer Structure 44 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● DDR-II representa una duplicación adicional de la frecuencia de reloj "efectiva"
sobre DDR, que a su vez duplicó la frecuencia de reloj efectiva de SDR. Con una
frecuencia de reloj de 100 MHz, SDR transferirá datos en cada flanco ascendente
del reloj, logrando así una tasa de transferencia efectiva de 100 MHz.

● DDR transferirá datos en cada flanco ascendente y descendente del reloj ("doble
bombeo"), logrando una velocidad efectiva de 200 MHz. DDR-II transfiere datos
dos veces por cada flanco ascendente y descendente del reloj ("bombeo
cuádruple"), logrando una velocidad efectiva de 400 MHz. Se logran otros
aumentos de velocidad a través de un mayor número de búferes, una captación
previa mejorada, requisitos eléctricos reducidos, empaque mejorado y terminación
en matriz. Sin embargo, la latencia aumenta.

Computer Structure 45 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● DDR-III es el sucesor de DDRII. Reducción del consumo de energía del 40%.
Voltajes operativos más bajos (1,5 V, en comparación con los 1,8 V de DDR2 o los
2,5 V de DDR). El ancho del búfer de captación previa de DDR3 es de 8 bits,
mientras que el de DDR2 es de 4 bits y el de DDR es de 2 bits, además de mayores
frecuencias de operación, menor producción de calor, mayor latencia y mayor ancho
de banda.

● En teoría, estos módulos podrían transferir datos a una velocidad de reloj efectiva
de 800-1600 MHz (para un ancho de banda de un solo reloj de 400-800 MHz), en
comparación con el rango actual de DDR2 de 400-1066 MHz (200-533 MHz) o el
rango de DDR de 200-600 MHz (100-300 MHz).

Computer Structure 46 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● DDR-IV. El voltaje es de 1,2 V (inferior a DDR3, 1,5 V). Cambia la frecuencia de
actualización en función de la temperatura. Solo actualiza las partes que están en
uso. Tasa de transferencia de datos más alta (2133-3200 MT/s, Mega
transferencias por segundo, 800-1600 MT/s para DDRIII).

● Memorias ECC. Pueden ser casi cualquier tipo de memoria DDR, pero incluyen
hardware adicional para la corrección de errores de un solo bit. Se usa
principalmente con estaciones de trabajo, servidores y supercomputadoras
(generalmente con CPU Xeon), donde un error puede ser crítico. Otros dispositivos,
ordenadores de sobremesa, smartphones, tablets, no suelen incluir memorias ECC
porque los errores no son tan críticos.

En resumen , en cada módulo que avanzamos queremos mejor productividad en todos los aspectos

Computer Structure 47 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● Comparación memoria SDRAM

Computer Structure 48 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


● Comparación memoria SDRAM

Fuente: HardZone

Computer Structure 49 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Smartphones:
● Una amplia gama de diferentes configuraciones de hardware.
● En cuanto a la memoria, se utiliza RAM dinámica.
● Sin RAM de video dedicada.
● Almacenamiento interno y ROM. ROM: chip que almacena los archivos del sistema.
● Almacenamiento extraíble por el usuario: tarjetas microSD.

Computer Structure 50 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Smartphones:
Ejemplos:
● LPDDR2: Tamaños que van desde 512 MB hasta 2 GB.
● LPDDR4: similar al estándar DDR4, pero consume menos energía. Desde 8GB
hasta 32GB.
● LPDDR4X: Versión derivada de LPDDR4. Desde 8GB hasta 96GB.
● LPDDR5: Desde 12GB hasta 48GB, pero menos consumo y mayor velocidad.

Fuente: HardZone

Computer Structure 51 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Memoria transaccional.

● Para coordinar subprocesos para garantizar que las lecturas y escrituras de memoria
paralelas no produzcan resultados inconsistentes. Garantice la consistencia de los datos
compartidos entre varios procesos.
● Una transacción se ejecuta atómicamente, ya sea que se anule o se complete.
● Cambia la complejidad de la coordinación de datos del programador (bloqueos, semáforos,
mutexes, etc.) al sistema operativo o al hardware.
● La memoria transaccional permite a los programadores definir operaciones personalizadas de
lectura, modificación y escritura que se aplican a múltiples palabras de memoria elegidas de
forma independiente.
● Se implementa mediante extensiones directas a los protocolos de coherencia de caché de
multiprocesador.
● Los resultados de la simulación muestran que la memoria transaccional es competitiva con
las técnicas basadas en bloqueo más conocidas para puntos de referencia simples, incluso en
ausencia de inversión de prioridad, convoyes y punto muerto.

Computer Structure 52 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.2. RAM dinámica (DRAM)


Tiempos de memoria.
● Clasificación: DDRxxx/PCyyyy
○ Primer número: Velocidad de reloj máxima que admite la memoria. Ej:
DDR800/PC2-6400 puede funcionar hasta 800 MHz.
○ Segundo número. Tasa de transferencia máxima que alcanza la memoria. Ejemplo:
DDR400/PC2-3200 puede transferir datos hasta a 3200 MB/s.
● Tiempos:
○ Números como 3-5-5-5, 6-3-3-2, 7-7-7-18, etc. Consulte los ciclos de reloj para las
operaciones internas. Cuanto más pequeños sean los números, mejor. No confundir con
la información del modo ráfaga.
■ Primer número: latencia CAS. Ciclos entre la CPU que solicita datos y la memoria
que los devuelve.
■ Segundo número. Demora de RAS a CAS. Ciclos entre la activación de RAS y la
activación de CAS.
■ Tercer número: retraso de precarga. Ciclos entre dos operaciones consecutivas.
■ Cuarto número: Tasa de mando. Ciclos entre la activación del chip y el momento en
que se puede enviar el primer comando a la memoria.
Computer Structure 53 Higher Polytechnic School of Alcoy
Diseño de placas de memoria

1.1.3. RAM No Volátil (NVRAM)

Computer Structure Higher Polytechnic School of Alcoy


Diseño de placas de memoria

1. Memoria RAM / 1.3. RAM no volátil


Evolución:
● ROM: Memoria de sólo lectura. Los datos se almacenaron durante la fabricación
del chip. Los datos se pueden leer pero no cambiar. ROM BIOS: software de inicio
de la computadora para que el sistema funcione.

● EPROM (Erasable Programmable ROM): memoria ROM que se puede borrar


mediante la exposición a la luz ultravioleta intensa. Los datos se pueden escribir
utilizando un equipo de programación de EPROM. Completar operaciones de
borrado o programación.

● EEPROM (Electrically Erasable Programmable ROM): Memoria ROM


eléctricamente borrable y programable. Tiempo de retención de datos de unos 10
años y 10 millones de ciclos de reescritura más o menos.

● Memoria flash. Basado en puertas lógicas NOR o NAND.


Computer Structure 55 Higher Polytechnic School of Alcoy
Diseño de placas de memoria

1. Memoria RAM / 1.3. RAM no volátil IMPORTANTE


Millor vore un video que explique les diferencies

Memoria flash:
● Los tipos NOR y NAND dominan el mercado de las memorias flash.
● Principales diferencias:

NOR NAND
Read/Write operations Single word Blocks/Pages

Applications Small code execution Data storage

Performance Extremely slow erase (seconds) Fast erase (milliseconds)


Slow write Write faster than NOR
Read faster than NAND Fast read
Erase cycles 1x105 1x106

Price High Low

Density Lower than NAND Higher than NOR

Usage Standard memory interface. Easy Serial interface. Complicated

Computer Structure 56 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria

Computer Structure Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


● Las celdas de memoria deben ensamblarse para formar una unidad de memoria.

● Parámetros a especificar:
○ Número de bits: esto da el número total de bits que la unidad de memoria
puede almacenar.
○ Número de bits en una palabra: acceder a 1 bit a la vez puede ser
inconveniente, por lo que a menudo se agrupan los bits en palabras (de 4, 8,
16, 32 o 64 bits).
○ Número de palabras direccionables: esta es una función del tamaño de la
palabra y el número total de bits.

Computer Structure 58 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


● Para describir la capacidad de un circuito o unidad de memoria, se utiliza lo
siguiente:
○ NumberOfAddresses x WordSize
FORMATO QUE VAMO A TRABAJAR

● Por ejemplo: 1Mx8 significa:


○ 1M=220=1048576 direcciones
○ 8 bits por palabra en cada ubicación de dirección
○ 8 líneas de datos para las palabras de 8 bits
○ 20 líneas de dirección para especificar el 1M=220=1048576
○ 1048576x8=8388608 bits en todo el circuito de memoria

Computer Structure 59 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


● Ejemplos:

Computer Structure 60 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2.1. Placas de memoria con RAM estática

Computer Structure Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


● ¿Qué pasa si no tenemos el tipo correcto de chips de memoria para
construir un sistema de memoria deseado?

● Tenemos que aprender a combinar chips de memoria disponibles para


formar un sistema de memoria de computadora de acuerdo con las
especificaciones.

● Ejemplo: Queremos un sistema de memoria de 1Mx8 pero por la razón que


sea (precio, disponibilidad, etc.), solo se pueden usar chips de memoria de
1Mx4.
○ Solución obvia: encontrar la forma de obtener un sistema de memoria
de 1Mx8 a partir de chips de 1Mx4 dispuestos de manera adecuada.

Computer Structure 62 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


● Por lo tanto, para construir un sistema de memoria de 1Mx8 utilizando
chips de memoria de 1Mx4:
○ Identificar las especificaciones para los chips de memoria 1Mx4 y el
sistema de memoria 1Mx8 deseado

○ La cantidad de direcciones y la cantidad de líneas de dirección son las


mismas, no es necesario cambiar eso
○ El número de líneas de datos de la memoria 1Mx8 es el doble que el
de la 1Mx4: por lo tanto, necesitamos dos chips de memoria 1Mx4 con
las mismas líneas de dirección y líneas de datos concatenadas.
Computer Structure 63 Higher Polytechnic School of Alcoy
Diseño de placas de memoria

2. Diseño de placas de memoria


● Por lo tanto, para construir un sistema de memoria de 1Mx8 utilizando
chips de memoria de 1Mx4 (continuación):

Computer Structure 64 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


● Otro ejemplo: construir un sistema de memoria de 2Mx4 usando chips de
memoria de 1Mx4
● Especificaciones de los chips de memoria y el sistema de memoria:

● El número de líneas de datos es el mismo para ambos.


● Hay una línea de dirección adicional en el 2Mx4 que proporciona el doble
de direcciones y el doble de bits: por lo tanto, necesitamos dos chips de
memoria 1Mx4 dispuestos donde se usa una línea de dirección para
decodificar qué chip 1Mx4 está habilitado
Computer Structure 65 Higher Polytechnic School of Alcoy
Diseño de placas de memoria

2. Diseño de placas de memoria


● Construir un sistema de memoria de 2Mx4 con chips de memoria de 1Mx4
(continuación)

Computer Structure 66 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


● Ejemplo: Ocho chips SRAM de 128K x 8 que forman un sistema de
memoria de 256K x 32.

Computer Structure 67 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


● L x W bits system size
● m x w bits circuit size
● Memory Boards: Static or Dynamic
● Circuits:
○ Logic Circuits: AND, OR, Inverters
○ Comparators
○ Decoders
○ Registers
○ Buffers, etc.

Computer Structure 68 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria


Estructura general (usando RAM estática):

Address Auxiliary Circuits

CS
RD
WR
Data

Computer Structure 69 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2.2. Organización

Computer Structure Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria / 2.2. Organización


Organización de las Placas de Memoria:

● Un conjunto de circuitos de memoria dispuestos en filas y columnas.

● Filas: según la tarjeta de memoria y el tamaño del circuito. Toda la fila se


selecciona a la vez.
● Columnas: Según el bus de datos y la memoria del circuito. Las columnas
se pueden seleccionar de forma independiente.

● Objetivo: Abstraer el modelo de memoria para que un programador del


sistema no necesite conocer el diseño físico de la memoria

Computer Structure 71 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria / 2.2. Organización


Columns* Memory chips

… … ...... …

Rows
… … ...... …
......

......

......
… … ...... …

* Column word size is always 8 bits

Computer Structure 72 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria / 2.2. Organización


● ¿Cómo se debe almacenar una palabra de varios bytes?

● Las formas más comunes son:


○ Big endian: la dirección es la ubicación del byte más significativo.
Utilizado por las estaciones de trabajo Sun.
○ Little endian: la dirección es la ubicación del byte menos significativo.
Utulizado por Intel x86

Computer Structure 73 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

2. Diseño de placas de memoria / 2.2. Organización


● ¿Cómo se debe almacenar una palabra de varios bytes? (continuación)

Computer Structure 74 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria

Computer Structure Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● El sistema de memoria principal de una computadora generalmente consta
de diferentes tipos de memoria: RAM, ROM, EPROM, Flash, etc.

● La organización de la memoria incluye:


○ Un rango de direccionamiento o conjunto de direcciones utilizables
○ Tamaño de palabra (generalmente 8, 16, 32 o 64 bits)
○ Si el tamaño de la palabra es superior a 8, se debe permitir el acceso a
bytes individuales en la memoria (líneas de control adicionales)

● La memoria física no suele cubrir el rango completo de direcciones

Computer Structure 76 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● Un módulo de memoria es un conjunto de chips de memoria dispuestos
para satisfacer algunos requisitos específicos.

● Normalmente, cada módulo corresponde a un único tipo de memoria:


ROM, RAM, EPROM, Flash, etc.

● Cada módulo alberga un rango de direcciones del espacio de


direccionamiento del microprocesador.

● Mapa de memoria: distribución de direcciones por módulos o chips de


memoria.

Computer Structure 77 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● Los módulos de memoria que pueden direccionarse se distribuyen a lo
largo del rango físico de direcciones.
○ Las líneas menos significativas se utilizan para la selección de celdas
(Líneas cambiantes).
○ Las líneas más significativas se utilizan para la selección de circuitos
(líneas constantes).
○ Formato de dirección (N bits en el bus de direcciones):

AN-1 AN-2 .... A1


A0
● Mapa de memoria usado.
● Mapa de memoria total.
● Combinación de diferentes tipos de memorias.

Computer Structure 78 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● ¿Cómo permitimos que muchos dispositivos de memoria controlen el
mismo bus?

Computer Structure 79 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● Una placa de PC puede tener muchos dispositivos de memoria, todos conectados
al mismo bus de datos.
● Cuando el procesador lee datos del bus, es esencial que solo un dispositivo envíe
datos al bus
● Las otras memorias deben desconectarse eléctricamente del bus mientras el
dispositivo seleccionado lo conduce
● Usar la decodificación de direcciones para asegurarse de que solo se seleccione
un dispositivo a la vez
● Utilizar los búfer Tristate para desconectar los dispositivos no seleccionados del
bus de datos
● Los dispositivos no seleccionados tienen sus salidas colocadas en el ESTADO DE
ALTA IMPEDANCIA, es como si sus salidas estuvieran apagadas
● Todas las salidas, excepto las del dispositivo seleccionado, deben estar en estado
de alta impedancia

Computer Structure 80 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● Decodificación de direcciones:
○ Necesita hardware de decodificación externo para garantizar que solo se
acceda a un dispositivo a la vez.
○ Las técnicas simples permiten la habilitación de chip de un solo dispositivo, en
función del contenido del bus de direcciones.

○ Implementar este sistema, que consta de 4 x (16K x 8) memorias:


■ ROM0 - 0000h - 3FFFh
■ ROM1 - 4000h - 7FFFh
■ RAM0 - 8000h - BFFFh
■ RAM1 - C000h - FFFFh

Computer Structure 81 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria

Discrete address decoder

Computer Structure 82 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria

Discrete address decoder

Computer Structure 83 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● Decodificador: Diagrama lógico

A
Select 0

Inputs B 1
2
C 3
4
‘138 5 Outputs
6
7

E1
Enable
Inputs E2

E3

Computer Structure 84 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
Decodificadores

Computer Structure 85 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
Decodificadores

Computer Structure 86 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria

Computer Structure 87 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● 74138 genera una salida única para una entrada binaria dada
● Puede conectar en cascada 138s para una decodificación más compleja y precisa
● Cada etapa tiene un retardo de propagación asociado.

Computer Structure 88 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
Ejemplo de un sistema real: sistema de memoria del microcontrolador

Computer Structure 89 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● Construcción de mapas de memoria:
○ Caso básico: bus de datos de 8 bits.
○ La matriz resultante tendrá W/w columnas y L/m filas
○ Los módulos de memoria pueden constar de varios chips de memoria. La
capacidad del módulo será la suma de todas las capacidades de los chips
○ El bus de datos tiene N líneas
○ El bus de datos del módulo tiene n líneas
○ Para cada módulo/chip, se consideran la primera y la última dirección
○ Estructura de las direcciones resultantes:

Parte fija AN-1 ... An An-1 ... A1 A0 Parte variable

Computer Structure 90 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● Construcción de mapas de memoria:
○ La parte fija selecciona el módulo/chip.
○ La parte variable selecciona la ubicación de la memoria dentro del
módulo/chip.

○ Se crea una matriz con todos los módulos/chips, dirección inicial, dirección
final y tipo de memoria:

Computer Structure 91 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
● Construcción de mapas de memoria:
○ Bus de datos superior a 8 bits (16, 32, 64 bits).
○ El acceso a los bytes de datos debe estar asegurado.
○ Líneas de control adicionales.
○ Little Endian y Big Endian.
○ Las operaciones de lectura y escritura deben considerarse por separado.

Computer Structure 92 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
Método para el diseño de un mapa de memoria:
1. Definir las necesidades del sistema (direccionamiento, anchura de palabras y
tipo de memoria).
2. Verificar qué circuitos integrados están disponibles (tanto en longitud como en
anchura de palabras) y seleccionar los que se necesitan.
3. Construir el mapa de memoria.
4. Determinar tamaño de página y diseñar tabla de direcciones y ocupación de
cada circuito integrado.
5. Determinar circuitería auxiliar necesaria para el control del circuito.
6. Dibujar el circuito completo.

Computer Structure 93 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
Ejemplo 1 - Mapas de memoria

Diseñar el mapa de memoria de un sistema basado en microprocesador para el


8085 de INTEL (A0..A15, D0..D7), suponiendo que se necesitan 8K×8 de memoria
ROM, 4K×8 de memoria RAM. Se disponen de circuitos integrados ROM de 2K×8 y
circuitos integrados RAM de 2K×8 y que la memoria está situada a partir de la
dirección $0 empezando por la ROM y colocando a continuación la RAM.

Computer Structure 94 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
PASO 1. Definir las necesidades del sistema (direccionamiento, anchura de
palabras y tipo de memoria).

Necesidades
● 8Kx8 memoria ROM
● 4Kx8 memoria RAM

Computer Structure 95 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
PASO 2. Verificar qué circuitos integrados están disponibles (tanto en longitud
como en anchura de palabras) y seleccionar los que se necesitan.

Tenemos
● 2Kx8 memoria ROM
● 2Kx8 memoria RAM

Seleccionamos

Circuitos integrados ROM

Circuitos integrados RAM

Computer Structure 96 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
PASO 3. Construir el mapa de memoria

Mapa de memoria reducido

Computer Structure 97 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
PASO 4. Determinar tamaño de página y diseñar tabla de direcciones y ocupación
de cada circuito integrado.

8K ROM + 4K RAM = 12K

Bus de datos D0..D7

Computer Structure 98 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
PASO 4. Determinar tamaño de página y diseñar tabla de direcciones y ocupación
de cada circuito integrado.

● Tamaño de página: 2K (todos los circuitos integrados son de 2K)


211 = 2048 bytes ⇒ A0..A10

● Bits de selección de página A11→ A13 ⇒ A11, A12, A13 ⇒ 23 = 8 páginas de


las cuales las 6 primeras se usan por los circuitos integrados y las dos últimas
quedan libres.

Computer Structure 99 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
Mapa de memoria ampliado: Tabla de direcciones.

ROM0

ROM1

ROM2

ROM3

RAM0

RAM2

LIBRE
LIBRE
Computer Structure 100 Higher Polytechnic School of Alcoy
Diseño de placas de memoria

3. Mapas de memoria
PASO 5. Determinar circuitería auxiliar necesaria para el control del circuito.

Necesidades

● Decodificador de 3 a 8
○ El número de páginas es de 6, pero el mínimo que podemos controlar es
de 8.
○ Las líneas del bus de direcciones del sistema A11, A12 y A13 se
conectarán a las entradas I0, I1 e I2 respectivamente
○ Cada una de las salidas de O0 a O5 se conectarán a los Chip Select (CS)
de cada los circuitos integrados de IC0 a IC5.

Computer Structure 101 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
PASO 6. Dibujar el circuito completo de la memoria. (8Kx8 ROM y 4Kx8 RAM)

Computer Structure 102 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

3. Mapas de memoria
PASO 7. Función de decodificación total y parcial

Computer Structure 103 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

Bibliografía
● Apuntes Tema.
● Apuntes Memory Technologies.
● Los apartados de Boards Design y Memory Maps, basarse únicamente en las
transparencias y en los ejercicios.
● Bastida, J.: Introducción a la Arquitectura de Computadores. Secretariado de
Publicaciones de la Universidad de Valladolid, 1995

Computer Structure 104 Higher Polytechnic School of Alcoy


Diseño de placas de memoria

Diseño de placas de memoria


Estructura de computadores

Computer Structure 105 Higher Polytechnic School of Alcoy

También podría gustarte