Está en la página 1de 53

Equipos de Memoria

Prof. Edgardo Vargas Moya

Caractersticas

Cuando analizamos las distintas memorias debemos tener en cuenta las siguientes caractersticas:
Localizacin

(Location) Capacidad (Capacity) Unidad de transferencia (Unit of transfer) Mtodo de acceso (Access method) Ejecutoria (Performance) Tipo fsico (Physical type) Caractersticas del fsico (Physical characteristics) Organizacin (Organization)
2

Localizacin

Procesador (CPU)
Registros

Interna (Internal)
Memoria

Principal Secundaria o Auxiliar

Externa (External)
Memoria

Capacidad

Celda de Memoria:
Circuito

elctrico usado para almacenar un bit. Ejemplo son FF, anillos magnticos, etc.

Tamao de palabra (Word size)


La

unidad natural de la organizacin de la memoria. Largos comunes de palabras son 8,16, 32 hasta 64 bits. No siempre el tamao es igual al numero de lneas de dato.

Nmeros de palabras (Number of words)


Bytes:

esta formado de 8 bits. Nible: esta formado de 4 bits.


4

Capacidad

Ejemplo 1:
Un

chip de memoria esta especificado 2K x 8. Cuntas palabras (words) se pueden almacenar en el chip? Cunto es el total de bits que este chip puede almacenar? Solucin:

En nmeros reales 1k = 1024. Por lo tanto:

2K = 2 x 1024 = 2048 words 2048 x 8 = 16, 384 bits


5

Cada palabra es de 8 bits (byte). Por lo tanto:

Capacidad

Ejemplo 2:
Un

chip de memoria esta especificado 256K x 8. Cuntas lneas de entrada y salida tiene? Cuntas lneas de direccin tiene? Cul es su capacidad en bytes? Solucin:
Tiene ocho de cada una, ya que el tamao de la palabra es ocho. La memoria almacena 256 x 1024 = 256,144 palabras. Como 256,144 = 218 , este requiere un total de 18 bits de direccin. Un byte es 8 bits. Por lo tanto la capacidad de la memoria es de 256,144 bytes.

Unidad de transferencia

Interna (Internal)

Usualmente gobernada por el ancho del data bus (bus width) Es la cantidad de bits que puede ser leda o escrita en la memoria en un solo tiempo o momento dado.

Externa (External)

Usualmente los datos son enviados en un bloque el cual es mas grande que una palabra (word).

Unidad de direccionamiento (Addressable unit)

Localizacin mas pequea la cual puede ser nicamente direccionada (addressed). En algunos sistemas esta unidad es la palabra (word) pero en otros casos esta al nivel del byte. Tambin es conocida como palabra interna (Word internally).

Mtodos de Acceso (1)

Secuencial (Sequential)
Comienza

desde el principio y lo lee en el orden en

que esta. El tiempo de acceso depende de la localizacin de los datos y su localizacin previa. e.g. cinta (tape)

Directa (Direct)
Los

bloques individuales de datos o instrucciones tienen direcciones nicas. El acceso es por brinco a la localizacin y luego la bsqueda pasa a ser secuencial. El tiempo de acceso depende en la localizacin y la localizacin previa. e.g. disco (disk)

Mtodos de Acceso (2)

Aleatoria (Random)

Las direcciones individuales son identificadas exactamente. Cualquier localizacin puede ser seleccionada aleatoriamente para ser directamente direccionada y accedida. El tiempo de acceso es independiente de la localizacin o el acceso previo. e.g. RAM, algunos cache

Asociativa (Associative)

Los datos son localizados por comparacin con el contenido de una porcin del almacenamiento. El tiempo de acceso es independiente de la localizacin o el acceso previo. e.g. la mayora de los cache
9

Ejecutoria (Performance)

Tiempo de acceso (Access time)

En la memoria de acceso aleatorio es el tiempo entre el presentar la direccin y acceder los datos validos. En la memoria de acceso no aleatorio es el tiempo que le toma al mecanismo de escritura-lectura colocarse en la posicin deseada.

Tiempo de ciclo de memoria (Memory Cycle time)

Es el tiempo que requiere la memoria para recuperarse antes del siguiente acceso. El tiempo de ciclo es acceso + recuperacin

Rango de transferencia (Transfer Rate)

Rango a la cual la datos pueden ser movidos adentro o afuera de la unidad de memoria.
10

Tipos fsicos (Physical Types)

Semiconductor (Semiconductor)
RAM,

ROM, Jump Drive, etc. (Disk) & Cinta(Tape)

Magntico (Magnetic)
Disco

ptico (Optical)
CD

& DVD

11

Caractersticas fsicas

Descenso (Decay)
Se

refiere a la perdida de poder elctrico cuando el interruptor es apagado. un termino relacionado al descenso y se refiere a si la memoria puede perder su contenido por la falta de energa.

Voltil (Volatility)
Es

No-voltil: no pierde su contenido Voltil: pierde su contenido

Borrable (Erasable)
Se

refiere a si el contenido de una memoria puede ser cambiada o eliminada deliberadamente.


que necesita para mantener su contenido.

Consumo de poder (Power consumption)


Energa
12

Organizacin
Es la clave del diseo. Debe entenderse como el arreglo fsico de los bits en una palabra (words) No siempre es obvia esta organizacin.

13

Puntos relevantes

Como de mucho? Capacidad (Capacity) Como de rpido? El tiempo es dinero Como de caro?
A

mayor velocidad en el tiempo de acceso, mayor costo por bit. A mayor capacidad, menor el costo por bit. A mayor capacidad, menor el tiempo de acceso.

14

Jerarquas de Memoria(1)

Registros (Registers)
En

el CPU

Memoria interna o principal.


Puede

incluir uno o mas niveles de cache. RAM, ROM

Memoria externa (External memory)


Tambin

conocida como memoria auxiliar Almacenamiento de resguardo (Backing store)


15

Lista de jerarqua(2)
Registros (Registers) L1 Cache L2 Cache Memoria principal (Main memory) Disco (Disk) cache Disco (Disk) ptico (Optical) Cinta (Tape)

16

Lista de jerarqua(3)

Segn bajamos en la jerarqua encontramos:


Decrece

el costo por bit Aumenta su capacidad Decrece el tiempo de acceso Decrece la frecuencia de acceso de la memoria por el procesador.

17

Operacin Normal de la Memoria

Todo tipo de memoria requiere diferentes tipos de lneas de I/O para realizar lo siguiente:
Seleccionar

la direccin en memoria para las operaciones de lectura (Read) y escritura (Write). Seleccionar entre las operaciones de R/W a realizar. Suplir o aguantar datos los datos para las operaciones de R/W en memoria. Activar (Enable) o desactivar (Disable) la memoria durante las operaciones de R/W.

18

Memoria ROM

Llamada memoria de solo lectura ya que los ROM originales solo permitan que se les escribiera solo una ves. Hoy da los diferentes tipos de esta memoria son diseadas para guardar datos de forma permanente o que no es cambiada frecuentemente. Microprogramado Se utilizan para:
Libreras

para subrutinas Programa del Sistema (BIOS) Tablas funcionales.


19

Tipos de ROM

Escritos durante la manufactura


MROM (Mask Programmed ROM) Muy costosos para corridas pequeas. Ejemplos de esta memoria es 74187 (256x4, 40ns tiempo de acceso), 7488A (32x8, 45ns), TMS47257 (32Kx8, 200ns, 82.5 mW) y el TMS47C256 (CMOS, 32Kx8, 150ns, 2.8 mW).

Programable (Solo una vez)


PROM (Programmable ROM) Necesita equipo especial para ser programado La estructura en igual a la del MROM pero utilizando unos fusibles para cambiar solo una ves el contenido de estas. Ejemplos de esta memoria es 74186 (64x8, 50ns), TBP28S166 (2Kx8, 50ns), TMS27PC256 (CMOS PROM, 32Kx8, 120-250 ns, 1.4 nW).
20

Tipos de ROM

Mayor mente ledo


Erasable Programmable (EPROM) Es borrado por Luz Ultra Violeta (UV). Ejemplos Intel 2732 (4kx8, 45ns), Intel 27C512 (64Kx8, 100s). El borrado tarda de 15 a 20 minutos y la escritura es de 50 ms. Electrically Erasable (EEPROM) Puede ser borrado elctricamente y por bits individualmente. El tiempo de escritura es de unos 5 ms. Ejemplos Intel 2864 (8Kx8). Flash memory Borra toda la memoria elctricamente Se pueden borrar elctricamente como los EEPROM y tienen las densidad de los EPROM. Su tiempo de escritura son de unos 10 s. Ejemplo es el Intel 28F256A (32Kx8). Nombres son Jump Drive, Dump Drive, Pen Drive, etc.
21

Memoria RAM

RAM (Random Access Memory)


Es

llamada as pero todas las memorias semiconductoras son de acceso aleatorio (random access). Caracterstica:

Lectura/Escritura (Read/Write) Voltil (Volatile) Almacenamiento temporal (Temporary storage) Esttico o Dinmico (Static or dynamic)

Los

tamaos tpicos son 1 a 64K y tamao de palabras de 1, 4 o 8 bits. Ejemplos de los RAM originales son el 2147H NMOS, MCM6206C CMOS RAM.
22

RAM Dinmico (DRAM)

Caractersticas:

Los bits almacenados como cargas en los capacitores. Perdida de carga (Charges leak) Necesita refrescarse a un cuando este encendida. Construccin simple Mas pequea por bit.

Celdas pequeas = mas celdas por unidad de rea

Menos costosa comparada con el SRAM. Necesita circuitos para refrescar Lenta comparada con el SRAM

Ejemplo es el 4116 (16Kx1). Utilizacin: Memoria principal


23

RAM Esttico (SRAM)

Caractersticas:
Los

bits son almacenados como interruptores on/off No tiene perdida de carga No necesita refrescarse cuando esta conectada Construccin mas compleja Mas grande por bit

Celdas grandes = menos celdas por unidad de rea

Mas cara comparada con el DRAM No necesita circuitos para refrescar Rpida comparada con el DRAM

Ejemplos MCM6206 (32Kx8), 2147 (4Kx1) y el MCM6708A (64Kx4). Utilizacin: Cache


24

Tecnologa RAM(1)

Enhanced DRAM
Contiene

pequeos SRAM El SRAM guarda la ultima lnea leda. (c.f. Cache!)

Cache DRAM
Grandes

componentes SRAM Usado como cache o buffer serial

25

Tecnologa RAM(2)

DRAM Sincronizado (SDRAM)


Corrientemente en el DIMMs El acceso es sincronizado con el reloj externo La direccin es presentado al RAM El RAM encuentra los datos (CPU espera en el DRAM convencional) Desde que el SDRAM mueve los datos en tiempo con el sistema de reloj, el CPU conoce cuando los datos estn listos. El CPU no tiene que esperar, puede hacer cualquier otra cosa.

26

SDRAM

27

Organizacin en detalle

Todas las celdas de memoria semiconductoras comparten ciertas propiedades:


Pueden

tener dos estados estables, las cuales se pueden representar binariamente con 1 y 0. Son capaces de ser escritas por lo menos una vez, para sincronizar el estado. Son capaces de ser ledos para sentir el estado.
28

Chip lgico

Como todo circuito integrado, la memoria semiconductora viene en chips empacados la cual contienen un arreglo de celdas de memoria. Un chip de 16Mbit puede ser organizado como 1M de palabras de 16 bits. Un sistema de bit por chip tiene 16 lotes de chip de 1Mbit con el bit 1 de cada palabra el chip 1 y continua. Un chip de 16Mbit puede ser organizado como un arreglo de 2048 x 2048 x 4bit Reduce el numero de pines de direccin

Multiplex row address and column address 11 pins para direccin (211=2048) Con solo aadir un pin mas se puede doblar el numero de lneas y columnas, por lo que el chip de memoria crecera por un factor de 4.
29

Refrescando

Todo DRAM requiere un circuito de refrescamiento incluido en cada chip. Esto tiene como efecto:
Toma

tiempo Baja aparente en la ejecucin

30

Tpico 16 Mb DRAM (4M x 4)

31

Enpacamiento

32

Organizacin del Modulo

33

Organizacin del modulo (2)

34

Error de conexin

Toda memoria semiconductora esta sujeta a errores. Estas pueden ser;


Falla

dura (Hard Failure)

Defecto permanente Pueden ser causados por abuso, defectos, entre otros.
Error

suave (Soft Error)

Aleatorio (Random), no destructivo No dao permanente en la memoria Puede alterar el contenido de una o mas celdas.

Detectado usando un cdigo correctivo Hamming creado por Richard Hamming.

35

Cdigo para la correccin de error

36

Cache

Pequea cantidad de memoria rpida. Situada entre la memoria principal y el CPU Puede ser colocada en el CPU o en el modulo.

37

Operacin del cache


El CPU requiere el contenido de una localizacin de memoria. Verifica el cache por esta data. Si este presente, la selecciona del cache (rpido). Si no esta presente, lee el bloque requerido de la memoria hacia el cache. Entonces el cache se lo entrega al CPU.

38

Organizacin tpica del Cache

39

Cache Pentium
Los procesadores originales solo tenan un cache. Desde el procesador Pentium en adelante se incluyeron dos caches (L1, 8-16kb), uno para los datos y otro para las instrucciones. Desde el Pentium II y Pentium Pro tambin se incluye un segundo cache (L2, 256-1Mb) el cual alimenta a ambos caches L1.

40

Funcin de rastreo (Mapping)


Existen tres tipos: directo, asociativo y asociativo por grupo. Estas caractersticas sern consideradas para los tres tipos:

Cache

de 64kByte Bloque de Cache de 4 bytes


i.e. el cache es 16k (214), lneas de 4 bytes
16MBytes

de memoria principal 24 bit de direccin


(224=16M)
41

Rastreo Directo (Direct Mapping)

Cada bloque de la memoria principal es direccionada a una solo lnea del cache.
Si

el bloque esta en el cache, debe de estar en un sitio en especifico. A cada bloque se le da una direccin nica por la cual ser buscada cuando se necesite.

La direccin se divide en dos partes.


Los

bits w menos significativos identifica una palabra (word) nica. Los bits mas significativos (MSBs) especifican un bloque de memoria.
42

Organizacin del Cache de Rastro Directo

43

Ejemplo del Rastreo Directo

44

Ventajas y Desventajas del Rastreo Directo

Ventajas
Simple
Inexpensive

(Barato)

Desventajas
Localizacin

fija para un bloque dado

Si el programa accede dos bloques que se rastrean en la misma lnea repetidamente, los fallos del cache son muy altos. El cache tiene que estar constantemente intercambiando estos bloques durante la actualizacin.
45

Rastreo Asociativo
Un bloque de la memoria principal puede ser colocado en cualquier lnea del cache. Las direcciones de memoria son interpretadas como tag y palabras. El tag nicamente identifica el bloque de memoria. Cada lnea del tag es examinada para la comparacin. La bsqueda en el cache es expensive (costosa).

46

Organizacin del Cache Rastreo Asociativo

47

Ejemplo de Rastreo Asociativo

48

Rastreo Asociativo por Grupo


El cache esta dividido en un numero de grupos (sets). Cada grupo (set) contiene un numero de lneas. Un bloque dado rastrea cualquier lnea en el grupo (set) dado.
el

Bloque B puede estar en cualquier lnea del grupo.

e.g. 2 lneas por grupo


2

formas de rastreo asociativo Un bloque dado puede estar en uno de las dos lneas solamente en el grupo.
49

Organizacin del cache asociativo por grupo.

50

Ejemplo de Rastreo Asociativo por Grupo.

51

Algoritmo de reemplazo para el rastreo directo (1)


No tiene opcin Cada bloque solo rastrea una lnea. Remplaza esa lnea.

52

Algoritmo de reemplazo (2) para el asociativo & asociativo por grupo


El equipo (hardware) implementa el algoritmo (velocidad) Menos recientemente usado (Least Recently used) (LRU)

En el asociativo por grupo

Cul de los dos bloques es LRU?

Primero en entrar Primero en salir (First in First out) (FIFO)

Remplaza el bloque que ha estado en el cache por mas tiempo


Remplaza el bloque que tenga meno uso

El menos frecuentemente usado (Least frequently used)

Aleatorio (Random)

53