INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN LABORATORIO DE SISTEMAS DIGITALES Grupo de Arquitectura de Computadoras y Sistemas.

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Administración de memoria
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Organización y arquitectura de sistemas de memoria
III - Gestión de memoria
Arquitectura de Computadores I
Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché.
Introducción a los Sistemas Operativos Memoria Virtual
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
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
Windows XP sp3.
Algorítmo de Mapeo Directo
Arquitectura de Conjunto de Instrucciones (ISA)
Memoria cache.
INTEGRANTES MEDINA ORTIZ MISSAEL MARTIN GONZALEZ MADRIGAL OMAR
Composición Interna de un Procesador
Gustavo Andrés Uribe Gómez
Direcciones físicas y direcciones virtuales (lógicas)
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.
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
Introducción INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACION EN COMPUTACION LABORATORIO DE MICROTECNOLOGÍA Y SISTEMAS EMBEBIDOS Arquitecturas de.
PAGINACIÓN Y SEGMENTACIÓN
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Estructura y Tecnología de Ordenadores Noviembre 2004.
Administración de Memoria Memoria Virtual
1 Memoria Virtual Capítulo 8. 2 Estructuras de Hardware y Control Todas las referencias a memoria son direcciones lógicas y son mapeadas a direcciones.
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
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.
Memorias RAM Características: Son de lectura escritura
CPU 8088 vs. Pentium TEEL 4011 Prof. Jaime José Laracuente-Díaz.
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
Memorias.
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.
Programa del Curso Fundamentos del Diseño de Computador. Fundamentos del Diseño de Computador. Arquitectura del Conjunto de Instrucciones (Revisión). Arquitectura.
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.
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
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.
Sistemas Operativos Avanzados
UNIDAD CENTRAL DE PROCESO
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.
Rendimiento de la CPU y sus factores
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Principio unidad 1.
     Jerarquía de memoria.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
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.
El microprocesador y su arquitectura
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.
Gestión de Memoria – Parte 2
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
Transcripción de la presentación:

INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN LABORATORIO DE SISTEMAS DIGITALES Grupo de Arquitectura de Computadoras y Sistemas Embebidos Tecnología de Memoria

DRAM Memorias de Acceso Aleatorio Dinámicas Requiere de señales refresco de datos  Alta integración  Tiempos de acceso 50ns – 70ns (lentas)    Precio $20 – $75 Dls por GB 

SRAM Memorias de Acceso Aleatorio Estáticas No requiere de señales refresco de datos  Mediana integración  Tiempos de acceso 0.5ns – 2.5ns (rápidas)  Precio $2000 – $5000 per GB 

Otras Tecnologías de Memoria

MEMORIA CACHE (1995)

MEMORIA CACHE (2008) IBM Power7

SRAM Diseño y Fabricación

INVERSOR CMOS PMOS NMOS VSS VDD INPUT OUTPUT Software de diseño: Spice, Calibre, Tanner, Mentor Graphics, microwind, etc.

CELDA SRAM Diseñada con un par de inversores retroalimentados, para crear arreglos de celdas

FABRICACIÓN CMOS

Fabricación sobre sustratos de silicio CELDA SRAM Fabricación sobre sustratos de silicio

Diseño de la Jerarquía de Memoria Objetivos: Diseño y evaluación de la jerarquía de memoria basada en tres conceptos: * Hacer el caso común rápido. * Principio de localidad (Temporal y Espacial). * Los circuitos pequeños son mas rápidos. Las evaluaciones se realizaran usando CACTI-3.2 (consumo y tiempo de ciclo) y SimpleScalar 3.0d para evaluar desempeño. Solo para la gente interesada en diseño , se usaran herramientas como HDL y FPGA’s, Tanner, Mentor Graphics, con que cuenta MICROSE

Diseño de la Jerarquía de Memoria Problema: Los tiempos de acceso (IF, MEM) están limitados por la velocidad del procesador (CLK). Solución: Dividir la cache en memoria para búsqueda de instrucciones (IL1) y en memoria de acceso de datos (DL1): - Se asume latencia de HIT para determinar el periodo de reloj del pipeline. Se para (STALL) el procesador en fallos (misses). Variantes: Separadas las Memorias Cache de I & D - Cache L1 en el chip del CPU y L2 - L3 fuera del chip. Cache L1 y L2 en el chip del CPU, L3 fuera del chip. Cache L1, L2 y L3 en el Chip.

Diseño de la Jerarquía de Memoria “Ideally one would desire an indefinitely large memory capacity such that any particular… word would be immediately available…” “We are… forced to recognize the possibility of constructing a hierarchy of memory , each of which has greater capacity than the preceding but which is less quickly accessible…” A. W. Burks, H. H. Golstine and J. Von Newmann Preliminary Discussion of the Logical Design of an Electric Computing Instrument,1946 David A. Patterson and John L. Hennessy, Computer Organization & Design, 2nd Edition 1997 .

Diseño de la Jerarquía de Memoria Localidad Temporal (localidad en el tiempo): si un dato es referenciado, este tiende a ser referenciado de nuevo pronto. Localidad Espacial (localidad en el espacio): si un dato es referenciado, los datos cuyas direcciones están cercanas a este, tienden a ser referenciados pronto.

Existen varios niveles en una jerarquía de memoria típica: Diseño de la Jerarquía de Memoria Existen varios niveles en una jerarquía de memoria típica:

Diseño de la Jerarquía de Memoria En cada nivel, la unidad de información que esta presente o no es llamada un bloque (BLOCK). Usualmente se transfiere un bloque entero cuando se transfiere información entre niveles.

Diseño de la Jerarquía de Memoria Cache de Mapeo Directo L1: con 8-Localidades Memoria L2: 0-31 direcciones se mapean a las 8-localidades de Cache L1. Porque cada localidad de la cache L1 puede contener datos de diferentes localidades de memoria L2. Preguntas: ¿Como puedo saber si la palabra que se busca esta en cache L1 o no? ¿Como puedo saber si el dato en la cache L1, corresponde a la misma palabra requerida en L2?

Diseño de Memoria Cache L1 Accediendo a Cache L1 Index V Tag Data 000 N 001 010 011 100 101 110 111

Accediendo Cache L1, Dirección: 10110 (22d) Diseño de Memoria Cache L1 Accediendo Cache L1, Dirección: 10110 (22d) Index V Tag Data 000 N 001 010 011 100 101 110 Y 10 Memory(10110) 111 Miss

Accediendo Cache L1, Dirección: 11010 (26d) Index V Tag Data 000 N 001 010 Y 11 Memory(11010) 011 100 101 110 10 Memory(10110) 111 Miss

Accediendo Cache L1, Dirección: 10110 (22d) Index V Tag Data 000 N 001 010 011 Y 10 Memory(11110) 100 101 110 Memory(10110) 111 Hit

Accediendo Cache L1, Dirección: 11010 (26d) Index V Tag Data 000 N 001 010 Y 11 Memory(11010) 011 100 101 110 10 Memory(10110) 111 Hit

Accediendo Cache L1, Dirección: 10000 (26d) Index V Tag Data 000 Y 10 Memory(10000) 001 N 010 11 Memory(11010) 011 100 101 110 Memory(10110) 111 Miss

Accediendo Cache L1, Dirección: 00011 (03d) Index V Tag Data 000 Y 10 Memory(10000) 001 N 010 11 Memory(11010) 011 00 Memory(00011) 100 101 110 Memory(10110) 111 Miss

Accediendo Cache L1, Dirección: 10000 (16d) Index V Tag Data 000 Y 10 Memory(10000) 001 N 010 11 Memory(11010) 011 00 Memory(00011) 100 101 110 Memory(10110) 111 Hit

Accediendo Cache L1, Dirección: 10010 (18d) -¡¡¡MISS!!!- Index V Tag Data 000 Y 10 Memory(10000) 001 N 010 11 Memory(11010) 011 00 Memory(00011) 100 101 110 Memory(10110) 111 Miss

Accediendo Cache L1, Dirección: 10010 (16d) -¡¡¡Remplazo !!!- Index V Tag Data 000 Y 10 Memory(10000) 001 N 010 Memory(10010) 011 00 Memory(00011) 100 101 110 Memory(10110) 111 Miss

Accediendo Cache L1 (Resumen) Decimal Binary Address of reference Hit/Miss Assign Cache Block 22 10110 Miss 22 % 8 =6 26 11010 26 % 8 = 2 Hit 22 % 8 = 6 26 % 8 =2 16 10000 16 % 8 = 0 03 00011 3 % 8 = 3 18 10010 18 % 8 =2

Subdivisión de la Dirección de Memoria Campos de dirección Index: Usado para Seleccionar el block. Tag: Usado para comparar con el valor del campo de Tag de la Cache. Offset: Usado para seleccionar el byte del campo de datos. 30

(MIPS R3000) Cache Contiene 16K Blocks de una palabra por bloque DEC STATION CACHE (MIPS R3000) Cache Contiene 16K Blocks de una palabra por bloque 64KB = 16K words = 214 words Tag = 32-14-2 = 16bits Data = 32 bits Valid bit = 1 bit Total Cache size= 214x(32+16+1)=784Kbits=96KB 31

Aciertos y Fallos en Cache Aciertos en Cache (HIT): EL CPU procede de forma normal. Fallos en Cache: -Se para el proceso de “Fetch” y se paran los demás estados del procesador. -Se remplaza el bloque del siguiente nivel de Cache. -Se restablece la etapa de “Fetch” -Se completa el acceso a memoria.

MIPS R3000 Procesador de 32 bits, L1=64KB, Tec=1.2um

Midiendo el Desempeño de la Cache Componentes de Tiempo de CPU Ciclos de ejecución de un programa Incluye tiempo de HIT en la Cache Ciclos de paro de Memoria Principalmente debido a fallos (MISS) en Cache

Ejemplo: Desempeño de la Cache Dado I-Cache (MISS RATE) = 2% D-Cache(MISS RATE)= 4% Ciclos de Penalización (Miss Penalty) = 100 Ciclos Base CPI ( con Cache ideal)= 2 LD y ST son el 36% de las instrucciones Evaluando Ciclos por Instrucción (por penalización) I-Cache = 0.02 X 100 = 2 D-Cache=0.04 X 0.36 X 100 = 1.44 Ciclos de CPU por Paro de Memoria =2+1.44=3.44 CPI Actual CPI con Paro de Memoria =2+3.44=5.44 Tiempo de CPU Con Paro de Memoria/Tiempo de CPU ideal= IxCPIstallxCLK Cycle/IxCPIidealxCLK Cycle=5.44/2=2.72 mas rápido

Tiempo de Acceso Promedio EL tiempo de HIT también es importante para el desempeño de la memoria. Average Memory Acces Time (AMAT) AMAT= HITtime+ MISSrate X MISSPenalty EJEMPLO: CPU Clktime = 1ns HITtime = 1Ciclo MISSPenalty = 20 Ciclos I-Cache MISSrate=5% AMAT=1+0.05X20=2ns (2 ciclos por instrucción)

Desempeño de Memoria (Resumen) Cuando el Desempeño del CPU es incrementado La penalización por fallos es mas significante Decrecer el CPI base Produce mayor proporción de tiempo gastado en paro de memoria por fallos Incrementar velocidades de CLK Paros de Memoria requieren mas ciclos de reloj No se puede ignorar el comportamiento de la cache cuando evaluamos el desempeño del sistema

Reduciendo Fallos en Cache Por una organización de bloques mas flexible Completamente Asociativa Permite a un bloque dado ir a cualquier entrada de la cache. Requiere que todas las entradas sean buscadas a la vez Requiere un comprador por entrada (mayor consumo de energía) De conjunto asociativo de N-vias Cada conjunto contiene N-entradas Numero de Bloque determina el conjunto (BlockNumber) modulo (# de concjuntos en cache) Busca en todas las entradas de un conjunto dado Requiere N comparadores (menor consumo de energía)

Ejemplo de Cache Asociativa BlocLocation: (BlockNumber) modulo (# de concjuntos en cache) Localización del Bloque de datos: 12 % 8=4 12 % 4= 0 12 % 1=12 En cualquier lugar

Espectro de Asociatividad Para Caches de 8 entradas

Comparación de Asociatividad en Cache Cache de 4-bloques Secuencia de accesos 0, 8, 0, 6, 8 Mapeo Directo Block address Cache index Hit/miss Cache content after access 1 2 3 miss Mem[0] 8 Mem[8] 6 Mem[6]

Comparación de Asociatividad en Cache Cache de 4-bloques Secuencia de accesos 0, 8, 0, 6, 8 Asociativa de 2-Conjuntos Block address Cache index Hit/miss Cache content after access Set 0 Set 1 miss Mem[0] 8 Mem[8] hit 6 Mem[6]

Comparación de Asociatividad en Cache Cache de 4-bloques Secuencia de accesos 0, 8, 0, 6, 8 Totalmente Asociativa Block address Hit/miss Cache content after access miss Mem[0] 8 Mem[8] hit 6 Mem[6]

Cuanta Asociatividad es recomendable? Incrmentar la Asociatividad disminuye los Fallos en Memoria (MISS rate) Simulacion de un sistema con 64KB D-cache, 16-Word por bloque, SPEC2000. 1-Conjunto: 10.3% 2-Conjuntos: 8.6% 4-Conjuntos: 8.3% 8-Conjuntos: 8.1%

Organización de Cache de Conjuntos

Política de Remplazo Mapeo Directo: Conjunto Asociativo: No hay elección Conjunto Asociativo: Elige una entrada no valida si hay una De otra forma elige entre las entradas del conjunto. Ultimo Recientemente Usado(LRU) Elige una no usada por largo tiempo Simple para 2-vias, Manejable para 4-vias, Compleja de 8 en adelante Aleatorio Da aproximadamente el mismo rendimiento que LRU para asociatividades altas

Multinivel Cache Cache L1: Cercano al CPU Cache L2: sirve fallos de L1 Pequeña, pero de rápido acceso Cache L2: sirve fallos de L1 Grande, Lenta, pero aun mas rápida que Memoria Principal Memoria Principal, sirve fallos de L2 Algunos sistemas incluyen cache L3

Ejemplo de Memoria Multinivel Dados CPU base CPI=1 Clock Rate= 4GHz (Cache L1)MISSrate/Instruction=2% (Memoria)AccessTime=100ns (Memoria)MISSpenalty=100ns/0.25ns=400 ciclos Evaluar el CPI efectivo: CPI efectivo=1+0.02X400=9

Ejemplo de Memoria Multinivel Adicionamos ahora L2 Tiempo de Acceso: 5ns (Memoria) Global MISSrate: 0.5% Fallo en L1 con Acierto en L2: Penalización=5ns/0.25ns=20 Ciclos Fallo en L1 con Fallo en L2: Penalización extra=500 Ciclos Evaluar el CPI: CPI =1+0.02X20+0.005X400=3.4 Relación de Desempeño= 9/3.4 = 2.6

Memoria Virtual El tamaño del direccionamiento del procesador, determina el tamaño de la memoria virtual, pero el tamaño de la cache es independiente del tamaño del direccionaiemto del procesador. 50

Memoria Virtual Los sistemas de memoria virtual pueden ser categorizados en dos clases: aquellos con tamaño fijo de bloques llamados páginas, y aquellos con bloques de tamaño variable llamados segmentos. 51

Mapeo de una Dirección Virtual a una Dirección Física Vía una tabla de páginas 52

Organización del TLB del Procesador Alpha 21264 Una entrada de TLB es idéntica a una entrada de Cache, en dónde el campo TAG conserva una porción de la dirección virtual y el campo de DATOS conserva un número de trama de la página física, un número de protección, un bit de validez, un bit de uso (use bit) y un bit de página sucia/limpia (dirty bit). El Registro Address Space Number (ASN) es utilizado como un identificador de proceso ID para caches virtuales, por lo que el TLB no es limpiado (flushed) en un cambio de contexto, solo cuando los ASNs son reciclados. User, Supervisor, or Kernel mode address space 53 53

Organización de TLB del Procesador Alpha 21264 54 54

Organización de TLB y CACHE del Procesador Alpha 21264 64-bit Address which 44-/41-bit are translated 55 55

Organización de TLB y CACHE del Procesador MIPS R10000 56 56

Resumen de Memoria Virtual y Caches 57