Вы находитесь на странице: 1из 110

Asignatura Arquitectura de Computadores I

Ing. Brbara Briceo

Los que trabajan en la informtica


comnmente emplean el trmino memoria
para aludir a la Random Access Memory o
RAM. Un ordenador utiliza la memoria para
guardar las instrucciones y los datos
temporales que se necesitan para ejecutar las
tareas. De esta manera, la unidad central de
proceso o CPU puede acceder rpidamente a
las instrucciones y a los datos guardados en
la memoria.
Entonces podemos decir que las memorias son circuitos electrnicos en
forma de Chips, capaces de almacenar datos de manera temporal o
permanente.

Ubicacin

Capacidad
Unidad de
transferencia
Mtodo de acceso

Prestaciones

Registros

Memoria interna o principal

Dispositivo Fsico
Caractersticas
fsicas
Organizacin

En CPU

Puede incluir uno o ms niveles de


cach
RAM

Memoria externa

Memoria de respaldo

Ubicacin

Capacidad

Tamao de la palabra

Unidad de
transferencia
Mtodo de acceso

Prestaciones

Nmero de bits utilizados para


representar nmeros o
longitud de instruccines.
Excepciones: CRAY-1, VAX.

Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Nmero de palabras

Ubicacin

Capacidad
Unidad de
transferencia
Mtodo de acceso

Para la memoria principal,


nmero de bits que se leen
o se escriben en memoria a
la vez.

Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Para la memoria externa,


unidades ms grandes
denominadas bloques.

Ubicacin

Capacidad
Unidad de
transferencia
Mtodo de
acceso
Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Acceso secuencial

Acceso directo

Acceso aleatorio

Acceso asociativo

Ubicacin

Capacidad
Unidad de
transferencia

Tiempo de acceso

Mtodo de acceso

Memoria de acceso aleatorio: Tiempo


en realizar una lectura o escritura
Memoria de otro tipo: Tiempo en situar
el mecanismo de escritura/lectura en la
posicicn deseada.

Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Tiempo de ciclo

Se aplica principalmente a las


memorias de acceso aleatorio, se
define como el tiempo de acceso ms
el tiempo que se requiere para poder
iniciarse un segundo acceso a la
memoria.

Velocidad de transferencia
Velocidad a la que se puede transferir
datos a, o desde, una unidad de
memoria.
Acceso aleatorio: inverso del tiempo de
ciclo.
Otro tipo de acceso:
N
TN TA
R

Ubicacin

Capacidad
Unidad de
transferencia
Mtodo de acceso

Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

TN

Tiempo medio de escritura o de lectura de N bits

TA

Tiempo de acceso aleatorio

Nmero de bits

Velocidad de transferencia en bits por segundo (bps)

Ubicacin

Capacidad

Semiconductor

Unidad de
transferencia
Mtodo de acceso

Dispositivo
Fsico

Floppies, cintas, etc.

Soporte ptico

Caractersticas
fsicas
Organizacin

Soporte magntico

Prestaciones

Dispositivos de estado slido como


los chips. Ej: RAM

DVD, CD, mini disk, etc.

Magneto ptico

Mitad magnetico, mitad ptico.

Ubicacin

Capacidad

Voltil / no voltil

Unidad de
transferencia

Mtodo de acceso

Prestaciones

Memoria de superfici
magntica: no voltil
Memoria semiconductora:
voltil o no voltil

Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Borrable / no borrable

RAM / ROM

Ubicacin

Capacidad
Unidad de
transferencia
Mtodo de acceso

Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Disposicin o estructura
fsica en bits para formar
palabras.

En el diseo de la memoria de una


computadora existe un compromiso entre las
caractersticas de capacidad, coste y
velocidad.

A menor tiempo de acceso, mayor coste por bit.


A mayor capacidad, menor coste por bit.
A mayor capacidad, mayor tiempo de acceso.

Infinitamente grande y con tiempo de acceso muy corto.

Sin embargo

Solucin: Jerarqua de memoria

Muy cara
Tecnolgicamente no factible

Unidades grandes y lentas, y


Unidades pequeas y rpidas

Meta de la jerarqua de memoria:

Ilusin de una memoria grande, rpida y barata.

1000

CPU

Separacin de
rendimiento
Procesador-memoria
(crece 50% / ao)

100
10

Less Law?
DRAM

1
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000

Rendimiento

Moores Law

Proc
60%/ao.
(2X/1.5 ao)

Tiempo

DRAM
9%/ao.
(2X/10 aos)

Cuando se desciende la jerarqua


ocurre:
a) Menor costo por bit
b) Mayor capacidad
c) Menor velocidad
d) Disminucin de la frecuencia
de acceso a la memoria por
parte del procesador

Principio de
localidad

Principio de localidad

Los programas accede una porcin relativamente


pequea del espacio de direcciones en algn
instante de tiempo.
Probabilidad
De referencia

Espacio de direcciones

Localidad temporal
Si un dato es referenciado, se tiende a ser
referenciado de nuevo en un tiempo prximo
(bucles o subrutinas)

Localidad espacial
Si un dato es referenciado, los datos con
direcciones cercanas tienden a ser referenciados
pronto (tablas o matrices)

Hit: el dato est en algn bloque en el nivel superior (ejemplo: Bloque X)


Hit Rate: Fraccin de acceso a memoria en el nivel superior
Hit Time: Tiempo para accesar el nivel superior que consiste en: tiempo
de acceso de RAM + Tiempo para determinar hit/miss

Miss: el dato necesita ser trado de un bloque en el nivel bajo (Bloque Y)


Miss Rate = 1 - (Hit Rate)
Miss Penalty: Tiempo para reemplazar un bloque en el nivel superior
+ Tiempo para llevar el bloque al procesador

Hit Time << Miss Penalty

Al procesador Nivel memoria


superior
Bloque X

Del procesador

Nivel de memoria
inferior
Bloque Y

Acceder a dos niveles de memoria


Nivel 1: 1,000 palabras, tiempo acceso: 0.1 s
Nivel 2: 100,000 palabras, tiempo acceso: 1 s

Haciendo uso del principio de localidad:

Presenta al usuario tanta memoria como est disponible con la tecnologa ms


econmica.
Provee acceso con la velocidad disponible con la tecnologa ms rpida.

Processor
Control

Tamao (bytes):

On-Chip
Cache

Velocidad (ns):

Registers

Datapath

Second
Level
Cache
(SRAM)

Main
Memory
(DRAM)

1s

10s

100s

100B

KB

MB

Secondary
Storage
(Disk)

10,000,000s
(10s ms)
GB

Tertiary
Storage
(Tape)

10,000,000,000s
(10s sec)
TB

Registros

Cache

Por el compilador (programador?)

Por el hardware

Memoria principal

Por el hardware
Por el sistema operativo (cach de disco &
memoria virtual)
Por el programador (archivos)

Memoria RAM (Random-Access Memory)

Todas las memoria mostradas son de acceso


aleatorio
Leer y escribir datos rpidamente en ellas
Voltil. Almacenamiento temporal

Tipos de
memoria RAM

Dinmica. Est hecha con celdas que


almacenan los datos como cargas
en los condensadores.
Esttica.

Almacenan los datos utilizando


configuraciones de puertas que
forman biestables (flip-flops)

Acceso aleatorio: el tiempo de acceso es el mismo para todas las locaciones


DRAM: Memoria de acceso aleatorio dinmica
Alta densidad
low power
Econmica
Lenta
Dinmica: Necesita ser refrescada regularmente (1-2% de ciclos)

SRAM: Memoria de acceso aleatoria esttica


Baja densidad
high power
Cara
Rpida
Esttica: El contenido durar mientras est alimentada

1. DRAM
2. FPRAM
3. EDO RAM
4. BEDO RAM
5. SDRAM
6. RAMBUS
RAM
7. DDR RAM

acrnimo
de
Dynamic
Random
Access
Memory,
o
simplemente RAM ya que es la
original, y por tanto la ms lenta.
Usada hasta la poca del 386, su
velocidad de refresco tpica es de 80
70 nanosegundos (ns), tiempo ste
que tarda en vaciarse para poder dar
entrada a la siguiente serie de datos.
Por ello, la ms rpida es la de 70 ns.
Fsicamente,
aparece en forma de DIMMs o de
SIMMs, siendo estos ltimos de 30
contactos.
DRAM:

FPM (Fast Page Mode): a veces

llamada
DRAM,
puesto
que
evoluciona directamente de ella, y
se usa desde hace tanto que pocas
veces se las diferencia.
Algo ms rpida, tanto por su
estructura (el modo de Pgina
Rpida) como por ser de 70 60
ns. Es lo que se da en llamar la
RAM normal o estndar. Usada
hasta con los primeros Pentium,
fsicamente aparece como SIMMs
de 30 72 contactos (los de 72 en
los Pentium y algunos 486).

EDO o EDO-RAM: Extended Data OutputRAM. Evoluciona de la FPM.

Permite empezar a introducir nuevos datos


mientras los anteriores estn saliendo
(haciendo su Output), lo que la hace algo
ms rpida (un 5%, ms o menos).
Mientras que la memoria tipo FPM slo
poda acceder a un solo byte (una
instruccin o valor) de informacin de cada
vez, la memoria EDO permite mover un
bloque completo de memoria a la cach
interna del procesador para un acceso ms
rpido por parte de ste. La estndar se
encontraba con refrescos de 70, 60 50 ns.
Se instala sobre todo en SIMMs de 72
contactos, aunque existe en forma de
DIMMs de 168.

SDRAM: Sincronic-RAM. Es un tipo sncrono de memoria, que,

lgicamente, se sincroniza con el procesador, es decir, el procesador


puede obtener informacin en cada ciclo de reloj, sin estados de
espera, como en el caso de los tipos anteriores. Slo se presenta en
forma de DIMMs de 168 contactos; es la opcin para ordenadores
nuevos.
SDRAM funciona de manera totalmente diferente a FPM o EDO.
DRAM, FPM y EDO transmiten los datos mediante seales de
control, en la memoria SDRAM el acceso a los datos esta
sincronizado con una seal de reloj externa.

PC-100 DRAM: Este tipo de memoria, en principio con tecnologa

SDRAM, aunque tambin la habr EDO. La especificacin para esta


memoria se basa sobre todo en el uso no slo de chips de memoria
de alta calidad, sino tambin en circuitos impresos de alta calidad de
6 o 8 capas, en vez de las habituales 4; en cuanto al circuito impreso
este debe cumplir unas tolerancias mnimas de interferencia elctrica;
por ltimo, los ciclos de memoria tambin deben cumplir unas
especificaciones muy exigentes. De cara a evitar posibles
confusiones, los mdulos compatibles con este estndar deben estar
identificados as: PC100- abc-def.

BEDO (burst Extended Data Output): Fue diseada originalmente para

soportar mayores velocidades de BUS. Al igual que la memoria


SDRAM, esta memoria es capaz de transferir datos al procesador en
cada ciclo de reloj, pero no de forma continuada, como la anterior, sino
a rfagas (bursts), reduciendo, aunque no suprimiendo totalmente, los
tiempos de espera del procesador para escribir o leer datos de
memoria.

RDRAM: (Direct Rambus DRAM). Es un tipo de memoria de 64 bits que

puede producir rfagas de 2ns y puede alcanzar tasas de transferencia


de 533 MHz, con picos de 1,6 GB/s. Pronto podr verse en el mercado
y es posible que tu prximo equipo tenga instalado este tipo de
memoria. Es el componente ideal para las tarjetas grficas AGP,
evitando los cuellos de botella en la transferencia entre la tarjeta grfica
y la memoria de sistema durante el acceso directo a memoria (DIME)
para el almacenamiento de texturas grficas. Hoy en da la podemos
encontrar en las consolas NINTENDO 64.

DDR SDRAM: (Double Data Rate SDRAM o SDRAM-II). Funciona a

velocidades de 83, 100 y 125MHz, pudiendo doblar estas velocidades


en la transferencia de datos a memoria. En un futuro, esta velocidad
puede incluso llegar a triplicarse o cuadriplicarse, con lo que se
adaptara a los nuevos procesadores. Este tipo de memoria tiene la
ventaja de ser una extensin de la memoria SDRAM, con lo que facilita
su implementacin por la mayora de los fabricantes.

SLDRAM: Funcionar a velocidades de 400MHz, alcanzando en

modo doble 800MHz, con transferencias de 800MB/s, llegando a


alcanzar 1,6GHz, 3,2GHz en modo doble, y hasta 4GB/s de
transferencia. Se cree que puede ser la memoria a utilizar en los
grandes servidores por la alta transferencia de datos.

ESDRAM: Este tipo de memoria funciona a 133MHz y alcanza

transferencias de hasta 1,6 GB/s, pudiendo llegar a alcanzar en


modo doble, con una velocidad de 150MHz hasta 3,2 GB/s.

1. SRAM Sincrnica
2. SRAM Burst
3. SRAM Pipeline

Se trata de la forma en que se


organizan los chips de memoria, del
tipo que sean, para que sean
conectados a la placa base del
ordenador.
Son
unas
placas
alargadas con conectores en un
extremo; al conjunto se le llama
mdulo. El nmero de conectores
depende del bus de datos del
microprocesador.

1. DIP
2. SIMM
3. DIMM
4. RIMM

1. SIMM de 72 contactos, los ms usados en la actualidad. Se


fabrican mdulos de 4, 8, 16,32 y 64 Mb.
2. SIMM EDO de 72 contactos, muy usados en la actualidad.
Existen mdulos de 4, 8, 16,32 y 64 Mb.
3. SIMM de 30 contactos, tecnologa en desuso, existen
adaptadores para aprovecharlas y usar 4 de estos mdulos como
uno de 72 contactos. Existen de 256 Kb, 512 Kb (raros), 1, 2
(raros), 4, 8 y 16 Mb.
4. SIPP, totalmente obsoletos desde los 386 (estos ya usaban
SIMM mayoritariamente).

SIMMs: Single In-line Memory Module, con 30 72 contactos. Los de


30 contactos pueden manejar 8 bits cada vez, por lo que en un 386
486, que tiene un bus de datos de 32 bits, necesitamos usarlos de 4 en 4
mdulos iguales. Su capacidad es de 256 Kb, 1 Mb 4 Mb. Miden unos
8,5 cm (30 c.) 10,5 cm (72 c.) y sus zcalos suelen ser de color blanco.
Los SIMMs de 72 contactos, manejan 32 bits, por lo que se usan de 1 en
1 en los 486; en los Pentium se hara de 2 en 2 mdulos (iguales),
porque el bus de datos de los Pentium es el doble de grande (64 bits). La
capacidad habitual es de 1 Mb, 4 Mb, 8 Mb, 16, 32 Mb.

DIMMs: ms alargados (unos 13 cm), con 168 contactos y en


zcalos generalmente negros. Pueden manejar 64 bits de una
vez, por lo que pueden usarse de 1 en 1 en los Pentium, Pentium
II y Pentium III. Existen para voltaje estndar (5 voltios) o
reducido (3.3 V).

1. Tiempo de acceso
2. Paridad
3. Velocidad de bus
4. Frecuencia

Paridad y No-Paridad
La principal diferencia entre mdulos de memoria paridad y noparidad es que la memoria paridad tiene la habilidad de detectar
errores de un bit y parar el sistema mientras que la memoria noparidad no provee deteccin de errores.
Error Checking and Correcting (ECC) (Deteccin y Correccin de
errores)
La memoria ECC es una memoria ms avanzada que puede
automticamente detectar y corregir errores de un bit sin parar el
sistema. Tambin puede para el sistema cuando ms de un error es
detectado. Sin embargo, la memoria ECC requiere ms recursos del
sistemas para almacenar datos que la memoria de paridad, causando
por lo tanto alguna degradacin de performance en el subsistema de
memoria.

RAM o DRAM: la memoria principal del ordenador, esos 32, 64, 128... MB
(megabytes, "megas") que aparecen en los anuncios de ordenadores. En
sistemas operativos modernos tipo Windows, la velocidad y especialmente
la cantidad de RAM es un factor determinante del rendimiento.
SDRAM: o DRAM Sncrona, el tipo de memoria ms utilizado en la
actualidad.
PC66: la memoria SDRAM que funciona a 66 MHz. Actualmente slo se
utiliza en los Celeron.
PC100: la memoria SDRAM que funciona a 100 MHz. Hoy en da es la
ms utilizada (K6-2, K6-III, K7 Athlon, Pentium II modernos y Pentium III).
PC133: la memoria SDRAM que funciona a 133 MHz.
RDRAM o Rambus DRAM: un nuevo tipo de memoria, de diseo
totalmente distinto al de la SDRAM; tericamente ofrece mejor rendimiento.
DIMM: mdulo de memoria SDRAM (o, antiguamente y en casos
excepcionalmente raros, de memoria EDO).
RIMM: mdulo de memoria RDRAM (Rambus).

La memoria SDRAM, bien sea PC66, PC100 o PC133, tiene un


ancho de bus de datos igual a 64 bits, lo que significa que en cada
ciclo de reloj (cada Hz) enva 64 bits = 8 bytes. De esta forma, su
capacidad de transferencia de datos (es decir, su velocidad til) ser:
PC66: 8 bytes/ciclo x 66 MHz = 533 MB/s
PC100: 8 bytes/ciclo x 100 MHz = 800 MB/s = 0,8 GB/s
PC133: 8 bytes/ciclo x 133 MHz = 1066 MB/s = 1,06 GB/s

Cuanto
ms
rpidos
se
vuelven
los
microprocesadores (y algunos funcionan ya a casi
1.000 MHz), ms importante resulta tener un canal de
comunicaciones fluido entre stos y la memoria, algo
que tambin es importante para que el almacenaje de
texturas en la memoria principal con una tarjeta
grfica AGP 4x sea realmente eficaz.
La RDRAM o memoria Rambus se plante como una
solucin a esta necesidad, mediante un diseo
totalmente nuevo. La Rambus tiene un bus de datos
ms estrecho, de slo 16 bits = 2 bytes, pero funciona
a velocidades mucho mayores, de 266, 356 y
400 MHz. Adems, es capaz de aprovechar cada
seal doblemente, de forma que en cada ciclo de reloj
enva 4 bytes en lugar de 2.

Debido a este doble aprovechamiento de la seal, se dice que


la Rambus funciona a 600, 712 y 800 MHz "virtuales" o
"equivalentes". Y por motivos comerciales, se la denomina
PC600, PC700 y PC800 (parece que "PC533" y "PC712" no
son del gusto de los expertos en mrketing). Por todo ello, su
capacidad de transferencia es:
Rambus PC600: 2 x 2 bytes/ciclo x 266 MHz = 1,06 GB/s
Rambus PC700: 2 x 2 bytes/ciclo x 356 MHz = 1,42 GB/s
Rambus PC800: 2 x 2 bytes/ciclo x 400 MHz = 1,6 GB/s
Como vemos, la Rambus ms potente (la de "800 MHz
equivalentes") puede transmitir el doble de datos que la
SDRAM PC100, lo que no es poco... pero no es ocho veces
ms, como a muchos publicistas les gusta hacer creer.

Si bien para todo el mundo est claro que las memorias SDR estn
prximas a su fin, no para todos est tan claro que sus sucesoras vayan
a ser las DDR. Y entre los que no apuestan por este formato de
memoria hay un peso pesado; Intel. El ltimo ao de Intel puede ser
calificado de muchas formas, menos bueno. El rotundo fracaso de sus
chipsets 810 y 820, sumados a los interminables problemas con sus
Pentium IV y un imparable avance de su competencia ms directa,
AMD, han acabado por conseguir algo que hace tan slo un ao era
impensable; poner contra las cuerdas al gigante Intel. Siendo taxativos
podramos decir que Intel no ha hecho nada bien desde el lanzamiento
de su chipset BX, hace ya demasiados aos. Sobre ese chipset los
micros Pentium mantienen su ventaja sobre los micros de AMD, pero
sobre cualquier otro chipset ms moderno, ya sea VIA o ALI, los AMD
dejan bastante atrs a los Intel.

los 386 suelen usar memoria DRAM


(que ya no se fabrica) o FPM en
mdulos SIMM de 30 contactos, de
unos 100 u 80 ns;
los 486 antiguos (DX-33 o inferiores)
suelen usar memoria FPM en mdulos
SIMM de 30 contactos, de 80 70 ns;
los
486
modernos
(DX2-66
o
superiores) y los Pentium antiguos (de
60 66 MHz) suelen usar memoria
FPM en mdulos SIMM de 72
contactos, de 70 60 ns, a veces junto
a mdulos de 30 contactos;
los Pentium clsicos suelen usar
memoria FPM o EDO en mdulos SIMM
de 72 contactos, de 70 60 ns;

los Pentium MMX suelen usar


memoria EDO en mdulos SIMM
de 72 contactos, de 60 50 ns;
los Celeron y los Pentium II a
menos de 350 MHz (y los MMX y
K6 ms modernos) suelen usar
memoria SDRAM en mdulos
DIMM de 168 contactos, de 20 ns
o menos.
los Pentium II a 350 MHz o ms y
los AMD K6-2 deben usar
memoria SDRAM del tipo PC100,
capaz de funcionar a 100 MHz;
viene en mdulos DIMM de 168
contactos y es de menos de 10 ns.

Si se trata de un 386 o un 486 con SIMMs de 30 contactos, casi seguro


que los mdulos tengan que ir de 4 en 4 iguales, por lo que si tiene 4
MB en forma de 4 mdulos de 1 MB y dispone de 8 zcalos, slo podr
conseguir 5 MB (aadir 4 mdulos de 256 Kb), 8 MB (aadir 4 mdulos
de 1 MB) o 20 MB (aadir 4 mdulos de 4 MB). Para cualquier otra
combinacin tendr que tirar sus mdulos viejos.
Si se trata de un Pentium con SIMMs de 72 contactos, casi seguro que
los mdulos tengan que ir de 2 en 2 iguales, por lo que si tiene 8 MB
en forma de 2 mdulos de 4 MB y dispone de 4 zcalos, slo podr
conseguir 16 MB (aadir 2 mdulos de 4 MB), 24 MB (aadir 2
mdulos de 8 MB) o 40 MB (aadir 2 mdulos de 16 MB). Para
cualquier otra combinacin tendr que tirar sus mdulos viejos.
Si se trata de un 486 con SIMMs de 72 contactos o un Pentium o
Pentium II con DIMMs de 168, los mdulos pueden ir de 1 en 1, lo que
le dar ms posibilidades.

Usualmente para aadir memoria simplemente se apaga la


computadora, se inserta el mdulo de memoria (como se describe en la
ltima seccin de esta pgina), se prende la computadora, y si el BIOS
de su computadora puede detectar la memoria recientemente aadida y
se reconfigura a si misma usted no tiene ms nada que hacer, de otra
forma, usted tendr que ir al setup de su BIOS y hacer los cambios
manualmente.
Antes de instalar ms memoria usted debe asegurarse de los tipos de
memoria que soporta su sistema y la siguiente informacin es
requerida;
Dimensin fsica del mdulo (SIMM's, DIMM's, nmero de pins)
Mximo tamao de memoria por mdulo (16MB, 32MB, 64MB)
Velocidad en tiempo de la memoria (10ns, 50ns, 60ns, 70ns)
Paridad, No-paridad. ECC
Pins dorados o pins plateados.

La cantidad correcta de memoria vara de acuerdo con el tipo


de trabajo que Ud. haga y con el tipo de aplicaciones que
utilice. Hoy en da, se puede trabajar con los procesadores de
textos y las hojas de clculo con un sistema de 12 Mb. Sin
embargo, los programadores de software y de sistemas
operativos ya consideran que un sistema de 32 Mb representa
la configuracin mnima. Los sistemas utiliza-dos en las artes
grficas, la publicacin de libros y multimedia requieren por lo
menos 64 Mb de memoria, y es comn que tales sistemas
cuenten con por lo menos 128 Mb o ms.

Memoria ROM (Read-Only Memory)

Contiene un padrn permanente de datos


que no puede alterarse.

Aplicaciones: microprogramacin, subrutinas


de biblioteca para funciones de uso
frecuente, programas del sistema, tablas de
funciones.

PROM. Es voltil y slo se puede escribir en ella una


sola vez. El proceso de escritura se lleva a cabo
elctricamente y puede realizarlo el suministrados o
el cliente con posterioridad.
Memorias de sobre-todo-lectura:

EPROM: Memoria de slo lectura programable borrable


Antes de escribir una operacin, todas las celdas de
almacenamiento deben ser borradas al estado inicial
exponiendo el chip a radiacin ultravioleta. Puede ser
alterada mltiples veces.
Ms cara que la PROM, pero tiene la ventaja de que puede
ser actualizada mltiples veces.

EEPROM:

Memoria de slo lectura programable borrable elctricamente

Puede ser escrita sin borrar contenido anterior. Slo el o los bytes
direccionados son actualizados.
La operacin de escritura toma mucho ms tiempo que la de lectura.
Combina la ventaja de no-volativilidad con la flexibilidad de ser actualizable
usando controles de bus ordinarios, direcciones y lnea de datos.
Es ms cara que la EPROM y puede almacenar menos bits por chip.

Flash

Nombrada as por la velocidad a la cual puede ser reprogramada.


Es intermedia entre la EPROM y la EEPROM en costo y funcionalidad.
Mucho ms rpida que la EPROM.
Puede borrar bloques especficos de memoria.
No provee borrado a nivel de bytes.
Tiene la densidad alta de las EPROM.

CLASIFICACIN DE LAS MEMORIAS DE SEMICONDUCTORES

Tipo de
memoria

Categora

Borrado

Mecanismo
de escritura

RAM

Lecturaescritura

ROM

Slo lectura

No es posible

Mscaras

No voltil

"

"

Elctricamente

"

Lecturafrecuente

Luz
ultravioleta

"

"

"

Elctricamente

"

"

PROM
EPROM
EEPROM

Elctricamente Elctricamente

Volatibilidad
Voltil

Tecnologa de acceso a memoria-no tan-aleatoria:


El tiempo de acceso vara de locacin a locacin y de
tiempo a tiempo

Ejemplos: Disco, CDROM

Tecnologa de Acceso Secuencial: tiempo de acceso linear en


locacin (e.g.,Cinta)

Es el elemento bsico de una memoria


semiconductora .

Presentan dos estados estables (o semiestables)


que pueden utilizarse para representar el 1 y 0
binarios

Puede escribirse en ellas (al menos una vez) para


fijar su contenido

Pueden leerse para detectar su estado

Tres terminales capaces de llevar una seal elctrica.


El selector selecciona una celda.
El control indica el tipo de operacin: lectura o escritura.
Escribir, la otra terminal provee una seal que pone a la celda
en 1 o 0. Para leer, es usada como salida de la celda

Palabras

Longitud de palabra

Direccin (0 a n-1 n localidades)

m lneas de direccin 2m localidades

La memoria se forma a partir de palabras

La capacidad se expresa en trminos de


# palabras x longitud de palabra

Las memorias del ejemplo anterior son:

12x8, 8x12 y 6x16

Chip memoria incluye mecanismos para

Decodificar las direcciones


Deteccin/Escritura.

Memoria de 16x8

Palabra de memoria (renglon - lnea de palabra)


Lneas de bit al circuito de lectura/escritura
Lineas de entrada/salida (bidireccional)

Tecnologa de CI adecuada
para memorias

Aumenta #bits que se


pueden almacenar

1Kbit a 16M bits

Organizacin de las celdas


de memoria

2D
21/2D

Disposicin fsica = lgica.

El arreglo de memoria est organizado en W palabras de B bits

Todos los bits de una palabra en el mismo chip

En esta organizacin :
# lneas de direccin

# celdas de la memoria (capacidad)

# palabras (# unidades direccionables)

# bits por palabra (longitud de palabra)

Ejemplos:

1.

Ej: Disee una memoria de 2D de 1Kb con palabras de


16 bits.

2.

Ej: Si se sabe que una memoria 2D tiene 5 lneas de


direccin y 2048 celdas de capacidad, entonces:

3.

Cuntas palabras tiene?


Cuntos bits por palabra?

Ej: Cul es el efecto en la capacidad de una memoria


2D si se agrega una lnea de direccin?

1. Dado un MAR de 8 bits y un MDR de 64 bits:

Cuntas palabras puedo direccionar?


Cul es la longitud de la palabra?
Cul es la capacidad de la memoria en bits?
Cul es la capacidad de la memoria en bytes?

2. Realice un diagrama de bloque para una


memoria de 1MByte en 2D, con longitud de palabra
de 16 bits, coloca todos los componentes.

Un bit por chip

Los bits de una palabra repartidos en varios chips

El chip contiene un arreglo de bits cuadrado

Ej: Se tiene una memoria 2 D con longitud de


palabra de 1 bit. Si se sabe que tiene 1Kb de
capacidad: cuntas

Palabras
Lineas de direccin y
Tamao de matriz

se necesitan?

1Kbit de capacidad (# celdas en la memoria),


entonces:
# palabras = 1K = 1024
# lneas de direccin = log2 1024 = 10 (5 al
decodificador y 5 a los multiplexores)
# bits por palabra = 1
La matriz cuadrada de memoria es de 2 5 x 2
5 (32 x 32).

2 requiere menos lneas de direccin que


2D.

2 facilita la correccin de errores.

2 cuadriplica la capacidad por lnea de


direccin.

2 es modular (por ser cuadrada).

Circuito conexin RAM 2D

1Kbit (128x8)(2D)

14 pines + 2 (E y T)

19 conexiones

1Kbit (32x1) (2 D)

16 conexiones

1Kb (1024x1) 2 D

RAM 16x8 2D

Organizaciones para una pastilla de 256K: 32K x 8(2D) y 256K x 1(2D).

Las lneas para direccionar 128K


palabras, 17 pines (A0 a A16).
Las lneas para leer los datos de salida.
Se necesita un total de 8 pines (D0 a D7).
Suministro de energa (Vcc).

Un pin de Tierra (GND).


El chip select (CS).
El output select (OS).
El pin de programa (PGM). Inicialmente
y despus de cada "borrado" del chip,
El pin de voltaje de programa (Vpp),
que se administra durante la
programacin.

Un pin No utilizado (NC).

Din y Dout: Para recibir o


Leer el bit de la memoria
RW: Indica si la operacin
Es lectura o Escritura
A0:A8 Solo 9 bits de Dir
Para 256 k?
(RAS:Row Address Select)
(CAS:Column Address
Select).
GND: Tierra
VCC: Voltaje

2D

2D

#chips = #bits palabra


256K x 8 (2 D)
18 direccin a 8 chips c/u provee un bit

1M x 8 RAM 2 D

Proporcione un diagrama de bloque para una


memoria de 256Kbx16, utilizando chips de memoria
de 64Kbx1. Coloque todas las lineas necesarias, as
como el MAR y el MDR.

Determine los datos necesarios para el chip de 64Kx1 y


realice el diagrama
Forme un mdulo con los chips de forma que se ajuste al
tamao de palabra. Da el diagrama del mdulo.
Usando mdulos, genere el diagrama de bloque para la
memoria de forma que su capacidad sea de 256Kx16.

Velocidad ejecucin CPU depende de velocidad transferencia de datos.


Problema: CPU ms rpido que Memoria.
Solucin ideal: memoria construida con tecnologa utilizada en registros del
CPU (muy costoso).
Solucin real: memoria pequea y rpida localizada entre el CPU y la
memoria (Memoria Cach).

La memoria cach explota el principio de


localidad:

Programadores no accesan la memoria de forma


completamente aleatoria.

Comn el acceso de localidades de memoria contigua


una o varias veces.
Ej: Ciclo de instrucciones.

Por lo tanto, las referencias a memoria en un intervalo


de tiempo corto tienden a utilizar slo una fraccin de
la memoria.

Esas fracciones son las que se busca tener cargadas


en memoria cach.

CPU
Transferencia de
Palabra

Cache
Transferencia de
Bloque

La memoria
principal

Las referencias a memoria realizadas en


un intervalo de tiempo corto tienden a usar
slo una fraccin de la memoria total
tambin conocido como bloque de
memoria.

Estructura de la memoria cache y principal

Direcciones
de memoria

Nmero
Slot

Datos

0
1
2
3

Bloque
(k palabras)

Etiqueta

Bloque

0
1
2

Longitud del bloque


(k palabras)

Bloque
2n - 1
Tamao Palabra

Mapa, mapear, proyectar, corresponder.


Transferir un conjunto de objetos de un lugar a
otro. Por ejemplo los mdulos de programas en
el disco son proyectados (mapeados) en la
memoria.
Relacionar un conjunto de objetos con otro. Por
ejemplo, una estructura de base de datos lgica
se proyecta sobre la base de datos fsica.

Existen menos slots cach que bloques de


memoria principal, por lo que se necesita un
algoritmo para mapear bloques de memoria
principal en los slots de la cach.
Tcnica para determinar cual bloque de memoria
principal ocupa que slot de cach.
La eleccin del algoritmo de mapeo nos dice como
se encuentra organizada la cach.
Dos tcnicas

directa,
asociativa.

A cada bloque de memoria principal se le mapea


dentro de un solo slot de la cach.
Evita la bsqueda poniendo cada bloque en un slot,
cuyo nmero se puede calcular a partir del nmero
de bloque.
Mapeo expresado a partir de
slot cach = (nmero bloque) % (total slots cach)
Ventaja: eliminan problema de bsqueda.
Desventaja: como saber cul de los diferentes
bloques que corresponden a un slot lo esta
ocupando.

Memoria principal: 12 bloques


Bloque 11
Bloque 10
Bloque 9
Bloque 8
Bloque 7
Bloque 6
Bloque 5
Bloque 4
Bloque 3
Bloque 2
Bloque 1
Bloque 0

Memoria cach: 3 slots

slot = bloque % (numero slots)


slot = bloque %3

slot 2
slot 1
slot 0

Por lo que los slots almacenarn:


slot 0: bloque 0 bloque 3 bloque 6 bloque 9
slot 1: bloque 1 bloque 4 bloque 7 bloque 10
slot 2: bloque 2 bloque 5 bloque 8 bloque 11

Las direcciones de memoria principal tienen dos


interpretaciones
Interpretacin memoria principal
dos campos: bloque y palabra
bloque

Interpretacin memoria cach


se divide el campo bloque, lo que proporciona tres
campos: etiqueta, slot y palabra
etiqueta

palabra

slot

palabra

Ejemplo direccin 12 bits: 101010101010 (3 palabra, 6 slot)


memoria principal:
101010101 010
memoria cach: 101 010101 010

Organizacin cach
mapeo directo
s+w
Direccin Memoria
Etiqueta Lnea Palabra
s-r

Memoria Principal
Mem. Cach
Etiqueta Datos
W0
W1
W2
W3

L0

B0

s-r

s
x
Comparar

(escondida en
cach)

(puesta en
cach)

Li

W4j
W(4j+1)
W(4j+2)
W(4j+3)

Bj

Tamao direcciones: 6 bits


Tamao palabra: 8 bits = 1 byte
Tamao memoria principal: 26=64 bytes
Tamao memoria cach: 25=32 bytes
Tamao del bloque: 4 bytes
Calculando:
Bloques en memoria principal:
Slots en memoria cach:
64/4=16 bloques

25=32/4=8 slots

B15

111111
111110
111101
111100

3
2
1
0

:
B7

3
2
1
0

B6

3
2
1
0

B5

3
2
1
0

B4

3
2
1
0

B3

3
2
1
0

B2

3
2
1
0

B1

3
2
1
0

B0

3
2
1
0

011111
011110
011101
011100
011011
011010
011001
011000
010111
010110
010101
010100
010011
010010
010001
010000
001111
001110
001101
001100
001011
001010
001001
001000
000111
000110
000101
000100
000011
000010
000001
000000

Esquema Escenario 1
etiqueta

L7
L6
L5
L4
L3
L2
L1
L0

bloque almacenado

Interpretacin direccin:
Memoria cach:
etiqueta slot

palabra

Memoria principal:
bloque

palabra

Tamao cach: 64 Kbytes=64x210 bytes = 26x210 bytes = 216


bytes
Tamao bloques: 4 bytes
Tamao palabra: 1 byte
Memoria principal: 16Mbytes =16x220 bytes =224 bytes
Calculando
Tamao direcciones =

Nmero bloques en memoria principal:


Nmero de slots en cach:

16Mbytes/4bytes=4M bloques=222 Bloques

por lo que la cach esta organizada en cada uno

64Kbytes/4bytes= 16k slots= 214 slots

214 slots de 4 bytes

Segundo ejemplo mapeo directo


Direccin
Etiqueta Slot+Palabra

Dato
Etiqueta

FFFC
FFF8
FF

11223344

01
FF

FFFC
FFF8

0008
0004
0000
FFFC
FFF8

Nmero Slot

12345678
11223344

3FFF
3FFE

0008
0004
0000

00
01
00

01

Dato

87654321
11235813
13579246

0002
0001
0000

12345678

8 bits

(14 bits)

32 bits

Palabra cach 16K


11235813
Direccin Memoria Principal

Bloque
22

Palabra
2

00

0008
0004
0000

87654321

13579246

16 MBytes de Memoria Principal

Direccin Memoria Cach


Etiqueta
8

Slot
14

Palabra
2

Lnea Cache
0
1
.
.
.
.
m-1

Lnea Cache
0
1
.
.
.
.
3FF

Bloques de memoria principal asignado


0,m, ....., 2s-m
1,m+1,.....,2s-m+1
.
.
.
.
m-1, 2m-1, ....., 2s-1

Bloques de memoria principal asignado


000000,010000,.....,FF0000
000001,010001,.....,FF0001
.
.
.
.
00FFFC,01FFFC,.....,FFFFFC

Permite que un bloque de memoria principal se


cargue en cualquier slot de la cach.
La lgica de control de la cach interpreta una
direccin de memoria como una etiqueta y una
palabra.
La etiqueta solo identifica un bloque en la memoria
principal.
etiqueta

palabra

Para verificar si el bloque esta cargado, el control


de lgica debe examinar simultneamente cada
slot de la memoria cach.
Existe flexibilidad en el hecho de que bloque
remplazar cuando un nuevo bloque es accedido.
Se tienen algoritmos de reemplazamiento para
maximizar el desempeo.
Principal desventaja: la complejidad de la
circuitera requerida para examinar todos las
etiquetas de los slots de la cach.

Memoria principal: 12 bloques


Bloque 11
Bloque 10
Bloque 9
Bloque 8
Bloque 7
Bloque 6
Bloque 5
Bloque 4
Bloque 3
Bloque 2
Bloque 1
Bloque 0

Memoria cach: 3 slots


verificacin en todos
los slots de la cach

slot 2
slot 1
slot 0

Los slots pueden almacenar:


slot 0: bloque 0,1,2,3,4,5,6,7,8,9,10,11
slot 1: bloque 0,1,2,3,4,5,6,7,8,9,10,11
slot 2: bloque 0,1,2,3,4,5,6,7,8,9,10,11

Organizacin cach
asociativa

s+w
Memoria Principal
Mem. Cach
Etiqueta Datos

Direccin Memoria
Etiqueta
Palabra
s

L0

...
Comparar

W0
W1
W2
W3

B0

s
x
w

Li

(escondida en
cach)

s
Lm-1

(puesta en
cach)

W4j
W(4j+1)
W(4j+2)
W(4j+3)

Bj

Ejemplo mapeo asociativo


Direccin

Dato
Etiqueta

FFFFFC
FFFFF8
FFFFF4

24682468
11223344
33333333

FFFFFC
0000000
FFFFF4

~
87654321

Nmero Slot

24682468
1234567
33333333

3FFF
3FFE
3FFD

~
16339C
FFFFF8

1633A0
16339C
163398

Dato

22 bits

87654321
11223344
32 bits

0001
0000
(14 bits)

Palabra cach 16K

~
Direccin Memoria Principal

000008
000004
000000

12345678

16 MBytes de Memoria Principal

Etiqueta
22

Palabra
2

Asignacin slot cach a bloque recin accedido:

mapeo directo: slot ya esta asignado


mapeo asociativo: necesario un algoritmo de reemplazo

Cuatro opciones para asociativo

LRU Least Recently Used


cada slot utiliza un bit de uso
FIFO First In First Out
implementado fcilmente como round-robin o buffer circular
LFU Least Frequently Used
asociar un contador a cada slot
Random
simulacin: desempeo ligeramente inferior a los otros
algoritmos

Vigilancia del bus con escritura inmediata

Transparencia de Hardware

Actualizacin inmediata de memoria con monitoreo por


parte de los dems procesadores
Hardware adicional para sincronizar todas las cachs y la
RAM

Memoria excluda del cach

Solo una porcin de la memoria principal se comparte con


ms de un procesador. La memoria compartida nunca se
copia a cach.

Cach de dos niveles:

L1 Interna (cach on chip)


L2 Externa (cach off chip)

Pueden ser utilizadas, una para cargar las


instrucciones y la otra los datos

80386 no tiene cach on chip


80486 Incluye cach on chip
Pentium: 2 cachs on chip (L1): una para
datos y otra para instrucciones (8kbytes y un
a tamao de lnes de 32 bytes), y una cach
L2 (256kbytes a 1 mbyte)

Вам также может понравиться