Arquitectura y Organizaci - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Arquitectura y Organizaci

Description:

Arquitectura y Organizaci n de Computadores Introducci n a los Sistemas de Memoria Memoria: Elemento de Estado Almacena Datos e Instrucciones de Programa(s) – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 31
Provided by: JorgeP59
Category:

less

Transcript and Presenter's Notes

Title: Arquitectura y Organizaci


1
Arquitectura y Organización de Computadores
Introducción a los Sistemas de MemoriaMe
moria Elemento de Estado Almacena Datos e
Instrucciones de Programa(s)Registros y
MemoriaRegistros Þ 64 bytes, 128 bytes, hasta
KbytesMemoria Þ 4GBytes y másNecesidad de
Memoria Þ Tamaño Grande Þ Velocidad
Rápida Þ Costo Bajo
2
Arquitectura y Organización de Computadores
El Concepto de LocalidadLocalidad Espacial Si
una Dirección D es Accesada en Tiempo t t0, es
Probable que se Accesen Direcciones Cercanas a D
en un Futuro PróximoLocalidad Temporal Si una
dirección D es Accesada en Tiempo t t0, es
Probable que esa Misma Dirección Sea Accesada en
un Futuro CercanoEn Otras Palabras, Un Conjunto
Pequeño de Instrucciones y Datos son Utilizados
en una Ventana de Tiempo Definida.El Contenido
del Conjunto Varían Durante el Tiempo, Luego No
es Necesario Tener Todos los Datos e
Instrucciones en una Memoria Rápida Jerarquías
de MemoriaDiseño Implica Optimizar la
Organización del Sistema de Memoria Con el Fin de
Minimizar el Tiempo Medio de Acceso a Memoria
para una Carga de Trabajo Típica. O sea, Se Deben
Generar Varios Niveles de Memoria, Tamaño y
Velocidad Memoria Grande y Lenta Almacena
Instrucciones y Datos de ProgramasMemoria Rápida
y Pequeña Almacena el Conjunto de Instrucciones
y Datos Más Utilizado por los Programas
3
Arquitectura y Organización de Computadores
Jerarquías de MemoriaVarios Niveles de Memoria,
Tamaño y VelocidadHace Ver al Usuario
una Gran Cantidad de Memoria que Usa la
Tecnología Más Económica.Provee al Hardware una
Velocidad de Acceso Cercana a la de la Tecnología
Más RápidaTecnologías de Memoria
4
SRAM- RAM Estática
  • Los bits se almacenan como interruptores
    encendidos o apagados
  • Construcciones más complejas
  • Más grandes por bit
  • Más cara
  • No necesita circuitos de refrescado
  • Más rápida
  • Usualmente es la caché

5
DRAM RAM Dinámica
  • Los bits se almacenan como carga en capacitores
  • Los condensadores tienden a descargarse
  • Requieren refrescos periódicos para mantener
    almacenados los datos
  • Construcción sencilla
  • Más pequeña por bit
  • Más econónica
  • Necesita circuitos de refrescado
  • Más lenta
  • Usualmente es la memoria principal

6
Arquitectura y Organización de Computadores
Memoria CacheCorresponde al Primer Nivel de la
Jerarquía de MemoriaLa Memoria Cache
es Accesada Durante los Ciclos de Búsqueda de
Instrucción y Durante los Accesos a Memoria de
DatosTiempo de Acceso a la Cache Debe ser
Compatible con Velocidad del Procesador. Es
decir, la Velocidad Debe Ser Alta por lo que la
Memoria Debe Ser Simple y PequeñaObjetivos del
Cache Þ Mantener el Tiempo de Acceso Promedio a
Memoria Pequeño Þ Reducir el Ancho de Banda
Entre Memoria Principal y Procesador
7
Arquitectura y Organización de Computadores
Forma de Operar de una Cache1. Dirección
Generada por el Procesador es Comparada Con Datos
Almacenados en el Cache2. Si Dato Está Presente,
el Procesador lo Lee Desde el Cache3. Si Dato
Está Ausente, se Transfiere Desde la Memoria
Principal al Cache4. Si es Necesario se
Reemplaza Uno de los Datos Presentes en el
CacheBloque Es La Unidad Mínima de
Transferencia Entre Cache y Memoria. Corresponde
a un Conjunto de Palabras Contiguas en
MemoriaTerminologíaAcierto Palabra Buscada
Pertenece a Bloque Presente en CacheDesacierto
Palabra Buscada Pertenece a Bloque Ausente de
CacheRazón de Acierto Tasa de Referencias a
Memoria que Producen AciertosRazón de
Desacierto 1 - (Razón de Acierto)Tiempo de
Acierto Tiempo en Leer un Dato del
CachePenalidad de Desacierto (Tiempo en
Reemplazar Bloque) (Tiempo de Lectura de Dato
al Procesador)Tiempo de Acceso Promedio a
Memoria (Razón de Acierto) (Tiempo de Acierto)
(Razón de Desacierto) (Penalidad de
Desacierto)
8
Arquitectura y Organización de Computadores
Valores Típicos de una Cache Impacto de
los Desaciertos en el DesempeñoLa Ejecución de
las Instrucciones Debe Detenerse Durante el
Acceso y Transferencia del Bloque Faltante. Con
Esto, el CPI Efectivo Aumenta
9
Arquitectura y Organización de Computadores
Ejemplos de Referencias a una CacheLa Cache del
Ejemplo Utiliza una Estructura de Correspondencia
Directa Entre Memoria y Cache.La Cache
Provee un Espacio de Memoria de 3 BitsEl Espacio
de Memoria es de 5 BitsLo Anterior Implica una
Etiqueta de 2 BitsEs Necesario Contar con un
Bits de ValidezLa Dirección del Bloque en la
Cache es Dirección módulo Tamaño del Cache
10
Arquitectura y Organización de Computadores
Esquemas de Ubicación de Bloques en la Cache1.
Cache de Correspondencia Directa (Direct Mapped
Cache)Un Bloque de Datos en Memoria
Puede Ubicarse en Un Sólo Bloque de
CacheUbicación en Cache (Número del Bloque en
Memoria) módulo (Número de Bloques en la
Cache)La Etiqueta Corresponde a Número de Bloque
en Memoria Sin Considerar los Bits Usados Para
Indicar la Ubicación en la Cache Ventajas
Económico, Acceso RápidoDesventaja Mayor Tasa
de Desaciertos por Competencia por Bloques
11
Arquitectura y Organización de Computadores
Esquemas de Ubicación de Bloques en la Cache2.
Cache Completamente Asociativo (Fully Associative
Cache)Cualquier Bloque de Memoria
Puede Ubicarse en Cualquier Bloque de CacheAhora
el Número de Bloque Completo Corresponde a la
EtiquetaVentaja Menor Tasa de Desaciertos Por
Competencia Por BloqueDesventajas Más Caro,
Acceso Más Lento
12
Arquitectura y Organización de Computadores
Esquemas de Ubicación de Bloques en la Cache3.
Cache Asociativo Por Conjuntos (Set Associative
Cache)Esquema Intermedio Entre Cache
de Correspondencia Directa y Cache Completamente
Asociativo Pues Cada Bloque de Memoria Puede Ser
Ubicado en Uno de N Bloques del CacheSe Definen
Conjuntos de N Bloques, Cada Bloque de Memoria
Tiene Asociado un Conjunto Específico (N-Way
Associative Cache)Ventaja Más Económico Que
Cache Completamente Asociativo, Pero Más Caro que
Cache DirectoDesventaja Dato Disponible Después
de Etapa de Comparación y Multiplexión
13
Arquitectura y Organización de Computadores
Cómo Encontrar un Bloque en la Cache1. Cache de
Correspondencia Directa (Direct Mapped
Cache)Cada Bloque de Memoria Puede Encontrarse
Sólo en un Bloque del Cache.El Bloque Se
Encuentra A Través de Indexación, el Número del
Bloque es el Índice.Se Requiere Comparar los
Tags Para Saber si el Bloque es el que se
Busca.2. Cache Completamente Asociativo (Fully
Associative Cache)La Búsqueda Debe Realizarse
Completamente, Pues el Bloque Puede Estar en
Cualquier Bloque del Cache.Se Debe Comparar el
Tag del Bloque con Todos los Tags de Todos los
Bloques de la Cache.3. Cache Asociativo Por
Conjuntos (Set Associative Cache)Usa Indexación
Parcial Para Encontrar el Conjunto del BloqueLa
Búsqueda Es Pacialmente Asociativa, Pues Requiere
Encontrar el Bloque Dentro del Conjunto
Comparando los Tags de los Bloques Dentro del
Conjunto
14
Arquitectura y Organización de Computadores
Esquemas de Reemplazo de Bloques en la CacheQué
Bloque Reemplazar en un Desacierto?1. Reemplazo
Aleatorio Implica Sacar Cualquier Bloque2.
Reemplazar el Bloque Menos Recientemente Usado
(Esquema LRU) Þ Es de Mejor Desempeño que el
Aleatorio Þ Más Complejo de ImplementarEsquemas
de Manejo de Escritura en la Cache1. Escritura
Sincrónica El Bloque Se Escribe en el Cache y en
Memoria Principal. Para Ello Se Utiliza Un Buffer
de Escritura Para Mejorar Desempeño.No Necesita
Ser Escrito en Memoria Principal al Ser
ReemplazadoLa Escritura Puede Realizarse en
Paralelo con Verificación2.Escritura
asincrónica (write-back)Se Escribe Solamente en
el Cache. El Bloque Se Escribe en Memoria
Principal Cuando es Reemplazado.Se Necesita un
Bit Adicional Para Indicar que el Bloque fue
Modificado.Se Requiere Verificar Si es Acierto o
Desacierto Antes de Escribir en Cache
15
Arquitectura y Organización de Computadores
Organización de Memoria Para Soporte de CacheEs
Necesario Reducir la Penalidad de un Desacierto y
a la Vez Es Necesario Aumentar la Velocidad de
Transferencia de Bloques Entre Memoria y
Cache1. Memorias de una Palabra de Ancho Þ
Requiere Varios Accesos a Memoria Þ Memoria
Requiere ser Muy Rápida Þ Es Una Solución Cara
16
Arquitectura y Organización de Computadores
Organización de Memoria Para Soporte de Cache2.
Memorias de Varias Palabras de Ancho Þ Ancho de
Palabra Mayor Þ Bus Ancho Permite Transferir
Bloque Completo en un Acceso Þ Costo Alto
17
Arquitectura y Organización de Computadores
Organización de Memoria Para Soporte de Cache3.
Memorias Entrelazadas Þ Memoria Ancha Þ Bus de
Ancho Normal Þ Lectura Simultánea a las
Memorias Þ Acceso Segmentado Para la
Transferencia
18
Arquitectura y Organización de Computadores
Memoria VirtualProblemas de la Memoria
Principal Þ Cada Programa Maneja un Espacio de
Memoria Independiente Þ La Suma de los Espacios
de Memoria Activos es Muy GrandeMotivaciones
Para Estudiar la Memoria Virtual1. Permitir
Compartir Eficientemente la Memoria Entre
Diversos Programas2. Eliminar los Problemas que
Presenta una Memoria Pequeña y Limitada Memoria
VirtualHace Creer a los Programas que Existe una
Memoria Principal de Gran TamañoExplota
Localidad de Acceso A Través de la Jerarquía de
MemoriaSimplifica el Manejo de MemoriaVentajas
Principales de la Memoria Virtual1. Permite una
Traducción de Direcciones Simple y Eficiente2.
Permite Crear Instancias de Memoria Compartida
3. Permite Establecer Esquemas de Protección de
Memoria
19
Arquitectura y Organización de Computadores
Funcionamiento de la Memoria VirtualLa Memoria
Principal Almacena Sólo los Datos/Instrucciones
Más UtilizadosEl Resto de los Datos/Instrucciones
Residen en Memoria Secundaria (Disco)O Sea, la
Memoria Actúa Como Cache de la Información
Residente en el DiscoPara Tomar Ventaja de la
Localidad Espacial, la Memoria es Dividida en
Bloques, que en la Terminología de Memoria
Virtual Se Llaman Páginas Todas las
Transferencias Entre Memoria Real y Disco Se
Hacen Con Páginas
20
Arquitectura y Organización de Computadores
Funcionamiento de la Memoria VirtualHay Dos
Tipos de Direcciones las de Memoria Virtual y
las de Memoria FísicaPor lo Tanto, Se Hace
Necesaria una Traducción de Direcciones.Estos
Tipos de Direcciones Permiten que los Programas
Posean Espacios de Memoria Independientes.
Así1. Las Direcciones Generadas por Programas
en Ejecución son Direcciones Virtuales 2. Estas
Direcciones Son Traducidas a Direcciones de
Memoria Real
21
Arquitectura y Organización de Computadores
Funcionamiento de la Memoria VirtualLa
Traducción de Direcciones Se Realiza A Través de
Tablas de PáginasEstas Tablas Indican1. Si la
Página Está en Memoria Real o Hay que Traerla de
Disco2. Cual es la Dirección en Memoria Real3.
Establecen Algunos Permisos de AccesoPara un
Mejor Desempeño las Tablas de Páginas Residen en
MemoriaLa Traducción y Validación de Acceso Es
Realizada por Hardware en la Unidad de Manejo de
Memoria (Memory Management Unit)
22
Arquitectura y Organización de Computadores
Esquemas de Ubicación de Páginas en MemoriaComo
Sabemos, a Mayor Grado de Asociatividad, Menor
Tasa de DesaciertosPor Otro Lado, la Penalidad
de Desacierto en Memoria Virtual Es Altamente
Significativa, Pues el Tiempo de Acceso al Disco
del Orden de milisegundos Esto Implica que la
Tasa de Desaciertos Tiene que Ser Casi NulaLa
Mejor Solución Es Entonces Ubicación
Completamente AsociativaEsto Implica que Páginas
Lógicamente Contiguas Pueden No Estar Físicamente
Contiguas en la Memoria Principal
23
Arquitectura y Organización de Computadores
Cómo Encontrar una Página en MemoriaPasos del
Proceso de Traducción de Direcciones1. El
Programa Emite una Dirección Virtual2. La MMU
Determina la Tabla de Páginas Adecuada y la Lee
Desde Memoria3. Si la Página No Está en Memoria
Real, la MMU Produce una Excepción de Falta de
Página (Page Fault) y Se Transfiere el Control al
Sistema Operativo4. Si la Página Está en
Memoria, Pero el Programa No Posee Privilegios
Para Accesar la Página, Se Produce una Excepción
de Protección (Protection Fault) y Se Transfiere
el Control al Sistema Operativo5. Si la Página
Está en Memoria y el Programa Tiene Derecho a
Accesarla, Se Lee el Dato o Instrucción Desde
Memoria Principal
24
Arquitectura y Organización de Computadores
Esquemas de Reemplazo de Páginas en MemoriaComo
la Penalidad de Desacierto es Tan Grande, Es
Crítico Elegir la Página que Causará la Menor
Tasa de DesaciertosAlgoritmos Utilizados1.
Página Menos Recientemente Usada (LRU)Es una
Buena Aproximación al Óptimo, Pues la Página
Menos Recientemente Utilizada Probablemente No
Será Referenciada en el Futuro Cercano.Esta
Solución Requiere Mantener una Lista de Páginas
en Memoria Ordenada Por Tiempo de Última
Referencia lo que es Difícil de Implementar por
Hardware2. Primera en Entrar, Primera en Salir
(FIFO)Implica Reemplazar la Página Más Antigua,
lo que es Fácil de Implementar, Pero Tiene el
Inconveniente de que no Reconoce la Localidad
Temporal3. Página No Recientemente Usada
(NRU)Implica Tener un Bit de Referencia Asociado
a Cada Página y Manejado por la MMU. Se Coloca el
Bit en 1 Cada Vez que la Página es Referenciada y
Cada Cierto Tiempo Todos los Bits de Referencia
se Ponen en 0.La Página a Reemplazar es la que
Tiene el Bit de Referencia en 0
25
Arquitectura y Organización de Computadores
Esquemas de Manejo de Escritura en MemoriaAl
Igual que en las Caches Existen Dos
Alternativas1. Escritura Sincronizada
(Write-Through) Escribir en Memoria y en Disco
Cada Vez que se Hace una Escritura2. Escritura
Asincrónica (Write-Back) Escribir Sólo en
Memoria y Respaldar en el Disco al Reemplazar la
PáginaLa Opción Elegida en Memoria Virtual es
la Escritura AsincrónicaComo el Acceso al Disco
es Tan Lento, No Resulta Práctico Ejecutar una
Copia Sincronizada del Contenido de la
Memoria.Además, el Acceso a Disco Se Realiza
Siempre por Bloques, lo que Hace Más Cómoda la
Escritura AsincrónicaRequerimientos de la
Escritura AsincrónicaEl Sistema Operativo Debe
Conocer Cuándo los Contenidos de una Página que
Está en Memoria Han Sido Modificados Pues Éstos
Deben Ser Escritos en el Disco Antes de
Reemplazar la Página.Se Agrega un Bit de
Modificación (Dirty Bit) por Cada Página en
Memoria, que Mantenido por la MMU. El Bit de
Modificación Es Puesto en 1 Cada Vez que el
Programa Escribe en la Página
26
Arquitectura y Organización de Computadores
Implementación Hardware de la Traducción de
DireccionesEl Costo en Memoria de las Tabla de
Páginas Puede Llegar a Ser Bastante AltoEjemplo
Se Tienen Direcciones Virtuales de 32 Bits, Con
Páginas de 4 Kbytes Cuál es la Cantidad de
Bytes Utilizada Por la Tabla de Páginas? Pero
se Debe Recordar que los Programas No Ocupan Todo
el Espacio de Memoria Virtual. Lo Típico, Es que
se Utilicen Algunas Páginas de Direcciones Bajas
y Algunas Páginas de Direcciones Altas.Existen
Básicamente Tres Soluciones Utilizadas.1. Tabla
de Páginas InvertidaEn Vez de Tener una Entrada
por Cada Página Virtual, Se Tiene una Entrada Por
Cada Página de Memoria RealCada Entrada Contiene
Bits de Referencia, de Modificación, los Permisos
y el Número de Página Virtual CorrespondienteEsta
Tabla Está Organizada Como una Tabla Hash y es
Indexada Por el Número de Página Virtual
27
Arquitectura y Organización de Computadores
Implementación Hardware de la Traducción de
Direcciones2. Segmentar el Espacio de
Direcciones VirtualesEsto es Dividir el Espacio
de Memoria Virtual en Dos Segmentos a)
Direcciones Altas Identificadas por Bit Más
Significativo de Dirección en 1 b) Direcciones
Bajas Identificadas por Bit Más Significativo de
Dirección en 0Se Mantiene Una Tabla de Páginas
Por Segmento y Estas Tablas Son del Tamaño Real
del SegmentoCon Esto, el Espacio Ocupado Por la
Tabla Corresponde Sólo a Memoria Efectivamente
Usada por Programa
28
Arquitectura y Organización de Computadores
Implementación Hardware de la Traducción de
Direcciones3. Tablas de Páginas
JerárquicasExisten Tablas de Páginas Raíz en el
Espacio de Memoria Real que Apuntan a Tablas de
Segundo Nivel en el Espacio de Memoria Virtual
del Sistema OperativoLas Tablas de Segundo Nivel
Contienen Información de Páginas. Todas las
Tablas, Excepto las Tablas Raíz Pueden Ser
Paginadas a DiscoLas Tablas Más Utilizadas
Permanecen en Memoria PrincipalEl Acceso a Tabla
de Segundo Nivel También Puede Provocar una
Segunda Falta de Página, Por lo que es Necesario
Tomar Precauciones Para Evitar una Cadena de
Faltas de Página
29
Arquitectura y Organización de Computadores
Desempeño de la Traducción de DireccionesCada
Traducción de Direcciones Implica al Menos un
Acceso a Memoria Adicional, Producto del Acceso a
Tablas de Páginas y al Retardo Asociado a la
Formación de la Dirección Real y Detección de un
Acierto o DesaciertoLos Esquemas Más
Sofisticados Incrementan Aún Más la Cantidad de
Accesos Adicionales a MemoriaCon Todo Esto el
CPI Aumenta y Se Degrada Considerablemente el
DesempeñoPero Se Puede Utilizar la Localidad de
la Traducción de Direcciones Para Mejorar el
DesempeñoBuffer de Direcciones (TLB) El
Concepto de Buffer de Direcciones (TLB) Implica
que Existe una Memoria Cache Especializada que
Mantiene la Dirección Real de las Últimas Páginas
Virtuales AccesadasEl Desempeño del TLB es
Crítico Requiere una Alta Razón de Acierto, por
lo que Normalmente Se Organiza Completamente
AsociativoEl Tamaño de un TLB es de 64 (MIPS
R10000) - 128 (AMD K5) Entradas
30
Arquitectura y Organización de Computadores
Cache y Memoria VirtualSobre qué Espacio de
Direcciones se Proyecta la Cache?1. Cache
Indexada con Direcciones VirtualesEs Accesado
con Direcciones Generadas Directamente de las
Instrucciones,Por lo que Resulta Ser Más
Rápido.Existen Conflictos con Direcciones
Virtuales de Diferentes Programas Resulta
Necesario Vaciar la Cache al Cambiar de
Contexto2. Cache Indexada con Direcciones
RealesEs Accesado con Direcciones a la Salida de
TLB, Resulta Ser Más Lento Pues Debe Traducir
Antes de Accesar.Las Direcciones Reales no
Provocan Conflictos en la Cache y el Esquema es
Más Sencillo de Manejar3. Acceso al TLB
Traslapado con Acceso a CacheLa Cache es
Indexada con una Dirección Virtual, el Tag
Incluye la Dirección RealEl Acceso a Cache Se
Realiza en Paralelo con Acceso a TLB, Usando la
Dirección Virtual. Se Compara el Tag y la
Dirección Real de Bloque Determina un Acierto o
Desacierto
Write a Comment
User Comments (0)
About PowerShow.com