Está en la página 1de 8

U

C
V
F
A
C
C
I
E
N
C
I
A
S
INTRODUCCIN A LOS
SUBSISTEMAS DE MEMORIA,
BUSES Y ENTRADA/SALIDA
Tema 5 Clase 2
CONTENIDO DEL TEMA
Subsistema de memoria (continuacin)
Funcionamiento de la memoria cach
Relacin entre CPU, memoria cach y memoria
principal.
Esquema de Memoria Virtual
Traducci n de di recci ones vi rtual es a
direcciones fsicas.
Unidad de Manejo de Memoria (MMU)
Memoria de Control
Caso de Estudio: SATA I y SATA II
2
MEMORIA CACH
Una memoria cach es una memoria en la que se
almacena una serie de datos para su rpido
acceso.
Existen diversos tipos de cach (de disco, de
sistema, de datos, como es el caso de la cach
de los buscadores como Google).
En el contexto de la materia nos centraremos en
la cach de los procesadores.
3
MEMORIA CACH
La cach (del francs cacher, que significa
guardar o esconder) es un tipo de memoria
voltil de poca capacidad pero de una gran
velocidad.
En la cach se mantiene una copia de las
palabras de memoria de mayor uso.
4
MEMORIA CACH
La cach se encuentra ubicada de forma lgica
entre la CPU y la memoria principal.
Fsicamente puede estar en distintos lugares
dentro o fuera de la CPU.
5
MEMORIA CACH
Existen tcnicas para combinar una cantidad
pequea de memoria rpida con una cantidad
grande de memoria lenta para lograr obtener
una respuesta bastante cercana a la velocidad de
la memoria rpida y la capacidad de la memoria
grande a un precio moderado.
6
MEMORIA CACH
Cuando la CPU necesita una palabra primero la
busca en cach; slo si esta palabra no est all
entonces recurre a la memoria principal.
Si una fraccin sustancial de las palabras est en
la cach, el tiempo promedio de acceso puede
reducirse considerablemente.
El xito o fracaso dependen de qu fraccin de
las palabras est en la cach.
7
MEMORIA CACH
Es bien conocido que los programas no acceden
a memoria de forma totalmente aleatoria.
Por ejemplo, si se hace una referencia en
memoria a una direccin A, es probable que la
misma direccin A sea referenciada nuevamente
pronto, o bien, la siguiente referencia sea a una
direccin cercana a A, esto lo especifica el
principio de localidad y constituye la base de
todos los sistemas de cach.
8
MEMORIA CACH
Con excepcin de las bifurcaciones y las
llamadas a procedimientos, las instrucciones de
un programa se traen de posiciones consecutivas
en la memoria.
Si una palabra se lee o se escribe k veces en un
intervalo corto, el computador necesitara una
referencia a la memoria lenta y k-1 referencias a
la memoria rpida.
Cuanto mayor sea k mejor ser el desempeo
global.
9
MEMORIA CACH
Tamao de la cach
La cach acta como un resumen de los datos de la
memoria principal, aunque la cach sea de mayor
velocidad que la RAM, si se usa una cach muy
grande, tardar un tiempo apreciable en encontrar el
dato que necesita.
Si al buscar el dato se tiene un hit no habra mucho
problema, pero si no est, entonces se habr perdido
el tiempo, y habr que sumar ese tiempo perdido a
lo que tarde en encontrarlo en la RAM.
10
MEMORIA CACH
Originalmente un sistema tena normalmente slo una
cach.
Recientemente es habitual utilizar mltiples niveles de
cach para los procesadores, los cuales se conocen como:
Cach de 1er nivel (L1)
Cach de 2do nivel (L2)
Cach de 3er nivel (L3)
11
MEMORIA CACH
Cach de 1 nivel (L1):
Esta cach est integrada en el ncleo del procesador,
trabajando a la misma velocidad que este.
La cantidad de memoria cach L1 vara de un
procesador a otro, estando normalmente entre los 64KB
y los 256KB.
Esta memoria suele a su vez estar dividida en dos
partes dedicadas, una para instrucciones y otra para
datos.
12
MEMORIA CACH
Cach de 2 nivel (L2):
Integrada tambin en el procesador, aunque no
directamente en el ncleo de ste.
Tiene las mismas ventajas que la cach L1, aunque es
algo ms lenta que esta.
La cach L2 suele ser mayor que la cach L1, pudiendo
llegar a superar los 2MB.
13
La cache L2 aparecl
por prlmera vez en los
lnLel enuum ro,
slendo lncorporada a
conunuacln por los
lnLel enuum ll,
MEMORIA CACH
Cach de 3er nivel (L3):
Es un tipo de memoria cach ms lenta que la L2, muy
poco utilizada en la actualidad.
En un principio esta cach estaba incorporada a la placa
base, no al procesador, y su velocidad de acceso era
bastante ms lenta que una cach de nivel 2 o 1, ya que
si bien sigue siendo una memoria de una gran rapidez
(muy superior a la RAM), depende de la comunicacin
entre el procesador y la placa base, lo cul es una
desventaja de su uso.
14
MEMORIA VIRTUAL
La memoria virtual es una
tcnica para proporcionar la
simulacin de un espacio
de memoria mucho mayor
que la memoria fsica de
una mquina. Esta "ilusin"
permite que los programas
se ejecuten sin tener en
cuenta el tamao exacto de
la memoria fsica
15
MEMORIA VIRTUAL
La ilusin de la memoria virtual est soportada
por el mecanismo de traduccin de 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
de l, est en memoria real y el resto almacenado
en el disco, y puede ser referenciado fcilmente.
16
MEMORIA VIRTUAL
Permite ejecutar procesos que no caben
totalmente en memoria RAM.
Propicia la creacin de programas que sean ms
grandes que la memoria principal.
Ayuda a crear un esquema de abstraccin de la
memoria que la separa de la zona lgica que el
usuario ve, esto facilita enormemente la tarea a
los programadores puesto que no se han de
preocupar por limitaciones de memoria
17
MEMORIA VIRTUAL
Los procedimientos de implementacin de la
memoria virtual se basan en que cuando se
ejecuta un programa, ste est parcialmente en
memoria, es decir, slo hay cargada aquella
zona de cdigo y datos que se necesitan en ese
instante de tiempo, y no el programa completo
En el momento en que en el sistema empieza a
escasear la memoria, se crea un archivo de
intercambio (SWAP) en el disco que sirve como
ampliacin auxiliar de memoria.
18
MEMORIA VIRTUAL
Cuando se tienen muchas aplicaciones en
funcionamiento y la memoria RAM se agota, el
sistema se apoya en el archivo SWAP para
realizar movimientos desde el disco duro a la
RAM y viceversa. De ese modo crean espacios en
memoria fsica para ir ejecutando las rdenes.
Esto, evidentemente, hace que el sistema vaya
ms lento.
19
MEMORIA VIRTUAL
Traduccin de Direcciones Virtuales a Reales
Cuando se usa Memoria Virtual, o cuando una
direccin es leda o escrita por la CPU, una parte del
hardware dentro de la computadora traduce las
direcciones de memoria generadas por el software
(direcciones virtuales) en:
1. La direccin real de memoria (la direccin de
memoria fsica), o
2. Un indicativo de que la direccin de memoria
deseada no se encuentra en memoria principal
(llamado excepcin de memoria virtual)
20
MEMORIA VIRTUAL
En el primer caso, la referencia a la memoria es
completada, como si la memoria virtual no
hubiera estado involucrada: el software accede
donde deba y sigue ejecutandose normalmente
21
Ln memorla prlnclpal hay una Labla que lndlca para cada bloque
de memorla vlrLual sl esL en memorla prlnclpal o en memorla secundarla
MEMORIA VIRTUAL
En el segundo caso, el sistema operativo es
invocado para manejar la situacin y permitir
que el programa siga ejecutando o aborte segn
sea el caso
22
Cuando se accede a un bloque de memorla vlrLual que no esL en memorla
prlnclpal, se produce una excepcln y se e[ecuLa una ruuna de fallo de
pglna o de fallo de dlreccln del slsLema operauvo
MEMORIA VIRTUAL
Cuando una excepcin de memoria virtual
ocurre, el sistema operativo es responsable de
ubicar un rea de la memoria principal para
guardar la informacin faltante, trayendo la
informacin desde el disco, actualizando las
tablas de traduccin y finalmente continuando la
ejecucin del programa que dio la excepcin de
memoria virtual desde la instruccin que caus
el fallo
23
MEMORIA VIRTUAL
24
MMU (Memory Monoqement unit) o Un|dad de Mane[o de Memor|a: Ls
un dlsposluvo de Pardware formado por un grupo de clrculLos lnLegrados,
responsable del mane[o de los accesos a la memorla por parLe de la unldad
de rocesamlenLo CenLral (Cu).
Mapa de memor|a v|rtua|
(dlrecclones generadas por el procesador)
Memorla rlnclpal
MMu
Memorla
Secundarla
(SWA)
CU
ulreccln
vlrLual
ulrecclones
llslcas
MEMORIA VIRTUAL
La traduccin de las direcciones virtuales a
reales es implementada por una Unidad de
Manejo de Memoria (MMU).
El sistema operativo es el responsable de decidir
qu partes de la memoria del programa es
mantenida en memoria RAM. Tambin mantiene
las tablas de traduccin de direcciones que
proveen las relaciones entre direcciones virtuales
y fsicas, para uso de la MMU
25
MEMORIA VIRTUAL
Debido a que slo la parte de memoria virtual
que est 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
26
MEMORIA DE CONTROL
E s el l ugar donde s e al mac enan l as
microinstrucciones de una Unidad de Control
Microprogramada
Reside en el circuito integrado del procesador
27
CASO DE ESTUDIO
Para la prxima clase investigue sobre el
sistema controlador de discos SATA y
establezca diferencias entre:
SATA I
SATA II
28
RECOMENDACIN
Revisar el sitio web de la materia para ver las
actual i zaci ones publ i cadas, cl ases y l a
planificacin establecida.
http://oeci.homelinux.com/
Repasar la informacin suministrada en clase
antes de asistir a la clase de prctica.
29

También podría gustarte