26
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 Design (The hardware / software interface), 4ta Edición, de David A. Patterson y John L. Hennessy. Editorial Morgan Kaufmann

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

Embed Size (px)

Citation preview

Page 1: 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

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 Design (The hardware / software interface), 4ta Edición, de David A. Patterson y John L. Hennessy. Editorial Morgan Kaufmann

Page 2: 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

AGENDA

• La Memoria Virtual• Memory Management Unit (MMU)

07/09 – 11/09 Jerarquía de memoriaJerarquía de Memoria y

Proyecto

14-09 – 18/09Memoria virtual y la

MMU3er Examen Parcial

Page 3: 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

Memoria Virtual• Al igual que las caches para el acceso rápido de las

instrucciones y datos, la memoria RAM puede actuar como “cache” de la memoria secundaria.

• Objetivos:

– Que los procesos puedan compartir la memoria de forma eficiente y segura. Proceso = Programa en ejecución.

– Eliminar a los programas los límites de una memoria principal pequeña.

– Protección.

• Cada programa se ejecuta (funciona) dentro de su propio espacio de direcciones: Un rango de localidades de memoria accesibles sólo por este programa.

Page 4: 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

Memoria Virtual

• La memoria virtual implementa la traducción del espacio de direcciones de un programa a direcciones físicas.

• Esta traducción asegura la protección de los espacios de direcciones.

• Se libera al programador de la responsabilidad de manejar dos niveles de memoria.

Page 5: 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

Memoria Virtual

• Un bloque de memoria virtual lo denominaremos Página.• Un fallo (miss) en la memoria virtual lo denominaremos

Fallo de página.

• El procesador produce una dirección virtual que es traducida en una dirección física.

Page 6: 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

Memoria Virtual• La memoria virtual facilita la carga de programas, al

poder realizar sin complicaciones relocalizaciones.• En memoria virtual, las direcciones son picadas en

Número de página virtual y Desplazamiento de página

Page 7: 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

Memoria Virtual

• Un fallo de página suele tomar millones de ciclos de reloj. Por esta razón:

1. Las páginas suelen ser grandes: De 4 a 64 KB.2. Se prefieren las jerarquías que reducen los fallos de

página (Ej: Caches totalmente asociativas).3. Los fallos de página se manejan por software.4. Se utiliza write-back (Write-through resulta

impensable)

• Veamos: Técnicas de organización de la memoria

Page 8: 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

Particiones fijas

Page 9: 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

Particiones variables

Page 10: 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

Memoria Virtual y la MMU

• Usar la DRAM como una cache de la Mem. Secundaria:– El espacio de direcciones de un proceso puede exceder la

capacidad de la memoria física disponible– La suma de todos los espacios de direcciones de múltiples

procesos puede exceder la capacidad de la memoria física

• Simplificar el manejo de la memoria– Múltiples procesos residen en memoria principal. Cada proceso

con su propio espacio de direcciones.– Sólo el código y datos “activos” se encuentran realmente en

memoria.– Se reserva más memoria para el proceso a medida que se

requiere

Page 11: 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

Protección

• Un proceso no puede interferir con otro– Ellos operan en diferentes espacios de

direcciones

• Los procesos de usuario no pueden accesar información del sistema de forma directa

• Cada sección de espacios de direcciones tiene sus permisos

Page 12: 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

Memory Management Unit

• Provee los servicios principales de gestión de tareas• Considera que cada programa corre en su espacio

privado• La MMU simplifica la programación de tareas de

aplicación proveyendo recursos para el manejo de la memoria virtual– Actúa como un traductor: Convierte direcciones (lógicas) de

programas y datos a direcciones físicas reales– Permite la reubicación de los programas con direcciones virtuales

a cualquier parte de la memoria

Page 13: 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

Memory Management Unit

CPU MMUMemoriaPrincipal

Direcciónlógica

Direcciónfísica

• Traduce direcciones

• A continuación: Formas de implementar la Memoria Virtual

Page 14: 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

Manejo de Memoria basada en Segmentación

• El programa ve su memoria como un conjunto de segmentos: Programa principal, datos, pila, tabla de símbolos, variables globales, etc.

• Cada programa tiene su propio conjunto de segmentos privados

• Cada acceso a memoria es realizado a través de un selector de segmento y una compensación (offset) dentro del segmento

• Así, cada programa tiene su propia vista privada de la memoria y puede coexistir transparentemente con otros programas

Page 15: 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

Generación de dirección basada en segmentos

• Base: Dirección base del segmento• Dirección lógica: Compensación dentro del segmento• Borde: Límite del segmento• SDT: Almacena la información de acceso y otra sobre el segmento

Selector de segmento Dirección lógica

Base

Tabla descriptora de segmentos (SDT)

Dirección física

Borde

>?

Falla de acceso (Excepción)

+

Page 16: 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

Paging (Paginación)

• El área de la Memoria Lógica puede ser mayor que la Memoria Física

• Se ubica parte de la Memoria Lógica en Memoria Secundaria

• Se divide la memoria física en partes iguales (Chunks)• Un chunk de la Memoria Virtual (Lógica) se puede

asignar a cualquier (un) chunk de la Memoria Física (“página”)

• Una página ocupa típicamente 4 u 8 KB• Un comportamiento totalmente asociativo generaría

búsquedas muy lentas. • Por esto, se utilizan tablas de páginas

Page 17: 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

Memoria paginada

Traducción El hardware convierte las direcciones virtuales en direcciones físicas a través de una tabla de búsquedas operada por el sistema operativo (Tabla de páginas)

CPU

Tabla de páginasMemoria

Almacenamiento adicional

01

N-1

01

P-1

Direcciones virtuales

Direcciones físicas

Page 18: 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

Fallo de página

• El CPU genera una dirección virtual que la tabla de páginas indica que no está en memoria

• Se invoca al manejador de excepciones del S.O. para que mueva la data de disco (o memoria secundaria) a memoria– Se suspende el proceso actual– El S.O. controla el traslado y ubicación de la

información

• Espacio swap: Espacio en disco reservado para el espacio de memoria virtual completo de un proceso.

Page 19: 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

Manejo de múltiples procesos

• Cada proceso tiene su propio espacio de direcciones virtuales– El S.O. controla cómo se asignan las páginas

virtuales a la memoria física– Una tabla de páginas para cada proceso– Cada programa puede comenzar en la misma

dirección (Dirección virtual)

• Un proceso no debe accesar páginas no asignadas a este

Page 20: 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

Traducción de la dirección de página

Base de página i

Página virtual Compensación

Concatenar

Página física Compensación

Tabla de páginas

Page 21: 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

Operaciones de la tabla de páginas

• Traducción

• Cálculo de la dirección física (Bit de validez: 0, 1)

• Protección:– Read-only, read-write, execute– Soporta múltiples modos de operación

Page 22: 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

Integración de la MV a la Cache

• La mayoría de las caches:– Son accedidas a través de la dirección física– Permite que múltiples procesos tengan bloques en la cache al

mismo tiempo– La cache no requiere preocuparse de problema de protección:

Ya que los derechos de acceso son chequeados como parte de la traducción de la dirección

CPU CacheMemoriaPrincipalTraducción

DV DF

datos

hit

miss

Page 23: 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

Memoria Virtual y Cache

• Realizar la traducción de la dirección antes de la búsqueda en la Cache– Pero esto podría incluir un acceso a memoria

• Solución: Las entradas a la tabla de páginas también pueden estar en Cache

Page 24: 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

Translation Lookaside Buffer (TLB)

• Pequeña cache en la MMU• Guarda las direcciones usadas recientemente para evitar

el acceso a la tabla de páginas.• Mapea números de páginas virtuales a números de

páginas físicas• Contiene entradas de las tablas de páginas para una

cantidad pequeña de página• Valores típicos:

– Tamaño: 16 – 512 entradas– Tamaño del bloque: 1 a 2 entradas (de 4 a 8 bytes c/u)– Tiempo de Hit: 0,5 a 1 ciclo de reloj– Miss rate: 0,01% a 1%– Miss penalty: De 10 a 100 ciclos de relog

Page 25: 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

Traducción con el TLB

CPUBúsqueda TLB Cache

MemoriaPrincipal

Traducción

DV hit DV

datos

hitmiss

miss

Page 26: 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

CacheL2

(SRAM)

Jerarquía de memorias típica

Control

Datapath

MemoriaSecundaria

(Disco)

Componentes On-Chip

RegF

ile

MemoriaPrincipal(DRAM)

Data

Cache

InstrC

ache

ITLB

DT

LB

eDRAM

Velo. (%Ciclos): ½’s 1’s 10’s 100’s 1,000’s

Tamaño (bytes): 100’s K’s 10K’s M’s G’s a T’s

Costo: Mayor Menor