Organización y Arquitectura de Computadores

Slides:



Advertisements
Presentaciones similares
Organización y arquitectura de sistemas de memoria
Advertisements

Estructura y Tecnología de Ordenadores Noviembre 2004.
Memorias.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Arquitectura de Computadores Clase 19 Memoria Caché: Funciones de Correspondencia IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
Las memorias MRAM (Magnetic Random Access Memory), tienen su origen conceptual en las antiguas memorias de ferrita.
Componentes físicos de un ordenador MSc. Lic. David Escalera.
ARQUITECTURA DE COMPUTADORES ESCUELA: NOMBRES: Escuela de Ciencias de la Computación Ing. Greyson Alberca P. BIMESTRE: Primero.
Arquitectura Básica de un Ordenador -Ana Mª Torres Ordóñez.
1 Tema 1: Introducción A Los SI Sistemas Operativos Monopuesto 1º SMR Tema 1: Introducción A Los SI.
Estructura de un ordenador. Ronald Valverde Zambrano.
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.
Teoría de Sistemas Operativos Archivos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
PARTICIONES EN UN DISCO DURO Diagnóstico y Mantenimiento INTE 3020 Elena López 15/11/2013.
ARQUITECTURA DE COMPUTADORES LA MEMORIA Sebastian Mauricio Guarin Alarcón Claudia Muñoz Juliana Barrera Herrera.
1 MEMORIAS Fundamentos de Informática Ingeniería Técnica Diseño Industrial.
BOARD O TARJETA MADRE. EXPOSICION DE INFORMATICA TEMA 1: BOARD TIPOS DE PROCESADOR BUS PUERTOS MEMORIA NUEVAS TECNOLOGIAS.
Areas de memoria del CJ.
Menú Presentación Dispositivos de Salida Que es informática
IDENTIFICACIÓN Y CARACTERÍSTICAS DE MEMORIA RAM Y ROM
Título ¡Unidad 2!.
Datapath para las instrucciones aritméticas y lógicas
¿Qué es una computadora?
Memoria Introducción.
COMPONENTES BÁSICOS DEL COMPUTADOR
INFORMATICA.
La Memoria Memoria de la computadora es el espacio de almacenamiento en la computadora donde datos va a ser procesada y se almacenan las instrucciones.
Otros temas sobre cachés
Unidad 7: Nivel Interno Algunos Conceptos Importantes
Componentes básicos de una computadora
Organización del Computador
Organización del caché
Unidad de Procesamiento Central
Computación Curso 2017.
Alumna: Miriam de Jesús De la torre Montellano.
Hardware, software, y periféricos
MENU SOFWARE Y HADWARE DISPOSITIVOS DE SALIDA DISPOSITIVOS DE ENTRADA
Componentes físicos internos
MANTENIMIENTO CORRECTIVO
Qué son y características generales
ORDENADORES Y EL SISTEMA COMPUTACIONAL
MEMORIAS. Alba Lus, Esther Escobar, Laura Hierro, Raquel Fdez.
Refuerzo teórico Alumno: Edmundo Murguía casas
Unidades de almacenamiento
Partes del Motherboard. Sistema Operativo El conjunto de programas informáticos que permite la administración eficaz de los recursos de una computadora.
UD1 (PARTE 2: NUMERACIÓN)
MEMORIA RAM.
Modelo de Von Neumman U.A.C.M Alejandra Andrade.
PROCESADOR DIGITAL ESPECIALIZADO
 La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad.
.La Computadora. La computadora es una maquina capaz de realizar y controla a gran velocidad cálculos y procesos complicados que requieren una toma.
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
Dispositivos de almacenamiento
Conceptos Básicos Informática
Capitulo 1 Almacenamiento de datos
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
Memoria Principal. Memoria primaria (MP), memoria principal, memoria central o memoria interna es la memoria de la computadora donde se almacenan temporalmente.
Dispositivo de almacenamiento Gabriel Astudillo Contreras Juan P Belmar Vendaño Rhode Jara Labrín José Pradenas Cisterna N° Grupo:9 Profesor:Rosita Caniumil.
Memoria Cachés.
Otros temas sobre cachés
Componentes de una computadora
MEMORIA  Es un conjunto de celdas de almacenamiento junto a circuitos asociados que tienen como fin leer y/o almacenar información digital  La memoria.
Estructura de un equipo microinformático
Organización del caché
MEDIOS DE ALMACENAMIENTO
Memoria Rendimiento del caché.
Dispositivo de almacenamiento Gabriel Astudillo Contreras Juan P Belmar Vendaño Rhode Jara Labrín José Pradenas Cisterna N° Grupo:9 Profesor:Rosita Caniumil.
DISPOSITIVOS DE ALMACENAMIENTO DE DATOS
Transcripción de la presentación:

Organización y Arquitectura de Computadores CAPÍTULO III “MEMORIA” ING. GREYSON PAUL ALBERCA PRIETO Capítulo III Arquitectura de Computadores

CONTENIDOS Organización del Computador Componentes de computador y Buses MEMORIA Entrada/Salida Bibliografía ・Organización y Arquitectura de Computadores, William Stalling Capítulo III

Arquitectura de Computadores OBJETIVOS Identificarlos diferentes tipos de memoria junto con sus características principales Conocer las jerarquía de los sistemas de memoria y así poder diferenciar capacidades, rapidez, costos. Ejemplificar los tipos de memoria de acuerdo a la aplicabilidad y uso adecuados. Capítulo III Arquitectura de Computadores

Arquitectura de Computadores UNIDAD DE TRANSFERENCIA Palabra. Igual al número de bits utilizados para representar un número entero y la longitud de una instrucción. Es la forma de localizar la información en memoria. Líneas de datos de entrada y salida del módulo de memoria, Capítulo III Arquitectura de Computadores

Arquitectura de Computadores UNIDAD DE TRANSFERENCIA Unidad direccionable. Es el tamaño mínimo que podemos direccionar en la memoria. El tamaño puede o no coincidir con el ancho de palabra Es la forma de localizar la información en memoria. Líneas de datos de entrada y salida del módulo de memoria, Capítulo III Arquitectura de Computadores

Arquitectura de Computadores UNIDAD DE TRANSFERENCIA Unidad de transferencia. Para la memoria principal es el número de bits que se leen o escriben en memoria a la vez, lo mínimo que puedo leer. Es la forma de localizar la información en memoria. Líneas de datos de entrada y salida del módulo de memoria, Capítulo III Arquitectura de Computadores

Arquitectura de Computadores MÉTODO DE ACCESO Acceso secuencial (SAM: Sequencial Access Memory). Gran capacidad de almacenamiento Acceso directo (DAM: Direct Access Memory). Acceso directo y luego uno secuencial Acceso aleatorio (RAM: Random Access Memory). Acceso asociativo (CAM: Content Addressable Memory). Modo de acceso por contenido se busca en toda la memoria al mismo tiempo Acceso secuencial (SAM: Sequencial Access Memory). Se emplea por ser de gran capacidad de almacenamiento, por ejemplo, cintas de audio. Es una memoria lenta. Acceso directo (DAM: Direct Access Memory). Es una memoria en la que primero se produce un acceso directo y luego uno secuencial. Acceso aleatorio (RAM: Random Access Memory). Igual tiempo de acceso menos directo siempre. Acceso asociativo (CAM: Content Addressable Memory). Modo de acceso por contenido y funciona de la siguiente forma: se busca en toda la memoria al mismo tiempo y ,cuando se encuentra lo que buscamos, se da la direcci溶 donde se ha encontrado como, por ejemplo, en redes neuronales. M. cache Capítulo III Arquitectura de Computadores

VELOCIDAD Tiempo de Acceso (TA). RAM: tiempo que transcurre desde el instante en el que se presenta una dirección a la memoria hasta que el dato, o ha sido memorizado, o está disponible para su uso (es decir, desde que doy la dirección hasta que L/E en memoria). CAM o la SAM: tiempo que se emplea en situar el mecanismo de L/E en la posición deseada, es decir, tiempo que tarda en el registro. . Para medir el rendimiento se utilizan tres par�etros: Tiempo de Acceso (TA). Según el tipo de memoria que se trate tendremos dos tipos de TA: Si se trata de una aleatoria como la RAM: tiempo que transcurre desde el instante en el que se presenta una dirección a la memoria hasta que el dato, o ha sido memorizado, o está disponible para su uso (es decir, desde que doy la dirección hasta que L/E en memoria). · Si es otra memoria como la CAM o la SAM: tiempo que se emplea en situar el mecanismo de L/E en la posición deseada, es decir, tiempo que tarda en el registro. Tiempo de Ciclo de memoria (TC). Tiempo que transcurre desde que se da la orden de una operación de L/E hasta que se puede dar otra orden de L/E porque sino NO le da tiempo a responder y crearía un tiempo muerto que nos interesa que sea lo menor posible

VELOCIDAD Tiempo de Ciclo de memoria (TC). Tiempo que transcurre desde que se da la orden de una operación de L/E hasta que se puede dar otra orden de L/E porque sino NO le da tiempo a responder y crearía un tiempo muerto que nos interesa que sea lo menor posible . Para medir el rendimiento se utilizan tres par�etros: Tiempo de Acceso (TA). Según el tipo de memoria que se trate tendremos dos tipos de TA: Si se trata de una aleatoria como la RAM: tiempo que transcurre desde el instante en el que se presenta una dirección a la memoria hasta que el dato, o ha sido memorizado, o está disponible para su uso (es decir, desde que doy la dirección hasta que L/E en memoria). · Si es otra memoria como la CAM o la SAM: tiempo que se emplea en situar el mecanismo de L/E en la posición deseada, es decir, tiempo que tarda en el registro. Tiempo de Ciclo de memoria (TC). Tiempo que transcurre desde que se da la orden de una operación de L/E hasta que se puede dar otra orden de L/E porque sino NO le da tiempo a responder y crearía un tiempo muerto que nos interesa que sea lo menor posible

VELOCIDAD Velocidad de Transferencia (VT). Es la velocidad a la que se pueden transferir datos a, o desde, una unidad de memoria. Según el tipo de memoria existen dos casos de velocidad: . Para medir el rendimiento se utilizan tres par�etros: Tiempo de Acceso (TA). Según el tipo de memoria que se trate tendremos dos tipos de TA: Si se trata de una aleatoria como la RAM: tiempo que transcurre desde el instante en el que se presenta una dirección a la memoria hasta que el dato, o ha sido memorizado, o está disponible para su uso (es decir, desde que doy la dirección hasta que L/E en memoria). · Si es otra memoria como la CAM o la SAM: tiempo que se emplea en situar el mecanismo de L/E en la posición deseada, es decir, tiempo que tarda en el registro. Tiempo de Ciclo de memoria (TC). Tiempo que transcurre desde que se da la orden de una operación de L/E hasta que se puede dar otra orden de L/E porque sino NO le da tiempo a responder y crearía un tiempo muerto que nos interesa que sea lo menor posible

DISPOSITIVOS FÍSICOS Los sistemas de memorias empleados en los computadores utilizan diferentes dispositivos físicos. Para la MEMORIA PRINCIPAL se utilizan memorias semiconductoras. Para MEMORIA SECUNDARIA, ya que responden a la necesidad de almacenar grandes cantidades de información, se emplean: Memorias magnéticas, cintas, discos, etc. Memorias ópticas, utilizadas. Memorias magneto−ópticas. Capítulo III

CARACTERÍSTICAS FÍSICAS ALTERABILIDAD. Memorias ROM (Read Only Memory) y RWM (Read Writable Memory). PERMANENCIA DE LA INFORMACIÓN. Relacionado con la duración de la información almacenada en memoria: LECTURA DESTRUCTIVA. Memorias de lectura destructiva DRO (Destructive Read Out) y memorias de lectura no destructiva NDRO (Non Destructive Read Out). VOLATILIDAD. corte en el suministro eléctrico. Memorias volátiles y no volátiles. ALMACENAMIENTO ESTÁTICO/DINÁMICO. SRAM (Static Random Access Memory) DRAM (Dynamic Random Access Memory) Alterabilidad. Esta propiedad hace referencia a la posibilidad de alterar el contenido de una memoria, las hay de lectura s様o o de lectura / escritura. Memorias ROM (Read Only Memory) y RWM (Read Writable Memory). � Permanencia de la informaci溶. Relacionado con la duraci溶 de la informaci溶 almacenada en memoria: Lectura destructiva. Memorias de lectura destructiva DRO (Destructive Read Out) y memorias de lectura no destructiva NDRO (Non Destructive Read Out). Volatilidad. Esta caracter痴tica hace referencia a la posible destrucci溶 de la informaci溶 almacenada en un cierto dispositivo de memoria cuando se produce un corte en el suministro el残trico. Memorias vol�iles y no vol�iles. Almacenamiento est�ico/din�ico. Una memoria es est�ica SRAM (Static Random Access Memory) si la informaci溶 que contiene no var誕 con el tiempo. Una memoria es din�ica DRAM (Dynamic Random Access Memory) si la informaci溶 almacenada se va perdiendo conforme transcurre el tiempo; para que no se pierda el contenido habr� que recargar o refrescar la informaci溶.

Arquitectura de Computadores JERARQUÍA DE MEMORIA “La vida es cuestión de prioridades” Registros Caché N1-N2 Memoria principal Disco Magnético Cinta Magnética Disco Óptico Costo por bit Capacidad Tiempo de acceso Frecuencia de acceso Capítulo III Arquitectura de Computadores

NIVEL TECNOLOGÍA TIEMPO DE ACCESO COSTO POR MBYTE CACHÉ SRASM 3 - 10 ns $ 100 - 150 MEMORIA PRINCIPAL DRAM 80 - 400 ns $ 5 - 10 DISCO Disco Magnético 2 - 5 ms $ 1 - 0.2 Capítulo III

Arquitectura de Computadores MEMORIA SEMICONDUCTORA Capítulo III Arquitectura de Computadores

MEMORIA CACHÉ La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermedia Originalmente es el nombre del nivel de la jerarquía de memoria entre los registros y la memoria principal Hoy en día es cualquier memoria gestionada para aprovecha la localidad de los accesos Ej.. Cache de disco CPU CACHE MEMORIA RAM Capítulo III

Arquitectura de Computadores Capítulo III Arquitectura de Computadores

Arquitectura de Computadores LECTURA DE UNA CACHE Capítulo III Arquitectura de Computadores

Arquitectura de Computadores

Arquitectura de Computadores ELEMENTOS DE DISEÑO DE CACHE Tamaño Función de correspondencia Algoritmo de sustitución Política de escritura Tamaño del bloque Número de caches Capítulo III Arquitectura de Computadores

Arquitectura de Computadores Capítulo III Arquitectura de Computadores

Correspondencia directa Cada bloque tiene solamente un lugar donde puede aparecer en la cache Correspondencia asociativa. Se puede colocar un bloque en cualquier parte. Correspondencia asociativa por conjuntos. Primero se determina un conjunto de forma directa, y dentro del conjunto puede ubicarse en cualquier lugar. Un conjunto es un grupo de bloques. Si hay n bloques en un conjunto, la caché se dice asociativa por conjuntos de n vias (n-asociativa). Correspondencia directa Cada bloque tiene solamente un lugar donde puede aparecer en la cache. Correspondencia asociativa. Se puede colocar un bloque en cualquier parte. Correspondencia asociativa por conjuntos. Primero se determina un conjunto de forma directa, y dentro del conjunto puede ubicarse en cualquier lugar. Un conjunto es un grupo de bloques. Si hay n bloques en un conjunto, la caché se dice asociativa por conjuntos de n vias (n-asociativa). Capítulo III Arquitectura de Computadores

CORRESPONDENCIA DIRECTA 0000 0001 0010 00 01 10 11 CORRESPONDENCIA DIRECTA Cada bloque(memoria principal) solo puede ir en una posición de la cache Cj  Mi si i= j (mod C). Siendo Cj = línea j de la cache Mi = bloque i de la M. principal C = nº de líneas de la cache Ejemplo: si un bloque se encuentra en la cache, debería estar en un lugar específico. Capítulo III

FORMATO DE INSTRUCCIÓN Etiqueta (s-r bits) Línea (r bits) Palabra (w bits) codifica el bloque de memoria asociado a esa línea de cache codifica el nº de línea de cache donde se realiza la búsqueda codifica el nº de palabras de memoria de cada bloque de memoria Los w bits menos significativos identifican una sóla palabra. La mayoría de los s bits significativos especifican un bloque de la memoria. Los s bits significativos se distribuyen en un campo de línea r en la cache y en una etiqueta de s - r (los más significativos). Los w bits menos significativos identifican cada palabra dentro de una bloque de un Bloque de memoria principal. Los s bits restantes indican uno de los 2^s bloques de memoria Principal. La lógica de la chache interpreta los s bits como una etiqueta d s-r bits(parte) Mas significativa y un campo de línea de r bts, con el que se identifica una de las m=2^r líneas de cache. Con el uso de una parte de la direccion como número de línea Proporciona una asignación unica de cada bloque de memoria principal en la cache

ESTRUCTURA DE LA DIRECCIÓN Etiqueta (s-r bits) Línea (r bits) Palabra (w bits) Dirección de 24 bits 8 14 2 bloques de 4 bytes Identificador de bloque de 22 bits. Etiqueta de 8 bits (=22-14). Ranura o línea de 14 bits. Ninguno de los dos bloques en la misma línea tiene el mismo campo de etiqueta. Compruebe los contenidos de la cache mediante la búsqueda de la línea y la comprobación de la etiqueta.

Arquitectura de Computadores MECANISMO DE BÚSQUEDA Línea que le corresponde al bloque-ALGORITMO PALABRA Los w bits menos significativos identifican una unica palabra o byte del bloque de memoria principal. Es decir es El desplazamiento de la palabra dentro de su bloque. Los bits b restantes de la dirección indican uno de los 2^b bloques de memoria principal Como todos los bloques de memoria principal no caben la las L línea de cache, esta interpreta esto b bits como Una composición de dos campos: línea y etiqueta LINEA La línea en la que debe ubicarse o localizarse un bloque de memoria principal Esta formado por los r bits menos significativos de los b bits de mayor peso de la dirección e Indica una de las L líneas de cache pues 2^l(ele)= L Hay muchos bloques a los que les corresponde la misma línea de cache; los restantes b-l bits los de mayor peso de la dirección indica a cuantos bloques le corresponde la misma línea de cache ETIQUETA Lo que va a diferenciar a todos los bloques a los que le corresponda la misma línea son los b-l o (s-r) bits de mayor peso Una línea de caché corresponde a varios bloques estos bloques tendrán un etiqueta distinta. Cuando la CPU realiza un lectura la dirección se divide en tres campos. Tomando los b bits del campo de bloque se obtiene el número de bloques de la memoria principal Si la línea no está ocupada se trae el bloque desde memoria principal a esa línea con la palabra w de menor peso de la dirección se obtiene la palabra dentro del bloque En una referencia posterior, q se compruebe q el bloque referenciado está en la cache Si la entrada correspondiente está ocupada, hay q comprobar si el bloque d esa entrada es el q corresponde a la dir q se está referenciando Comprobar que el campo de etiqueta de la dirección es igual a la etiqueta de la línea q corresponde a ese bloque Si no es así habrá que traer el bloque de memoria y sustituir al que estaba en esa línea -problema Capítulo III Arquitectura de Computadores

Arquitectura de Computadores EJEMPLO Podemos ver un ejemplo con una memoria principal de 32 Kpalabras y una cache de 512 palabras con bloques de 8 palabras. El n°de bits de cada campo será: Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras Capítulo III Arquitectura de Computadores

EJEMPLO El # de bloques de la M. principal es 4 kbloques Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras Ahora para saber cuantos bloques tendrá la M. principal debemos dividir las 32 kpalabras para las 8 palabras que contiene cada bloque El # de bloques de la M. principal es 4 kbloques

EJEMPLO El # de líneas de la cache es 64 líneas Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras para saber cuantas líneas tendrá la M. cache debemos dividir las 512 palabras para las 8 palabras que contiene cada bloque El # de líneas de la cache es 64 líneas

26 r EJEMPLO = 4kpalabras M. Principal Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras Tenemos: # de bits M. Principal = 4kpalabras 212 s 64 líneas Cache = 26 r

W = 23 EJEMPLO Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras Por ultimo debemos calcular w 8 palabras = 23 W = 23

EJEMPLO Línea (r bits) Palabra (3bits) Línea (r bits) Palabra (r bits) Ahora vamos a colocar los datos obtenidos en la grafica de la dirección de memoria Etiqueta (s-r bits) Línea (r bits) Palabra (w bits) Recordemos que w = 23 es decir se necesitan 3 bits en la palabra Etiqueta (s-r bits) Línea (r bits) Palabra (3bits) Etiqueta (s-r bits) Línea (r bits) Palabra (r bits)

EJEMPLO 26 r Línea (r bits) Palabra (3bits) Línea (6 bits) Ahora vamos a colocar los datos obtenidos en la grafica de la dirección de memoria Cache = 64 líneas 26 r También teníamos que la línea tiene o necesita 6 bits Etiqueta (s-r bits) Línea (r bits) Palabra (3bits) Etiqueta (s-r bits) Línea (6 bits) Palabra (3bits)

EJEMPLO 26 r 212 s Línea (6 bits) Palabra (3bits) Línea (6 bits) Ahora vamos a colocar los datos obtenidos en la grafica de la dirección de memoria Cache = 64 líneas 26 r M. Principal = 4kpalabras 212 s Finalmente la etiqueta es igual a s-r, en nuestro ejemplo 12-6 = 6 Etiqueta (s-r bits) Línea (6 bits) Palabra (3bits) Etiqueta (6 bits) Línea (6 bits) Palabra (3bits)

Arquitectura de Computadores EJEMPLO Capítulo III Arquitectura de Computadores

Simple, sin algoritmos de reemplazo Poco costosa VENTAJAS Y DESVENTAJAS Simple, sin algoritmos de reemplazo Poco costosa Hay una posición concreta para cada bloque dado: Si un programa accede a dos bloques que se corresponden a la misma línea de forma repetida, las pérdidas de cache son muy grandes (ocupación de cache ineficiente)

Arquitectura de Computadores CORRESPONDENCIA ASOCIATIVA Cada bloque(memoria principal) puede ir en cualquier posición(línea) de cache Capítulo III Arquitectura de Computadores

Arquitectura de Computadores FORMATO DE INSTRUCCIÓN Etiqueta (s bits) Palabra (w bits) Etiqueta indica el nº de bloque de memoria principal que se está buscando Todas las etiquetas de líneas se examinan para buscar una coincidencia. La búsqueda de cache es costosa. Capítulo III Arquitectura de Computadores

ESTRUCTURA DE LA DIRECCIÓN Etiqueta (22 bits) Palabra (2 bits) La etiqueta de 22 bits está almacenada con cada bloque de datos de 32 bits. Compare el campo de etiqueta con la entrada de etiqueta en la cache para comprobar si ha tenido éxito. La dirección de 2 bits menos significativa identifica qué palabra de 16 bits se necesita en un bloque de datos de 32 bits. Ejemplo: Dirección Etiqueta Datos Línea de cache FFFFFC FFFFFC 24682468 3FFF Capítulo III

Arquitectura de Computadores MECANISMO DE BÚSQUEDA Capítulo III Arquitectura de Computadores

Arquitectura de Computadores EJEMPLO Capítulo III Arquitectura de Computadores

Arquitectura de Computadores VENTAJAS Y DESVENTAJAS Necesita el uso de memorias asociativas Necesita algoritmos de reemplazo Es la mas eficiente en la ocupación de la cache. Capítulo III Arquitectura de Computadores

Arquitectura de Computadores ASOCIATIVA POR CONJUNTO Conjunto: grupo de línea de la cache Primero las líneas de memoria caché se asocian en conjuntos y la correspondencia se establece de forma directa entre cada bloque de la memoria principal y cada conjunto de la caché. Capítulo III Arquitectura de Computadores

Arquitectura de Computadores Dentro de cada conjunto la correspondencia es asociativa. Al número de bloques del conjunto se le llama número de vías o grado de asociatividad. Capítulo III Arquitectura de Computadores

FORMATO DE LA INSTRUCCIÓN Etiqueta (s-d bits) Conjunto (d bits) Palabra (w bits) codifica el bloque de memoria asociado a ese conjunto codifica el nº de conjunto de cache donde se realiza la búsqueda codifica el nº de palabras de memoria Capítulo III Arquitectura de Computadores

ESTRUCTURA DE LA DIRECCIÓN Dirección de 24 bits Etiqueta (9 bits) Conjunto (13 bits) Palabra (2 bits) Utilice los campos de conjunto a la hora de determinar el conjunto de cache que necesita para poder verlo. Compare los campos de etiqueta para ver si tenemos éxito: Ejemplo: Dirección Etiqueta Datos Número de conjuntos 1FF 7FFC 1FF 12345678 1FFF 001 7FFC 001 11223344 1FFF

Arquitectura de Computadores MECANISMO DE BÚSQUEDA Capítulo III Arquitectura de Computadores

EJEMPLO Un bloque determinado se hace corresponder a cualquier línea en un conjunto determinado. Ejemplo: El bloque B puede asignarse en cualquiera de las líneas del conjunto i. Ejemplo: 2 líneas por conjunto. Correspondencia asociativa de 2 vías. Un bloque determinado puede asignarse en una de las dos líneas en un único conjunto.

Arquitectura de Computadores ASOCIATIVA DE DOS VÍAS Capítulo III Arquitectura de Computadores

Arquitectura de Computadores Capítulo III Arquitectura de Computadores

Arquitectura de Computadores EJEMPLO Capítulo III Arquitectura de Computadores

Arquitectura de Computadores EJEMPLO Considere que una cache asociativa por conjuntos consta de 64 líneas divididas en conjuntos de 4 líneas. La memoria principal contiene 4K bloques de 128 palabras cada uno. Etiqueta (s-d bits) Conjunto (d bits) Palabra (w bits) Capítulo III Arquitectura de Computadores

EJEMPLO Etiqueta (s-d bits) Conjunto (d bits) Palabra (w bits) Primero vamos a ver de cuantos bits será el total de la memoria 4*1024*128 = 524288 esto equivale a 219 palabras entonces el tamaño del formato de dirección de memoria principal en bits es 19 Dirección de 19 bits Etiqueta (s-d bits) Conjunto (d bits) Palabra (w bits)

EJEMPLO Etiqueta (s-d bits) Conjunto (d bits) Palabra (w bits) Para encontrar el valor de la palabra: Sabemos que la memoria principal tiene 4k bloque de 128 palabras a estas 128 debemos sacar su equivalente en 2n y es 27 , entonces w = 7, es decir que se necesitan 7 bits para direccionar las palabras que están dentro del bloque de memoria Etiqueta (s-d bits) Conjunto (d bits) Palabra (w bits) Etiqueta (s-d bits) Conjunto (d bits) Palabra (7 bits)

EJEMPLO Etiqueta (s-d bits) Conjunto (d bits) Palabra (7 bits) Recordemos que el total de bits del es de 19 ya sabemos que la palabra es 7 entonces la diferencia entre 19 – 7 = 12. 12 bis son los que necesitamos para la etiqueta y el conjunto Dirección de 19 bits Etiqueta (s-d bits) Conjunto (d bits) Palabra (7 bits) 12 bits

EJEMPLO Etiqueta (s-d bits) Conjunto (4 bits) Palabra (7 bits) Sabemos que la cache tiene 64 líneas que están divididas en conjuntos de 4 y queremos saber cuantos conjuntos hay. Esto es 24 entonces el número de conjuntos que tiene la memoria cache es de 4 Dirección de 19 bits Etiqueta (s-d bits) Conjunto (4 bits) Palabra (7 bits) Etiqueta (s-d bits) Conjunto (d bits) Palabra (7 bits) 12 bits

EJEMPLO Etiqueta (8 bits) Conjunto (4 bits) Palabra (7 bits) Finalmente restamos 4 – 12 y nos da el valor de la etiqueta que es 8 Dirección de 19 bits Etiqueta (8 bits) Conjunto (4 bits) Palabra (7 bits) Etiqueta (s-d bits) Conjunto (4 bits) Palabra (7 bits) 12 bits

CONCLUSIONES La memoria es cara, por ello si queremos una memoria rápida deberá ser pequeña. Las memorias cada vez son más rápidas, grandes y baratas, pero no avanzan solas, las memorias cache no se quedan atrás. De todas maneras la diferencia de velocidad entre el procesador y la memoria sigue siendo un hecho, y mientras no se igualen, se seguirá usando la cache. La jerarquización de la memoria en niveles no será posible sin el principio de localidad, el cual nos permite acceder lo mínimo posible a los niveles más lentos.