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

UNIVERSIDAD NACIONAL AGRARIA DE LA SELVA

FACULTAD DE INGENIERA EN INFORMTICA Y SISTEMAS

TEMA DE TRABAJO:

LA MEMORIA, MEMORIA CACHE, TECNICAS DE


CORESPONDENCIA

Presentado por:
INGA BUENDIA, Cesar Luis

Docente:
Ing. VAZQUES PINEDO, Gregorio

Tingo Mara Per


2014

Contenido
I.

INTRODUCCION........................................................................................ 2

II.

OBJETIVOS................................................................................................ 3

III.

DESARROLLO........................................................................................ 3

1.

2.

LA MEMORIA......................................................................................... 3
1.1.

JERARQUIA DE LA MEMORIA...........................................................3

1.2.

FUNCIONANMIENTO DE LA MEMORIA.............................................7

1.3.

LECTURA DE LA MEMORIA..............................................................9

1.4.

ESCRITURA EN MEMORIA................................................................9

MEMORIA CACH................................................................................ 10
2.1.

3.

TCNICAS DE CORRESPONDENCIA......................................................14
3.1.

IV.
V.
VI.

CAPCIDAD DE MEMORIA CACH...................................................14


ORGANIZACIN DE LA MEMORIA CACHE......................................14

CONCLUCIONES.................................................................................. 22
BIBLIOGRAFIAS....................................................................................... 22
WEBGRAFIAS....................................................................................... 22

I.

INTRODUCCION

El trmino memoria identifica el almacenaje de datos que viene en forma chips, y el


almacenaje de la palabra se utiliza para la memoria que existe en las cintas o los
discos. Por otra parte, el trmino memoria se utiliza generalmente como taquigrafa
para la memoria fsica, que refiere a los chips reales capaces de llevar a cabo datos.
Algunos ordenadores tambin utilizan la memoria virtual, que ampla memoria fsica
sobre un disco duro.
Cada ordenador viene con cierta cantidad de memoria fsica, referida generalmente
como memoria principal o RAM. Se puede pensar en memoria principal como arreglo
de celdas de memoria, cada una de los cuales puede llevar a cabo un solo byte de
informacin.
Un ordenador que tiene 1 megabyte de la memoria, por lo tanto, puede llevar a cabo
cerca de 1 milln de Bytes (o caracteres) de la informacin.
La memoria funciona de manera similar a un juego de cubculos divididos usados para
clasificar la correspondencia en la oficina postal. A cada bit de datos se asigna una
direccin. Cada direccin corresponde a un cubculo (ubicacin) en la memoria.
Para guardar informacin en la memoria, el procesador primero enva la direccin para
los datos. El controlador de memoria encuentra el cubculo adecuado y luego el
procesador enva los datos a escribir.
Para leer la memoria, el procesador enva la direccin para los datos requeridos. De
inmediato, el controlador de la memoria encuentra los bits de informacin contenidos
en el cubculo adecuado y los enva al bus de datos del procesador.
Hay varios tipos de memoria:

RAM (memoria de acceso aleatorio): ste es igual que memoria principal.


Cuando es utilizada por s misma, el trmino RAM se refiere a memoria de
lectura y escritura; es decir, usted puede tanto escribir datos en RAM como
leerlos de RAM. Esto est en contraste a la ROM, que le permite solo hacer
lectura de los datos ledos. La mayora de la RAM es voltil, que significa que
requiere un flujo constante de la electricidad para mantener su contenido. Tan
pronto como el suministro de poder sea interrumpido, todos los datos que
estaban en RAM se pierden.
ROM (memoria inalterable): Los ordenadores contienen casi siempre una
cantidad pequea de memoria de solo lectura que guarde las instrucciones
para iniciar el ordenador. En la memoria ROM no se puede escribir.
PROM (memoria inalterable programable): Un PROM es un chip de memoria
en la cual usted puede salvar un programa. Pero una vez que se haya utilizado
el PROM, usted no puede reusarlo para salvar algo ms. Como las ROM, los
PROMS son permanentes.
EPROM (memoria inalterable programable borrable): Un EPROM es un tipo
especial de PROM que puede ser borrado exponindolo a la luz ultravioleta.
EEPROM (elctricamente memoria inalterable programable borrable): Un
EEPROM es un tipo especial de PROM que puede ser borrado exponindolo a
una carga elctrica.

II. OBJETIVOS

III.

Dar a conocer los conceptos bsicos de la memoria de un


computador.
Estudiar la estructura de la memoria cache.
Estudiar las tcnicas de correspondencia(directa, asociativa,
asociacin por conjunto)

DESARROLLO
1. LA MEMORIA
La memoria es el dispositivo que retiene, memoriza o almacena datos
informticos durante algn intervalo de tiempo. La memoria proporciona
una de las principales funciones de la computacin moderna: el
almacenamiento de informacin y conocimiento. Es uno de los
componentes fundamentales de la computadora, que interconectada a
la unidad central de procesamiento (CPU, por las siglas en ingls de
Central Processing Unit) y los dispositivos de entrada/salida,
implementan lo fundamental del modelo de computadora de la
arquitectura de von Neumann.
En la actualidad, memoria suele referirse a una forma de
almacenamiento de estado slido, conocida como memoria RAM
(memoria de acceso aleatorio; RAM por sus siglas en ingls, de random
access memory), y otras veces se refiere a otras formas de
almacenamiento rpido, pero temporal. De forma similar, se refiere a
formas de almacenamiento masivo, como discos pticos, y tipos de
almacenamiento magntico, como discos duros y otros tipos de
almacenamiento, ms lentos que las memorias RAM, pero de
naturaleza ms permanente. Estas distinciones contemporneas son de
ayuda, porque son fundamentales para la arquitectura de computadores
en general.
Adems, se refleja una diferencia tcnica importante y significativa entre
memoria y dispositivos de almacenamiento masivo, que se ha ido
diluyendo por el uso histrico de los trminos almacenamiento
primario (a veces almacenamiento principal), para memorias de
acceso aleatorio, y almacenamiento secundario, para dispositivos de
almacenamiento masivo. Esto se explica en las siguientes secciones,
en las que el trmino tradicional almacenamiento se usa como
subttulo, por conveniencia.

1.1. JERARQUIA DE LA MEMORIA


La gran variedad de sistemas de almacenamiento en un sistema
de cmputo se puede organizar de manera jerrquica, de
acuerdo con su velocidad y costo. Los niveles ms altos son
costosos, pero son los ms rpidos. A medida que nos movemos
hacia abajo de la jerarqua, el costo por bit comnmente
disminuye, en tanto que el tiempo de acceso normalmente
aumenta. A continuacin se muestran dos grficos que
ejemplifican esto:

a. REGISTROS
Los Registros son un medio de ayuda a las operaciones realizadas
por la unidad de control y la unidad aritmtica y lgica. Permiten
almacenar informacin, temporalmente, para facilitar la
manipulacin de los datos por parte de la CPU.
Realizando una similitud con el resto del sistema informtico, los
registros son a la CPU como la memoria principal es a la
computadora.
Los registros se dividen en tres grupos principales:
Registros de Propsito General.
Registros de Segmento de Memoria.
Registros de Instrucciones.

b. MEMORIA CACHE
Cache es el nombre escogido para representar el nivel de
jerarqua de memoria entre la CPU y memoria principal, y este
es el uso dominante del trmino. Hoy en da aparecen caches
en toda clase de computadoras y en algunos computadores
ms de una vez
En la cache se guardan las palabras de memoria de mayor uso,
cuando la CPU necesita una palabra primero lo busca en la
cache. Solo si la palabra no est ah recurre a la memoria
principal, esto mejora el tiempo de acceso a los programas que
se quiere usar.

El diseo de caches es un tema cada vez ms importante para


el diseo de la CPU de alto rendimiento.
Un aspecto es el tamao del cache.
Cuanto ms grande es el cache mejor funciona, pero

tambin cuesta ms.


Un segundo aspecto es el tamao dela lnea de cache
un cache de 16kb puede dividirse en 1k lneas de 16
bytes, 2k lneas de 8 bytes y otras combinaciones.

Un tercer aspecto es la organizacin del cache.


Un cuarto aspecto es si las instrucciones y los datos se
guardan en el mismo o en caches diferentes.

c. MEMORIA PRINCIPAL
La memoria principal satisface las demandas de las caches y
unidades vectoriales y sirve como interfaz de entrada y salida ya
que es el destino de la entrada as como la fuente para la salida,
las medidas de rendimiento de la memoria principal hacen
nfasis a la latencia y al ancho de banda.

d. DISCO MAGNETICO
Un disco magntico consiste en uno o ms platos de aluminio
con un recubrimiento magnetizable. Originalmente estos platos
llegaron a tener 50 cm de dimetro, pero en la actualidad suelen
ser de 3 a 12 cm, y algunos discos para computadoras porttiles
tienen dimetros de menos de 3cm y se siguen encogiendo.
Una cabeza de disco contiene una bobina de induccin flota
sobre la superficie y muy cerca de ella, descansando en un
colchn de aire. Cuando una corriente positiva o negativa pasa
por la cabeza, magnetiza la superficie justo debajo de ella,
alineando las partculas magnticas hacia la izquierda o hacia la
derecha, dependiendo de la polaridad de la corriente de la
unidad.
El objetivo de estructurar la memoria de un computador como
una jerarqua es conseguir una memoria relativamente grande y
rpida a un precio no muy alto. El funcionamiento de la jerarqua
de memoria se basa en hacer copias de informacin de los
niveles ms lentos y grandes a los niveles ms rpidos en los
que se necesita. As, por ejemplo, cuando se requiere ejecutar
un programa hay que copiar las instrucciones y datos del
mismo, que se encuentra en disco (en el fichero ejecutable) a
memoria principal. De igual forma, el procesador a medida que
va accediendo a memoria cach, provoca que la informacin
necesaria, en forma de lneas de cache, se copie de memoria
principal

memoria

cach.

Finalmente

hay

muchas

instrucciones que necesitan que la informacin resida en los


registros del procesador, esto hace que haya que copiar
informacin de la memoria cach a los registros.

En el acceso a un nivel de la jerarqua se produce un fallo


cuando el dato referenciado no se encuentra en ese nivel. Se
dice que hay un acierto en caso contrario. La existencia de un
fallo requiere que los datos referenciados se copien del nivel
inferior al nivel en el que se ha provocado el fallo.
La existencia de mltiples copias de un mismo dato en una
jerarqua de memoria produce un problema de falta de
coherencia. En efecto, cuando se modifica un dato en un nivel
superior de la jerarqua, se produce una discrepancia con la
copia del dato que se encuentra en el nivel inferior. Para
resolver este problema es necesario que la informacin
modificada en un nivel superior de la jerarqua se actualice en
algn momento en el nivel inferior.

1.2. FUNCIONANMIENTO DE LA MEMORIA


La forma en que est organizada una memoria principal
es la siguiente: est dividida en N palabras, donde N es
generalmente una potencia de 2, y a cada palabra se le
asigna una direccin, o posicin en la memoria. Cada
palabra tiene el mismo nmero de bits, llamados
longitud de palabra. Dicha longitud es tambin una
potencia

de

compatibilidad

2,

puede

con

los

ser

8,

16,

procesadores

32,

etc.

Por

anteriores

las

posiciones de memoria se suelen numerar siempre de 8


en 8 bits, con independencia de que el procesador pueda
acceder directamente a
16 bits, o ms.
Las direcciones, o nmeros de direccin en la memoria,
van

consecutivamente.

Se

suelen

expresar

en

hexadecimal partiendo de 00....000 y llegando hasta la


direccin ms grande posible que ser la FF....FFF. El
procesador puede leer o escribir una palabra en cada
posicin de memoria.
Es muy importante entender la diferencia entre el
contenido de una direccin de memoria y la direccin en
s misma. La memoria es como un gran gabinete con
muchos

cajones,

los

cuales

corresponden

las

direcciones de memoria. En cada cajn hay una palabra

y la direccin de cada palabra se escribe en la parte


externa del cajn. Para obtener el contenido de un cajn
debemos saber cual es, es decir debemos tener la
direccin, pero el contenido es lo que hay dentro del
cajn que no tiene nada que ver con su direccin.
Los chips de memoria tienen exteriormente un conjunto
de patas con los que pueden ser conectados al resto de
componentes del ordenador. Se pueden dividir en tres
grupos fundamentales:
a. Bus de direcciones: Este conjunto de patas contiene
la direccin en forma de nmero binario del dato que
se busca, se conectan a otro conjunto de patas
similares que tiene el procesador, cuando ste quiere
leer un dato coloca en el bus de direcciones la
direccin del dato y espera a que la memoria se lo
enve

por

el

bus

de

datos

que

se

explica

continuacin.
b. Bus de datos: Estas patas se conectan al bus de datos
del procesador y por ellas circulan los datos entre
ambos. Por ejemplo, si un chip de memoria contiene
un bus de datos de 1 bit (es decir una sola pata) en
cada celda de memoria de ese chip se puede
almacenar slo un bit; si el procesador accede a la
memoria de 8 en 8 bits, ser preciso poner 8 chips
similares y conectar el bus de datos de cada uno a
cada una de las 8 patas del bus de datos del
procesador, as cada dato de 8 bits que maneje el
procesador tendr cada uno de sus bits en un chip
distinto.
c. Seales de control: Sirven para controlar el proceso,
por ejemplo una de ellas llamada W / R sirve para que
la memoria sepa si el procesador quiere leer o escribir.
Para permitir ampliar posteriormente la memoria,
normalmente el ancho del bus de direcciones del
procesador es mayor que el ancho del bus de direcciones
de los chips de memoria, en ese caso las lneas
superiores del bus de direcciones del procesador tienen
que pasar por un decodificador, que se encarga de

seleccionar el chip correcto que contiene el dato. Por


ejemplo supongamos que el procesador tiene un bus de
direcciones de 16 bits y que empleamos para la memoria
chips con un bus de direcciones de 14 bits y 1 bit para el
bus de datos. El procesador puede acceder a 64Kb,
mientras que los chips de memoria tienen capacidad de
slo 16Kbits, juntando 8 chips obtenemos 16Kb y con 4
grupos de 8 chips llenamos los 64Kb, en ese caso los 14
bits bajos del bus de direcciones se conectan a los 14
bits del bus de direcciones de todos los chips. Los 2 bits
altos del bus de direcciones se conectan al decodificador
que saca 4 seales, una cuando dichos bits son 00, otra
cuando son 01, otra para 10 y finalmente otra para 11.
Cada una de las seales del decodificador va a parar a
una pata, llamada chip select, de los 8 chips de cada
grupo, cada chip est seleccionado slo cuando recibe la
seal chip select.

1.3. LECTURA DE LA MEMORIA


Cuando el procesador quiere acceder a un dato, es decir, para leer
un dato de la memoria, realiza la siguiente secuencia:
a. Coloca la direccin del dato en el bus de direcciones.
b. Coloca en la pata W / R un 0 para indicar que desea leer.
c. Espera un tiempo prefijado a que la memoria coloque en el
bus de datos el dato en cuestin.
d. Lee el dato del bus de datos y da por concluida la secuencia.
Como se ha dicho arriba las posiciones de memoria se numeran en
bytes, sin embargo el procesador puede acceder a datos de tamao
mayor, por ejemplo de 16 bits, hay dos posibles alternativas para
esta situacin, una es colocar en la parte baja del nmero ledo el
contenido de la posicin baja de memoria y en la parte alta el de la
posicin alta, por ejemplo si la posicin de memoria 1234 contiene
el nmero 56 y la posicin 1235 contiene el 78, al leer un dato de 16
bits de 1234 se obtiene 7856 (todos los nmeros estn en
hexadecimal). ste es el comportamiento de los procesadores de
Intel, pero existen otros, por ejemplo la familia 68000 de Motorola,
que emplean el inverso, es decir en el caso anterior un procesador
68000 leera de memoria el dato 5678.

1.4. ESCRITURA EN MEMORIA


Cuando el procesador transfiere un dato hacia la memoria, es
decir, cuando se escribe en la memoria, se produce la siguiente
secuencia:
a. Coloca la direccin del dato en el bus de direcciones.
b. Coloca en la pata W / R un 1 para indicar que desea
escribir.
c. Coloca el dato en el bus de datos.
d. Espera un tiempo prefijado a que la memoria lea el dato
del bus de datos y almacene dicho valor en la direccin
pedida, pasado ese tiempo da por concluida la operacin.
El esquema para escribir datos multibyte es el mismo que
emplea a la hora de leer, por tanto al escribir un dato de 16 bits y
posteriormente volverlo a leer se obtiene el mismo valor, con
independencia del orden en que se guarde en memoria (bajoalto o alto-bajo), ya que se emplea el mismo orden a la hora de
leerlo.

2. MEMORIA CACH
En cada ciclo de instruccin, el procesador debe acceder a memoria al
menos una vez para buscar la instruccin, y frecuentemente realiza
mltiples accesos para leer los operandos o almacenar los resultados.
As, los ciclos para los accesos a memoria son una seria limitacin ante la
diferencia de velocidades entre el procesador y la memoria. La solucin
ms usada histricamente ha sido el incremento del nmero de registros,
pero es una solucin cara. La solucin ser buscar una memoria,
denominada cache, ms pequea y rpida que la memoria principal y que
se sita entre sta y el procesador. Este concepto se muestra en la
siguiente figura:

CPU
Transferencia de Palabras

Cache
Transferencia de Bloques

Memoria Principal

Por lo tanto, hay una memoria principal relativamente grande y lenta,


conjuntamente con una memoria cache pequea y rpida. Con esta
estructura se utiliza de forma inteligente el principio de localidad.
La memoria cache almacena una copia de ciertas partes de la memoria
principal. Cuando la CPU intenta leer una palabra de memoria, en primer
lugar comprueba si la palabra deseada est ya en la memoria cache; si
est, se lee la palabra desde la memoria cache; si no est, se transfiere a
la memoria cache un bloque de la memoria principal, que contiene un
determinado nmero de palabras. Debido al fenmeno de la localidad de
las referencias a memoria, es probable que cuando se transfiere un
bloque de datos a la memoria cache, las futuras llamadas a memoria se
hagan a otras palabras contenidas en el bloque transferido.
En la siguiente figura se muestra la estructura de un sistema Mp-Mca. La
memoria principal consta de 2 n palabras, y cada palabra se puede
referenciar mediante una direccin nica de n bits.

Con el fin de efectuar la transformacin entre la memoria principal y la


memoria cache, se considera que la memoria principal est constituida
por una serie de bloques de longitud fija, de k palabras por bloque. Hay M
= 2n/k bloques en la memoria principal. La memoria cache contiene C
bloques de k palabras cada uno, y el nmero de bloques de la memoria
cache es considerablemente menor que el nmero de bloque que hay en
la memoria principal (C<<<M). Esto implica que la memoria cache tiene
que disponer de un directorio que consta de etiquetas que permiten
identificar qu bloque de

la memoria principal se encuentra en cada

momento en la memoria cache. Los bits de estado sirven para indicar,


entre otras cosas, si la informacin que contiene un bloque de cache es
vlida o no.

Para analizar cmo se realiza en general la operacin de lectura en una


memoria cache, se emplea la siguiente figura:

La CPU genera una direccin para llevar a cabo un acceso a una


determinada palabra de la memoria principal. Esta direccin, desde el
punto de vista de la memoria cache, consta de dos partes: identificador
de bloque, que especifica el bloque donde se encuentra la palabra
pedida, y la otra indica la posicin de la palabra dentro del bloque. Al
realizar la bsqueda pueden ocurrir dos situaciones:

Que el identificador de bloque buscado coincida con alguna de las


etiquetas de los bloques almacenados en el directorio de la
memoria cachese ha producido un acierto, y con los bits
correspondientes al campo de posicin se selecciona la palabra

pedida dentro del bloque para entregrsela a la CPU.


Que el identificador del bloque buscado no coincida con alguna de
las etiquetas de los bloques almacenados en el directorio de la
cache ->Se ha producido un fallo, la palabra pedida no se
encuentra en ese momento en la memoria cache. En este caso,
para realizar la operacin de lectura solicitada por el procesador
es necesario acceder a la memoria principal; debindose
actualizar la memoria cache para que la prxima vez, tanto si se
hace referencia a esa direccin como a otra prxima, no se
produzca fallo (por el Principio de Localidad). Generalmente, la
actualizacin lleva consigo la sustitucin de uno de los bloques de
la memoria cache as como la modificacin de la etiqueta
correspondiente.
La siguiente figura muestra el diagrama de flujo de la operacin de
lectura en la memoria cache.

Aunque hay gran diversidad de memorias cache, existen unos


ciertos criterios bsicos de diseo que sirven para clasificar y
diferenciar las distintas arquitecturas de este tipo de memorias:
1. Capacidad:
1k

4k

8k

16k

32k

64k

128k

256k

2. Organizacin de la memoria cache:


Directa
Totalmente asociativa
Asociativa por conjuntos
3. Mecanismos de bsqueda:
Por demanda
Con anticipacin
Selectiva
4. Algoritmo de reemplazamiento:
LRU (Least Recently Used Utilizado menos recientemente)
FIFO (Fist In First Out Ms antiguo)
LFU (Least Frecuently Used Utilizado menos
frecuentemente)
Aleatorio
5. Estrategia de escritura:
Escritura inmediata
Post-escritura
Escritura nica
6. Tamao del bloque:
4 palabras

8 palabras

7. Nmero de caches:
Caches de un nivel

16 palabras

32 palabras

Caches de dos niveles

2.1. CAPCIDAD DE MEMORIA CACH


El tamao de la memoria cache (nmero de palabras) plantea un cierto
compromiso. Por un lado debera ser lo suficientemente pequea como
para que el coste medio por bit de informacin almacenado en la
memoria interna del computador estuviese prximo al de la memoria
principal. Por otro lado tendra que ser lo bastante grande como para
que el tiempo de acceso medio total fuese lo ms prximo posible al de
la memoria cache. No obstante, hay algunas otras motivaciones para
tratar de minimizar el tamao de una memoria cache; cuanto ms
grande sea la memoria cache, ms compleja ser la lgica asociada
con su direccionamiento; el resultado neto es que la memoria cache de
gran capacidad tienden a ser ms lentas que las ms pequeas, incluso
empleando en ambas la misma tecnologa de fabricacin de circuitos
integrados. Tambin su capacidad tiende a estar limitada por el espacio
fsico que se le asigna, en muchos casos dentro del mismo circuito
integrado que el procesador.

3. TCNICAS DE CORRESPONDENCIA

3.1. ORGANIZACIN DE LA MEMORIA CACHE.


Existen diversas formas para organizar internamente una cache
para almacenar su informacin. En todos los casos, la CPU
referencia a la cache con la direccin de memoria principal del
dato que se necesita (la CPU siempre se dirige al espacio de
memoria principal). Por lo tanto, cualquier organizacin de
memoria cache debe utilizar esta direccin para encontrar el dato
si lo tiene almacenado o indicar cuando ha ocurrido un fallo. La
forma de hacer corresponder la informacin mantenida en la
memoria principal con su equivalente en la cache debe de
implementarse totalmente en hardware si se desea conseguir un
rendimiento ptimo en la operacin del sistema. Bsicamente, la
organizacin de la memoria cache consiste en establecer la
funcin de correspond encia que asigna a los bloques de la
memoria principal posiciones definidas en la memoria cache.
Para el clculo de dicha funcin de correspondencia se emplean
tres tcnicas bsicas:
Directa
Totalmente asociativa
Asociativa por conjuntos

a. CORESPONDENCIA DIRECTA
Es la tcnica ms simple de todas. Cada bloque de la
memoria principal se transforma en un nico bloque de la
memoria cache. Se muestra en la siguiente figura:

La funcin de transformacin es:

La siguiente figura ilustra el mecanismo general de la


correspondencia directa.

Cuando la CPU genera una direccin (n bits) para acceder a una


palabra de la memoria principal, su formato desde el punto de
vista de la memoria cache se divide en tres campos: etiqueta,
bloque y palabra. El nmero de bits de cada uno de estos
campos viene dado por las relaciones siguientes:

El funcionamiento de la correspondencia directa se puede


describir de la siguiente forma:
Con el campo bloque se identifica un bloque de la Mca.
Se compara la etiqueta de ese bloque de la Mca con el
campo etiqueta de la direccin solicitada por el

procesador. Si coinciden, entonces con el campo


palabra se selecciona la palabra pedida dentro del
bloque y se le entrega a la CPU; si no coinciden las
etiquetas, quiere decir que no se encuentra en la Mca y
por lo tanto se produce un fallo y habr que ir a buscar
la palabra a la Mp.
La tcnica de correspondencia directa es simple y poco costosa
de realizar. Su principal desventaja es que cualquier bloque
dado tiene asignada una posicin fija en la memoria cache. As,
si ocurre que un programa efecta repetidas referencias a
palabras de dos bloques diferentes de la Mp que tienen
asignado el mismo bloque de la Mca, estos bloques se estarn
moviendo continuamente entre la memoria cache y la memoria
principal, con la consiguiente prdida de rendimiento del
sistema.

b. CORRESPONDIENTE ASOCIATIVA
Esta tcnica subsana el inconveniente que se acaba de
mencionar al estudiar la correspondencia directa, ya que
permite que un bloque de memoria principal se cargue en
cualquier bloque de la memoria cache, tal como se muestra
en la figura siguiente:

Cuando la CPU genera una direccin para acceder a una


palabra de la memoria principal, su formato desde el punto
de vista de la memoria cache se divide en dos campos:
etiqueta y palabra. El nmero de bits de cada uno de estos
campos viene dado por las relaciones siguientes:

En la figura siguiente se ilustra el mecanismo general de


la correspondencia totalmente asociativa.

El funcionamiento de la correspondencia asociativa se puede


describir en los trminos que siguen:
Para determinar si un bloque est ya en la memoria
cache es preciso que sta incorpore la lgica necesaria
que le permita examinar de forma simultnea todas las
etiquetas de su directorio y comprobar si el campo
etiqueta de la direccin solicitada por el procesador
coincide con alguna de ellas. Un bloque de memoria
principal se puede almacenar en cualquier bloque de la
memoria cache, a condicin de que se almacene con l
los e bits de su campo de etiqueta.

Si coinciden, con el campo palabra se selecciona la


palabra pedida dentro del bloque y se le entrega a la
CPU. Si al comparar las etiquetas no coinciden quiere
decir que no se encuentra en la memoria cache y por lo
tanto se produce un fallo y habr que ir a buscar la
palabra a memoria principal.

Cuando se lee un nuevo bloque, con la correspondencia


totalmente asociativa, hay que decidir generalmente por cul
se va a sustituir en la memoria cache. Los algoritmos de
reemplazamiento se disean con el fin de optimizar la
probabilidad de encontrar la palabra solicitada en la memoria
cache. La principal desventaja de este procedimiento es la
necesidad de una circuitera, bastante compleja, para
examinar en paralelo los campos de etiqueta de todos los
bloques de la memoria cache (aumenta la complejidad de
acceso). Aunque tiene como ventaja el que dos bloques con
localidad de referencia temporal no competirn por la misma
lnea (bloque en la cache).

c. CORESPONDENCIA

ASOCIATIVA

POR

CONJUNTOS
La tcnica de correspondencia asociativa por conjuntos es
un compromiso que trata de aunar las ventajas de los dos
mtodos anteriores c La memoria cache se divide en
Q conjuntos, cada uno de los cuales consta de R
bloques:

Cada bloque de la memoria principal puede ubicarse en uno


de los r bloques de la memoria cache que componen cada
conjunto c r define el grado de asociatividad (o nmero de
vas) de la memoria cache. Con este algoritmo, el bloque j de
la memoria principal se puede almacenar en un bloque
cualquiera del conjunto que tiene asociado en la memoria
cache. En la figura 3.11 se muestra un ejemplo para el caso
en que el nmero de bloques que contiene un conjunto r = 2;
por lo que el nmero de conjuntos en los que se divide la
Mca ser q = C/2.

La correspondencia asociativa por conjuntos se puede ver


como una correspondencia directa entre los bloques de la
Mp y los conjuntos de la Mca, y como una correspondencia
totalmente asociativa entre los bloques de un mismo
conjunto.

La figura anterior ilustra el mecanismo general de la


correspondencia asociativa por conjuntos. Cuando la CPU
genera una direccin para acceder a una palabra de la Mp,
su formato desde el punto de vista de la Mca se divide en
tres campos: etiqueta, conjunto y palabra. El nmero de bits
de cada uno de estos campos viene dado por las relaciones
siguientes:

Los c bits del campo conjunto especifican uno de entre


c
q=2 conjuntos en los que se divide la Mca. Los (e + c)
bits de los campos de etiqueta y conjunto especifican uno
n-p
de los M = 2
bloques de la Mp. Cada bloque en
cada conjunto tiene una etiqueta almacenada que
conjuntamente con el nmero del conjunto completa la
identificacin del bloque de la Mca. El funcionamiento de la
correspondencia asociativa por conjuntos se puede describir
en los trminos siguientes:
o

En primer lugar se utiliza el nmero de conjunto de la


direccin solicitada por el procesador para acceder al
conjunto correspondiente de la Mca.
Se comparan simultneamente todas las etiquetas del
conjunto seleccionado con la etiqueta de la direccin
solicitada. Si coinciden entonces se accede a la
palabra pedida en la Mca, en caso contrario se produce
un fallo y habr que ir a buscar la palabra a Mp.

La correspondencia asociativa por conjuntos contiene las dos


tcnicas anteriores (directa y totalmente asociativa) como
casos particulares:

a) q = C, r = 1 Correspondencia directa.
b) q = 1, r = C Correspondencia totalmente
asociativa.
La utilizacin de q = C/2, r = 2 (es decir, 2 bloques por
conjunto), es la organizacin ms usual en la
correspondencia asociativa por conjuntos. En este caso se
mejora significativamente el rendimiento de la cache frente
a la transformacin directa. Tambin se emplea q = C/4, r
= 4 (es decir, 4 bloques por conjunto) que proporciona una
relativa mejora a un coste moderado. A partir de este valor,
el beneficio marginal que se obtiene al aumentar el nmero
de particiones por conjunto no compensa, por el mayor
coste que supone.

IV.

CONCLUCIONES

Gracias a los distintos tipos de memoria la capacidad de las


computadoras aumenta considerablemente, son lasa memoria
auxiliar que permite aumentar la velocidad y la capacidad de la
memoria RAM, y agiliza los procesos de la informacin.
La evolucin de esas tarjetas siguen en aumento cada vez la
tecnologa es ms grande y con ello este tipo de memorias tienen
que ir cambiando y aumentando su capacidad, su velocidad y
rendimiento, para ello se han estado creando nuevos diseos que
marcaran la pauta sobre la informacin automatizada.

V. BIBLIOGRAFIAS
William Stallings, Organizacin y Arquitectura de Computadores
sptima edicin

VI.

WEBGRAFIAS
http://www.profesormolina.com.ar/electronica/componentes/int/mem
_intr.htm
http://tecnologiaescolapioslogrono.blogspot.com/2011/10/memorias-internas-de-unordenador.html
http://www.aulapc.es/basico_conceptos_memorias.html

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