ARQII 00 Repaso2
memoria
William Stallings, Organización y Arquitectura de Computadores
Andrew S. Tanenbaum, Organización de Computadoras
Linda Null y Julia Lobur, Computer Organization and Architecture
John Hennessy – David Patterson
Arquitectura de Computadores – Un enfoque cuantitativo
(1a edición, capítulo 8) (4th edition, chapter 5)
El principio de localidad
(Locality ofreference)
En general, todos los programas de computadora favorecen una parte del espacio de
direcciones en un determinado instante de tiempo. Esta hipótesis tiene dos
dimensiones:
–
Localidad temporal: Si se referencia un elemento, tenderá a ser nuevamente
referenciado pronto.
–
Localidad espacial: Si se referencia un elemento, los elementos cercanos a él
tenderán a ser referenciados pronto. Lalocalidad secuencial es un caso
particular de la localidad espacial dado por el acceso a los elementos
consecutivos de un arreglo.
La localidad es un tipo de comportamiento predecible que se cumple en los sistemas
de computadora. Los sistemas que presentan una localidad fuerte son buenos
candidatos a ser optimizados por diferentes técnicas.
Localidad en los programas: consecuencia de la estructurasecuencial de los
programas.
Localidad en los datos: consecuencia de las estructuras secuenciales de datos.
2
La jerarquía de memoria
Junto con la expansión del espacio de memoria y el aumento de velocidad de los
procesadores aparece el problema de performance de la memoria.
Las memorias grandes de bajo consumo (DRAM semiconductoras, capacitores) tienen
desempeños inferiores a las memorias basadasen transistores (SRAM).
Una jerarquía de memoria es una reacción natural a la localidad y la tecnología (el
hardware más pequeño es más rápido). Su objetivo es el aumento del rendimiento.
velocidad – costo – volumen - potencia
3
Memoria caché
Para mantener a los microprocesadores funcionando a máxima velocidad se inserta
una pequeña cantidad de memoria rápida entre la memoria principal lentay el
microprocesador. El objetivo es albergar las instrucciones que se repiten o los datos
que se acceden más fecuentemente (IBM 360, 1968).
De esta manera el procesador pude ejecutar a máxima velocidad mientras las
instrucciones y los datos estén en el cache (cache hit). Caso contrario (cache miss)
debe detenerse hasta que las instrucciones sean captadas de la memoria principal.
Cuanto másgrande sea el cache, más tiempo estará el procesador a máxima
velocidad, pero mayor será el consumo de potencia y de transistores.
4
El cache crece
La idea de caché ha crecido junto con el tamaño y
la complejidad de los procesadores. Un
Pentium 4 tiene 2 MB de memoria caché
interna, lo que representa más del doble del
espacio de memoria completo del 8088 que se
utilizó para construir las primerasPC.
El cache se divide
Las memorias pequeñas pueden ser direccionadas
más rápidamente. Incluso las dimensiones
físicas de la oblea pueden enlentecerlas. La
solución para aumentar el tamaño es agregarle
un caché a la memoria caché (figura)
organizado en niveles (L1, L2, L3).
Performance
Debe tenerse en cuenta que el mero tamaño de la memoria caché o el número de niveles
disponibles no son buenosindicadores de la performance del procesador. Diferencias en
las organizaciones (como por ejemplo entre AMD e Intel) hacen que sea complicado
comparar utilizando las especificaciones de caché.
Definitivamente, un aumento en el tamaño del caché no significa necesariamente un
aumento proporcional de performance. La única forma de estimar el desempeño de un
procesador es mediante el uso de benchmarksapropiados.
5
Memoria Caché
Principales conceptos
Se trata de una memoria más rápida y más pequeña que la memoria
principal, que almacena copias de las zonas de memoria más
utilizadas.
Se diseña tal que es invisible para el programador (ISA). Se trata de
una mejora en la organización (que no afecta, en principio, el
diseño de los programas).
El objetivo es reducir el tiempo PROMEDIO de acceso a...
Regístrate para leer el documento completo.