Publicado el 27 de Agosto del 2019
484 visualizaciones desde el 27 de Agosto del 2019
853,3 KB
24 paginas
Creado hace 12a (14/03/2012)
MEMORIA
MEMORIA CACHÉ I
MEMORIA
MEMORIA CACHÉ I
© Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad
Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del
público y en general cualquier otra forma de explotación de toda o parte de la misma.
La utilización no autorizada de esta obra, así como los perjuicios ocasionados en los derechos de
propiedad intelectual e industrial de la Universidad Europea de Madrid, S.L.U., darán lugar al ejercicio
de las acciones que legalmente le correspondan y, en su caso, a las responsabilidades que de dicho
ejercicio se deriven.
2
Índice
Presentación
La necesidad I
La necesidad II
Funcionamiento
Organización
¿Cómo se organiza la caché?
Tamaño
Función de correspondencia
¿Por qué la necesidad de una función de correspondencia?
Correspondencia directa I
Correspondencia directa II
Correspondencia directa III
¿Y qué parte de la dirección utilizar? ¿El principio del nombre como en la agenda?
¿Cómo interpretamos esta división?
¿Y qué es el resto de la división?
Correspondencia Directa IV
Ejemplo de función de correspondencia directa
Resumen
MEMORIA
MEMORIA CACHÉ I
4
5
7
8
10
10
12
14
14
16
18
20
20
20
20
21
23
24
3
Presentación
MEMORIA
MEMORIA CACHÉ I
En este tema, vamos a extender nuestros conocimientos con uno de los grandes avances en la
memoria de los computadores: la memoria caché.
Nos centraremos en ver:
La necesidad de la incorporación de la caché a los sistemas actuales.
La definición el concepto de conjunto de vecindad y su principio de funcionamiento.
El análisis de la estructura interna de la caché
Un estudio de uno de sus métodos de funcionamiento, el conocido como función de
correspondencia.
Un ejemplo de su funcionamiento.
Aunque este es un tema fácil, la experiencia nos dicta que resulta muy abstracto de entender.
Por lo tanto, te recomendamos que dediques el tiempo necesario y hagas de tu puño y letra el
ejemplo que aparece en la última pantalla de contenido, ya que, después de leer la teoría, es el
único método de afianzar los conocimientos adquiridos.
Una vez entendido este tema, el siguiente será mucho mas fácil de entender, ya que es una
prolongación de este y se basa en buscar optimaciones a este método que, aunque parezca
perfecto, tiene algunos puntos poco eficientes.
4
La necesidad I
MEMORIA
MEMORIA CACHÉ I
En la siguiente tabla, se presentan las características de tres tipos de memoria (en 2010).
Los datos de la misma muestran claramente a lo que nos hemos referido en temas anteriores
respecto a precio, rapidez y tamaño. Como ya sabemos, este problema se soluciona con la
jerarquía de memoria, por lo que pasaremos a ver por qué la caché.
La caché es una memoria de tecnología static RAM, lo que hace que sea una memoria
extremadamente rápida, pero el inconveniente es que es una memoria cara, que consume mucha
energía y que físicamente es grande. Por lo tanto, ha tenido que pasar mucho tiempo hasta que
este se integrase on-chip en los microprocesadores. Intel lo introdujo en su modelo 80486 allá por
el año 1990 (hace poco más de 20 años) con 16Kb de caché, lo que permitía un aumento del
doble en la ejecución de instrucciones.
El propósito de la memoria caché es reducir los tiempos de acceso de datos e instrucciones a la
velocidad del microprocesador, ya que este es mucho más rápido que el tiempo de acceso a
memoria, por lo que el microprocesador tiene que esperar a que los datos estén disponibles.
La caché reduce este tiempo aproximadamente a 1, es decir, hace que la velocidad de
microprocesador y de la caché sean prácticamente las mismas.
Para que esto ocurra, la caché tiene que estar a muy corta distancia del
microprocesador (milímetros), con un bus de comunicación de muy alta velocidad y
protegido de señales electromagnéticas para que la comunicación sea estable sin
necesidad de códigos correctores de errores. En definitiva, tiene que estar fabricada
dentro del propio micro controlador.
5
MEMORIA
MEMORIA CACHÉ I
6
La necesidad II
MEMORIA
MEMORIA CACHÉ I
En la imagen se puede ver un microprocesador de la familia Intel en el que se puede identificar la
caché L3. Las cachés L2 y L1 no son compartidas al estar dentro de los propio cores.
Para ser exactos, las cachés son los cuadrados amarillos que se diferencia en la esquina inferíos
derecha de cada Core. En la imagen se puede apreciar la relación de espacio ocupado por los
cores (unidades de trabajo) frente al espacio asignado por la cache, que es prácticamente la
misma.
Por tanto, el propio espacio disponible en el microprocesador es una limitación para el
tamaño de la caché.
7
MEMORIA
MEMORIA CACHÉ I
Funcionamiento
Básicamente, la caché sirve de almacén temporal de
datos que estarán disponibles para el microprocesador
a una velocidad mucho más rápida que la de la
memoria. Por otro lado, la memoria tiene que ser un
elemento autónomo, ya que el microprocesador no
tiene control sobre ella: es 100% autónoma. Lo único
que detecta el microprocesador es que los tiempos de
espera por los datos, se reducen a prácticamente 1.
Para ello, la memoria se coloca en medio de bus de comunicación entre el microprocesador y la
memoria. En realidad, como ya sabemos, eso no es del todo cierto pues la caché es en realidad
una interface de comunicaciones entre el bus local y el bus de sistema, que es donde se sitúa la
RAM. Sin embargo, a efectos de funcionamiento, podemos verla como antes se ha explicado.
Por tanto, cuando el microprocesador solicita el dato según una dirección, esta petición es
interceptada por la caché, que momentáneamente retiene la petición hasta comprobar si el dato
existe en caché o no, existiendo así dos posibilidades:
8
MEMORIA
MEMORIA CACHÉ I
El dato esta en caché, lo que se conoce como acierto de caché, respondiendo la caché
con el dato y no enterándose nunca la memoria de la petición de información. El
microprocesador solo detecta que el dato pasa a estar disponible en un tiempo record.
El dato no está en caché por lo que esta deja que la petición continúe propagándose por
los buses hasta llegar a la memoria RAM, quien atiende la petición y responde con el valor
almacenado en esa dirección. Este caso se conoce como fallo de caché. La caché se
quedará con una copia de este dato, para futuras referencias.
Aspectos a aclarar
Aspectos a aclarar
Es importante aclarar los siguientes aspectos:
La caché no tiene datos propios, solo copia de datos almacenados en la RAM, siendo
esta la que tiene todos los datos que el microprocesador puede direccionar.
La caché es mucho más rápida y pequeña que la RAM, por lo que solo un pequeño
conjunto de datos de la RAM puede estar simultáneamente en caché.
9
Organización
MEMORIA
MEMORIA CACHÉ I
La memoria caché tiene un método de acceso asociativo, lo que significa que los datos
almacenados en ella tienen asociado un valor al que llamaremos etiqueta y que se puede utilizar
para identificar el dato almacenado.
Además, la caché no guarda los datos igual que los guarda la RAM, en bytes, sino que los guarda
en bloques relacionados por cercanía. Los datos que la caché considera cercanos, conocidos
como conjunto de vecindad, varían con la implementación de la misma. Todos los valores de un
conjunto de vecindad tienen asociada una única etiqueta que se liga con el conjunto de vecindad,
no con los valores almacenados en la caché.
¿Cómo se organiza la caché?
Consideremos un ordenador con una capacidad de direccionamiento de memoria principal de
hasta 2n bytes direccionables, teniendo cada byte una única dirección de n bits. Consideremos
además una caché de tamaño mucho menor que 2n y organizada según C líneas y K bytes cada
línea (una línea es un conjunto de vecindad).
Imaginemos que la memoria está dividida en un número de bloques y que, cada bloque, es
curiosamente del mismo tamaño que el conjunto de vecindad (de longitud fija, de K bytes)
provocando que la memoria tenga M = 2n/K bloques. El número de líneas es considerablemente
menor que el número de bloques de memoria principal (C < < M).
Organización de la caché
Al definir la misma división de bloques en caché (la línea) y en memoria (cada bloque
imaginario), el movimiento de datos entre una y otra memoria es perfecto, pues un
bloque cabe perfectamente en la caché.
10
MEMORIA
MEMORIA CACHÉ I
Por tanto, en todo momento, un subconjunto de los bloques de memoria residirá en las líneas de
la caché. Ya que hay más bloques que líneas, una línea dada no puede dedicarse unívoca y
permanentemente a un bloque por lo que es aquí donde la etiqueta toma su importancia: cada
línea incluye una etiqueta que identifica qué bloque de memoria en particular está siendo
almacenado en una línea de caché. La etiqueta es usualmente una porción de la dirección de
memoria principal, como describiremos más adelante en este tema.
Identificar el dato almacenado
Es como si dijésemos que tenemos una memoria que puede almacenar datos que, en lugar
de almacenarse en una dirección de memoria, se almacenan con un nombre (guarda
peso=40, lee edad, guarda altura=1,45).
Organización de la caché
11
Tamaño
MEMORIA
MEMORIA CACHÉ I
La elección del tamaño de la caché es una
cuestión crítica en el diseño de un
microprocesador
hemos
especificado algunas causas: precio, espacio,
actual.
Ya
consumo eléctrico, etc., pero el principal motivo
de elección es la efici
Comentarios de: Memoria / Memoria Caché I (0)
No hay comentarios