Organización del Computador

Slides:



Advertisements
Presentaciones similares
Microprocesadores Componentes básicos..
Advertisements

Organización y arquitectura de sistemas de memoria
III - Gestión de memoria
Fernando Escribano Pro 1º de Bachillerato
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
SISTEMAS DE MEMORIA DEL COMPUTADOR
SISTEMAS DE MEMORIA DEL COMPUTADOR
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Hardware del PC (Memoria)
Algorítmo de Mapeo Directo
INTEGRANTES MEDINA ORTIZ MISSAEL MARTIN GONZALEZ MADRIGAL OMAR
Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al costo de una memoria de baja velocidad Los puntos básicos relacionados con.
Gustavo Andrés Uribe Gómez
Introducción a la Informática Clase 7
Electrónica Digital 1. Es la parte de un sistema que almacena datos binarios en grandes cantidades. Están formadas por matrices de elementos de almacenamiento.
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
Memorias – Introducción
Simulador didáctico de jerarquías de memoria
UNIDAD IV ADMINISTRACIÓN DE SISTEMAS CONCEPTOS DE GESTIÓN Y ALMACENAMIENTO.
Memorias externas Conocida también como secundaria recibe este nombre los soportes de almacenamiento q son capaces de almacenar gran cantidad de información.
Estructura y Tecnología de Ordenadores Noviembre 2004.
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.
JERARQUIA DE 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
Chips Controladores Pequeño circuito electrónico utilizado para realizar una función electrónica especifica. El chips es el que hace posible que la placa.
Tema 1: Introducción a los microcontroladores
Ing. María Rosa Dámaso Ríos1 MEMORIA PRINCIPAL Y SECUNDARIA Quinta Semana.
Memoria RAM: Arquitectura y funcionamiento. Definición Random Access Memory, normalmente conocida como Memoria RAM) es un tipo de dispositivo de almacenamiento.
Memoria Introducción.
Sistemas Operativos I.
Jerarquía de las memorias
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
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.
Arquitectura/Estructura de Computadoras
UNIDAD CENTRAL DE PROCESO
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;
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.
Cisco Networking 1.4.4Identificación de los nombres, los propósitos y las características de la memoria ROM y RAM.
Cisco Networking 1.4.4Identificación de los nombres, los propósitos y las características de la memoria ROM y RAM.
Tema 10 Subsistema de memoria de un computador.
Memoria Principal RAM-ROM-CACHEPor Leyner Steven Cortez.
     Jerarquía de memoria.
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Resolución de problemas Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Unidad de transferencia de memoria
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°
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 básica de la computadora
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.
Memorias Semiconductoras: Tipos y Tecnologías MSc. Alejandro J. Cabrera Sarmiento Facultad de Ingeniería Eléctrica Dpto. Automática y Computación ISPJAE,
Memorias (RAM-ROM-CACHE-MEMORIA AUX).
Arquitectura de Computadores
Organización del Computador
Transcripción de la presentación:

Organización del Computador Memorias

Jerarquía de las memorias

Jerarquía de memorias en un Pentium

Métricas de las memorias Capacidad de almacenamiento: en bytes o múltiplos (kB, MB, TB) Tiempo de acceso: en segundos o submúltiplos (ns, ms) Velocidad de tranferencia de datos: en bytes/seg o múltiplos Comsumo de energía: en Watts Tamaño físico: en cm3 Costo total y costo por MB: en $ y $/MB

Tipos y tecnología de memorias Memorias ROM (Read Only Memory) Programable ROM Erasable Programable ROM Electronically Erasable Programable ROM Memorias RAM (Random Access Memory) RAM estáticas vs dinámicas RAM volátiles vs no volátiles Memorias FLASH

Ejemplo memoria OTP EPROM

Características físicas de la EPROM

Ejemplo memoria OTP EPROM

Diagrama de tiempos de la EPROM

Ejemplo EEPROM

Ejemplo EEPROM

Ejemplo memoria FLASH

Ejemplo memoria SRAM

Ejemplo memoria SRAM

Ejemplo memoria SRAM

Ejemplo memoria SRAM

Ejercicio Dada un espacio de memoria de 64 K x 8 bits, y el siguiente mapa de memoria, diseñar el circuito lógico de selección. Mapa de memoria: 0000 a 2000 hex => EPROM 2000 a 8000 hex => RAM 8000 a FFFF hex => FLASH

Tecnología de Integración Actual 65 nm nanotechnology Imágenes obtenidas con TEM (Transmission Electron Microscope) de una cepa del virus de la gripe, y de un transistor construido con la tecnología de 65 nm utilizada desde el año 2005 en el Procesador Pentium IV y posteriores.

Tecnología de memorias: RAM Dinámica CAS RAS Cd Bit de datos de salida al bus Buffer Transistor Diagrama de un bit elemental de DRAM (Dynamic RAM). Almacena la información como una carga en una capacidad espuria de un transistor. Una celda (un bit) se implementa con un solo transistor  máxima capacidad de almacenamiento por chip. Ese transistor consume mínima energía  Muy bajo consumo. Al leer el bit, se descarga la capacidad  necesita regenerar la carga  aumenta entonces el tiempo de acceso de la celda.

Tecnología de memorias: RAM Estática Línea de Bit Selección 3 4 1 6 2 5 Diagrama del biestable de un bit básico de SRAM (Static RAM). Almacena la información en un biestable. Una celda (un bit) se compone de seis transistores  menor capacidad de almacenamiento por chip. 3 transistores consumen energía máxima en forma permanente y los otros 3 consumen mínima energía  Mayor consumo La lectura es directa y no destructiva  tiempo de acceso muy bajo

Estructura de Bus clásica Desde fines de los años 80, los procesadores desarrollaban velocidades muy superiores a los tiempos de acceso a memoria. En este escenario, el procesador necesita generar wait states para esperar que la memoria esté lista (“READY”) para el acceso. ¿Tiene sentido lograr altos clocks en los procesadores si no puede aprovecharlos por tener que esperar (wait) a la memoria? Procesador Bus Local del Procesador CONTROL DATOS ADDRESS Bus de Control Buffer de Datos Buffer de Address BUS DEL SISTEMA Memoria del Sistema E/S del Sistema

Crecimiento de la velocidad de clock de las CPU versus memoria 1100 1000 900 800 700 600 500 400 300 200 100 89 90 91 92 93 94 95 96 97 98 99 00 486 DX4 100 MHz. 386 DX 33 MHz Pentium II 400 MHz. Pentium III 1GHz Memorias

El problema RAM dinámica (DRAM) RAM estática (SRAM) Consumo mínimo. Capacidad de almacenamiento comparativamente alta. Costo por bit bajo. Tiempo de acceso alto (lento), debido al circuito de regeneración de carga. Si construimos el banco de memoria utilizando RAM dinámica, no aprovechamos la velocidad del procesador. RAM estática (SRAM) Alto consumo relativo. Capacidad de almacenamiento comparativamente baja. Costo por bit alto. Tiempo de acceso bajo (es mas rápida). Si construimos el banco de memoria utilizando RAM estática, el costo y el consumo de la computadora son altos.

La solución: Memoria cache Se trata de un banco de SRAM de muy alta velocidad, que contiene una copia de los datos e instrucciones que están en memoria principal El arte consiste en que esta copia esté disponible justo cuando el procesador la necesita permitiéndole acceder a esos ítems sin recurrir a wait states. Combinada con una gran cantidad de memoria DRAM, para almacenar el resto de códigos y datos, resuelve el problema mediante una solución de compromiso típica. Requiere de hardware adicional que asegure que este pequeño banco de memoria cache contenga los datos e instrucciones mas frecuentemente utilizados por el procesador.

Referencias El tamaño del banco de memoria cache debe ser: Suficientemente grande para que el procesador resuelva la mayor cantidad posible de búsquedas de código y datos en esta memoria asegurando una alta performance Suficientemente pequeña para no afectar el consumo ni el costo del sistema. Se dice que se logra un hit cuando se accede a un ítem (dato o código) y éste se encuentra en la memoria cache. En caso contrario, se dice que el resultado del acceso es un miss. Se espera un hit rate lo mas alto posible Cantidad de accesos con presencia en Memoria Cache hit rate = Cantidad total de accesos a memoria

Operación de Lectura de memoria Inicio Busca ítem en cache CPU envía señal de lectura Busca ítem en cache y envía a la CPU Busca ítem en memoria del sistema Escribe ítem en el cache Actualiza directorio cache Envía ítem a la CPU Fin Miss Hit!!

Estructura de Bus del sistema con cache Memoria cache Controlador de Memoria caché Buffer de Address Datos BUS DEL SISTEMA Bus Local del procesador Procesador Bus de Control CONTROL DATOS ADDRESS Bus Local del controlador cache Bus de Datos Bus de Dir.

Como trabaja el controlador cache El controlador cache trabaja mediante dos principios que surgen de analizar el comportamiento de los algoritmos de software que se emplean habitualmente. Principio de vecindad temporal: Si un ítem es referenciado, la probabilidad de ser referenciado en el futuro inmediato es alta. Principio de vecindad espacial: Si un ítem es referenciado, es altamente probable que se referencie a los ítems vecinos a éste. Ejemplo: Algoritmo de convolución for (i = 0 ; i < 256 ; i++ ){ suma = 0.0f; for (j = 0 ; (j <= i && j < 256) ; j++) suma += v0[i-j] * v1[j]; fAux[i] = suma; } i, j, suma, se utilizan a menudo. Por lo tanto si se mantienen en el cache, el tiempo de acceso a estas variables por parte del procesador es óptimo.

Estructura de memoria cache Tag Línea Dirección 1 2 3 4 5 6 7 8 9 Línea Línea: Elemento mínimo de palabra de datos dentro del cache. Corresponde a un múltiplo del tamaño de la palabra de datos de memoria. Razón: Cuando se direcciona un ítem en memoria generalmente se requerirá de los ítem que lo rodean (Principio de vecindad espacial) Ancho de palabra

Controlador de Memoria caché Memoria SRAM ultrarrápida (cache) Memoria Cache Baja capacidad, pero accesible a la velocidad del procesador Procesador Bus del Procesador (Bus local) Subsistema caché Hardware adicional. Mantiene el cache con los datos mas frecuentemente utilizados por el procesador Controlador de Memoria caché Memoria SRAM ultrarrápida (cache) Bus del Sistema Directorio de Cache Interfaz con el Bus Local Control del Cache Interfaz con el Procesador Bus de Address del procesador Control del bus local del controlador cache Bus de Snoop Arbitración del Bus Control del bus Local del Procesador Bus de Control de la Memoria Cache Decodificaciones del bus local del procesador Memoria DRAM

Organización del caché: Mapeo Directo Directorio de Caché Interno 4 Gbytes de Memoria Principal Tag 17 bits Bit de validez del Tag Bits de validez de las líneas 32 Kbytes (igual tamaño que el de la cache) Set 0 Set 1 Set 1023 Memoria Caché Pag.0 Pag.217 -1 Línea 1 Línea = 4 bytes

Organización del caché de mapeo directo 15 14 A5 4 31 2 Tag de 17 bits (1 de las 217 páginas) Set Address (1 de 1024 sets) Caché Address (1 de 8 KLíneas) Selector de Línea (1 de 8 líneas) Bit de validez del Tag Bits de validez de la línea 1 Nro de Set 1023 Directorio de Caché Interno

Organizacion del cache: Asociativo de dos vías Directorio de Caché Interno 4 Gbytes de Memoria Principal Tag 18 bits Bit de validez del Tag Bits de validez de las líneas (igual tamaño Que el de cada banco del cache) 16 Kbytes Set 0 Set 1 Set 512 Memoria Caché Pag.0 Pag.218 -1 Línea 1 Línea = 4 bytes Bits LRU

Organización del caché asociativo de dos vías Caché Address (1 de 4 KLíneas) A31 A14 A13 A5 A4 A2 Selector de Línea (1 de 8 líneas) Tag de 18 bits (1 de las 218 páginas) Set Address (1 de 512 sets) Bit de validez del Tag Bits de validez de la línea 1 Nro de Set 512 Directorio de Caché Interno

Manejo del contenido Algoritmos de reemplazo del contenido de la memoria cache LRU: Least Recently Used. Se corresponde con el principio de vecindad temporal. LFU: Least Frecuently Used Random FIFO

Cache miss: Impacto en el Pipeline de instrucciones Pipeline: permite superponer en el tiempo la ejecución de varias instrucciones a la vez. No requiere hardware adicional. Solo se necesita lograr que todas las partes del procesador trabajen a la vez. Trabaja con el concepto de una línea de montaje: Cada operación se descompone en partes Se ejecutan en un mismo momento diferentes partes de diferentes operaciones Cada parte se denomina etapa (stage) Resultado Una vez en régimen ejecuta a razón de una instrucción por ciclo de clock

Cache miss: Impacto en el Pipeline de instrucciones Si la búsqueda de una instrucción o de un operando en el cache falla, entonces el procesador debe recurrir a la memoria principal. La demora en el acceso hace que el pipeline se atasque (stall) Una vez recuperado el dato de memoria principal se requieren (en este ejemplo), 5 ciclos de reloj adicionales para recuperar el ritmo de operación del pipeline!!

Coherencia de un cache Una variable que está en el caché también está alojada en alguna dirección de la DRAM. Ambos valores deben ser iguales Cuando el procesador la modifica hay varios modos de actuar Write through: el procesador escribe en la DRAM y el controlador cache refresca el cache con el dato actualizado Write through buffered: el procesador actualiza la SRAM cache, y el controlador cache luego actualiza la copia en memoria DRAM mientras el procesador continúa ejecutando instrucciones y usando datos de la memoria cache Copy back: Se marcan las líneas de la memoria cache cuando el procesador escribe en ellas. Luego en el momento de eliminar esa línea del caché el controlador cache deberá actualizar la copia de DRAM. Si el procesador realiza un miss mientras el controlador cache está accediendo a la DRAM para actualizar el valor, deberá esperar hasta que controlador cache termine la actualización para recibir desde este la habilitación de las líneas de control para acceder a la DRAM.

Estructura de Bus del sistema Multiprocesador con cache Controlador de Memoria caché Memoria cache BUS DEL SISTEMA Procesador Bus de Control CONTROL DATOS ADDRESS Buffer de Address Datos SNOOP BUS Bus del cache Bus local del controlador cache Bus local del procesador

Multilevel cache CPU Cache Level 2 Cache controller System Memory On chip Cache Level 2 Cache controller Tamaño Cache L2 > Tamaño Cache L1 Velocidad Cache L1 > Velocidad Cache L2 System Memory (DRAM)

Implementaciones prácticas de memoria cache (1) Intel 80486 8 Kbytes de cache L1 on chip Tamaño de línea: 16 bytes Organización asociativa de 4-vías Pentium dos caches on-chip, uno para datos y otro para instrucciones. Tamaño de cada cahe: 8 Kbytes Tamaño de línea: 32 bytes PowerPC 601 cache on-chip de 32 Kbytes Organización asociativa de 8-vías

Implementaciones prácticas de memoria cache (2) PowerPC 603 Dos caches on-chip, una para datos y otra para instrucciones Tamaño de cada cache: 8 Kbytes Tamaño de línea: 32 bytes Organización asociativa de 2-vías (organización del cache más simple que en el 601 pero un procesador mas fuerte) PowerPC 604 Tamaño de cada cache: 16 Kbytes Organización asociativa de 4-vías PowerPC 620 Tamaño de cada cache: 32 Kbytes Tamaño de línea: 64 bytes Organización asociativa de 8-vías