Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
1. Memoria RAM
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.
1. Memoria RAM
Celdas
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
1. Memoria RAM
tRC
tCO
RD
tOE
tOHA
Data Valid Data
tWC
tWP
WR
tDW tDH
Data Valid Data
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
RAS
CAS
R/W
RAS
CAS
R/W
RAS
La lectura(R) se
activa con 1 y la
escritura(W) con 0 CAS
R/W ESCRITURA
LECTURA
Bit OUT Valid data
RAS
CAS
R/W
Memory
Refresh
CPU DRAM
Circuit
1 2 3 ...N 1 2 3 ...N
N*tcycl N*tcycl
e e
Refresh time
1 2 3 ... N 1 2
● 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.
RAS
CAS
Address Row
RAS
CAS
R/W
● Double Data Rate (DDR) SDRAM: los datos se pueden leer/escribir en AMBOS
flancos del reloj.
○ 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.
● 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.
● 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).
● 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
Fuente: HardZone
Fuente: HardZone
● 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.
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
● 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.
CS
RD
WR
Data
2.2. Organización
… … ...... …
Rows
… … ...... …
......
......
......
… … ...... …
3. Mapas 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.
3. Mapas de memoria
● Un módulo de memoria es un conjunto de chips de memoria dispuestos
para satisfacer algunos requisitos específicos.
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):
3. Mapas de memoria
● ¿Cómo permitimos que muchos dispositivos de memoria controlen el
mismo bus?
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
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.
3. Mapas de memoria
3. Mapas 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
3. Mapas de memoria
Decodificadores
3. Mapas de memoria
Decodificadores
3. Mapas 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.
3. Mapas de memoria
Ejemplo de un sistema real: sistema de memoria del microcontrolador
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:
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:
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.
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.
3. Mapas de memoria
Ejemplo 1 - Mapas 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
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
3. Mapas de memoria
PASO 3. Construir el mapa 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.
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.
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.
3. Mapas de memoria
PASO 6. Dibujar el circuito completo de la memoria. (8Kx8 ROM y 4Kx8 RAM)
3. Mapas de memoria
PASO 7. Función de decodificación total y parcial
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