Você está na página 1de 16

UNIVERSIDAD AUTONOMA DE NUEVO LEON

FACULTAD DE INGENIERA MECNICA Y ELCTRICA


Dr. Alfonso Molina Rodrguez

Resumen capitulo #4

Arquitectura de computadoras

INTEGRANTES DEL EQUIPO:


NOMBRE Y MATRICULA: Jess Osvaldo Robles Ramrez, 1562005
NOMBRE Y MATRICULA: Daniel Morales Garza, 1585960
NOMBRE Y MATRICULA: Carlos de la Cruz Martnez, 1595214
NOMBRE Y MATRICULA: Gabriel Alejandro Mata Carrizales, 1582082
NOMBRE Y MATRICULA: Ramiro Alan Aleman Gonzalez, 1543515

Captulo 4
Memoria cach

Conceptos bsicos sobre sistemas de memoria de computadoras

Ubicacin: indica si la memoria es interna o externa al computador.


La memoria interna suele identificarse como la memoria principal, el procesador
necesita de propia memoria local en forma de registros, la memoria cach tambin
es otro tipo de memoria interna.
La memoria externa consta de dispositivos perifricos de almacenamiento tales
como discos y cintas a travs de controladores de E/S.
Capacidad: para las memorias internas se expresa en trminos de bytes (1 byte =
8 bits) o de palabras. La capacidad de memorias externas suelen expresarse en
bytes.
Unidad de transferencia: para memorias internas la unidad de transferencia es
igual al nmero de lneas de entrada/Salida de datos de mdulos de memoria.
Para la memoria principal es el nmero de bits que se leen o escriben en memoria
a la vez. La unidad de transferencia no tiene por coincidir con una palabra o con
unidad direccionable.
Conceptos
relacionados
con
la
memoria
interna:
Palabra: esa la unidad de organizacin de la memoria, el tamao de la palabra
suele coincidir con el nmero de bits usados para representar nmeros y con la
longitud
de
las
instrucciones.
Unidades direccionables: la relacin entre la longitud A de una direccin y el
nmero N de unidades direccionables es 2=N
Mtodo de acceso: incluye las siguientes variantes:

Acceso secuencial: la memoria se organiza en unidades llamadas registros. El


acceso debe realizarse con una secuencia lineal especfica. Se hace uso de la
informacin almacenada de direccionamiento que permite separar los registros y
ayudar en el proceso de recuperar datos.
Acceso directo: los bloques individuales o registros tienen una direccin nica
basada en su direccin fsica. El acceso se lleva a cabo mdiate un acceso directo
a una vinculacin dada seguido por una bsqueda secuencial esperando hasta
alcanzar la posicin final.
Acceso aleatorio: cada posicin direccionable de memoria tienen un nico
mecanismo de acceso cableado fsicamente. Cualquier posicin puede
seleccionarse y ser direccionada y accedida directamente. La memoria cach son
de acceso aleatorio
Asociativa: memoria tipo aleatoria que permite hacer una comparacin de ciertas
posiciones de bits dentro de una palabra buscando que coincidan los valores
dados y hacer esto para todas las palabras simultneamente.
Prestaciones: las dos caractersticas ms importantes son su capacidad y sus
facilidades Se utilizan tres parmetros de medida:
Tiempo de acceso: memorias de acceso aleatorio es el tiempo que tarda en
realizarse una operacin de escritura o de lectura, es decir el tiempo que
transcurre desde el instante que se presenta una direccin de memoria hasta que
el dato ha sido memorizado
Tiempo de ciclo de memoria: este proceso se aplica principalmente a las
memorias de acceso aleatorio y consiste en el tiempo de acceso algn tiempo ms
que se requiere de que pueda iniciarse el segundo acceso de memoria
Velocidad de trasferencia: es la velocidad a la que se puede transferir datos desde
una unidad de memoria para memorias de acceso aleatorio coincide con el inverso
del tiempo de ciclo
Para otras memorias se utiliza: TN= TA +N/R
TN= tiempo medio de escritura o lectura de N bits
TA= Tiempo de acceso medio
N= Numero de bits
R= velocidad de transferencia
Dispositivos Fsicos: los soportes fsicos ms comunes son las memorias
semiconductoras, las de superficie magntica, utilizadas para discos y cintas y las
pticas y magneto-pticas.
Caractersticas Fsicas: del almacenamiento de datos son muy importantes varias
caractersticas fsicas. En memorias voltiles la informacin se va perdiendo o
desaparece cuando se desconecta la alimentacin, en memorias no voltiles la
informacin la informacin unas vez gravadas permanece sin deteriorarse hasta

que se modifique intencionalmente. Las memorias no borrables no pueden


modificarse salvo que se destruya la unidad de almacenamiento. Las memorias
semiconductoras se les conocen como memorias de solo lectura (ROM)
Las memorias de superficie magntica son no voltiles
Las memorias semiconductoras pueden ser voltiles o no voltiles
Organizacin: por organizacin se entiende su disposicin o estructura fsica en
bits para formar palabras
Jerarqua de memoria
Las restricciones de diseo de memoria de un computador se pueden resumir en
Cunta capacidad? Qu tan rpida? Coste?
Es estos espectros se cumplen las siguientes relaciones:
A menor tiempo de acceso, mayor coste por bit.
A mayor capacidad, mor coste por bit
A mayor capacidad, mayor tiempo de acceso
Sin embargo para satisfacer las facilidades requeridas, el diseador necesita
utilizar memorias costosas de capacidad relativamente baja y con tiempos de
acceso reducidos. La respuesta a este dilema es no contar con un solo
componente de morera, si no emplear una jerarqua de memoria

a)
Disminuye el coste por bit.
b) Aumenta la capacidad.
c) Aumenta el tiempo de acceso.
d) Disminuye la frecuencia de accesos a la memoria por parte del procesador.

As pues, memorias ms pequeas, ms costosas y ms rpidas, se


complementan con otras ms grandes, ms econmicas y ms lentas. La clave
del xito de esta organizacin est en el ltimo item (d): la disminucin de la
frecuencia de acceso.
La base para la validez de la condicin (d) es el principio conocido como localidad
de las referencias [DENN68].

es posible organizar los datos a travs de la jerarqua de tal manera que el


porcentaje de accesos a cada nivel siguiente ms bajo sea sustancialmente menor
que al nivel anterior.
Las tres formas de memoria son, normalmente, voltiles y de tecnologa
semiconductora. El uso de tres niveles aprovecha la variedad existente de tipos de
memorias semiconductoras, que difieren en velocidad y coste. El almacenamiento
de datos de forma ms permanente se hace en dispositivos de memoria masiva,
de los cuales los ms comunes son el disco duro y los dispositivos extrables, tales
como discos extrables, cintas y dispositivos pticos de almacenamiento.
Las memorias externas no voltiles o permanentes se denominan tambin
memorias secundarias o auxiliares.
En la jerarqua pueden incluirse otras formas de memoria. , los grandes
computadores de IBM incluyen una forma de memoria interna conocida como
almacenamiento extendido. Este utiliza una tecnologa semiconductora que es
ms lenta y menos costosa que la de la memoria principal.
Una parte de la memoria principal puede utilizarse como almacn intermedio
(buffer) para guardar temporalmente datos que van a ser volcados en disco. Esta
tcnica, a veces denominada cach de disco 2, mejora las prestaciones de dos
maneras:

Las escrituras en disco se hacen por grupos. En lugar de muchas transferencias


cortas de datos, tenemos pocas transferencias largas. Esto mejora las
prestaciones del disco y minimiza la participacin del procesador.
Algunos datos destinados a ser escritos como salidas pueden ser referenciados
por un programa antes de que sean volcados en disco. En ese caso, los datos se
recuperan rpidamente desde la cach software en lugar de hacerlo lentamente
de disco.

PRINCIPIOS BSICOS DE LAS MEMORIAS CACH


El objetivo de la memoria cach es lograr que la velocidad de la memoria sea lo
ms rpida posible, consiguiendo al mismo tiempo un tamao grande al precio de

memorias semiconductoras menos costosas.


Hay una memoria principal relativamente grande y ms lenta, junto con una
memoria cach ms pequea y rpida. La cach contiene una copia de partes de
la memoria principal. Cuando el procesador intenta leer una palabra de memoria,
se hace una comprobacin para determinar si la palabra est en la cach. Si es
as, se entrega dicha palabra al procesador. Si no, un bloque de memoria principal,
consistente en un cierto nmero de palabras, se transfiere a la cach y despus la
palabra es entregada al procesador

El procesador genera la direccin, RA, de una palabra a leer. Si la palabra est en


la cach, es entregada al procesador. Si no, el bloque que contiene dicha palabra
se carga en la cach, y la palabra despus es llevada al procesador.

ELEMENTOS DE DISEO DE LA CACH


A veces nos referimos al uso de cachs en el contexto de la computacin de altas
prestaciones (HPC, High Performancea Computing). La HPC trata los
supercomputadores y su programacin, especialmente para aplicaciones
cientficas que implican grandes cantidades de datos, clculos con vectores y
matrices, y el uso de algoritmos paralelos. El diseo de cachs para HPC difiere
bastante del diseo para otras plataformas hardware y aplicaciones.
investigadores han mostrado que una jerarqua de cachs puede ser til para
mejorar las prestaciones si el software de aplicacin permite una explotacin
adecuada de la cach [WANG99, PRES01].

Aunque hay muy diversas implementaciones de cach, existen unos cuantos


criterios bsicos de diseo que sirven para clasificar y diferenciar entre
arquitecturas de cach.
TAMAO DE CACH
Cuanto ms grande es, mayor es el nmero de puertas implicadas en direccionar
la cach. El resultado es que cachs grandes tienden a ser
ligeramente ms lentas que las pequeas (incluso estando fabricadas con la
misma tecnologa de circuito integrado y con la misma ubicacin en el chip o en la
tarjeta de circuito impreso).
El tamao de cach esta tambin limitado por las superficies disponibles de chip y
tarjeta.
FUNCION DE CORRESPONDENCIA
Ya que hay menos lneas de cach que bloques de memoria principal, se necesita
un algoritmo que haga corresponder bloques de memoria principal a lneas de
cach.
Pueden utilizarse tres tcnicas: directa, asociativa, y asociativa por conjuntos.
Correspondencia directa. La tcnica ms sencilla, denominada correspondencia
directa, consiste en hacer corresponder cada bloque de memoria principal a solo
una lnea posible de cach
i= j modulo m
Dnde:
i= nmero de lnea de cach
j= nmero de bloque de memoria principal
m= nmero de lneas en la cach
Los w bits menos significativos identifican cada palabra dentro de un bloque de
memoria principal; en la mayora de las maquinas actuales, el direccionamiento es
a nivel de bytes. Los s bits restantes especifican uno de los 2s bloques de la
memoria principal.
Resumiendo:

Longitud de las direcciones = (s + w) bits

Nmero de unidades direccionales = 2 ^ s+w palabras o bytes

Tamao de bloque = tamao de lnea = 2 ^w palabras o bytes

Numero de bloques en memoria principal = 2^s+w/2^w = 2^s

Nmero de lneas en cach = m = 2^r

Tamao de la etiqueta = (s-r) bits


La tcnica de correspondencia directa es sencilla y poco costosa de implementar.
Su principal desventaja es que hay una posicin concreta de cach para cada
bloque dado.
Correspondencia asociativa.

Longitud de las direcciones = (s + w) bits

Nmero de unidades direccionales = 2 ^ s+w palabras o bytes

Tamao de bloque = tamao de lnea = 2 ^w palabras o bytes

Numero de bloques en memoria principal = 2^s+w/2^w = 2^s


Nmero de lneas en cach = indeterminado
Tamao de la etiqueta= s bits

Con la correspondencia asociativa hay flexibilidad para que cualquier bloque sea
reemplazado cuando se va a escribir uno nuevo en la cache. Los algoritmos de
reemplazo o sustitucin, discutidos ms adelante en esta seccin, se disean para
maximizar la tasa de aciertos.
Correspondencia asociativa por conjuntos. La correspondencia asociativa por
conjuntos es una solucin de compromiso que recoge lo positivo de las
correspondencias directa y asociativa, sin presentar sus desventajas.

M= v X k
i=j modulo v
Donde
i = nmero de conjunto de cache
j = nmero de bloque de memoria principal
m = nmero de lneas de la cache

En este caso se denomina correspondencia asociativa por conjuntos de k vas.


Con la asignacin asociativa por conjuntos, el bloque Bj puede asignarse en
cualquier de las k lneas del conjunto i.

Longitud de las direcciones = (s + w) bits


s +w
Nmero de unidos direccionables = 2

Tamao de bloque = tamao de lnea =

palabras o bytes
w

Nmero de bloques en memoria principal =

Nmero de lneas en el conjunto = k


d
Nmero de conjuntos = v = 2

Nmero de lneas en cache = kv = k X

Tamao de la etiqueta = (s - d) bits

palabras o bytes
2 s+w
2w =

2s

ALGORITMOS DE SUSTITUCN
Una vez que se ha llenado la cache, para introducir un nuevo bloque debe
sustituirse uno de los bloques existentes. Para el caso de correspondencia directa,
solo hay una posible lnea para cada bloque particular y no hay eleccin posible.
Para las tcnicas asociativas se requieren algoritmos de sustitucin. Para
conseguir alta velocidad, tales algoritmos deben implementarse en hardware. Se
han probado diversos algoritmos; mencionaremos cuatro de los ms comunes.

POLITICA DE ESCRITURA
Hay dos casos a considerar cuando se ha de reemplazar un bloque de la cache. Si
el bloque antiguo de la cache no debe ser modificado, puede sobrescribirse con el
nuevo bloque sin necesidad de actualizar el antiguo. Si se ha realizado al menos
una operacin de escritura sobre una palabra de la lnea correspondiente de la
cache, entonces la memoria principal debe actualizarse, rescribiendo la lnea de
cache en el bloque de memoria antes de transferir el nuevo bloque.
La tcnica ms sencilla se denomina escritura inmediata. Utilizado esta tcnica,
todas las operaciones de escritura se hacen tanto en cache como en memoria
principal, asegurando que el contenido de la memoria principal siempre es vlido.

Un sistema que evite este problema se dice que mantiene la coherencia de cach.
Entre las posibles aproximaciones a la coherencia de cach se incluyen:

Vigilancia del bus con escritura inmediata: cada controlador de cach monitoriza
las lneas de direcciones para detectar operaciones de escritura en memoria por
parte de otros maestros del bus. Si otro maestro escribe en una posicin de
memoria compartida que tambin residen la memoria cach, el controlador de
cach invalida el elemento de la cach. Esta estrategia depende del uso de una
poltica de escritura inmediata por parte de todos los controladores decach.
Transparencia hardware: se utiliza hardware adicional para asegurar que todas
las actualizaciones de memoria principal, va cach, quedan reflejadas en todas
las cachs. As, si un procesador modifica una palabra de su cach, esta
actualizacin se escribe en memoria principal. Adems, de manera similar se
actualizan todas las palabras coincidentes de otras cachs.
Memoria excluida de cach: solo una porcin de memoria principal se comparte
por ms de un procesador, y esta se disea como no transferible a cach. En un
sistema de este tipo, todos los accesos a la memoria compartida son fallos de
cach, porque la memoria compartida nunca se copia en la cach. La memoria
excluida de cach puede ser identificada utilizando lgica de seleccin de chip o
los bits ms significativos de la direccin.
T A M A O DE LNEA
Otro elemento de diseo es el tamao de lnea. Cuando se recupera y ubica en
cach un bloque de datos, se recuperan no slo la palabra deseada sino adems
algunas palabras adyacentes. A medida que aumenta el tamao de bloque, la tasa
de aciertos primero aumenta debido al principio de localidad, el cual establece que
es probable que los datos en la vecindad de una palabra referenciada sean
referenciados en un futuro prximo. Al aumentar el tamao de bloque, ms datos
tiles son llevados a la cach. Sin embargo, la tasa de aciertos comenzar a
decrecer cuando el tamao de bloque se haga an mayor y la probabilidad de
utilizar la nueva informacin captada se haga menor que la de reutilizar la
informacin que tiene que reemplazarse. Dos efectos concretos entran en juego:
N M ER O DE CACHS
Cuando se introdujeron originalmente las cachs, un sistema tena normalmente
solo una cach. Ms recientemente, se ha convertido en una norma el uso de
mltiples cachs. Hay dos aspectos de diseo relacionados con este tema que
son el nmero de niveles de cach, y el uso de cach unificada frente al de cachs
separadas. Cachs multinivel. Con el aumento de densidad de integracin, ha sido
posible tener una cach en el mismo chip del procesador: cach on-chip.
Comparada con la accesible a travs de un bus extremo, la cach on-chip reduce
la actividad del bus extremo del procesador y por tanto reduce los tiempos de
ejecucin e incrementa las prestaciones globales del sistema. Cuando la
instruccin o el dato requeridos se encuentran en la cach on-chip, se elimina el
acceso al bus. Debido a que los caminos de datos internos al procesador son muy

cortos en comparacin con la longitud de los buses, los accesos a la cach onchip se efectan apreciablemente ms rpidos que los ciclos de bus, incluso en
ausencia de estados de espera. Adems, durante este periodo el bus est libre
para realizar otras transferencias.

O RGANIZACIN DE CACH EN EL POWERPC


La organizacin de cach del PowerPC ha ido evolucionando paralelamente a la
arquitectura global de la familia PowerPC, reflejando la bsqueda continua de
mejores prestaciones que es el motor de todos los diseadores de
microprocesadores. La Tabla 4.6 muestra esta evolucin. El modelo original, el
601, incluye una sola cach de cdigo/ datos de 32 KB, que es asociativa por
conjuntos de ocho vas. El 603 emplea un diseo RISC ms sofisticado pero tiene
una cach ms pequea: 16 KB divididos en cachs separadas de datos y de
instrucciones,
ambas con una organizacin asociativa por conjuntos de dos vas. Como
resultado, el 603 tiene aproximadamente las mismas prestaciones que el 601 pero
un coste menor. En cada modelo posterior, el 604 y el 620, se va duplicando el
tamao de las cachs respecto de su predecesor. Los modelos G3 y G4 tienen el
mismo tamao de cachs L1 que el 620. El G5 proporciona 32 KB de cach de
instrucciones y 64 KB para cach de datos.

Você também pode gostar