Professional Documents
Culture Documents
1. INTRODUCCION
2. OBJETIVOS
3. MEMORIA CACHE
Debido a la gran velocidad alcanzada por los procesadores, la Memoria
Principal del
computador no es lo suficientemente rpida para almacenar y transmitir los
datos que el
procesador necesita, por lo que tendra que esperar a que la memoria
estuviera disponible y
el trabajo se atrasara. Para evitarlo, se usa una memoria muy rpida,
estratgicamente
situada entre el micro y la RAM: la memoria cache.
La velocidad de la memoria se ha distanciado progresivamente de la
velocidad de los
procesadores.
b) Cache externa
Es ms antigua que la interna, dado que hasta esta fecha "relativamente"
reciente, estas
ltimas eran impracticables. Es una memoria de acceso rpido incluida en la
placa base
que dispone de su propio bus y controlador independiente que intercepta las
llamadas a
memoria antes que sean enviadas a la RAM (Buses locales).
La cache externa tpica es un banco SRAM ("Static Random Access
Memory") de entre
128 y 256 KB. Esta memoria es considerablemente ms rpida que la DRAM
("Dynamic
Random Access Memory") convencional, aunque tambin mucho ms cara
[5] (tenga en
cuenta que un aumento de tamao sobre los valores anteriores no
incrementa proporcionalmente la eficacia de la memoria cache).
Actualmente (2004) la tendencia es
incluir esta cache en el procesador. Los tamaos tpicos oscilan entre 256 KB
y 1 MB. CJ En 1.997, con la introduccin del procesador Pentium II, Intel
abandono el denominado zcalo 1
utilizado hasta entonces en sus procesadores, en favor del denominado Slot1. La razn argida era precisamente la inclusin de la cache L2 en la
capsula del procesador.
c) Cache de disco
Adems de las anteriores, que son de propsito general, existe una cache
de funcionalidad especifica que se aloja en memoria RAM estndar; es la
cache de disco. Destinada a contener los datos de disco que probablemente
sean necesitados en un futuro prximo y los que deben ser escritos. Si la
informacin requerida est en cache, se ahorra un acceso a disco, lo que es
centenares de veces ms rpido (recuerde que los tiempos de acceso a RAM
se miden en nanosegundos y los de disco en milisegundos ( Unidades de
medida).
Aumenta la capacidad
b) Correspondencia Asociativa
El directorio de una Mc de correspondencia asociativa se puede
implementar con una memoria asociativa con tantas palabras como lneas
tenga Mc. Las lneas se soportan sobre un array de memoria con longitud de
palabra suficiente para ubicar un bloque.
Cmo encontramos un bloque de memoria en una memoria cach
asociativa (con tamao de bloque 1 palabra)?
d) Aleatoria
Esta tcnica no se basa en el grado de utilizacion del bloque, consiste
simplemente en
escoger una lnea al azar(aleatoria) entre las posibles candidatas.
3.6.
POLITICA DE ESCRITURA
b) Post-Escritura:
c) Asignacin en escritura:
5. MEMORIA VIRTUAL
5.1. CONCEPTOS BASICOS
La memoria virtual es una tcnica para proporcionar la simulacin de un
espacio de
memoria mucho mayor que la memoria fsica. Esta "ilusin" permite que los
programas se hagan sin tener en cuenta el tamao exacto de la memoria
fsica.
La ilusin de la memoria virtual esta soportada por el mecanismo de
traduccin de la memoria, junto con una gran cantidad de almacenamiento
rpido en disco duro. As en
cualquier momento el espacio de direcciones virtual hace un seguimiento de
tal forma que
una pequea parte, este en memoria real y el resto almacenado en el disco,
y puede
ser referenciado fcilmente.
Debido a que solo la parte de memoria virtual que este almacenada en la
memoria
principal, es accesible a la CPU, segn un programa va ejecutndose, la
proximidad de
referencias a memoria cambia, necesitando que algunas partes de la
memoria virtual se
traigan a la memoria principal desde el disco, mientras que otras ya
ejecutadas, se pueden
volver a depositar en el disco (archivos de paginacin).
La memoria virtual ha llegado a ser un componente esencial de la mayora
de los S.O
actuales. Y como en un instante dado, en la memoria solo se tienen unos
pocos fragmentos
de un proceso dado, se pueden mantener ciertos procesos en la memoria.
5.3. FUNCIONAMIENTO
La implementacin de memoria virtual es realizada a travs de la tcnica de
paginacin
bajo demanda. En la paginacin bajo demanda los procesos residen en un
dispositivo de
disco y son puestos en memoria principal cuando es necesario cargarlos
para ejecutar.
La carga del proceso en memoria no es total, sino que implementa un
cargador
perezoso (lazy swapper), que cargara las pginas segn se vayan
necesitando.
Utilizar un esquema de este tipo requiere el conocimiento de las pginas
que estn
activas en memoria. Para ello se utiliza el valid-invalid bit, que consiste en
agregar a la
tabla de pginas un nuevo campo (bit de validez), que indique para cada
entrada, si la
pgina se encuentra o no en memoria. A1 inicio, la tabla de pginas indicara
que
ninguna pgina est en memoria.
Los programas suelen tener cdigo para manejar condiciones de error inusuales. Ya que
estos errores raramente se producen en la prctica, este cdigo casi nunca se ejecuta.
A veces, las tablas, listas o matrices se declaran con ms tamao del que luego realmente
necesitan. Una matriz se puede declarar de 100 por 100 aunque raramente ocupe ms de 10
por 10; o un ensamblador puede tener una tabla para albergar a 3000 smbolos, aunque la
media de los programas no tengan ms de 200.
La memoria virtual es una tcnica que permite la ejecucin de procesos que pueden no estar
completamente en memoria principal.
La habilidad de poder ejecutar un programa que slo est parcialmente en memoria principal
acarrea los siguientes beneficios:
El tamao de un programa no est limitado por la cantidad de memoria fsica disponible. Los
usuarios escriben programas contando con un espacio de direcciones virtuales
extremadamente grande.
Debido a que cada programa puede necesitar para ejecutarse menos memoria que la que
ocupa su tamao total, se pueden cargar ms programas en memoria para ejecutarlos al
mismo tiempo, con la consiguiente mejora en el aprovechamiento de la CPU.
Ya que de cada programa solamente hay que cargar la parte necesaria en un momento dado,
a la hora de cargar un proceso o expulsarlo a disco, se necesitan menos operaciones
de E/S debidas al intercambio, por lo que se consigue una ejecucin global ms rpida.
Para implementar los sistemas de memoria virtual, normalmente se utiliza la paginacin.
Tambin se puede implementar mediante segmentacin, como lo hace el sistema OS/2 de
IBM, pero los algoritmos son bastante ms complejos que los de la paginacin, pues a
diferencia de las pginas, los segmentos son de tamao variable.
5.4. PAGINACION
En la gestin de memoria con intercambio, cuando haba que pasar un proceso a ejecucin,
era necesario traer el proceso entero de disco a memoria principal.
Con memoria virtual hemos dicho que no se trae todo el proceso, sino que cuando se hace
referencia a una direccin de memoria virtual cuya correspondiente memoria fsica reside en
disco, se trae el contenido de disco a RAM.
Quiere esto decir que la unidad de intercambio de memoria es el byte? Si lo fuera, dara
lugar a que continuamente se estuviesen generando operaciones de E/S, lo cual sera poco
eficaz. Claramente, parece ms conveniente utilizar bloques ms grandes, para aprovechar de
manera ms eficiente cada operacin de E/S.
Tablas de pginas
Cada pgina tiene un nmero que se utiliza como ndice en la tabla de
pginas, lo que da por resultado el nmero del marco correspondiente a esa
pgina virtual. Si el bit presente / ausente es 0, se provoca un sealamiento
(trap) hacia el sistema operativo. Si el bit es 1, el nmero de marco que
aparece en la tabla de pginas se copia en los bits de mayor orden del
registro de salida, junto con el ajuste (offset) de 12 bits, el cual se copia sin
modificaciones de la direccin virtual de entrada.
Juntos forman una direccin fsica de 15 bits. El registro de salida se coloca
entonces en el bus de la memoria como la direccin en la memoria fsica.
Estructura de la tabla de paginas
Ventajas de la paginacin
Desventajas de la paginacin
5.4.1. TLB
Un TLB es una memoria cach de la tabla de pginas
Necesario porque de lo contrario cada referencia a la memoria en el
programa requerira dos referencias de memoria, que uno lea la tabla de
pginas y que uno lea la palabra de memoria requerida.
En el diagrama :
TLB + Cache
del que se dispone desde el instante que se genera la dv, pues no requiere
traduccin.
5.5. SEGMENTACIN
Es un esquema de manejo de memoria mediante el cual la estructura del
programa refleja su divisin lgica, llevndose a cabo una agrupacin lgica
de la informacin en bloques de tamao variable denominados segmentos.
Cada uno de ellos tienen informacin lgica del programa: subrutina,
arreglo, etc. Luego, cada espacio de direcciones de programa consiste de
una coleccin de segmentos, que generalmente reflejan la divisin lgica
del programa.
Ventajas de la segmentacin
El esquema de segmentacin ofrece las siguientes ventajas:
lugar un fallo de
cach, as como para acceder a los recursos de E/S del sistema.
A diferencia de la organizacin de los modelos Pentium anteriores, as como
de la mayora de los
dems procesadores, la cach de instrucciones del Pentium 4 est situada
entre la lgica de decodificacin de instrucciones y el ncleo de ejecucin.
El motivo es que el Pentium, como discutiremos con ms detalle en el
Captulo 14, decodifica o traduce sus instrucciones mquina a instrucciones
ms sencillas de tipo RISC, denominadas micro-operaciones. El uso de
micro-operaciones sencillas, de longitud fija, posibilita la utilizacin de
segmentacin superescalar y de tcnicas de planificacin que mejoran las
prestaciones. Sin embargo, las instrucciones mquina del Pentium son
difciles de decodificar, ya que tienen un nmero variable de bytes y muchas
opciones diferentes. Se consigue mejorar las prestaciones si dicha
decodificacin se realiza independientemente de la lgica de planificacin y
de segmentacin. La cach de datos emplea una poltica de postescritura:
los datos se escriben en memoria principal solo cuando, habiendo sido
actualizados, se eliminan de la cach. El procesador Pentium 4 puede
configurarse dinmicamente para utilizar la poltica de escritura inmediata.
La cach L1 de datos se controla por dos bits de uno de los registros de
control (vase la Tabla 4.5),
rotulados CD (Cach Disable: inhabilitar cach) y NW (Not Write Thnough:
no escritura inmediata).
Hay tambin dos instrucciones del Pentium 4 que pueden utilizarse para
controlar la cach: INVD
invlida la memoria cach interna e indica que se invalide la cach externa
(si la hay); WBINVD
postescribe e invalida la cach interna, y entonces postescribe e invalida la
cach externa.
Las dos cachs, L2 y L3, son asociativas por conjuntos de ocho vas, con un
tamao de lnea de
128 bytes.
7. CONCLUSIONES
8. BIBLIOGRAFIA
http://www.dia.eui.upm.es/Asignatu/arq_com/Paco/7-Cache.pdf
http://www.fdi.ucm.es/profesor/jjruz/web2/temas/ec6.pdf
http://electro.fisica.unlp.edu.ar/arq/transparencias/ARQII_00Repaso2.pdf
http://www.monografias.com/trabajos94/arquitectura-del-computador2/arquitectura-del-computador-2.shtml#ixzz49RuOCdaX
https://laredinfinita.wordpress.com/2014/05/01/memoria-virtual/