Programa del Curso Fundamentos del Diseño de Computador. Fundamentos del Diseño de Computador. Arquitectura del Conjunto de Instrucciones (Revisión). Arquitectura.

Slides:



Advertisements
Presentaciones similares
Organización y arquitectura de sistemas de memoria
Advertisements

III - Gestión de memoria
Síntesis de Representación y Almacenamiento de Datos
Arquitectura de Computadores I
Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché.
Memoria RAM. Memoria RAM Definición y características.
Introducción a los Sistemas Operativos Memoria Virtual
Departamento de Ingeniería de Sistemas Universidad de Antioquia
MEMORIA 1.
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Algorítmo de Mapeo Directo
Memoria cache.
INTEGRANTES MEDINA ORTIZ MISSAEL MARTIN GONZALEZ MADRIGAL OMAR
Componentes básicos del ordenador
Estructura y Tecnolología de Ordenadores
Introducción a la Informática Clase 7
Memoria Organización del caché. Universidad de SonoraArquitectura de Computadoras2 Organización del caché Hasta ahora solo se ha visto la estrategia de.
Tema 10: Gestión de Memoria
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN LABORATORIO DE SISTEMAS DIGITALES Grupo de Arquitectura de Computadoras y Sistemas.
Simulador didáctico de jerarquías de memoria
Estructura y Tecnología de Ordenadores Noviembre 2004.
Tema 10a Manejo de archivos. Introducción Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida.
Administración de Memoria Memoria Virtual
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Overview Sistemas Computacionales
MEMORIA ROM Y MEMORIA RAM. PROFESORA: ANDRY SAAVEDRA SAN CARLOS,
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
TEMA 2: Organización de computadores
Memorias RAM Características: Son de lectura escritura
Ing. María Rosa Dámaso Ríos1 MEMORIA PRINCIPAL Y SECUNDARIA Quinta Semana.
Memoria Introducción.
Organización del Computador
ISI374 – Arquitectura de Computadores Clase 18: Jerarquía de memoria Pt.1 Departamento de Ingeniería de Sistemas Universidad de Antioquia
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Organización del Computador
Memoria virtual. Introducción Muchos procesos, una memoria Programas demasiado grandes para caber en memoria principal Espacio de direccionamiento mucho.
Memoria virtual.
Memoria Principal Memoria de acceso aleatorio. La unidad de memoria y jerarquías de almacenamiento Unidades de Almacenamiento. La unidad de memoria es.
Gestión de Memoria.
Teoría de Sistemas Operativos Administración de Archivos.
Organización del Computador I Verano Jerarquía de Memoria Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
UNIDAD CENTRAL DE PROCESO
Gestión de Memoria.
PRESENTADO: Hernan Dario Delgado murcia. son las siglas de random access memory, un tipo de memoria de ordenador a la que se puede acceder aleatoriamente;
Hardware: Evolución de los ordenadores
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Memoria RAM Es utilizada por el sistema para procesar toda la información que pasa por la PC, por lo cual todos los programas necesitan de ella para ejecutarse.
Memoria Principal RAM-ROM-CACHEPor Leyner Steven Cortez.
     Jerarquía de memoria.
Gestión de memoria Rina Arauz.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Unidad de transferencia de memoria
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
LICENCIATURAS: HERRAMIENTAS TECNOLOGICAS I GRADO: 1°
I Kamilo Osorio Restrepo 8°B Juan David Velez. TIPOS DE PROCESADORES Y SUS FUNCIONES PRINCIPALES CISC. Complex Instruction Set Computing. Posee un número.
Gestión de Memoria – Parte 2
Arquitectura de Computadores Clase 16 Sistemas y Jerarquías de Almacenamiento IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de.
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
UNIVERSIDDA TECNICA DE MACHALA FACULTAD DE CIENCIAS QUIMICAS Y DE LA SALUD ESCUELA DE ENFERMERIA UNIVERSIDDA TECNICA DE MACHALA FACULTAD DE CIENCIAS QUIMICAS.
Memoria virtual. Universidad de SonoraArquitectura de Computadoras2 Introducción Memoria virtual es un mecanismo que permite que la memoria principal.
Arquitectura de Computadores
Arquitectura y Ensamblaje de Computadores Semana 08 Lab.
Otros temas sobre cachés
Transcripción de la presentación:

Programa del Curso Fundamentos del Diseño de Computador. Fundamentos del Diseño de Computador. Arquitectura del Conjunto de Instrucciones (Revisión). Arquitectura del Conjunto de Instrucciones (Revisión). Encauzamiento. Encauzamiento. Paralelismo a Nivel de Instrucciones. Paralelismo a Nivel de Instrucciones. Diseño de Jerarquía de Memoria. Diseño de Jerarquía de Memoria. Paralelismo a Nivel de Multiprocesador. Paralelismo a Nivel de Multiprocesador. Sistema de Entrada y Salida (Almacenamiento). Sistema de Entrada y Salida (Almacenamiento).

 CPU Crecimiento del Campo de Arquitecturas  Del CISC al RISC (Electrónicos vs Programadores) Rendimiento  Límite del Boquete CPU-Memoria  Límite del Paralelismo a Nivel de Instrucciones Ventana de Instrucciones (BrPredictor, hw, compilador) El Factor de Disipación de Potencia Paralelismo a Nivel de Programas  Multithreadring, etc  Multiprogramación Arquitecturas de Computadoras Avanzadas RESUMEN TECNOLOGICO del CPU

Diseño de Jerarquía de Memoria Componente del Computador Núcleo Electrónico E/S Mem 2 Memoria UCP Redes C OMPUTADOR = CPU MEMORIA

 Memoria Virtual Magnético, Semiconductor  Memoria Principal Dynamic Random Access Memory (DRAM)  Memoria Cache Static Random Access Memory (SRAM)  Memoria de Registros Lógica de Diseño Diseño de Jerarquía de Memoria Tecnología de Implementación

Diseño de Jerarquía de Memoria Límites del Arquitecto de Computadores  Disipación de Potencia (Número. de Transistores)  Boquete de Latencia CPU-Memoria Predictor de Salto Localidad de Referencia  Costo  Compatibilidad  Validez  Exigencias del Mercado

Diseño de Jerarquía de Memoria Costos en el Computador  DRAM: 50% to 55%  Monitor de color: 15% to 20%  Tarjeta CPU : 10% to 15%  Disco Duro: 8% to 10%  Cabinet del CPU: 3% to 5%  Video & otros E/S: 3% to 7%  Teclado y Ratón e-: 1% to 2%

Diseño de Jerarquía de Memoria Límites del Arquitecto de Computadores  Disipación de Potencia (Número. de Transistores)  Boquete de Latencia CPU-Memoria Predictor de Salto Localidad de Referencia  Costo  Compatibilidad  Validez  Exigencias del Mercado

Capacidad Velocidad (latencia) Lógica:2x in 3 años 2x in 3 años DRAM:4x in 3 años 2x in 10 años Disk:4x in 3 años 2x in 10 años Diseño de Jerarquía de Memoria Tendencia Tecnológica en DRAM

Diseño de Jerarquía de Memoria Tendencia Tecnológica en DRAM (cont.) AñoTamañoTiempo de Ciclo Kb250 ns Kb220 ns Mb190 ns Mb165 ns Mb145 ns Mb120 ns Mb100 ns Gb80 ns 1000:1!2:1! 4:1!

Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Memoria Dinámica  Capacidad de Almacenamiento (40% por año)  Rendimiento de Latencia (9% por año)

Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Rendimiento DRAM 9%/año (2X/10 año) µProc 60%/año (2X/1.5año) Margen de RendimientoUCP-Memoria: crece 50% / año

 Apoyo en las Caches para aliviar el Boquete de Memoria  Cache es memoria muy rápida entre el Mp y Memoria Principal.  Boquete de Rendimiento entre el Microprocesador-DRAM Tiempo de un miss completo en la cache en número de instrucciones. 1st Alpha (7000): 340 ns/5.0 ns = 68 clks x 2 or136 instrucciones 2nd Alpha (8400):266 ns/3.3 ns = 80 clks x 4 or320 instrucciones 3rd Alpha (t.b.d.):180 ns/1.7 ns =108 clks x 6 or648 instrucciones 1/2X latencia x 3X tasa del reloj x 3X Instr/clock ~ 5X  1980: no cache en µproc; 1997 Nivel 2 de cache, 60% trans. on Alpha µproc 2002 Nivel 3 de cahe (Itanium) 2008 Coherencia de cache (multi CPUs) Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Situación Actual

Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Memoria Dinámica

Diseño de Jerarquía de Memoria Fuerzas de Atracción en la Implementación Más cerca de la UCP: Más Veloz Menos Capacidad de Almacenaje Menos Hacia el Usuario Núcleo Electrónico Atracción de Procesamiento E/S Mem 2 Memoria UCP Redes Atracción de Almacenamiento Atracción del Diseño

 Localidad Temporal (Localidad en el Tiempo)  Mantener la información recientemente solicitada cerca del procesador  Localidad Espacial (Localidad en el Espacio)  Mover hacia Niveles Superiores de Información Contigua en bloque Lower Level Memory Upper Level Memory To Processor From Processor Blk X Blk Y Diseño de Jerarquía de Memoria Principio de Funcionamiento

Diseño de Jerarquía de Memoria Terminología  Hit: dato aparece en algún bloque de nivel superior (i.e. bloque X) Rata de Hit: Fracción de Solicitudes de Memoria en nivel superior Tiempo de Hit: Tiempo para solicitar el nivel superior  RAM tiempo de solicitud + Tiempo para determinar hit/miss  Miss: dato es solicitado de un bloque en un nivel inferior (i.e. bloque Y) Rata de Miss = 1 - (Rata de Hit) Penalización de Miss: Tiempo para reemplazar un bloque de un bloque en nivel superior + Tiempo para entregar el bloque al procesador  Tiempo Hit << Penalización Miss Lower Level Memory Upper Level Memory To Processor From Processor Blk X Blk Y

 Aprovechando el Principio de Localidad: Ofrecer tanta Memoria posible en la tecnología más económica. Ofrecer acceso a Memoria en la Tecnología más veloz Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Memoria Dinámica Control Datapath Almacen Secundario (Disk) Procesador Registros Memoria Principal (DRAM) L3 Cache (SRAM) On-Chip L2 Cache 1s10,000,000s (10s ms) Velocidad (ns): 2s 100s Gs Tamaño (bytes):Ks Ms Almacen Terciario (Tape) 10,000,000,000s (10s sec) Ts On-Chip L1 Cache 10s

 Registros  Memoria El Compilador (¿el programador?)  Cache  Memoria El Hardware  Memoria  Discos El Hardware y el S.O. (memoria virtual) El Programador (archivos) Diseño de Jerarquía de Memoria Cómo Manejar la Jerarquía

 Acceso Aleatorio: “Aleatorio” es bueno: Tiempo de Acceso idéntico para cualquier dato DRAM: Dynamic Random Access Memory  Alta densidad, bajo en potencia, barato, lento  Dinámica: requiere de ser “refrescada” regularmente SRAM: Static Random Access Memory  Baja densidad, alto en potencia, cara, rápida  Estática: contenido para siempre (hasta que se pierde la corriente)  Acceso “No-tan-aleatoria”: Tiempo de acceso varía de localidad en localidad y de vez en cuando. Ejemplos: Discos, CDROMs  Acceso Secuencial: tiempo de acceso lineal según la posición (Tapes) Diseño de Jerarquía de Memoria Las Tecnologías en la Jerarquía de Memoria

Superior: memoria más cerca al procesador Bloque: unidad mínima de bytes Dirección de Bloque: posición del bloque en memoria Hit: Dato es encontrado en la posición deseada Tiempo de Hit: tiempo de acceso del nivel superior Miss: Dato NO es encontrado en la posición deseada Rata de Miss: porcentaje de fallas en nivel superior Diseño de Jerarquía de Memoria Organización de Memoria: Definiciones

 Localidad Temporal: memoria referenciada es probable ser referenciada de nuevo prontamente (ej.: código en un lazo) Espacial: memoria cerca a la memoria referenciada es probable a ser pronto referenciada (ej.: datos en un arreglo solicitado secuencialmente) Localidad + HW = jerarquía de memoria Niveles: Más Pequeña pero Más Rápido su Acceso y Más Caro Inclusive: datos en nivel superior también en nivel inferior. Diseño de Jerarquía de Memoria Principios Organizacionales de Memoria

Registros (D Flip-Flops) L1, L2 Cache (SRAM) Cache L3 (SRAM) Memoria Principal (DRAM) Discos (Magnetico) Almacenamiento Secundario Jerarquía de Memoria Procesador Nivel Inferior Nivel Superior Diseño de Jerarquía de Memoria Jerarquía de Memoria

Diseño de Jerarquía de Memoria Diferencias en Niveles de Memoria NivelTecnologíaTamaño típico Tiempo de Acceso Típico Costo per Mbyte RegistrosDFlip- Flops bit2 -3nsN/A L1 Cache (on chip) SRAM16 Kbytes5 - 25ns$100 - $250 L3Cache (off chip) SRAM256 Kbytes5 - 25ns$100 - $250 Memoria Principal DRAM256 Mbytes ns$5 - $10 Almacén Secundario Disco Magnético 8Gbytes ms$0.10-$0.20

 P1: ¿Dónde puede ser colocado un Bloque en el nivel superior? (Colocación de Bloque)  P2: ¿ Cómo se encuentra un Bloque si está en el nivel superior? (Identificación de Bloque)  P3: ¿ Cuál Bloque debe ser reemplazado en un miss ? (Reemplazo de Bloque)  P4: ¿ Qué pasa en una Escritura ? (Estrategia de Escritura) Diseño de Jerarquía de Memoria Preguntas a La Jerarquía de Memoria

 Mapeo Directo Cada Bloque en Único lugar en Cache  Mapeo Asociativo Cada Bloque en Cualquier lugar en Cache  Mapeo Conjunto Asociativo Cada Bloque en un Conjunto de lugares en Cache Si hay “n” bloques en el conjunto, la Colocación se le denomina conjunto asociativo de n formas. ¿Cuál es la asociatividad del Mapeo Directo ? Diseño de Jerarquía de Memoria P1: ¿Dónde puede ser colocado un Bloque en el nivel superior?

Tamaño de Cache: 8 bloques Donde va la Palabra 12 de Memoria? Mapeo Asociativo: Bloque 12 va en cualquier lugar Mapeo Directo: Número de Bloque = (dir bloque) mod (Nro de bloques en cache) (12 mod 8 = 4) Bloque 12 solamente en bloque 4 => Acceso de bloque usa los 3 bits m.s. Mapeo Conjunto Asociativo de 2-formas Número de Conjunto = (dir Bloque) mod (Nro de conjuntos en cache) (12 mod 4 = 0) Bloque 12 en cualquier lugar en conjunto 0 => Acceso de conjunto usa los 2 bits m.s. Diseño de Jerarquía de Memoria Ejemplos de Asociatividad

 La dirección puede ser dividida en dos partes principales Desplazamiento de Bloque: Selecciona el dato del bloque Tamaño del Desplazamiento = log2(tamaño del bloque) Dir de Bloque: Etiqueta Block + índice  Índice : selecciona el conjunto en cache tamaño índice = log2(#bloques/asociatividad)  etiqueta: comparada con etiqueta en cache para determinar “hit”. tamaño etiqueta = tamaño dir – tamaño índice – tamaño desplazamiento  Cada bloque tiene un bit de validez (bloque en cache si Etiqueta combina y si el bit de validez está colocado) Diseño de Jerarquía de Memoria P2: ¿ Cómo se encuentra un Bloque si está en el nivel superior?

 Fácil para el Mapeo Directo Solamente una selección  Mapeo Asociativo ó Conjunto-Asociativo Aleatoria : Más fácil para Implementar Menos Recientemente Usado (MRU): Más dificil  Ratas de Fallas en caches con: Asociatividad: 2-formas 4-formas 8-formas TamañoMRU Aleatoria MRU Aleatoria MRU Aleatoria 16 KB5.18%5.69% 4.67% 5.29% 4.39% 4.96% 64 KB1.88%2.01% 1.54% 1.66% 1.39% 1.53% 256 KB1.15%1.17% 1.13% 1.13% 1.12% 1.12% Para Caches con baja rata de fallas, la técnica aleatoria es tan eficiente como MRU Diseño de Jerarquía de Memoria P3: ¿ Cuál Bloque debe ser reemplazado en un miss ?

 Write through: La información se escribe en ambos: En bloque del Nivel Superior y en el bloque de Nivel Inferior.  Write back: La información se escribe solamente en bloque del Nivel Superior. El bloque de cache modificado es escrito a memoria principal solamente cuando es reemplazado. ¿ Está el bloque limpio ó sucio ? (agregar un bit de sucio para c/bloque)  Pros y Contras de cada Técnica: Write through  Fallas en Lecturas no pueden resultar en Escrituras a Memoria  Más fácil para implementar  Siempre se combina con Buffers de Escritura para evitar la latencia de memoria Write back  Menos Tránsito de Memoria  Realiza las Escrituras a la velocidad de la cache Diseño de Jerarquía de Memoria P4: ¿ Qué pasa en una Escritura ?

 No Es Necesario Traer el Dato a un Nivel Superior en una Falla de Escritura, hay dos opciones: Write allocate  El bloque es traído a la cache.  Usada con caches write-back  Esperanza de escrituras subsecuentes al bloque No-write allocate  El bloque es modificado en memoria, pero no es traído a la cache  Usada con caches write-through  Escrituras tienen que ir a Memoria de todas formas, entonces para que traer el bloque a la cache Diseño de Jerarquía de Memoria P4: ¿ Qué pasa en una Escritura ? (cont.)

Ejemplo: Alpha Data Cache  Organización: 8 KB de Datos 32 bytes el bloque Mapeo Directo Write through (no-write allocate, write buffer con bloque de 4 bytes) Dirección Física de 34 bits:  5 bits de Desplazamiento  8 bits de Indice  21 bits de Etiqueta

Ejemplo: Alpha Data Cache Un “cache read” tiene 4pasos (1)La Dirección de la cahe Es divida en Etiqueta, Indice y Desplazamiento. (2)El Indice selecciona el Bloque (3) La Etiqueta es comparada con la Etiqueta en cache, el bit Válido es chequeado y el Dato buscado es seleccionado (4) Si el bit Válido es uno, el Dato es cargado en el procesador. Si es un “cache write”, el Dato es también enviado al “write buffer”.

2-Way Set Associative Cache Features of an 8 KB 2-way set associative cache 5 bit block offset 7 bit index 22 bit tag The set associative cache has extra hardware for 2 tag comparisons mux to select data

Resumen  El Boquete de Rendimiento CPU-Memory Principal problema de Rendimiento  Jerarquía de Memoria Tomar ventaja de “Localidad de Referencia” Relación con el Procesador  Cercana: Más pequeño, rápido, caro.  Lejana: todolocontrario  Cuatro Preguntas en la Jerarquía de Memorias Colocación, Identificación, Reemplazo, Estrategia de Escritura.  Organización: Tamaño, Bloque, Mapeo.