Está en la página 1de 34

Universidad de Concepcin Facultad de Ingeniera Departamento de Ingeniera Informtica y Ciencias de la Computacin Magster en Ciencias de la Computacin

Memoria Interna y Externa


Andrs G. Puente P. Ingeniero Civil Informtico Universidad del BoBo
apuente@duoc.cl

Organizacin y Arquitectura de Sistemas de Computacin

Introduccin
Descripcin
Este estudio se enfoca principalmente en el entendimiento de la pirmide jerrquica de clasificacin de memoria. Se incluye un anlisis un poco ms detallado de la memoria Cach.

Objetivos
Identificar una estructura clara de jerarquizacin. Presentar las caractersticas generales ms importantes de cada uno de los niveles jerrquicos. Lograr presentar factores que permitan hacer comparaciones objetivas para cada uno de los tipos de memoria. Extender la definicin de memoria Cach

Metodologa de Trabajo

Organizacin y Arquitectura de Sistemas de Computacin

Pirmide Jerarquica

Registros

Memoria Interna (primaria)

Cach

Memoria Principal

Cach de Disco

Memoria Externa (secundaria)


Discos Magnticos

Cintas Magnticas

Discos pticos

Organizacin y Arquitectura de Sistemas de Computacin

Definiciones
Palabra : unidad bsica de organizacin de la memoria (tamao de palabra: unidad natural de organizacin).

Unidad de Transferencia: volumen de informacin que se transfiere desde o hacia la memoria de una sola vez. Unidad Direccionable: volumen de informacin que es referenciada en forma nica.

Organizacin y Arquitectura de Sistemas de Computacin

Definiciones
Parmetros en relacin a prestaciones de la memoria
Tiempo de acceso (lectura/escritura): periodo de tiempo que transcurre al realizarse una operacin de escritura o lectura. Tiempo de Ciclo de Memoria: periodo asociado a las memorias de acceso aleatorio, y consiste en el tiempo requerido para accesar una direccin de memoria, ms el tiempo necesario para volver a realizar otro acceso. Velocidad de Transferencia: cantidad de datos accesados para una operacin de lectura/escritura en un tiempo determinado.

Organizacin y Arquitectura de Sistemas de Computacin

Definiciones
Respecto al tipo de acceso Acceso Directo: se realiza accesando directamente una direccin
dada, seguida de una bsqueda secuencial. Para esto los datos poseen una direccin nica basada en su ubicacin fsica. El tiempo de acceso es Variable.

Acceso Asociativo: una palabra es recuperada basndose en una parte de su contenido en lugar de su direccin. El tiempo de acceso es constante. Acceso Aleatorio: la memoria posee un acceso a cada direccin definida fsicamente, por lo que cualquier direccin se selecciona directamente (de ah el concepto de aleatorio). El tiempo de acceso es constante. Acceso secuencial: para tener acceso a un dato hay que leer todos los datos que estn antes que l. El tiempo de acceso es variable.
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Primaria
REGISTROS
Se caracteriza por tener el tiempo de acceso ms rpido y ser del menor tamao. Objetivo: servir directamente al trabajo que realiza la unidad de control y la unidad aritmtico lgica de la CPU.

Son clasificados segn la accesibilidad por parte del usuario (Programador en Lenguaje de Mquina): Registros Visibles al Usuario, son los que pueden ser referenciados por el programador (de lenguaje de mquina). Los de uso general Los de Datos, los cuales pueden ser asignados por el programador a diversas funciones. Los de Direcciones, contienen direcciones en la memoria principal de datos e instrucciones. Los de Cdigos de Condicin, (indicadores o flags), estos son bit activados por hardware producto de alguna operacin.

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Primaria
Registros de Control y de Estado (UC y SO) De estos existen los esenciales para la ejecucin de una instruccin, los cuales son,
Contador de Programa PC (Program Counter) Registro de Instruccin IR (Instruction Register) Registro de Direccin de Memoria MAR (Memory Address Register) Registro Intermedio de Memoria MBR (Memory Buffer Register) PSW (Program Status Word) que es un conjunto de registros que contienen informacin de estado de las palabras (transferencia).

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Primaria
CACHE
Es una Memoria de alta velocidad que elimina el estado de espera de la CPU. Cuando la CPU lee datos de la memoria principal, almacena una copia de los mismos en la memoria cach. Cuando vuelve a necesitarlos, los busca en la memoria cach y no en la memoria principal, con el ahorro de tiempo consiguiente.
Transferencia de Palabras Transferencia de Bloques

CPU

Cache

Memoria Principal

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Primaria
MEMORIA PRINCIPAL Algunas veces llamadas tambin memorias semiconductoras. El acceso a este tipo de memoria es 'aleatorio' lo que asegura un tiempo de acceso constante. A continuacin se enumeran algunos tipos de memoria principal:
RAM (Random Access Memory)
SRAM DRAM

ROM (Read Only Memory) PROM (Programable ROM) EPROM (Erasable PROM) EEPROM (Electrically EPROM)
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Secundaria
CACHE DE DISCO Y VIRTUAL Cache del Disco: Consiste bsicamente en un buffer ubicado en la memoria principal que contiene sectores del disco (memoria externa). Memoria Virtual: esta memoria hace creer a los programas que existe una memoria principal de gran tamao y explota localidad de acceso a travs de la jerarqua de memoria. La memoria principal almacena slo los datos/instrucciones ms utilizados, el resto de los datos/instrucciones residen en memoria secundaria (disco). Concepto de Pgina.

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Secundaria
MEMORIA SECUNDARIA - DISCOS Se caracterizan por ser de gran capacidad, pero de un acceso ms lento por parte de la CPU y poseer un costo por bit mucho menor. Son consideradas dispositivos de almacenamiento perifricos. Los tipos ms comunes de memoria externa son:
Disco magntico RAID Extrable ptico CD-ROM CD-de escritura (WORM) CD-RW DVD Cinta magntica
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Secundaria
CD-DA (Digital Audio) CD-ROM CD-i (interactive)

CD (Compact Disk)

CD-R (recordable) CD-RW (ReWritable) Phot-CD Video-CD

Discos pticos
DVD (Digital Versatile Disk) WORM (Write Once read Many) WMRA (Write Many Read Always) Transicin de fase Magnetoptico

Organizacin y Arquitectura de Sistemas de Computacin

Tabla Comparativa

SRAM

DRAM

Disco

Tiempo de Acceso
Costo

2-25 ns
US$100US$250 por MB 1 MB

60-120 ns
US$5-US$10 por MB 1 GB

10-20 millones ns
US$0.1US$0.2 por MB 20 GB

Almacenamiento

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache

Direccin

Direccin del buffer Sistema de Bus

Control

Control

CPU

Cache

Datos del/al buffer

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache
Nace prcticamente por disminuir los tiempos de espera de la CPU en una operacin de E/S sobre la memoria principal. Definiciones:
Es una memoria de tamao pequeo y de gran velocidad y que se ubica, por lo tanto, prxima a la CPU. Es una memoria rpida y pequea que optimiza el acceso a localizaciones de memoria de uso probable o frecuente.

Normalmente se le denomina Cach a la memoria que se ubica entre la Memoria Principal y la CPU, pero en forma general, es cualquier memoria que utilice el principio de localidad para optimizar accesos a memoria.

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache
Utilizando esta ltima definicin, se presentar el principio de Localidad: En cualquier instante de tiempo, un programa solo accesa una pequea parte de su espacio de direcciones. Existen dos tipos de localidad:
Localidad Temporal.
Localidad Espacial.

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache
Es accesada durante los ciclos de bsqueda de instruccin y durante los accesos a memoria de datos. Objetivos:
Mantener el Tiempo de Acceso Promedio a Memoria Pequeo Reducir el Ancho de Banda Entre Memoria Principal y Procesador

La ventaja: posee una copia de partes de la memoria principal.

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache

Identificamos una memoria principal con una capacidad de 2n palabras direccionables con 'n' bits la cual es dividida en 'M' bloques de 'k' palabras cada uno. la memoria Cache contiene 'C' lneas donde cada una de ellas posee una etiqueta y las 'k' palabras del bloque. Algunas relaciones M 2n / K
C M

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache - Elementos


Los principales elementos del diseo de una memoria Cach son: Tamao de Cach Funcin de Correspondencia
Asociativa Directa Asociativa por Conjuntos

Algoritmo de Sustitucin
Reemplazar el menos utilizado recientemente (LRU) Reemplazar por FIFO (Primero en entrar, Primero en Salir) Reemplazar de forma Aleatoria

Poltica de Escritura
Escritura Sncrona Escritura Asncrona

Tamao de Bloque (o Lnea) Nmero de Caches


Uno o dos niveles Unificada o Partida
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache - Tipos


Tipos de Memoria Cache: Nivel 1 (L1):
Se encuentran en la misma pastilla de la CPU y se utiliza para almacenar datos que se necesitan casi instantneamente (se une a la CPU, a travs de un bus interno propietario). No puede ser accedida desde el exterior.

Nivel 2 (L2):
Se encuentra atada a la CPU a travs del bus estndar en forma de una pastilla externa. Su misin crtica es unir la CPU con la memoria principal. Para ello se utiliza el principio de localidad, y existen principalmente tres formas de configuraciones de Cache, que permiten localizar un bloque dentro de sta.

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache - Funcionamiento


Funcionamiento de la Memoria Cache:
Cuando la CPU requiere un dato, genera una direccin de memoria a donde acudir, esta es comparada con los datos almacenados en el Cache.
Si el dato est presente (la direccin ya fue referenciada y se encuentra en el Cache), el procesador lo lee directamente desde el Cache. Si el dato est ausente (su direccin no ha sido referenciada con anterioridad, por lo que no est presente en el Cache o fue reemplazado de este), se transfiere desde la memoria principal al Cache.

Si la Cache se encuentra completamente ocupada, se reemplaza uno de los datos presentes en el Cache.
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache - Definiciones


Definiciones: Acierto: la palabra buscada pertenece a un bloque presente en Cache. Desacierto: la palabra buscada pertenece a un bloque ausente de Cache. Razn de acierto: tasa de referencias a memoria que producen aciertos Razn de desacierto: 1 - (razn de acierto) Tiempo de acierto: tiempo en leer un dato del Cache. Penalidad de desacierto: (tiempo en reemplazar bloque) + (tiempo de lectura de dato al procesador) Tiempo de acceso promedio a memoria: (razn de acierto) * (tiempo de acierto) + (razn de desacierto) * (penalidad de desacierto)

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache

Parmetro
Tamao del Bloque Tiempo de Acierto Penalidad de Desacierto Tiempo de Acceso Tiempo de Transferencia Razn de Desacierto

Valor tpico
4 128 bytes 1 4 ciclos 8 32 ciclos 6 10 ciclos 2 22 ciclos 0.01 0.2

Tamao del Cach

1 Kbyte 2 Mbyte

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache Ubicacin y Recuperacin


Esquemas de Ubicacin de Bloques en la Cache
1. Cache de Correspondencia Directa (Direct Mapped Cache)
Cache 000 111

Memoria 00000 11111

Un bloque de datos en memoria puede ubicarse en un slo bloque de Cache Ubicacin en Cache =(nmero del bloque en memoria) mdulo (nmero de bloques en la Cache) La etiqueta corresponde a nmero de bloque en memoria sin considerar los bits usados para indicar la ubicacin en la Cache Ventajas: econmico, acceso rpido Desventaja: mayor tasa de desaciertos por competencia por bloques
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache Ubicacin y Recuperacin


2. Cache Completamente Asociativo (Fully Associative Cache)
Cache 000 111

Memoria 00000 11111

Cualquier bloque de memoria puede ubicarse en cualquier bloque de Cache Ahora el nmero de bloque completo corresponde a la etiqueta Ventaja: Menor tasa de desaciertos por competencia por bloque Desventajas: ms caro, acceso ms lento
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache Ubicacin y Recuperacin


3. Cache Asociativo Por Conjuntos (Set Associative Cache)
Cache 000 111

Memoria 00000 11111

Esquema intermedio entre Cache de correspondencia directa y Cache completamente asociativo pues cada bloque de memoria puede ser ubicado en uno de N bloques del Cache. Se definen conjuntos de N bloques, cada bloque de memoria tiene asociado un conjunto cspecfico (N-Way Associative Cache) Ventaja: Ms econmico que Cache completamente asociativo, pero ms caro que Cache directo. Desventaja: Dato disponible despus de etapa de comparacin y multiplexin
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache Escritura


Manejo de escritura en el Cache Supuesto: el bloque de datos que se requiere modificar (escribir) se encuentra en Cache.
Existen dos mtodos para realizar escritura en presencia de un acierto:
Escritura Sincrnica (WriteThrough), el bloque se escribe en el Cache y en memoria principal. Escritura Asincrnica (WriteBack o CopyBack), se escribe solamente en el Cache.

Para el caso de escritura en presencia de un fallo, existen dos alternativas:

Ubicar en escritura: Se trae el bloque a Cache y se actualiza mediante WriteThrough. No ubicar en escritura: Slo se actualiza en memoria principal.
Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache Organizcin memoria


Organizacin de Memoria Para Soporte de Cache
Es Necesario Reducir la Penalidad de un Desacierto y a la Vez Es Necesario Aumentar la Velocidad de Transferencia de Bloques Entre Memoria y Cache 1. Memorias de una Palabra de Ancho Requiere Varios Accesos a Memoria Memoria Requiere ser Muy Rpida Es Una Solucin Cara
Cache

1 Word

Memoria Principal

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache Organizcin memoria


2. Memorias de Varias Palabras de Ancho Ancho de Palabra Mayor Bus Ancho Permite Transferir Bloque Completo en un Acceso Costo Alto
Cache

Varias Word

Memoria Principal

Organizacin y Arquitectura de Sistemas de Computacin

Memoria Cache Organizcin memoria


3. Memorias Entrelazadas Memoria Ancha Bus de Ancho Normal Lectura Simultnea a las Memorias Acceso Segmentado Para la Transferencia
Cache

1 Word

Memoria Principal

Memoria Principal

Memoria Principal

Memoria Principal

Organizacin y Arquitectura de Sistemas de Computacin

Conclusiones

Ser la memoria Cache la respuesta correcta a una optimizacin en el uso de este recurso?
Existir un avance tal en la tecnologa computacional que nos permita imaginar una memoria Cache de tamaos impensados? Qu factores se debern presentar para dejar de evolucionar sobre la memoria principal y trabajar directamente sobre la memoria Cache?

Organizacin y Arquitectura de Sistemas de Computacin

Reflexin
Paterson del 2000:

Creo que el Valle del Silicio es una mala denominacin. Si mirsemos retrospectivamente los dlares generados por productos en la ltima dcada, ha habido ms ingresos provenientes de los discos magnticos que del silicio. Se debera renombrar el lugar como Valle del xido de Hierro.

Organizacin y Arquitectura de Sistemas de Computacin

Humor

Organizacin y Arquitectura de Sistemas de Computacin

También podría gustarte