1.2 Análisis de los Componentes.

Anuncio
1.2 Análisis de los
Componentes.
Arquitectura de Computadoras
Rafael Vazquez Perez
1.2.2 Memorias
• 1 Conceptos básicos de manejo de la
memoria
• 2 Memoria principal semiconductora
• 3 Memoria Cache
Conceptos Básicos del
Manejo de la memoria
•
Una memoria es un dispositivo que puede
mantenerse en por lo menos dos estados estables
por un cierto periodo de tiempo.
•
Cada uno de estos estados estables puede
utilizarse para representar un bit.
•
A un dispositivo con la capacidad de almacenar por
lo menos un bit se le conoce como celda básica de
memoria.
Conceptos Básicos del
Manejo de la memoria
•
Un dispositivo de memoria completo se forma con
varias celdas básicas y los circuitos asociados para
poder leer y escribir dichas celdas básicas,
agrupadas como localidades de memoria que
permitan almacenar un grupo de N bits.
•
El número de bits que puede almacenar cada
localidad de memoria es conocido como el ancho
de palabra de la memoria.
•
Coincide con el ancho del bus de datos.
Conceptos Básicos del
Manejo de la memoria
Conceptos Básicos del
Manejo de la memoria
Decodificación
por filas y
columnas
Conceptos Básicos del
Manejo de la memoria
•
Uno de los circuitos auxiliares que integran la memoria es el
decodificador de direcciones.
•
Su función es la de activar a las celdas básicas que van a ser leídas o
escritas a partir de la dirección presente en el bus de direcciones.
•
Tiene como entradas las n lineas del bus de direcciones y 2n lineas
de habilitación de localidad, cada una correspondiente a una
combinación binaria distinta de los bits de direcciones.
•
Por lo tanto, el número de localidades de memoria disponibles en
un dispositivo (T) se relaciona con el número de lineas de dirección
2n .
Resumen sobre conceptos básicos de la memoria
Resumen sobre conceptos básicos de la memoria
Jerarquías de Memoria
Memoria Principal
Semiconductora
• 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).
Para su implementación se usan de
transistores en semiconductores.
• Operaciones básicas: lectura y escritura de
datos. Conexión al exterior mediante bus
de datos, direcciones y control.
•
•
•
Memoria Principal
Semiconductora
Existen 2 categorías principales:
ROM (read-only memory): los datos se almacenan
de forma permanente o semipermanentememorias
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. Existen 2 tipos de
memoria ram : SRAM (estáticas) y DRAM
(dinámicas).
Memorias de acceso aleatorio estáticas
(SRAM, static RAM)
•
•
•
•
•
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.
Estructura externa de
una SRAM asíncrona
Estructura interna de
una SRAM asíncrona
Diagrama de tiempos de R/W
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.
Diagrama de tiempos de R/W
en una SRAM asíncrona
Fundamentos de
memorias DRAM
•
•
•
•
•
Celdas implementadas mediante un
condensador en vez de un latch/flip flop,
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).
•
•
•
•
•
Fundamentos de
memorias DRAM
Memorias más lentas que las SRAM: se prioriza 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
•
•
Memorias DRAM asincronas
Memorias FPM RAM
•
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.
Memorias EDO RAM
• 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 CASExtended Out. Así la CPU
tiene más tiempo para leer dato.
• Aumenta la frecuencia de funcionamiento
hasta los 40 mhz consiguiendo una mejora
en el rendimiento de un 40% respecto FPM.
Memorias BEDO RAM
(Burst EDO RAM)
• 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.
Refresco de DRAM
•
•
•
•
•
•
•
•
•
•
Operación de re-escritura 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.
Precarga
Controlador de la memoria
•
•
•
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.
•
•
•
•
•
Estructura de un controlador
de memoria DRAM
Módulos de Memoria DRAM
•
•
•
Los chips de memoria DRAM se agrupan en
circuitos impresos que constituyen módulos de
memoria y que son usados para ser directamente
insertados len el motherboard.
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.
Módulos de Memoria DRAM
•
•
•
•
•
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, 4- 32 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.
RIMM ó PS/2 (Rambus In-Line Memory Module): memorias RAMBUS. Bus de
datos de 32 bits. Primeros procesadores Pentium 4 y Play Station 2.
•
•
Módulos de Memoria DRAM
•
•
Ejemplo conexión memoria
DRAM en Pentium IV
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.
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.
•
•
Memorias DDR SDRAM
•
•
•
•
•
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#.
Se añaden algunas nuevas señales y se quitan otras. 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).
Subir los MHz físicos es más difícil (y caro) de fabricación de su éxito.
Varias familias en función de su frecuencia virtual: DDR1 (200mhz –
400mhz), DDR2 (400mhz – 667mhz), DDR3 (a partir de 800mhz).
Descargar