Está en la página 1de 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

Registros

En CPU

Memoria interna o principal

Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin

Puede incluir uno o ms niveles de cach RAM

Memoria externa

Memoria de respaldo

Ubicacin

Capacidad
Unidad de transferencia Mtodo de acceso

Tamao de la palabra

Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin

Nmero de bits utilizados para representar nmeros o longitud de instruccines. Excepciones: CRAY-1, VAX.

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

Tiempo de acceso

Capacidad
Unidad de transferencia 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.

Ubicacin

Capacidad
Unidad de transferencia Mtodo de acceso

Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin

TN
TA

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
Tiempo de acceso aleatorio

Tiempo medio de escritura o de lectura de N bits

Nmero de bits
Velocidad de transferencia en bits por segundo (bps)

Ubicacin

Semiconductor

Capacidad
Unidad de transferencia Mtodo de acceso

Dispositivos de estado slido como los chips. Ej: RAM

Soporte magntico

Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin

Floppies, cintas, etc.

Soporte ptico

DVD, CD, mini disk, etc.

Magneto ptico

Mitad magnetico, mitad ptico.

Ubicacin

Capacidad
Unidad de transferencia Mtodo de acceso

Voltil / no voltil

Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin

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

Borrable / no borrable

RAM / ROM

Ubicacin

Capacidad
Unidad de transferencia Mtodo de acceso

Disposicin o estructura fsica en bits para formar palabras.

Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin

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

Muy cara Tecnolgicamente no factible

Solucin: Jerarqua de memoria


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

Moores Law
Rendimiento 100 10

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

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

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

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

Tiempo

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
Nivel de memoria inferior
Bloque Y

Hit Time << Miss Penalty

Al procesador Nivel memoria superior


Bloque X

Del procesador

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 Second Level Cache (SRAM) Main Memory (DRAM) Secondary Storage (Disk) Registers On-Chip Cache Tertiary Storage (Tape)

Datapath

Velocidad (ns): Tamao (bytes):

1s 100B

10s KB

100s MB

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

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

Registros

Por el compilador (programador?)

Cache

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
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)

Tipos de memoria RAM

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 RAM ROM PROM EPROM EEPROM

Categora Lecturaescritura Slo lectura " Lecturafrecuente "

Borrado

Mecanismo de escritura

Volatibilidad Voltil No voltil " " "

Elctricamente Elctricamente No es posible " Luz ultravioleta Elctricamente Mscaras Elctricamente " "

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)


1.

Ejemplos:
Ej: Disee una memoria de 2D de 1Kb con palabras de 16 bits. Ej: Si se sabe que una memoria 2D tiene 5 lneas de direccin y 2048 celdas de capacidad, entonces:

2.

Cuntas palabras tiene? Cuntos bits por palabra?

3.

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

14 pines + 2 (E y T)

1Kbit (128x8)(2D)

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


Nmero Slot 0 1 2

Direcciones de memoria

Datos

Etiqueta

Bloque

0 1 2 3

Bloque (k palabras)

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 2 slot 1 slot 0

slot = bloque % (numero slots) slot = bloque %3

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 palabra

Interpretacin memoria cach se divide el campo bloque, lo que proporciona tres campos: etiqueta, slot y palabra
etiqueta 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 r w Mem. Cach Etiqueta Datos W0 W1 W2 W3 Memoria Principal

L0

B0

s-r

s x Comparar w w W4j W(4j+1) W(4j+2) W(4j+3)

Li

Bj

(escondida en cach)

(puesta en cach)

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

3 2 1 0

111111 111110 111101 111100

Esquema Escenario 1
etiqueta bloque almacenado

:
B7
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0

B6
B5 B4 B3 B2 B1 B0

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

L7 L6 L5 L4 L3 L2 L1 L0
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 FFFC FFF8 FF Dato Etiqueta Dato 12345678 11223344 Nmero Slot 3FFF 3FFE 11223344

01 FF

0008 0004 0000

~
00 01 00 87654321 11235813 13579246
32 bits

0002 0001 0000


(14 bits)

FFFC FFF8 01

12345678

~
11235813

8 bits

0008 0004 0000 FFFC FFF8

Palabra cach 16K Direccin Memoria Principal

~
87654321

~
13579246
Etiqueta 8

Bloque 22 Direccin Memoria Cach Slot 14

Palabra 2

00

0008 0004 0000

16 MBytes de Memoria Principal

Palabra 2

Lnea Cache 0 1 . . . . m-1

Bloques de memoria principal asignado 0,m, ....., 2s-m 1,m+1,.....,2s-m+1 . . . . m-1, 2m-1, ....., 2s-1

Lnea Cache 0 1 . . . . 3FF

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


Direccin Memoria Etiqueta Palabra s w

s+w Memoria Principal Mem. Cach Etiqueta Datos W0 W1 W2 W3

L0

B0

...
Comparar x w Li

s x w W4j W(4j+1) W(4j+2) W(4j+3)

Bj

(escondida en cach)

s Lm-1

(puesta en cach)

Ejemplo mapeo asociativo


Direccin FFFFFC FFFFF8 FFFFF4 Dato Etiqueta 24682468 11223344 33333333 FFFFFC 0000000 FFFFF4 Dato 24682468 1234567 33333333 Nmero Slot 3FFF 3FFE 3FFD

~
1633A0 16339C 163398 87654321

~
16339C FFFFF8 22 bits 87654321 11223344 32 bits

~
0001 0000 (14 bits)

Palabra cach 16K

~
000008 000004 000000

~
Direccin Memoria Principal Etiqueta 22 Palabra 2

12345678

16 MBytes de Memoria Principal

Asignacin slot cach a bloque recin accedido:


mapeo directo: slot ya esta asignado mapeo asociativo: necesario un algoritmo de reemplazo 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

Cuatro opciones para asociativo

Vigilancia del bus con escritura inmediata

Actualizacin inmediata de memoria con monitoreo por parte de los dems procesadores Hardware adicional para sincronizar todas las cachs y la RAM

Transparencia de Hardware

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)

También podría gustarte