Estructura de Computadores

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Estructura de Computadores"

Transcripción

1 Estructura de Computadores Tema 5 Jerarquía de memoria Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID

2 Contenido Tipos de memoria Jerarquía de memoria Memoria caché Memoria virtual ARCOS Estructura de Computadores 2

3 Una visión general (hasta ahora) 3 Procesador Memoria Principal Prog y datos en ejecución Bus Valores frecuentes e instrucción actual Módulo E/S Periférico Módulo E/S Periférico Módulo E/S Disco Prog y datos NO en ejecución ARCOS Estructura de Computadores 3

4 Una visión general (hasta ahora) 4 Procesador Memoria Principal Prog y datos en ejecución Bus Valores frecuentes e instrucción actual Módulo E/S Periférico Módulo E/S Periférico Módulo E/S Disco Prog y datos NO en ejecución ARCOS Estructura de Computadores 4

5 Tipos de memoria (hasta el momento) 5 Procesador Banco de registros Almacena pocos datos Tiempo de acceso a un registro: orden de ns Memoria principal Más capacidad (GB) Tiempo de acceso: 5-1 ns 1 acceso a memoria = cientos de ciclos de reloj Disco Capacidad de almacenamiento casi ilimitada Tiempo de acceso lento: orden de milisegundos ARCOS Estructura de Computadores 5

6 Tipos de memoria 6 Memorias semiconductoras RAM y ROM Memorias de estado sólido Memorias magnéticas Discos y cintas Memorias ópticas CD, DVD, HD-DVD, ARCOS Estructura de Computadores 6

7 Evolución del rendimiento 7 Procesadores 198-2: Incremento medio del 6% anual Memorias DRAM 198-2: Incremento medio del 7% anual La distancia entre memoria y procesador es mayor cada año ARCOS Estructura de Computadores 7

8 Número de accesos a memoria? int i; int s = ; for (i=; i < 1; i++) s = s + i; ARCOS Estructura de Computadores 8

9 Número de accesos a memoria? int i; int s = ; for (i=; i < 1; i++) s = s + i; li $t, // s li $t1, // i li $t2, 1 bucle: bgt $t1, $t2, fin add $t, $t, $t1 addi $t1, $t1, 1 b bucle ARCOS Estructura de Computadores 9

10 Número de accesos a memoria? int i; int s = ; for (i=; i < 1; i++) s = s + i; li $t, // s li $t1, // i li $t2, 1 bucle: bgt $t1, $t2, fin add $t, $t, $t1 addi $t1, $t1, 1 b bucle Solución: = 44 ARCOS Estructura de Computadores 1

11 Número de accesos a memoria? int v[1]; // global int i; for (i=; i < 1; i++) v[i] = ; ARCOS Estructura de Computadores 11

12 Número de accesos a memoria? int v[1]; // global int i; for (i=; i < 1; i++) v[i] = ; data: v: space 4 text: li $t, // i li $t1, // i de v li $t2, 1 // componentes bucle: bgt $t, $t2, fin sw $, v($t1) addi $t, $t, 1 addi $t1, $t1, 4 b bucle ARCOS Estructura de Computadores 12

13 Número de accesos a memoria? int v[1]; // global int i; for (i=; i < 1; i++) v[i] = ; data: v: space 4 text: li $t, // i li $t1, // i de v li $t2, 1 // componentes bucle: bgt $t, $t2, fin sw $, v($t1) addi $t, $t, 1 addi $t1, $t1, 4 b bucle Solución: = 54 ARCOS Estructura de Computadores 13

14 Coste ejemplos: 14 Memoria principal Módulo de 2GB: 25 Coste: 1,22 centimos/ MB Disco Disco de 3 GB: 18 Coste:,6 centimos/mb Coste por byte en disco 2 veces mayor que en memoria ARCOS Estructura de Computadores 14

15 Contenido Tipos de memoria Jerarquía de memoria Memoria caché Memoria virtual ARCOS Estructura de Computadores 15

16 Jerarquía de memoria 16 Velocidad Coste Capacidad ARCOS Estructura de Computadores 16

17 Memorias de semiconductores Memoria de solo lectura (ROM) No necesita alimentación Persistente Ejemplo de uso: BIOS Memoria de lectura/escritura (RAM) Necesita alimentación No persistente Más rápida que la ROM Ejemplo de uso: memoria principal ARCOS Estructura de Computadores 17

18 Tipos de memoria SRAM 18 Almacena un bit como interruptor Circuito más complejo 6 transistores No se descarga No necesita refresco Más rápida y cara que DRAM ARCOS Estructura de Computadores 18

19 Tipos de memoria DRAM 19 Almacena un bit como carga en un condensador Circuito muy simple: 1 transistor + 1 condensador Más barata Necesita ciclos de refresco para no perder el valor Más lenta que SRAM ARCOS Estructura de Computadores 19

20 2 Sistema de memoria con dos niveles Ejemplo: memoria caché Intenta solucionar diferencias de velocidad entre procesador y memoria Se construye con tecnología SRAM Integrada en el mismo procesador Más rápida y más cara que la memoria DRAM Mantiene una copia de partes de la memoria principal procesador Memoria caché Memoria principal ARCOS Estructura de Computadores 2

21 Idea de la jerarquía de memoria 21 Procesador Caché Memoria Principal Disco Registros ARCOS Estructura de Computadores 21

22 Funcionamiento de la caché procesador Memoria caché Memoria principal palabras bloques ARCOS Estructura de Computadores 22

23 Funcionamiento de la caché int i; int s = ; for (i=; i < 1; i++) s = s + i; li $t, // s l $t1, // i li $t2, 1 bucle: bgt $t1, $t2, fin add $t, $t, $t1 addi $t1, $t1, 1 b bucle Suposición: Acceso a caché: 2 ns Acceso a MP: 12 ns Bloque de MP: 4 palabras Transferencia de un bloque entre memoria principal y caché: 2 ns ARCOS Estructura de Computadores 23

24 Funcionamiento de la caché int i; int s = ; for (i=; i < 1; i++) s = s + i; li $t, // s l $t1, // i li $t2, 1 bucle: bgt $t1, $t2, fin add $t, $t, $t1 addi $t1, $t1, 1 b bucle Sin memoria caché: Número de accesos a memoria = = 44 Tiempo de acceso a memoria = = 4848 ns ARCOS Estructura de Computadores 24

25 Funcionamiento de la caché int i; int s = ; for (i=; i < 1; i++) s = s + i; li $t, // s l $t1, // i li $t2, 1 bucle: bgt $t1, $t2, fin add $t, $t, $t1 addi $t1, $t1, 1 b bucle Con memoria caché: Número de bloques = 2 ARCOS Estructura de Computadores 25

26 Funcionamiento de la caché int i; int s = ; for (i=; i < 1; i++) s = s + i; li $t, // s l $t1, // i li $t2, 1 bucle: bgt $t1, $t2, fin add $t, $t, $t1 addi $t1, $t1, 1 b bucle Con memoria caché: Número de bloques = 2 Número de fallos = 2 Tiempo para transferir 2 bloques = 2 2 = 4 ns Tiempo de acceso a la caché = 44 2 = 88 ns Tiempo total = 848 ns ARCOS Estructura de Computadores 26

27 Funcionamiento de la caché int i; int s = ; for (i=; i < 1; i++) s = s + i; li $t, // s l $t1, // i li $t2, 1 bucle: bgt $t1, $t2, fin add $t, $t, $t1 addi $t1, $t1, 1 b bucle Sin memoria caché: 4848 ns Con memoria caché = 848 ns Tasa de aciertos a la caché = 42 / 44 => 99,95 % ARCOS Estructura de Computadores 27

28 Funcionamiento de la caché int v[1]; // global int i; int s; for (i=; i < 1; i++) s = s + v[i]; Suposición: Acceso a caché: 2 ns Acceso a MP: 12 ns Bloque de MP: 4 palabras data: Transferencia de un bloque entre memoria principal y caché : 2 ns v: space 4 text: li $t, // i li $t1, // i de v li $t2, 1 // componentes li $t3, // s bucle: bgt $t, $t2, fin lw $t4, v($t1) addi $t3, $t3, $t4 addi $t, $t, 1 addi $t1, $t1, 4 b bucle ARCOS Estructura de Computadores 28

29 Por qué funciona? 29 Tiempo de acceso a caché mucho menor que tiempo de acceso a memoria principal La memoria principal realmente se accede por bloques Cuando un programa accede a un dato, es probable que vuelva a acceder a él en el futuro cercano proximidad temporal Cuando un programa accede a un dato, es probable que en el futuro cercano acceda a posiciones cercanas proximidad espacial Tasa de aciertos: probabilidad de que un dato accedido esté en la caché ARCOS Estructura de Computadores 29

30 Tiempo de acceso 3 Memoria principal Típicamente tecnología DRAM o similar Tiempo de acceso: 5-1 ns Memoria caché Típicamente tecnología SRAM o similar Tiempo de acceso: 1-1 ns ARCOS Estructura de Computadores 3

31 31 Tiempo medio de acceso a un sistema de memoria con dos niveles Tm = h Tc + (1-h) Tf Tc: tiempo de acceso a la caché Tf: tiempo en tratar el fallo Incluye el tiempo para traer el bloque a la caché h: tasa de aciertos Aciertos: Se producen h*1% de las veces Solo se necesita el tiempo de acceder a la caché Fallos: Se producen (1-h)*1% de las veces Se necesita el tiempo de traer el bloque a la caché ARCOS Estructura de Computadores 31

32 Acceso por bloques 32 Se premia el acceso a posiciones consecutivas de memoria Ejemplo 1: acceder a 5 posiciones de memoria individuales (no consecutivas) Ejemplo 2: acceder a 5 posiciones de memoria consecutivas ARCOS Estructura de Computadores 32

33 Accesos por bloques 33 Si se realizan acceso individuales a memoria, el coste de cada acceso es el mismo CPU Memoria principal ARCOS Estructura de Computadores 33

34 Acceso por bloques 34 Si se accede a un conjunto consecutivo de posiciones de memoria, los accesos siguientes al primero tienen un coste menor CPU Memoria principal ARCOS Estructura de Computadores 34

35 Acceso por bloques 35 La memoria principal se accede por bloques La memoria caché se accede por palabras CPU transferencia de palabras cache transferencia de bloques Memoria principal ARCOS Estructura de Computadores 35

36 Niveles en memorias caché 36 L1 L2 Típicamente dentro del procesador Pequeña (8KB 128KB) Pueden separarse instrucciones de datos Puede ser interna o externa Tamaño mediano (256 KB 4 MB) L3 Típicamente externa ARCOS Estructura de Computadores 36

37 Ejemplo 37 Computador: Tiempo de acceso a caché: 4 ns Tiempo de acceso a bloque de MP: 12 ns Si se tiene una tasa de aciertos del 9% Cuál es el tiempo medio de acceso? Tasas de acierto necesarias para que el tiempo medio de acceso sea menor de 1 ns y 5 ns ARCOS Estructura de Computadores 37

38 Contenido Tipos de memoria Jerarquía de memoria Memoria caché Memoria virtual ARCOS Estructura de Computadores 38

39 Memoria caché 39 Se construye con tecnología SRAM Integrada en el mismo procesador Más rápida y más cara que la memoria DRAM Mantiene una copia de partes de la memoria principal procesador Memoria caché Memoria principal palabras bloques ARCOS Estructura de Computadores 39

40 4 Tiempo medio de acceso al sistema de memoria con una memoria caché T = h Tc + (1-h) Tf Tc: tiempo de acceso a la caché Tf: tiempo en tratar el fallo Incluye el tiempo para traer el bloque a la caché h: tasa de aciertos Aciertos: Se producen h*1% de las veces Solo se necesita el tiempo de acceder a la caché Fallos: Se producen (1-h)*1% de las veces Se necesita el tiempo de traer el bloque a la caché ARCOS Estructura de Computadores 4

41 Acceso por bloques 41 Se premia el acceso a posiciones consecutivas de memoria Ejemplo 1: acceder a 5 posiciones de memoria individuales Ejemplo 2: acceder a 5 posiciones de memoria consecutivas ARCOS Estructura de Computadores 41

42 Accesos por bloques 42 Si se realizan acceso individuales (no secuenciales) a memoria, el coste de cada acceso es el mismo CPU Memoria principal ARCOS Estructura de Computadores 42

43 Acceso por bloques 43 Si se accede a un conjunto consecutivo de posiciones de memoria, los accesos siguientes al primero tienen un coste menor CPU Memoria principal ARCOS Estructura de Computadores 43

44 Acceso por bloques 44 La memoria principal se accede por bloques La memoria caché se accede por palabras El procesador solicita palabras a la M caché La M caché solicita bloques a la M principal CPU transferencia de palabras cache transferencia de bloques Memoria principal ARCOS Estructura de Computadores 44

45 Niveles en memorias caché 45 L1 L2 Típicamente dentro del procesador Pequeña (8KB 128KB) Pueden separarse instrucciones de datos Puede ser interna o externa Tamaño mediano (256 KB 4 MB) L3 Típicamente externa ARCOS Estructura de Computadores 45

46 Ejemplo: AMD Quad-core ARCOS Estructura de Computadores 46

47 Ejemplo 47 Computador: Tiempo de acceso a caché: 4 ns Tiempo de acceso a bloque de MP: 12 ns Si se tiene una tasa de aciertos del 9% Cuál es el tiempo medio de acceso? Tasas de acierto necesarias para que el tiempo medio de acceso sea menor de 1 ns y 5 ns ARCOS Estructura de Computadores 47

48 Organización de la memoria principal La memoria principal lógicamente se divide en bloques de igual tamaño 1 bloque = k palabras Ejercicio: Cuantos bloques de 4 palabras hay en una memoria de 1 GB? ARCOS Estructura de Computadores 48

49 Organización de la memoria principal La memoria principal lógicamente se divide en bloques de igual tamaño 1 bloque = k palabras Ejercicio: Cuantos bloques de 4 palabras hay en una memoria de 1 GB? Solución: 2 3 B / 16 B = B = 2 26 B = 64 megabloques 64 millones ARCOS Estructura de Computadores 49

50 Acceso a una palabra en memoria principal Ejemplo: Computador de 32 bits Memoria direccionada por bytes Acceso a memorial principal por palabras Acceso a la palabra con dirección x Palabra de 32 bits ARCOS Estructura de Computadores 5

51 Acceso a una palabra en memoria principal Ejemplo: Computador de 32 bits Memoria direccionada por bytes Acceso a memorial principal por palabras Acceso a la palabra con dirección x Palabra de 32 bits ARCOS Estructura de Computadores 51

52 Organización de la memoria caché 52 La memoria caché está organizada en bloques (líneas) Al bloque de memoria caché se le llama línea de caché El tamaño del bloque de M principal es igual al tamaño de la línea Pero el tamaño de la memoria caché es mucho menor El número de bloques que cabe en la memoria caché es muy pequeño Cuántos bloques de 4 palabras cabe en una memoria caché de 32 KB? ARCOS Estructura de Computadores 52

53 Organización de la memoria caché 53 La memoria caché está organizada en bloques (líneas) Al bloque de memoria caché se le llama línea de caché El tamaño del bloque de M principal es igual al tamaño de la línea Pero el tamaño de la memoria caché es mucho menor El número de bloques que cabe en la memoria caché es muy pequeño Cuántos bloques de 4 palabras cabe en una memoria caché de 32 KB? Solución: B / 2 4 B = 2 11 bloques = 248 bloques = 248 líneas ARCOS Estructura de Computadores 53

54 Cómo buscar una palabra en la cache? 54 procesador Memoria caché Memoria caché Tamaño: 32 bytes Con bloques de dos palabras cuántas líneas tiene la caché? Palabra de 32 bits 4 8 x1 12 x x1 36 x Memoria principal de 64 bytes = 16 palabras ARCOS Estructura de Computadores 54

55 Cómo buscar una palabra en la cache? 55 Palabra de 32 bits procesador Memoria caché Memoria caché Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea 4 8 x1 12 x x1 36 x Memoria principal de 64 bytes = 16 palabras Número de línea ARCOS Estructura de Computadores 55

56 Cómo buscar una palabra en la cache? 56 Palabra de 32 bits procesador Dir = Memoria caché Palabra 1 Palabra Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea 4 8 x1 12 x x1 36 x Memoria principal de 64 bytes = 16 palabras ARCOS Estructura de Computadores 56

57 Cómo buscar una palabra en la cache? 57 Palabra de 32 bits procesador Dir = 8 FALLO Memoria caché Palabra 1 Palabra Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea 4 8 x1 12 x x1 36 x Memoria principal de 64 bytes = 16 palabras ARCOS Estructura de Computadores 57

58 Cómo buscar una palabra en la cache? 58 Palabra de 32 bits procesador Dir = Memoria caché Palabra 1 Palabra Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea 4 8 x1 12 x x1 36 x Se elige una línea en la caché Memoria principal de 64 bytes = 16 palabras ARCOS Estructura de Computadores 58

59 Cómo buscar una palabra en la cache? 59 Palabra de 32 bits procesador Dir = 8 Memoria caché Palabra 1 Palabra x11 x Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea 4 8 x1 12 x x1 36 x Transfiere el bloque Memoria principal de 64 bytes = 16 palabras ARCOS Estructura de Computadores 59

60 Cómo buscar una palabra en la cache? 6 Palabra de 32 bits procesador x1 Memoria caché Palabra 1 Palabra x11 x Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea 4 8 x1 12 x x1 36 x Transfiere la palabra Memoria principal de 64 bytes = 16 palabras ARCOS Estructura de Computadores 6

61 Cómo buscar una palabra en la cache? 61 Palabra de 32 bits procesador Dir = 32 Memoria caché Palabra 1 Palabra x11 x Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea 4 8 x1 12 x x1 36 x Cómo saber si está en la caché? Memoria principal de 64 bytes = 16 palabras ARCOS Estructura de Computadores 61

62 Cómo buscar una palabra en la cache? 62 Palabra de 32 bits procesador Dir = 32 Memoria caché Palabra 1 Palabra x11 x Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea 4 8 x1 12 x x1 36 x Memoria principal de 64 bytes = 16 palabras Es el contenido de la dirección 8 no de la 32 ARCOS Estructura de Computadores 62

63 Función de correspondencia 63 Un diseño de caché necesita: Un algoritmo que diga en qué lugares de la memoria caché se puede almacenar un bloque determinado de la memoria principal Un mecanismo que permita saber qué bloque concreto de memoria principal está en una línea de la memoria caché Se asocian a las líneas etiquetas ARCOS Estructura de Computadores 63

64 Ubicación en caché 64? Memoria Caché Memoria Principal ARCOS Estructura de Computadores 64

65 Ubicación en MP 65? Memoria Caché Memoria Principal ARCOS Estructura de Computadores 65

66 Correspondencia 66 ARCOS Estructura de Computadores 66

67 Alternativas 67 Función de correspondencia directa Función de correspondencia asociativa Función de correspondencia asociativa por conjuntos ARCOS Estructura de Computadores 67

68 Correspondencia directa Palabra de 32 bits Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 68

69 Correspondencia directa Palabra de 32 bits Bloque - línea Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 69

70 Correspondencia directa Palabra de 32 bits Bloque 1 - línea 1 Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 7

71 Correspondencia directa Palabra de 32 bits Bloque 2 - línea 2 Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 71

72 Correspondencia directa Palabra de 32 bits Bloque 3 - línea 3 Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 72

73 Correspondencia directa Palabra de 32 bits Bloque 4 - línea Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 73

74 Correspondencia directa En general: El bloque de memoria K se almacena en la línea: K mod número de líneas ARCOS Estructura de Computadores 74

75 Correspondencia directa Varios bloques en la misma línea Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Palabra de 32 bits Memoria principal ARCOS Estructura de Computadores 75

76 Correspondencia directa Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Cómo se sabe el bloque de memoria en el que se encuentra una dirección? Ejemplo: la dirección Palabra de 32 bits Memoria principal ARCOS Estructura de Computadores 76

77 Ejercicio Dado un computador de 32 bits con una memoria caché de 64 KB y bloques de 32 bytes Si se utiliza correspondencia directa En qué línea de la memoria caché se almacena la palabra de la dirección x48a? Cómo se puede obtener rápidamente? En qué línea se de la memoria caché se almacena la palabra de la dirección x148a? Cómo sabe la caché si la palabra almacenada en esa línea corresponde a la palabra de la dirección x48a o a la palabra de la dirección x148a? ARCOS Estructura de Computadores 77

78 Correspondencia asociativa 78 Cada bloque de MP puede almacenarse en cualquier línea de la cahé ARCOS Estructura de Computadores 78

79 Correspondencia asociativa por conjuntos 79 La memoria se organiza en conjuntos de líneas Una memoria caché asociativa por conjunto de K vías: Cada conjunto almacena K líneas Cada bloque siempre se almacena en el mismo conjunto El bloque B se almacena en el conjunto: B mod número de conjuntos Dentro de un conjunto el bloque se puede almacenar en cualquiera de las líneas de ese conjunto ARCOS Estructura de Computadores 79

80 Correspondencia asociativa por conjuntos Palabra de 32 bits Número de conjunto Conjunto Conjunto Número de línea Memoria caché Tamaño: 32 bytes Asociativa por conjunto de 2 vías 2 líneas por conjunto 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 8

81 Correspondencia asociativa por conjuntos Palabra de 32 bits Conjunto Conjunto Bloque - Conjunto Memoria caché Tamaño: 32 bytes Asociativa por conjunto de 2 vías 2 líneas por conjunto 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 81

82 Correspondencia asociativa por conjuntos Palabra de 32 bits Conjunto Conjunto Bloque 1 - conjunto 1 Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 82

83 Correspondencia asociativa por conjuntos Palabra de 32 bits Conjunto Conjunto Bloque 2 - conjunto Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 83

84 Correspondencia asociativa por conjuntos Palabra de 32 bits Conjunto Conjunto Bloque 3 - conjunto 1 Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Memoria principal ARCOS Estructura de Computadores 84

85 Correspondencia asociativa por conjuntos Palabra de 32 bits Conjunto Conjunto Bloque 4 - línea Memoria caché Tamaño: 32 bytes 4 líneas 2 palabras por línea Habría que eliminar la línea que estaba antes Memoria principal ARCOS Estructura de Computadores 85

86 Correspondencia asociativa por conjuntos 86 Establece un compromiso entre flexibilidad y coste Es más flexible que la correspondencia directa Es menos costosa que la correspondencia asociativa ARCOS Estructura de Computadores 86

87 Sustitución de bloques 87 Cuando todas las entradas de la caché contienen bloques de memoria principal: Hace falta seleccionar una línea que hay que dejar libre para traer un bloque de la MP Asociativa: Seleccionar una línea de la caché Asociativa por conjuntos: Seleccionar una línea del conjunto seleccionado Existen diversos algoritmos para seleccionar la línea de la caché que hay que liberar ARCOS Estructura de Computadores 87

88 Algoritmos de sustitución 88 FIFO First-in-first-out Sustituye la línea que lleva más tiempo en la caché LRU: Least Recently Used Sustituye la línea que lleva más tiempo sin usarse LFU: Least Frequently Used Sustituye la línea que se ha usado menos veces ARCOS Estructura de Computadores 88

89 Políticas de escritura 89 Cuando se modifica un dato en memoria caché, hay que actualizar en algún momento la memoria principal Alternativas: Escritura inmediata Post-escritura ARCOS Estructura de Computadores 89

90 Escritura inmediata 9 Cada vez que se modifica un dato en caché se escribe el bloque en memoria principal Muy simple de implementar Problema: Genera mucho tráfico a memoria para escrituras ARCOS Estructura de Computadores 9

91 Post-escritura 91 Un bloque solamente se escribe en memoria principal cuando va a ser expulsado de caché y siempre que se haya modificado A cada bloque de la caché se le asocia un bit de modificación Cuando el bloque se trae a la caché: Modificado= Cuando se modifica el bloque: Modificado=1 Cuando se expulsa un bloque de la caché (para hacer hueco), se escribe en memoria si modificado=1 ARCOS Estructura de Computadores 91

92 Ejercicio Sea un computador con una memoria caché y principal con las siguientes características: Tiempo de acceso a memoria caché de 4 ns Tiempo de acceso a memoria principal de 8 ns Tiempo para servir un fallo de caché de 12 ns Política de escritura inmediata En este computador se ha observado que la tasa de aciertos a la memoria caché es del 95 % y que cada 1 accesos, 9 son de lectura Calcular el tiempo medio de acceso a memoria ARCOS Estructura de Computadores 92

93 Ejercicio Sea un computador dotado de una memoria cache con las siguientes características: Tamaño: 16 KB con bloques de 32 bytes (8 palabras) Tiempo de acceso: 1ns Esta memoria está conectada a través de un bus de 32 bits a una memoria principal que es capaz de transferir un bloque de 8 palabras en 12 ns Política de escritura: post-escritura o escritura diferida Se pide: Calcular la tasa de aciertos que es necesaria para que el tiempo medio de acceso al sistema de memoria sea de 2 ns ARCOS Estructura de Computadores 93

94 Ejercicio Se dispone de un computador con una memoria caché con un tamaño de 64 KB El tamaño de la línea es de 64 bytes La caché tiene un tiempo de acceso de 2 ns y un tiempo de penalización por fallo de 12 ns La caché es asociativa por conjuntos de dos vías Se pide: Indique el número total de líneas de caché Indique el número de conjuntos que tiene la caché Indique el número de líneas por conjunto Haga un dibujo con la estructura de la caché Diga cuánto tiempo tardaríamos en obtener un dato si se produce un fallo en la caché ARCOS Estructura de Computadores 94

95 Ejercicio Sea un computador de 32 bits con el juego de instrucciones del MIPS, que ejecuta el siguiente fragmento de código cargado a partir de la dirección x li $t, 1 li $t1, li $t2, bucle: addi $t1, $t1, 1 addi $t2, $t2, 4 beq $t1, $t, bucle Este computador dispone de una memoria caché asociativa por conjunto de 4 vías, de 32 KB y líneas de 16 bytes Calcule de forma razonada el número de fallos de caché y la tasa de aciertos que produce el fragmento de código anterior, asumiendo que se ejecuta sin ninguna interrupción y que la memoria caché está inicialmente vacía ARCOS Estructura de Computadores 95

96 Ejercicio Sea un computador de 32 bits con una memoria caché para datos de 8 KB y línea de 64 bytes, política de correspondencia directa y política de escritura diferida o aplazada Calcule la tasa de fallos global del siguiente bucle double a[124], b[124], c[124], d[124]; // considere que un double ocupa 8 bytes y que los cuatro // vectores se encuentran dispuestos en memoria de forma // consecutiva for (int i = ; i < 124; i++) a[i] = b[i] + c[i] + d[i]; ARCOS Estructura de Computadores 96

97 Ejercicio Resuelva el ejercicio anterior asumiendo : Que la caché es totalmente asociativa, con política de sustitución LRU Que la caché es asociativa por conjuntos de dos vías y política de sustitución LRU Que la caché es asociativa por conjuntos de cuatro vías y política de sustitución LRU ARCOS Estructura de Computadores 97

98 Ejercicio Sea un computador de 32 bits con una memoria caché para datos de 32 KB y línea de 64 bytes La caché es asociativa por conjuntos de 2 vías Considere los dos siguientes fragmentos de código: int m[512][512]; sum = ; for (i = ; i < 512; i ++) for (j = ; j < 512; j++) sum = sum + m[i][j]; int m[512][512]; sum = ; for (i = ; i < 512; i ++) for (j = ; j < 512; j++) sum = sum + m[j][i]; considerando que la variable sum se almacena en un registro, calcule la tasa de fallos a memoria caché de los dos fragmentos (Observación: la matriz se almacena por filas) ARCOS Estructura de Computadores 98

99 Contenido Tipos de memoria Jerarquía de memoria Memoria caché Memoria virtual ARCOS Estructura de Computadores 99

100 Imagen de memoria de un proceso Proceso: programa en ejecución Imagen de memoria: conjunto de direcciones de memoria asignadas al programa que está ejecutando instrucciones datos Imagen de memoria de un programa en ejecucion Direcciones reservadas para el crecimiento de las secciones de datos y de pila pila ARCOS Estructura de Computadores 1

101 Sistemas sin memoria virtual En los sistemas sin memoria virtual, el programa se carga completamente en memoria para su ejecución Memoria Principal Sistema Operativo Disco instrucciones Programa en ejecucion datos pila Fichero ejecutable ARCOS Estructura de Computadores 11

102 Sistemas sin memoria virtual Se inicializan los registros Memoria Principal PC Sistema Operativo instrucciones Disco Programa en ejecucion datos SP pila Fichero ejecutable ARCOS Estructura de Computadores 12

103 Múltiples programas cargados en memoria Memoria principal Sistema Operativo instrucciones datos pila instrucciones datos proceso 2 proceso 1 pila ARCOS Estructura de Computadores 13

104 Múltiples programas cargados en memoria Memoria principal PC Sistema Operativo instrucciones datos proceso 2 SP pila instrucciones datos proceso 1 pila ARCOS Estructura de Computadores 14

105 Múltiples programas cargados en memoria PC SP Memoria principal Sistema Operativo instrucciones datos proceso 2 pila instrucciones datos proceso 1 pila ARCOS Estructura de Computadores 15

106 Múltiples programas cargados en memoria Memoria principal Sistema Operativo instrucciones datos proceso 2 PC pila instrucciones datos proceso 1 SP pila ARCOS Estructura de Computadores 16

107 Fichero ejecutable hipotético int v[1]; // global int i; for (i=; i < 1; i++) v[i] = ; ARCOS Estructura de Computadores 17

108 Fichero ejecutable hipotético int v[1]; // global int i; for (i=; i < 1; i++) v[i] = ; data: v: space 4 text: li $t, li $t1, bucle: fin: li $t2, 1 bgt $t, $t2, fin sw $, v($t1) addi $t, $t, 1 addi $t1, $t1, 4 b bucle ARCOS Estructura de Computadores 18

109 Fichero ejecutable hipotético int v[1]; // global int i; for (i=; i < 1; i++) data: v[i] = ; v: space 4 text: li $t, li $t1, bucle: li $t2, 1 bgt $t, $t2, fin sw $, v($t1) addi $t, $t, 1 ensamblador Cabecera ejecutable li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 addi $t1, $t1, 4 b bucle Se asigna a v la dirección 2 Se asume que el programa empieza en la ARCOS Estructura de Computadores 19

110 Carga del programa en memoria El sistema operativo reserva un hueco libre en memoria para toda la imagen del proceso 4 ejecutable Cabecera memoria li $t, li $t1, li $t2, 1 bgt $t, $t2, 2 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b ARCOS Estructura de Computadores 11

111 Carga del programa en memoria En el fichero ejecutable se considera como dirección de inicio la Direcciones lógicas En memoria, la dirección de inicio es la 1 Direcciones físicas Hay que realizar una traducción de direcciones De direcciones lógicas a físicas El array en memoria está En la dirección lógica 2 En la dirección física A este proceso se le denomina reubicación Reubicación software Reubicación hardware ARCOS Estructura de Computadores 111

112 Reubicación software Se realiza la traducción en el momento de la carga 4 ejecutable Cabecera memoria li $t, li $t1, li $t2, 1 bgt $t, $t2, 2 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 12($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 ARCOS Estructura de Computadores 112

113 Reubicación software Qué ocurre con estas instrucciones cargadas en las posiciones 112 y 128? 4 ejecutable Cabecera memoria li $t, li $t1, li $t2, 1 bgt $t, $t2, 2 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 12($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 ARCOS Estructura de Computadores 113

114 Problema de protección de memoria Qué ocurre si en el programa ejecuta las siguientes instrucciones? li $t,8 sw $t, ($) ARCOS Estructura de Computadores 114

115 Problema de protección de memoria Qué ocurre si en el programa ejecuta las siguientes instrucciones? li $t,8 sw $t, ($) Acceso ilegal a la dirección física que no está asignada al programa ARCOS Estructura de Computadores 115

116 Multiprogramación 116 Un computador puede tener varios programas en memoria Hay que asignar un espacio de memoria a cada programa en ejecución (proceso) SO P2 Hace falta asegurar que un programa no accede a la zona de memoria asignada a otro programa P1 P3 ARCOS Estructura de Computadores 116

117 Reubicación hardware Se realiza la traducción durante la ejecución Necesita un hardware especial Asegura protección 4 ejecutable Cabecera memoria li $t, li $t1, li $t2, 1 bgt $t, $t2, 2 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 ARCOS Estructura de Computadores 117

118 Ejemplo de soporte hardware Registro límite: dirección lógica máxima asignada al programa Registro base: dirección de inicio del programa en memoria memoria MAR Reg límite Reg base li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 ARCOS Estructura de Computadores 118

119 Ejemplo de soporte hardware Registro límite: dirección lógica máxima asignada al programa Registro base: dirección de inicio del programa en memoria Dirección lógica de inicio memoria MAR Reg límite Reg base li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 ARCOS Estructura de Computadores 119

120 Ejemplo de soporte hardware Registro límite: dirección lógica máxima asignada al programa Registro base: dirección de inicio del programa en memoria memoria MAR Reg límite Reg base 6 1 > si excepción li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 ARCOS Estructura de Computadores 12

121 Ejemplo de soporte hardware Registro límite: dirección lógica máxima asignada al programa Registro base: dirección de inicio del programa en memoria memoria MAR Reg límite Reg base 6 1 > no li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 ARCOS Estructura de Computadores 121

122 Ejemplo de soporte hardware Registro límite: dirección lógica máxima asignada al programa Registro base: dirección de inicio del programa en memoria memoria MAR Reg límite Reg base 6 1 > no li $t, li $t1, li $t2, 1 bgt $t, $t2, 16 sw $, 2($t1) addi $t, $t, 1 addi $t1, $t1, 4 b -2 ARCOS Estructura de Computadores 122

123 Sistemas sin memoria virtual Principales problemas Si la imagen en memoria del programa (proceso) es mayor que la memoria disponible, no se puede ejecutar En un computador de 32 bits Cuál es el tamaño máximo teórico del programa que se puede ejecutar? Y si solo se dispone de una memoria de 512 MB? Se reduce el número de programas activos en memoria ARCOS Estructura de Computadores 123

124 Sistemas con memoria virtual No es necesario tener cargado todo el programa en memoria Solo se cargan aquellas partes que el programa utiliza Principales ventajas: Se puede ejecutar programas cuya imagen es mayor 1ue la memoria principal disponible Se pueden tener más programas activos en memoria Imagen de memoria instrucciones datos Memoria principal pila pila datos instr pila instr instr ARCOS Estructura de Computadores 124

125 Fundamentos de la memoria virtual La MV utiliza dos niveles: Memoria principal Memoria secundaria: disco Mapa de memoria virtual (direcciones generadas por el procesador) Dirección física (acierto) Memoria principal Procesador Dirección virtual MMU Fallo página El SO transfiere la página solicitada a memoria principal Memoria Secundaria (Intercambio) ARCOS Estructura de Computadores 125

126 Memoria virtual paginada Las direcciones que genera el procesador son direcciones virtuales El espacio de direcciones virtuales se divide en trozos de igual tamaño denominado páginas La memoria principal se divide en trozos de igual tamaño a las páginas denominados marcos de página La zona del disco que sirve de soporte a la memoria virtual se divide en trozos de igual tamaño denominados páginas de intercambio o páginas de swap ARCOS Estructura de Computadores 126

127 Direcciones físicas y direcciones virtuales 127 Espacio de direcciones virtuales: Direcciones de memoria con las que trabaja cada proceso Espacio de direcciones físicas: Direcciones de memoria principal en las que residen los datos Direcciones virtuales Direcciones físicas Programa Traducción HW Memoria Física ARCOS Estructura de Computadores 127

128 Memoria virtual paginada La imagen de memoria de los procesos reside inicialmente en disco instrucciones datos DV pila DV N Memoria secundaria ARCOS Estructura de Computadores 128

129 Traducción de direcciones procesador DV MMU DF La página memoria está ARCOS Estructura de Computadores 129

130 Traducción de direcciones procesador DV MMU memoria La página no está Excepción ARCOS Estructura de Computadores 13

131 Traducción de direcciones procesador DV MMU memoria La página no está Excepción (fallo de página) Sistema operativo ARCOS Estructura de Computadores 131

132 Traducción de direcciones procesador DV MMU memoria Sistema operativo Memoria secundaria ARCOS Estructura de Computadores 132

133 Traducción de direcciones procesador DV MMU DF La página está memoria ARCOS Estructura de Computadores 133

134 Traducción de direcciones procesador DV MMU DF memoria Se envía la palabra al procesador ARCOS Estructura de Computadores 134

135 Memoria virtual paginada 32 bits Dirección virtual 32 bits Dirección física División en bloques del mismo tamaño Memoria secundaria ARCOS Estructura de Computadores 135

136 Estructura de una dirección virtual Un computador de n bits tiene: Direcciones de n bits n-1 Puede direccionar 2 n bytes ARCOS Estructura de Computadores 136

137 Estructura de una dirección virtual La imagen de memoria está compuesta por páginas de igual tamaño (4 KB, 8 KB) n-1 Número de página desplazamiento m bits p bits n = m + p Memoria direccionable: 2 n bytes Tamaño de la página 2 p bytes Máximo número de páginas: 2 m ARCOS Estructura de Computadores 137

138 Ejemplo 32 bits Dirección virtual 32 bits Dirección física Memoria secundaria ARCOS Estructura de Computadores 138

139 Ejemplo 2 bits 12 bits Id página Desplazamiento Dirección virtual 2 bits Marco 12 bits Desplazamiento Dirección física Marco Con páginas de 4 KB Memoria secundaria ARCOS Estructura de Computadores 139

140 Traducción n-1 p p-1 Página virtual Desplazamiento Dirección virtual Traducción m-1 Página física p p-1 Desplazamiento Dirección Física ARCOS Estructura de Computadores 14

141 Tabla de páginas Tabla de páginas del programa en ejecución Presente ETP Si No Espacio de direcciones virtual de un programa en ejecución Página Página 1 Página 2 Página 3 Página 4 Página 5 Memoria principal Marco de página Disco ARCOS Estructura de Computadores 141

142 Estructura de la tabla de páginas Modificada Protección Nº de marco/ bloque de disco Presente/Ausente ARCOS Estructura de Computadores 142

143 Estructura de la tabla de páginas La crea el sistema operativo en memoria cuando se va a ejecutar el programa La consulta la MMU en la traducción La modifica el SO en los fallos de página ARCOS Estructura de Computadores 143

144 Ejemplo Páginas de 1 KB Proceso de 8 KB Número de páginas que ocupa: 8 Tamaño de las secciones: Instrucciones: 15 KB Datos: 1 KB Pila 2 KB ARCOS Estructura de Computadores 144

145 Ejemplo Instr Pag Instr Pag 1 Datos Pag 2 Pag 3 Pag 4 Pág 5 Pag 6 Pila Pag 7 Páginas de 1 KB Proceso de 8 KB Número de páginas que ocupa: 8 Tamaño de las secciones: Instrucciones: 15 KB -> 2 páginas Datos: 1 KB -> 1 página Pila 2 KB -> 1 página ARCOS Estructura de Computadores 145

146 Ejemplo Instr Pag Instr Pag 1 Datos Pag 2 Pag 3 Pag 4 Pág 5 Pag 6 Pila Pag 7 DV de inicio: DV final: 8191 Pags 3, 4, 5 y 6 no asignadas inicialmente al programa ARCOS Estructura de Computadores 146

147 Ejemplo Imagen inicialmente en disco Instr Pag Instr Pag 1 Datos Pag 2 Pag 3 Pag 4 Pág 5 Pag 6 Pila Pag Swap Páginas del proceso ARCOS Estructura de Computadores 147

148 Ejemplo El SO crea la tabla de páginas Instr Pag Instr Pag 1 Datos Pag 2 Pag 3 Pag 4 Pág 5 Pag 6 Pila Pag P M marco/swap Todas las páginas Inicialmente en swap Swap Páginas del proceso ARCOS Estructura de Computadores 148

149 Ejemplo Acceso a la DV procesador DV= MMU P M marco/swap Instr Pag Instr Pag 1 Datos Pag 2 Pag 3 Pag 4 Pág 5 Pag 6 Pila Pag Swap Páginas del proceso ARCOS Estructura de Computadores 149

150 Ejemplo Acceso a la DV procesador DV= MMU P M marco/swap DV= NP D Instr Pag Instr Pag 1 Datos Pag 2 Pag 3 Pag 4 Pág 5 Pag 6 Pila Pag Swap Páginas del proceso ARCOS Estructura de Computadores 15

151 Ejemplo Acceso a la DV procesador DV= MMU P M marco/swap Fallo de página La página no está en memoria DV= NP D Instr Pag Instr Pag 1 Datos Pag 2 Pag 3 Pag 4 Pág 5 Pag 6 Pila Pag Swap Páginas del proceso ARCOS Estructura de Computadores 151

152 Ejemplo Tratamiento del fallo de página procesador MMU P M marco/swap Memoria DV= NP D El SO reserva un marco de página libre en memoria ( el 5) y copia el bloque 2 al marco Swap Páginas del proceso ARCOS Estructura de Computadores 152

153 Ejemplo Tratamiento del fallo de página procesador MMU P M marco/swap Memoria DV= NP D El SO actualiza la tabla de páginas Swap Páginas del proceso ARCOS Estructura de Computadores 153

154 Ejemplo Reanudación del proceso procesador DV= MMU P M marco/swap Memoria DV= NP D Se vuelve a genera la DV Swap Páginas del proceso ARCOS Estructura de Computadores 154

155 Ejemplo Reanudación del proceso procesador DV= MMU P M marco/swap Memoria DV= NP D Se vuelve a genera la DV Swap Páginas del proceso ARCOS Estructura de Computadores 155

156 Ejemplo Reanudación del proceso procesador DV= MMU P M marco/swap Memoria DV= NP D DF 5 NP D Página presente Se genera la DF ARCOS Estructura de Computadores 156

157 Ejemplo Reanudación del proceso procesador DV= MMU P M marco/swap Memoria DV= NP D DF 5 NP D Se accede a memoria ARCOS Estructura de Computadores 157

158 Traducción Memoria principal Dirección virtual página desplazamiento Registro base de la TP n Tabla de páginas marco presente? No Si Fallo de página Excepción marco Dirección física desplazamiento Marco de página Dato referenciado ARCOS Estructura de Computadores 158

159 Protección de memoria Dirección virtual Espacio de direcciones virtual del proceso 1 Página virtual Tabla de páginas del proceso 1 Marco A Memoria principal Marco de página A Página virtual k Marco C Marco de página B Direcciones físicas diferentes Dirección virtual Espacio de direcciones virtual del proceso 2 Página virtual Tabla de páginas del proceso 2 Marco B Marco de página C Página virtual j Marco D Marco de página D ARCOS Estructura de Computadores 159

160 Proceso de lectura en un sistema con memoria virtual y caché palabra Si Se transfiere la línea de MP a MC No acierto? M caché DV Acceso a la TP DF de la ETP M caché acierto? No Si ETP DF si Página presente? No Se transfiere la línea de MP a MC Fallo de página Se transfiere la página a MP y se actualiza la ETP ARCOS Estructura de Computadores 16

161 Ejercicio 1 Sea un procesador con memoria virtual paginada de direcciones virtuales de 32 bits y páginas de 2 KB Indique el formato de la dirección virtual, así como el número máximo de páginas que puede tener un programa en ejecución en este computador ARCOS Estructura de Computadores 161

162 Ejercicio 2 Sea un computador con direcciones virtuales de 32 bits y una memoria principal de 512 MB, que emplea páginas de 4 KB Indique el formato de la dirección virtual y el número de marcos de página ARCOS Estructura de Computadores 162

163 Ejercicio 3 Sea un computador que utiliza páginas de 8 KB y que direcciona la memoria por bytes Dada la dirección virtual (en hexadecimal) x2184 Indique: El tamaño de la dirección virtual El número máximo de páginas El número de página en el que se encuentra el dato referenciado por la dirección anterior El desplazamiento dentro de la página en el que se encuentra el dato referenciado por la dirección anterior ARCOS Estructura de Computadores 163

164 Ejercicio 4 Un computador que direcciona la memoria por bytes emplea direcciones virtuales de 32 bits Cada entrada de la tabla de páginas requiere 32 bits El sistema emplea páginas de 4 KB Cuál es el espacio de memoria direccionable por un programa en ejecución? Cuál es el máximo tamaño de la tabla de páginas en este computador? ARCOS Estructura de Computadores 164

165 Ejercicio 5 Sea un sistema con un espacio de direcciones virtual de 256 Kpáginas de 8 KB cada una y una memoria física de 128 MB Cuántos bits hay en la dirección virtual? ARCOS Estructura de Computadores 165

166 Ejercicio 6 Si un computador trabaja con direcciones de 16 bits, y posee páginas de tamaño 2 KB Se pide: Qué tamaño de memoria virtual se puede direccionar? Cuántas páginas tiene la memoria virtual? Cuál será el tamaño del marco de página? Suponiendo que la memoria física es de 32 KB, cuántos marcos hay? Cuántos bits de la dirección de memoria virtual se utilizan para seleccionar entradas en la tabla de páginas? Para que se emplean los bits restantes de la dirección de memoria virtual? Cuántas entradas tendrá la tabla de páginas? ARCOS Estructura de Computadores 166

167 Ejercicio 7 Dado un hipotético computador con memoria virtual paginada con un espacio de direcciones virtuales de 64 KB, una memoria física de 16 KB En este computador, que direcciona la memoria por bytes, el número de páginas por proceso es como máximo de 512 En un instante de tiempo dado, la tabla de páginas del proceso en ejecución contiene la siguiente información: ARCOS Estructura de Computadores 167

168 Ejercicio 7 (cont) Se pide: Calcule el tamaño de cada página y el número de marcos de página Cuántas páginas tiene asignadas el proceso en ejecución? Para qué se utiliza el bit M? Indique el formato de las direcciones virtuales especificando el tamaño de los campos y el significado de cada uno Cuántos marcos de página tiene la memoria? Indique las direcciones físicas, en binario y hexadecimal, correspondientes a las direcciones virtuales 258 y 1224 expresadas ambas en decimal Dada una dirección virtual cuántos accesos a memoria física se requieren para obtener el dato? P M marco/bloque ARCOS Estructura de Computadores 168

169 Ejercicio 8 Sea un computador con direcciones virtuales de 32 bits y páginas de 4 KB En este computador se ejecuta un programa cuya tabla de páginas es: P M Perm Marco/Bloque R R 497 W 3 W 719 W 32 W 24 W 3 Se pide: Tamaño que ocupa la imagen de memoria del programa Si la primera dirección virtual del programa es x, indique la última Dadas las siguientes direcciones virtuales, indique si generan fallo de página o no x1 x11c x24 ARCOS Estructura de Computadores 169

170 Ejercicio 9 Considere un computador con direcciones virtuales de 32 bits y páginas de 8 KB Se pide: Formato de la dirección virtual Máximo número de entradas que puede tener la tabla de páginas Dado el siguiente fragmento de programa: int a[1]; for (i = ; i < 89; i++) a[i] = a[i] +1; y suponiendo que no hay ninguna página en memoria principal y que los datos e instrucciones se almacenan en páginas distintas, indique el número de fallos de página que se producen cuando se ejecuta el fragmento de programa anterior ARCOS Estructura de Computadores 17

171 Ejercicio 1 Sea un computador con direcciones virtuales de 32 bits y páginas de 4KB Según un estudio, se ha determinado que en ausencia de fallos de página, este computador es capaz de ejecutar 5 millones de instrucciones por segundo Además el porcentaje de utilización de las instrucciones (similares a la del MIPS 32) es: LOAD un 3% STORE un 1 % MOVE un 1% Operaciones aritméticas un 24 % Operaciones lógicas un 6% Bifurcaciones un 2 % Se pide: Si no hay fallos de página y las instrucciones caben en una palabra, determine el número de accesos a memoria por segundo Si la tasa de fallos de página es del 95% y el tiempo para tratar un fallos de página es de 6 ms, indique el número de instrucciones que es capaz de ejecutar este computador ARCOS Estructura de Computadores 171

Tema 5 (III) Jerarquía de Memoria

Tema 5 (III) Jerarquía de Memoria Grupo ARCOS Tema 5 (III) Jerarquía de Memoria Estructura de Computadores Grado en Ingeniería Informática Contenidos 1 Tipos de memoria 2 Jerarquía de memoria 3 Memoria principal 4 Memoria caché 5 Memoria

Más detalles

Ejercicios Jerarquía de Memoria

Ejercicios Jerarquía de Memoria Ejercicios Jerarquía de Memoria Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Memoria caché CPU cache Memoria principal 2. Memoria

Más detalles

Ejercicios del tema 5. Jerarquía de de Memoria

Ejercicios del tema 5. Jerarquía de de Memoria Ejercicios del tema 5. Jerarquía de de Memoria Ejercicio 1. Considere un computador de 32 bits con una caché de 64 KB asociativa por conjuntos de 4 vías y un tiempo de acceso de 4 ns. El tamaño de la línea

Más detalles

Memoria virtual Ejercicios resueltos

Memoria virtual Ejercicios resueltos Memoria virtual Ejercicios resueltos Ejercicio 1. Sea un computador de 20 bits con memoria virtual paginada con páginas de 1 KB y un total de memoria física de 256 KB. Se pide, de forma razonada y breve:

Más detalles

Tema 6 (II) Jerarquía de Memoria

Tema 6 (II) Jerarquía de Memoria Tema 6 (II) Jerarquía de Memoria Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Memoria cache Introducción: Acceso a bloque y principio

Más detalles

Jerarquía de memoria y memoria caché Ejercicios resueltos

Jerarquía de memoria y memoria caché Ejercicios resueltos Jerarquía de memoria y memoria caché Ejercicios resueltos Ejercicio 1. Sea un computador de 32 bits con una memoria caché de 256 KB, líneas de 64 bytes y un tiempo de acceso de 5 ns. La caché es asociativa

Más detalles

Tema 5 Jerarquía de Memoria

Tema 5 Jerarquía de Memoria Grupo ARCOS Tema 5 Jerarquía de Memoria Estructura de Computadores Grado en Ingeniería Informática Contenidos 1. Tipos de memoria 2. Jerarquía de memoria 3. Memoria principal 4. Memoria caché 5. Memoria

Más detalles

Tema 5 Jerarquía de Memoria

Tema 5 Jerarquía de Memoria Tema 5 Jerarquía de Memoria Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Tipos de memoria 2. Jerarquía de memoria 3. Memoria principal

Más detalles

Introducción a la Computación. Capitulo 4 Memoria Cache

Introducción a la Computación. Capitulo 4 Memoria Cache Introducción a la Computación Capitulo 4 Memoria Cache Características generales Ubicación Capacidad Unidad de transferencia Método de Acceso Prestaciones Dispositivo Físico Características Físicas Organización

Más detalles

Microprocesadores para comunicaciones. Escuela Técnica Superior de Ingenieros de Telecomunicación. Organización y estructura de las memorias caché

Microprocesadores para comunicaciones. Escuela Técnica Superior de Ingenieros de Telecomunicación. Organización y estructura de las memorias caché Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché Índice Introducción Niveles de jerarquía de memoria Principio

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES Ejercicio 1 Los siguientes números se encuentran representados en complemento a dos utilizando 6 bits. Indique su correspondiente valor decimal: a) 010011 b) 100111 Ejercicio 3 Dada la siguiente expresión

Más detalles

Problemas de estructura y tecnología de computadores Hoja 6: Temas 12, 13 y 14

Problemas de estructura y tecnología de computadores Hoja 6: Temas 12, 13 y 14 Problemas de estructura y tecnología de computadores Hoja 6: Temas 12, 13 y 14 1) Diseñar una memoria de 640 Kbytes (512Kbytes de RAM y 128 Kbytes de ROM) accesible a nivel de byte, empleando chips de

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Clase 7 Memoria Sistema de Memoria Los programadores desean acceder a cantidades ilimitadas de memoria rápida!! Solución práctica: Jerarquía de memoria organizada en niveles

Más detalles

Ejercicio 1. Considere el siguiente fragmento en ensamblador:

Ejercicio 1. Considere el siguiente fragmento en ensamblador: UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES Para la realización del presente examen se dispondrá de 1:30 horas. NO se podrán

Más detalles

GESTION DE LA MEMORIA

GESTION DE LA MEMORIA GESTION DE LA MEMORIA SISTEMAS OPERATIVOS Generalidades La memoria es una amplia tabla de datos, cada uno de los cuales con su propia dirección Tanto el tamaño de la tabla (memoria), como el de los datos

Más detalles

Memoria y caché. Organización del Computador I, verano de 2016

Memoria y caché. Organización del Computador I, verano de 2016 Organización del Computador I, verano de 2016 (2) El problema que nos ocupa hoy Tiempos de acceso en ciclos: Registro: 0-1 ciclos. Memoria: 50-200 ciclos. Disco: decenas de millones de ciclos. Dicho de

Más detalles

Sistemas Operativos. Trabajo Práctico N ō 6

Sistemas Operativos. Trabajo Práctico N ō 6 Departamento de Ciencias e Ingeniería de la Computación Ingeniería en Computación Ingeniería en Sistemas de Información Sistemas Operativos Segundo Cuatrimestre de 2017 Trabajo Práctico N ō 6 1. Problemas

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Curso 2006/07 Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. 5. Sistema de Entrada/Salida 6. Buses Informática Aplicada Arquitectura de Computadores 1 Características generales

Más detalles

Tema II. Unidad de memoria

Tema II. Unidad de memoria Tema II Unidad de memoria 2 Unidad de memoria 2.1 Definiciones y conceptos básicos 2.1.1 Localización 2.1.2 Capacidad 2.1.3 Unidad de transferencia 2.1.4 Método de acceso 2.1.5 Tipos físicos 2.1.6 Características

Más detalles

Sistema Cache. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Sistema Cache. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Sistema Cache Técnicas Digitales III Ing. Gustavo Nudelman 2012 RAM dinámica Almacena un bit como una capacidad espuria en un transistor La necesidad de conservar la carga y la lectura destructiva obliga

Más detalles

Tema II. Unidad de memoria

Tema II. Unidad de memoria Tema II Unidad de memoria 2.1 Definiciones y conceptos básicos. 2.2 Jerarquía de memorias. 2.3 Memorias de semiconductor. 2.4 Memorias asociativas. 2.5 Memoria caché. 2.6 Discos magnéticos. 2.1 Definiciones

Más detalles

Memoria virtual. 6. La: memoria. Fundamentos de Computadores Ingeniería de Telecomunicación. Departamento de Automática Escuela Politécnica Superior

Memoria virtual. 6. La: memoria. Fundamentos de Computadores Ingeniería de Telecomunicación. Departamento de Automática Escuela Politécnica Superior 6. La: memoria Fundamentos de Computadores Ingeniería de Telecomunicación Raúl Durán Díaz Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Raúl Durán Díaz 6. La: memoria

Más detalles

Ejercicios sobre gestión de memoria

Ejercicios sobre gestión de memoria Boletín 6 Ejercicios sobre gestión de memoria July 15, 2016 1. Sea un sistema que emplea un mecanismo de paginación para gestionar la memoria. Las páginas son de 2 KB y una entrada de la tabla de páginas

Más detalles

Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Arquitectura de Computadores. Clase 24

Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Arquitectura de Computadores. Clase 24 Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Arquitectura de Computadores Clase 24 Semestre B-2010 Ícaro Alzuru C. AGENDA Memoria Virtual Memory Management Unit

Más detalles

Arquitectura de Computadores Problemas (hoja 4). Curso

Arquitectura de Computadores Problemas (hoja 4). Curso Arquitectura de Computadores Problemas (hoja 4). Curso 2006-07 1. Sea un computador superescalar similar a la versión Tomasulo del DLX capaz de lanzar a ejecución dos instrucciones independientes por ciclo

Más detalles

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN CUESTIONES A TRATAR: Existe un tipo único tipo de memoria en un determinado computador? Todas las memorias de un computador tienen la misma función?. Qué es la memoria interna de un computador? Por qué

Más detalles

2º Cuatrimestre MÓDULO 11: Introducción a la jerarquía de memoria. fc 2

2º Cuatrimestre MÓDULO 11: Introducción a la jerarquía de memoria. fc 2 2º Cuatrimestre 2012 2013 MÓDULO 11: Introducción a la jerarquía de memoria 1 Sistema de memoria de un computador Qué es una memoria? Cómo se implementa? Cómo se soluciona el problema del tiempo de acceso

Más detalles

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos Arquitectura de ordenadores (fundamentos teóricos) Representación de la información Estructura de un microprocesador Memorias Sistemas de E/S Elementos de un ordenador Microprocesador Placa base Chipset

Más detalles

UNIDAD TEM ATICA 3: ACELERACI ON DEL ACCESO A MEMORIA.

UNIDAD TEM ATICA 3: ACELERACI ON DEL ACCESO A MEMORIA. UNIDAD TEMÁTICA 3: ACELERACIÓN DEL ACCESO A MEMORIA. 10. Evaluación de las prestaciones del subsistema de memoria. 11. Mejora de las prestaciones de las antememorias. 12. Mejora de las prestaciones de

Más detalles

Trabajo Práctico Número 6

Trabajo Práctico Número 6 Página 1 de 6 Trabajo Práctico Número 6 Arquitectura de Computadoras 24/05/2014 Instrucciones Los problemas de ejercitación propuestos en el presente trabajo práctico pueden ser resueltos en forma individual

Más detalles

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Subsistemas de memoria. Departamento de Arquitectura de Computadores Subsistemas de memoria Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características

Más detalles

Organización lógica Identificación de bloque

Organización lógica Identificación de bloque Cómo se encuentra un bloque si está en el nivel superior? La dirección se descompone en varios campos: Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos bloques que

Más detalles

Ejercicios de jerarquía de memoria

Ejercicios de jerarquía de memoria Ejercicios de jerarquía de memoria J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Arquitectura de Computadores Grupo ARCOS Departamento

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique

Más detalles

QUÉ ES LA MEMORIA CACHÉ?

QUÉ ES LA MEMORIA CACHÉ? QUÉ ES LA MEMORIA CACHÉ? Es una memoria de acceso rápido que se encuentra entre la CPU y la MEMORIA PRINCIPAL El ser pequeña y rápida es muy útil para acceder a datos o instrucciones recientemente accedidas

Más detalles

Universidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1

Universidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1 Arquitectura I Sistema de memoria 1 1. En un espacio de direcciones de 64 Kbytes deben colocarse los s de memoria que se indican. Suponer que el direccionamiento de la memoria se hace al byte. Dibujar

Más detalles

Memoria Cache. Departamento de Arquitectura de Computadores

Memoria Cache. Departamento de Arquitectura de Computadores Memoria Cache Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas

Más detalles

Memoria. Organización de memorias estáticas.

Memoria. Organización de memorias estáticas. Memoria 1 Memoria Organización de memorias estáticas. 2 Memoria En memoria físicas con bus de datos sea bidireccional. 3 Memoria Decodificación en dos niveles. 4 Necesidad de cantidades ilimitadas de memoria

Más detalles

MEMORIAS. Arquitectura de Computadoras. (Conceptos Introductorios) M. C. Felipe Santiago Espinosa

MEMORIAS. Arquitectura de Computadoras. (Conceptos Introductorios) M. C. Felipe Santiago Espinosa MEMORIAS Arquitectura de Computadoras (Conceptos Introductorios) M. C. Felipe Santiago Espinosa Junio - 2017 1 Memorias Introducción Una memoria es un dispositivo capaz de almacenar información. Operaciones:

Más detalles

Arquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos

Arquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos Universidad del País Vasco Facultad de Informática Departamento de Arquitectura y Tecnología de Computadores Arquitectura de Computadores I Sistema de memoria 3 (Solución): Segmentación + Bancos En un

Más detalles

Memoria Virtual. Ing. Jorge Castro-Godínez

Memoria Virtual. Ing. Jorge Castro-Godínez Memoria Virtual Lección 7 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre 2014 Jorge Castro-Godínez

Más detalles

Sistema de memoria. Introducción

Sistema de memoria. Introducción Sistema de memoria Introducción Memorias de acceso aleatorio: Apropiadas para la memorización a largo plazo de programas. Grandes y lentas. Organización: n: líneas de direcciones. m: tamaño de palabra.

Más detalles

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria

Más detalles

Tema 6: Sistema de memoria

Tema 6: Sistema de memoria Tema 6: Sistema de memoria Introducción Jerarquía del sistema de memorias Memoria principal Memoria entrelazada Memoria cache Políticas de ubicación Políticas de extracción Políticas de reemplazo Políticas

Más detalles

La solución es colocar un memoria más pequeña y rápida entre la CPU y la memoria principal.

La solución es colocar un memoria más pequeña y rápida entre la CPU y la memoria principal. Lo ideal sería hacer la memoria principal con la misma tecnología que los registros internos de la CPU por su gran velocidad. Esto no es posible por su elevado coste. La solución es colocar un memoria

Más detalles

Práctica 5 - Memoria Cache

Práctica 5 - Memoria Cache Práctica 5 - Memoria Cache Organización del Computador 1 Verano 2008 Aclaración: siempre que se informa del tamaño de una memoria cache o de una línea, se está haciendo referencia a la capacidad útil de

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

Memoria caché básica

Memoria caché básica Memoria caché básica Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS Departamento de Informática

Más detalles

Memoria Virtual. Departamento de Arquitectura de Computadores

Memoria Virtual. Departamento de Arquitectura de Computadores Memoria Virtual Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas

Más detalles

Tema 5: Memorias. Espacio reservado para notas del alumno

Tema 5: Memorias. Espacio reservado para notas del alumno Tema 5: Memorias S Definiciones S Parámetros característicos S Jerarquía de memoria S Dispositivos de almacenamiento S Clasificación S Fundamentos de las memorias S Memoria caché / Memoria virtual S Memoria

Más detalles

Memoria Virtual. Memoria Virtual

Memoria Virtual. Memoria Virtual Memoria Virtual DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 Memoria Virtual Define la relación entre memoria principal y memoria secundaria Permite crear la ilusión de una memoria principal de

Más detalles

Tema 5. El sistema de memoria

Tema 5. El sistema de memoria Soluciones a los problemas impares Tema 5. Arquitectura de Computadores Curso 009-010 Tema 5: Hoja: / 36 Tema 5: Hoja: 3 / 36 Base teórica es el lugar donde residen los programas y datos ya que según la

Más detalles

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. MEMORIAS CACHE Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. Tiempo ciclo memoria > tiempo de ciclo del procesador la CPU debe esperar a la memoria

Más detalles

Estructura básica de un ordenador

Estructura básica de un ordenador Estructura básica de un ordenador CPU.Unidad Central de proceso Memoria Naturaleza electrónica, Microprocesador Controlar y coordinar todas las operaciones del sistema Ejecuta instrucciones de programas»

Más detalles

Ejercicios de Arquitectura de Computadoras

Ejercicios de Arquitectura de Computadoras Ejercicios Arquitectura Computadoras José Garzía 9 En este tipo ejercicios bemos tener siempre presentes estas tres ecuaciones: MP ( en Memoria Principal ) Cantidad en la Memoria Principal por Cantidad

Más detalles

Trabajo Práctico Número 6 Arquitectura de Computadoras

Trabajo Práctico Número 6 Arquitectura de Computadoras Trabajo Práctico Número 6 Arquitectura de Computadoras http://www.herrera.unt.edu.ar/arqcom De qué trataba este TP? Memoria caché: Políticas de escritura: write-back, write-through Métricas de performance:

Más detalles

Arquitectura de Computadores. Apellidos, Nombre:

Arquitectura de Computadores. Apellidos, Nombre: No se considerarán como válidas las respuestas en las que no se justifiquen los cálculos realizados No se permite el uso de ningún tipo de documentación, ni de calculadora Sólo existe una única opción

Más detalles

Memoria Caché. Organización de Computadoras Universidad Nacional de Quilmes

Memoria Caché. Organización de Computadoras Universidad Nacional de Quilmes Memoria Caché Organización de Computadoras Universidad Nacional de Quilmes Durante la ejecución de un programa se accede a memoria con un criterio que no es aleatorio, pero tampoco absolutamente predecible.

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES Para la realización del presente examen se dispondrá de 15 minutos. NO se podrán utilizar libros, apuntes ni calculadoras de Ejercicio 1 Los siguientes números se encuentran representados en complemento

Más detalles

Organización de computadoras. Clase 11. Universidad Nacional de Quilmes. Lic. Martínez Federico

Organización de computadoras. Clase 11. Universidad Nacional de Quilmes. Lic. Martínez Federico Organización de computadoras Clase 11 Universidad Nacional de Quilmes Lic. Martínez Federico Qué vimos? Mascaras Qué vimos? Qué vimos? Mascaras Repeticiones controladas Qué vimos? Mascaras Repeticiones

Más detalles

Tema 5. El Sistema de Memoria

Tema 5. El Sistema de Memoria Tema 5. Arquitectura de Computadores Curso 2009-2010 Índice Transparencia: 2 / 38 Características del sistema de memoria Memoria principal y entrelazado de memoria Jerarquía del sistema de memorias Principios

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa

Más detalles

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al.

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al. 1 Informática E.P.S. Universidad de Sevilla TEMA 2: Estructura de Computadores 2 BIBLIOGRAFIA Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del

Más detalles

Introducción a memorias cache

Introducción a memorias cache Introducción a memorias cache Lección 6 Ing. Cristina Murillo Miranda Arquitectura de Sistemas Embebidos Programa de Maestría en Electrónica Énfasis en Sistemas Embebidos Escuela de Ingeniería en Electrónica

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual 1 Recordemos: Jerarquía de Memoria Registros Instr.

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual Recordemos: Jerarquía de Memoria Nivel Superior Registros

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador Ejercicios del tema 4. El procesador Estructura del procesador elemental WepSIM Address Bus Data Bus Control Bus C0 Ta Internal Bus RA RB RC LC MAR T9 Memory MRdy BE ADDR DATA R W A31-A0 BE3-BE0 D31-D0

Más detalles

Sistemas operativos: una visión aplicada. Capítulo 1 Conceptos arquitectónicos

Sistemas operativos: una visión aplicada. Capítulo 1 Conceptos arquitectónicos Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos Contenido Estructura del computador Ejecución de instrucciones Interrupciones Reloj del computador Jerarquía de memoria Entrada/Salida

Más detalles

Memoria virtual Ubicación de bloque en paginación

Memoria virtual Ubicación de bloque en paginación Ubicación de bloque en paginación Dónde puede ubicarse un bloque en memoria principal? Los sistemas operativos permiten que los bloques se coloquen en cualquier parte de la memoria principal (totalmente

Más detalles

Registros. Cache L1. Cache L2. Memoria Principal (RAM) Memoria Secundaria (Disco) Memoria Terciaria (Cinta)

Registros. Cache L1. Cache L2. Memoria Principal (RAM) Memoria Secundaria (Disco) Memoria Terciaria (Cinta) Basadas en las Versión 1.0 del Dpto. de Arquitectura-InCo-FIng JERARQUÍA DE MEMORIA 1 Introducción Este capítulo está dedicado al análisis de los distintos niveles de memoria existentes en un computador,

Más detalles

Tema 0. Introducción a los computadores

Tema 0. Introducción a los computadores Tema 0 Introducción a los computadores 1 Definición de computador Introducción Máquina capaz de realizar de forma automática y en una secuencia programada cierto número de operaciones sobre unos datos

Más detalles

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos

Más detalles

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información 1 1. Conceptos básicos 2 Qué hacen los ordenadores? Un ordenador trabaja únicamente con información. Cuatro funciones básicas: Recibe información (entrada). Procesa la información recibida. Almacena la

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

Enunciados de problemas. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Enunciados de problemas. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas Enunciados de problemas Tema 5. Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 5 Hoja: 2 / 14 Tema 5 Hoja: 3 / 14 Base teórica La memoria es el lugar en el que

Más detalles

INFORME MEMORIA CACHE Y MEMORIA VIRTUAL.

INFORME MEMORIA CACHE Y MEMORIA VIRTUAL. AIEP PROGRAMACIÓN COMPUTACIONAL FUNDAMENTOS DE PROGRAMACIÓN INFORME MEMORIA CACHE Y MEMORIA VIRTUAL. Por:Diego Menéndez Introducción. Ante la inmensa velocidad de los procesadores que a medida del tiempo

Más detalles

4. Cuánta memoria puede direccionar con registros de 16 bits si la palabra es de 20 bits? Respuesta: Se puede direccionar 2 20 = 1Mb.

4. Cuánta memoria puede direccionar con registros de 16 bits si la palabra es de 20 bits? Respuesta: Se puede direccionar 2 20 = 1Mb. . Explique la diferencia entre direccionamiento lógico y físico. 2. Explique la diferencia entre fragmentación interna y externa. 3. Cuánta memoria puede direccionar con una palabra de 6 bits.? Respuesta:

Más detalles

Mapa de memoria. memoria CACHÉ

Mapa de memoria. memoria CACHÉ Mapa de memoria memoria CACHÉ Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA. Segmentación de la memoria Estructuración

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos Memoria virtual Resumen de ideas para mejorar performance 1 Recordemos:

Más detalles

Caché. Matías Barbeito Organización del computador 1 2 cuatrimestre 2011

Caché. Matías Barbeito Organización del computador 1 2 cuatrimestre 2011 Caché Matías Barbeito Organización del computador 1 2 cuatrimestre 2011 Ciclo de ejecución 1. Busco próxima instrucción 2. Incremento el PC 3. Decodifico 4. Busco operandos 5. Ejecuto 6. Guardo resultados

Más detalles

Tema 6: Memoria virtual. Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles

Tema 6: Memoria virtual. Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles Tema 6: Memoria virtual Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles Contenidos Introducción. Localización de páginas. Fallos de página. TLB. Gestión de fallos

Más detalles

Basado en S.O. de William Stallings / 5ed. y S.O. de Jesús Carretero (y otros). Universidad Simón Bolívar

Basado en S.O. de William Stallings / 5ed. y S.O. de Jesús Carretero (y otros). Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Necesidades de memoria en S.O. La multiprogramación requiere la convivencia de

Más detalles

Tema 13. Memoria cache

Tema 13. Memoria cache 1 Estructura y Tecnología de Computadores F. El subsistema de memoria Tema 13. Memoria cache José Manuel Mendías Cuadros Dpto.. Arquitectura de Computadores y Automática Universidad Complutense de Madrid

Más detalles

Organización del Computador 1 Memoria Cache

Organización del Computador 1 Memoria Cache Organización del Computador 1 Memoria Cache Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 2011 Memorias: Evolución Memoria cache Pioneros: Maurice Wilkes

Más detalles

Concepto de memoria virtual

Concepto de memoria virtual Concepto de memoria virtual Problema: necesidad de programas mayores que la memoria física. 1ª solución: OVERLAYS (solapamientos, superposiciones) El programador divide los programas en partes que caben

Más detalles

Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual

Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Memoria Virtual Curso 20/202 / 43 Índice Introducción

Más detalles

Introducción Composición Caracteristicas Jerarquía Tipos Memoria Diseño. Cache. Memorias

Introducción Composición Caracteristicas Jerarquía Tipos Memoria Diseño. Cache. Memorias Memorias Memoria de un Computador IntroducciónI d Introducción La memoria contiene los programas y los datos Es un elemento sencillo pero de gran diversidad En un computador están organizadas jerárquicamente

Más detalles

ARQUITECTURA DE COMPUTADORES. 2º INGENIERÍA INFORMÁTICA. Problemas de Gestión de Memoria.

ARQUITECTURA DE COMPUTADORES. 2º INGENIERÍA INFORMÁTICA. Problemas de Gestión de Memoria. ARQUITECTURA DE COMPUTADORES 2º INGENIERÍA INFORMÁTICA Problemas de Gestión de Memoria 1 Se tiene un procesador de tamaño de palabra 16 bits con un espacio de direcciones de 2 16 posiciones de memoria

Más detalles

Sistemas Informáticos

Sistemas Informáticos Sistemas Informáticos Informática Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la información. Término de 1962 INFORmaciónautoMÁTICA Organizar, almacenar,

Más detalles

Clase Práctica Memoria Caché

Clase Práctica Memoria Caché Organización del Computador 1 Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 1 de Junio de 2010 Clase Práctica Memoria Caché Qué es la memoria caché? En el sentido general, un caché

Más detalles

Introducción. Universidad de Sonora Arquitectura de Computadoras 2

Introducción. Universidad de Sonora Arquitectura de Computadoras 2 Memoria virtual Introducción Memoria virtual es un mecanismo que permite que la memoria principal parezca mas grande que su tamaño físico. Permite ejecutar programas mas grandes que la memoria física disponible.

Más detalles

Memorias FORMAS DE ESCRITURA

Memorias FORMAS DE ESCRITURA MEMORIAS Memorias FORMAS DE ESCRITURA BIG-ENDIAN: El bit más significativo en la dirección mas baja LITTLE-ENDIAN: El bit más significativo en la dirección mas alta Little-endian: INTEL Big-Endian: MOTOROLA,

Más detalles

Capítulo 1 Conceptos arquitectónicos

Capítulo 1 Conceptos arquitectónicos Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos Contenido Estructura del computador Ejecución de instrucciones Interrupciones Reloj del computador Jerarquía de memoria Entrada/Salida

Más detalles

MEMORIA EJERCICIO 1 EJERCICIO 2

MEMORIA EJERCICIO 1 EJERCICIO 2 MEMORIA EJERCICIO 1 Determinar el mapa de memoria de un procesador con 16 señales de bus de direcciones, una señal de asentimiento de bus de direcciones AS, una señal de lectura R, otra de escritura W

Más detalles

Introducción. Universidad de Sonora Arquitectura de Computadoras 2

Introducción. Universidad de Sonora Arquitectura de Computadoras 2 Memoria virtual Introducción Memoria virtual es un mecanismo que permite que la memoria principal parezca mas grande que su tamaño físico. Permite ejecutar programas mas grandes que la memoria física disponible.

Más detalles

Subsistema de Memoria

Subsistema de Memoria Organización de computadoras Universidad Nacional de Quilmes 10 de noviembre de 2014 Introducción En las últimas décadas, cada 18 meses: 1 la velocidad de proceso (en cantidad de instrucciones ejecutadas

Más detalles

ARQUITECTURA DE COMPUTADORES. 2º INGENIERÍA INFORMÁTICA. SOLUCIONES Problemas de Gestión de Memoria Etiqueta Índice byte

ARQUITECTURA DE COMPUTADORES. 2º INGENIERÍA INFORMÁTICA. SOLUCIONES Problemas de Gestión de Memoria Etiqueta Índice byte ARQUITECTURA DE COMPUTADORES 2º INGENIERÍA INFORMÁTICA SOLUCIONES Problemas de Gestión de Memoria 1 Antes de ver en qué entradas de la memoria caché van a ir los bloques asociados a las referencias que

Más detalles