Mantener cerca de la ALU la información requerida actual o posteriormente
CACHÉ
Más alto nivel en la jerarquía
Buffer de alta velocidad entre el alto
rendimiento del CPU y la memoria principal
Localización
SRAM [con interfaz síncrona ] :
Chip con la ALU
Principio de Localidad
Localidad
Temporal
Datos usado en el pasado
son probables de ser
reusados posteriormente
+
Localidad
Espacial
Datos actualmente
referenciado, pueden ser
referenciados posteriormente
Niveles
L1
Cuando una referencia a
memoria es generada, hay
un look up table en la caché
I-caché : Instrucciones
D-caché: Datos
L2
Caché Inclusivo [Hit]
Los datos solicitados se
eliminan de la memoria caché
Caché Exclusivo [Miss]
Los datos solicitados se
quedan en la memoria caché
Política de Ubicación
Bloque de memoria:
Secuencia de palabras de memoria
en un tamaño de línea
Asociativa
Alojados en cualquier
bloque de la caché
Directa
Mapeo restringido a una sola
entrada
Asociada por conjuntos
Asignado un conjunto de la caché, se puede
ubicar en cualquiera de los bloques
Política de Reemplazo
Menos Usado Recientemente
Sustituye el bloque que hace más tiempo
que no se ha usado en la caché,
Aleatoria
El bloque es reemplazado
de forma aleatoria
Menos frecuencias usadas
Sustituye el bloque que ha
experimentado menos referencias
FIFO
Se usa el algoritmo
First In First Out
Mucho menor a la memoria principal (DRAM)
Tiempo de acceso proporcional a su tamaño
No puede contener todo el código y datos
ejecutados en el programa
MEMORIA
VIRTUAL
Aumentar el grado de
multiprogramación.
Extiende la memoria física
Reutilizar marcos cuando ya no hay disponibles en la memoria física
En la RAM estan los marcos o frames, donde se
almacenan las páginas de un proceso
Direcciones dentro del marco:
direcciones físicas
Para llevar la traducción de una dir logica a una fisica se hace uso
de la tabla de páginas
La tabla de pags nos permite saber en que
marco se encuentra que pag, y asi
determinar en que dir fisica se encuentra
cierta direccion logica que queremos
direccionar en el programa
Referencía a una dirección que se encuentra en una página de un
prorama direcciones lógicas
El conjunto de direcciones lógicas genera el
espacio de direcciones lógicas
tabla de páginas tiene un num de pagina, y
su respectivo num de marco donde se
encuentra es pag.
Ventaja: compartir marcos con los diferentes programas y
aumentar la posibilidad de ejecutar mas programas
PIPELINE
IF [Instruction
Fetch]
Extracción de la instrucción de la memoria
I-caché direccionada por el PC
ID [Decodificación de Instrucción]
Tipo de instrucción es reconocida, también
se ejecutan los extensores
EX [Ejecución]
ALU: Operaciones lógica-aritméticas DIRECCIÓN:
instrucción de carga o almacenamiento PC: branch
Mem
CARGA: el contenido de Mem(address) se extrae
ALMACENAMIENTO: El contenido de la localidad se modifica
OTRO: No pasa nada pero obligatoriamente debe pasar por
aquí
WB (Write Back)
Mientras no sea Branch o Almacenamiento, la
operación es almacenada en el registro de resultado
Entran instrucciones, entubamiento de las etapas
Cada etapa debe durar el mismo tiempo, se utilizan buffers para
almacenar los resultados hasta que la siguiente fase que de libre
Overlapping
Permite que no se tenga que esperar una instrucciónhasta que se
concluyan las 5 etapas, sino que cada que queda una etapa libre,
puede comenzar la siguiente instrucción y se agiliza el timepo
Técnica base del funcionamiento de los procesadores actuales