Aspectos avanzados de arquitectura de computadoras Jerarquía de Memoria II. Facultad de Ingeniería - Universidad de la República Curso 2017

Documentos relacionados
Arquitectura de Computadoras para Ingeniería

Organización lógica Identificación de bloque

Organización de computadoras. Clase 11. Universidad Nacional de Quilmes. Lic. Martínez Federico

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7

Ejercicios de jerarquía de memoria

Ejercicios Jerarquía de Memoria

Registros. Cache L1. Cache L2. Memoria Principal (RAM) Memoria Secundaria (Disco) Memoria Terciaria (Cinta)

Memoria Cache. Departamento de Arquitectura de Computadores

6. PROCESADORES SUPERESCALARES Y VLIW

Organización del Computador 1 Memoria Cache

Ingeniería de Computadores I Primera Actividad Calificable

Resolución de los Ejercicios de la Hoja 4

Arquitectura de Computadores II Clase #6

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

Organización del Computador I Verano. Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy

Simulación de sistemas de memoria con Xcache32

Jerarquía de memoria - Motivación

Caché. Matías Barbeito Organización del computador 1 2 cuatrimestre 2011

Memoria. Organización de memorias estáticas.

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Organización del Computador. Memorias

ARQUITECTURA DE COMPUTADORES. 2º INGENIERÍA INFORMÁTICA. Problemas de Gestión de Memoria.

Introducción a la arquitectura de computadores

Organización del Computador I. Memoria Cache. Autor: Alejandro Furfaro

El nivel ISA (II)! Conjunto de Instrucciones

Tema 5: Memorias. Espacio reservado para notas del alumno

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Tema N 12: Sistema de Memoria: Cache

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Tema: Microprocesadores

PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline:

Jerarquía de Memoria. Sistema de Memoria. El Cache. Efectividad del Cache. Patrón de Accesos a Memoria Generado por Programas

Memoria Virtual. Memoria Virtual

Tema 6 (II) Jerarquía de Memoria

Arquitectura de Computadores II Clase #3

Respuestas al Problemario Memoria Cache

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. 2. Multiprogramación

Práctica 7 - Buses. Organización del Computador 1 1er. Cuatrimestre 2006

Universidad Central de Venezuela. Facultad de Ciencias. Escuela de Computación. Proyecto #1 (Simulación de caché)

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

Memorias RAM. Basilio B. Fraguela Rodríguez. Copyright Basilio B. Fraguela 2006

16bits: Tamaño total: 2 16 Tamaño página: 2 13 nº de páginas: 2 16 / 2 13 = 2 3 = 8 páginas Tamaño de tabla: 2 3 *2B = 16B por tabla

Examen de Estructura de Computadores ( ) Solución teoría

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2

Arquitectura de Computadores. Apellidos, Nombre:

Arquitectura Segmentada: Conceptos básicosb

Organización del Sistema de Memoria. 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria

Pipeline (Segmentación)

ENIAC, Primer computador electrónico y su panel de conexiones

Memoria Cache. Clase Práctica Organización del computador I 2º Cuatrimestre de octubre. María Elena Buemi

1) Se dispone de un computador de 32 bits con la siguiente estructura:

Informática Electrónica Manejadores de Dispositivos (Device Drivers)

MEMORIA CACHÉ. Componentes principales de un ordenador

Características de los Canales de E/S

Clase Práctica Memoria Caché

Recopilación presentada por 1

Gestión de Entrada-salida

Organización del Computador I. Introducción e Historia

Sistemas Operativos. Curso 2016 Sistema de Archivos

Arquitectura de Computadores

ELO311 Estructuras de Computadores Digitales. Memoria

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S

Tema 4. Subsistema de Memoria

SISTEMAS OPERATIVOS Arquitectura de computadores

MEMORIA EJERCICIO 1 EJERCICIO 2

Explotación del paralelismo a nivel de instrucción

Gestión de memoria Gestión de memoria Índice y bibliografía

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC DE SANTA BÁRBARA MANTENIMIENTO DE EQUIPO DE COMPUTACIÓN. Memoria Principal RAM Memoria de acceso aleatorio

ARQUITECTURA DE COMPUTADORAS

Dpto. de Electrónica 2º GM - EMTT. Tema 6 La Memoria Principal (RAM)

Qué es un Microcontrolador?

Estructura del Computador

1. Introducción a la Arquitectura de Computadoras

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos

Organización de Computadoras. Turno Recursantes Clase 8

FUNCIONAMIENTO DEL ORDENADOR

UNIDAD 5: Mejora del rendimiento con la segmentación.

UNIDAD 3 ARQUITECTURA DEL Z80. Microprocesadores Otoño 2011

Ejercicios del tema 5. Jerarquía de de Memoria

Electrónica Digital II

Ejercicios de Arquitectura de Computadoras

Pipeline o Segmentación Encausada

Arquitectura de computadoras. Unidad 3. Arquitectura de computadoras / (Rodriguez Ricardo) Diapositiva 1

El ordenador. Codificación binaria. Código ASCII

Plataformas de soporte computacional: arquitecturas avanzadas,

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

Unidad de Memoria. Almacenamiento de información Operaciones básicas. Propiedades de la Memoria. Escritura o almacenamiento. Lectura.

Fundamentos de Hardware: Arquitectura de un ordenador

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

Paradigma de paso de mensajes

1. Objetivo y evolución de los procesadores ILP.

FUNDAMENTOS DE COMPUTACION INVESTIGACION PROCESADORES DIANA CARRIÓN DEL VALLE DOCENTE: JOHANNA NAVARRO ESPINOSA TRIMESTRE II

Código: ARC-265. Horas Semanales: 6. Prelaciones: INI-154

Estructura de Computadores Tema 1. Introducción a los computadores

Ejercicios del tema 4. El procesador

Ing. Carlos Bacalla

Transcripción:

Aspectos avanzados de arquitectura de computadoras Jerarquía de Memoria II Facultad de Ingeniería - Universidad de la República Curso 2017

Técnicas Básicas (1/5) Mayor Tamaño de Caché Mejora obvia: Aumentar el tamaño de la caché. Ventaja: Menor Miss Rate Desventajas: Costo (+) Consumo (+)

Técnicas Básicas (2/5) Mayor Tamaño de Bloque Bloques más grandes provocan que se traigan a caché mayor cantidad de datos por miss. Ventajas: Menor Miss Rate (si no se abusa) Mayor aprovechamiento de las transferencias en ráfaga de memoria y buses.

Técnicas Básicas (3/5) Mayor Tamaño de Bloque Imagen del libro Computer Architecture: A Quantitative Approach (5ta edición). John L. Hennessy y David Patterson

Técnicas Básicas (4/5) Mayor Asociatividad Mayor asociatividad provoca menos conflictos por reemplazos (no reduce los misses por capacidad) Ventajas: Miss Rate (-) Desventajas: Hit Time (+) En general se busca aquella que minimiza AMAT.

Técnicas Básicas (5/5) Diseño de Múltiples Niveles Mayor cantidad de niveles de caché permite hacer mejor uso de los principios sobres los que se basa la jerarquía de memoria Técnicas: L1 chica y rápida -> menor hit time. Write through entre L1 y L2 L1 de instrucciones, L1 de datos y L2 unificada.

Cache Pipelining (1/3) Típicamente: cache access time > ciclo de reloj de CPU. Una solución para acompasar los relojes es realizar cache pipelining. Ej: Ciclo 1: Comparación de Tags Ciclo 2: Acceso a bloque

Cache Pipelining (2/3) A ojos del CPU, un caché L1 con estas características se puede representar como una unidad funcional de dos etapas:

Cache Pipelining (3/3) Ejemplo: ld R1, 0(R2) ld R3, 0(R6) add R7, R1, R3 Se asume MEM1-MEM2 como una unidad funcional más. Forwarding entre etapas en azul!

Write Buffers (1/3) Buffers de escritura encargados de realizar las escrituras desde cachés de menor jerarquía hasta el siguiente. Liberan al caché para continuar procesando el acceso

Write Buffers (2/3) Problema: el write buffer puede tener el valor más actualizado de una línea en el sistema. Se debe buscar en el write buffer al tener un read miss. Mejora miss penalty en write-back y write hit time en write-through.

Write Buffers (3/3) En un caché con write-through, es posible tener varias escrituras seguidas al mismo bloque. Esto puede mejorarse escribiendo accesos consecutivos directamente en el write buffer (write merging)

Victim Cache (1/5) Una caché de víctimas es una pequeña memoria caché totalmente asociativa, colocada entre dos niveles de jerarquía, que mantiene las últimas líneas desplazadas del caché. Al obtener un miss en el caché, se busca la dirección en la caché de víctimas.

Victim Cache (2/5) El efecto neto de una caché de víctimas es aumentar temporalmente la asociatividad de todos los conjuntos a un costo bastante bajo. Miss penalty (-)

Victim Cache (3/5) Ejemplo: Caché L1 de 128 KB con direcciones de 32 bits. Líneas de 256 bytes en conjuntos de 2 vías. Caché de víctimas de 4 bloques. Reemplazo LRU Dirección para Caché L1: Tag (16 bits) Conjunto (8 bits) Byte (8 bits) Dirección para Caché de Víctimas: Tag (24 bits) Byte (8 bits)

Victim Cache (4/5) Caché L1 Victim Cache Conjunto Timestamp Tag Contenido 1 20000 0x1000 101010. 1 10000 0x1410 00011.. 2 350000 0x3000 11001.. 2 150000 0x1520 11001..... Tag (Vacío) (Vacío) (Vacío) (Vacío) Contenido Se acceden a las direcciones: 0x15000134, 0x20000256, 0x14100152, 0x15200252.

Victim Cache (5/5) 0x15000134 - MISS, se trae bloque 0x15000100 al conjunto 1 y desplaza el bloque 0x14100100 al caché de víctimas. 0x20000256 - MISS, se trae bloque 0x20000200 al conjunto 2 y desplaza el bloque 0x15200200 al caché de víctimas 0x14100152 - MISS en L1, hit en caché de víctimas 0x15200252 - MISS en L1, hit en caché de víctimas.

Early Restart Durante un miss en caché, se debe traer todo el bloque correspondiente, tarea que usualmente demora varios ciclos de reloj y en la técnica más simple se espera a recibir todo el bloque antes de resumir el acceso. La técnica early restart consiste en retomar la actividad en el caché al obtener la palabra que ocasionó el miss.

Critical Word First Consiste en cambiar el orden en que se devuelve el bloque solicitado en caso de un miss, devolviendo primero la palabra que ocasionó el miss, y devolviéndola al CPU inmediatamente. CWF y ER disminuyen el miss penalty. CWF es bastante más compleja de implementar que ER.

Non-Blocking Caches (1/2) Para procesadores out of order, la detención de una instrucción no significa que se debe detener la ejecución. Una caché no bloqueante permite seguir recibiendo accesos durante un miss, es decir, mientras se está esperando que el bloque correspondiente llegue desde memoria.

Non-Blocking Caches (2/2) Las cachés no bloqueantes logran una reducción del miss penalty, al ocultar el tiempo en que se busca el bloque desde los niveles bajos de la jerarquía. Además, logran un mayor ancho de banda. Los misses por los cuales se está esperando resultado se guardan en una estructura llamada mshr (Miss Status Holding Register)

Multibanked Caches Similar a la técnica interleaving de memoria, los conjuntos de la caché se pueden dividir en bancos, cada cual conteniendo múltiples conjuntos. Se permiten múltiples accesos a la caché, siempre que estos sean en bancos diferentes. Efecto: Ancho de banda (+)

Instruction Prefetching (1/2) Siguiendo la idea del prefetch realizado por la fetch unit del CPU, al leer un bloque de la caché de instrucciones, se puede buscar el siguiente.

Instruction Prefetching (2/2) Block Lookahead: Al presentarse un miss en el bloque N, buscar dicho bloque y además el N + 1 en el stream buffer. Strided prefetch: Si se observan accesos a los bloques b, b + N, b + 2N, realizar prefetch de b + 3N en el siguiente miss.

Fin Preguntas?