Documente Academic
Documente Profesional
Documente Cultură
Objetivos Analizar la organizacin de la memoria Organizacin por niveles Ventajas de cada uno de los niveles Influencia sobre el rendimiento del computador Soporte Hardware para su implementacin Visin global Componentes bsicos de la Estructura VON NEUMAN Unidad de Clculo Unidad de Control Unidad de Memoria Unidades de E/S
ARQUITECTURA DE COMPUTADORES
Papel de la Unidad de Memoria de un Computador Almacenamiento de Programas y Datos de usuario(s) Programas y Datos del Sistema Caractersticas de la Memoria Parmetros a tener en cuenta Capacidad (Kbytes o Mbytes) Velocidad de Acceso (miliseg, microseg. o nanoseg) Costo ( por bit o byte) Condiciones ptimas (imposibilidad de cumplir todas) Gran capacidad (Gigabytes) Rpidas ( mnimo nanoseg.) Baratas Una primera clasificacin Memoria * Acceso directo por la CPU * Almacena los programas que se estn ejecutando * De tipo Semiconductora - Estticas (SRAM) o Dinmicas (DRAM) - De Lectura/Escritura o de solo Lectura (ROM) * Capacidad del orden de Megas * Tiempos de acceso de decenas de nanosegundos * Costo alto y proporcional a la velocidad de acceso
ARQUITECTURA DE COMPUTADORES
Organizacin mnima de la Memoria Principal Memoria de Acceso Aleatorio de R/W (RAM) Lneas de direccin Lneas de Datos (1/0) Lneas de Habilitacin (CS) Lnea de control Lectura/Escritura (R/W)
CIRCUITO RAM TPICO Memoria de Acceso Aleatorio de solo Lectura (ROM) Lneas de direccin Lneas de Datos (O) Lneas de Habilitacin (CS)
ARQUITECTURA DE COMPUTADORES
Mapa de direcciones
CONEXIONES DE MEMORIA AL MICROPROCESADOR REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
JERARQUA DE LA MEMORIA Definicin amplia de Memoria "Todo componente que almacena informacin en la computadora" Registros Memoria Principal Discos Magnticos u pticos Cintas Magnticas etc...
Valores de sus parmetros (Capacidad, Rapidez y Costo) Forma de acceso de la CPU (Directo o a travs de Interfaces)
Memoria de Reserva (M. Cach) Almacenar la informacin que ms se utiliza
Instrucciones y Datos
Debe ser muy rpida No es muy grande por ser costosa Se accede directamente desde la CPU y la M. Principal Relacin entre los parmetros de cada nivel Jerrquico A mayor nivel jerrquico mayor rapidez A mayor nivel jerrquico mayor costo A menor nivel jerrquico mayor capacidad
ARQUITECTURA DE COMPUTADORES
Necesidad de un Mdulo Administrador de la Memoria (S.O.) La amplitud obliga a su optimizacin Programas que necesitan ms memoria de la existente Complejidad en Sistemas Multiusuarios MEMORIA ASOCIATIVA "Memoria de acceso para la lectura por contenido y no por direccin (CAM)" Diferencia con el tipo de memorias visto hasta ahora Acceso aleatorio por direccin Acceso Secuencial
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
Tipo LIFO o FIFO Casos en los que interesa este tipo de acceso Bsqueda en base de datos Obtencin de datos de una cuenta a partir del nombre Tipo de bsqueda del contenido De forma secuencial Barrido de direcciones y comparacin de contenido Lenta aunque sencilla y econmica * Memoria RAM, Contador y Comparador De forma paralela Comparacin de todos los contenidos a la vez Rpida pero compleja y costosa Caractersticas que se pretenden de este tipo de Memoria Acceso de lectura por contenido por palabra entera por campo en una palabra Muy rpidas El acceso para escritura puede ser por direccin se almacena en cualquier posicin vaca ORGANIZACIN DEL HARDWARE La bsqueda debe ser rpida, lo que complica la circuitera Incluir la comparacin Incluir el estado de las posiciones
etc..
Componentes de una Memoria Asociativa Matriz de memoria que incluye Celdas de almacenamiento (m x n)
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
Circuitera de comparacin
Registro de Argumento (A) Contiene el dato o instruccin que se busca (n) Registro Clave (K) Para emmascarar parte del argumento de bsqueda (m) Registro Equiparador (M) Indica las posiciones que tienen ese contenido (m)
DIAGRAMA DE BLOQUES DE UNA MEMORIA ASOCIATIVA Ejemplo de bsqueda A K palabra 1 palabra 2 ......... 101 111100 111 000000 100 111100 M1 = 0 101 000001 M2 = 1 ............. ..........
Organizacin de la matriz
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
ARQUITECTURA DE COMPUTADORES
10
MATRIZ ASOCIATIVA DE M PALABRAS DE N CELDAS Estructura de la celda bsica Biestable de almacenamiento Lgica de comparacin y seguimiento Lgica para escritura
ARQUITECTURA DE COMPUTADORES
11
ARQUITECTURA DE COMPUTADORES
12
Lgica de comparacin o equiparamiento Funcin de igualdad de dos bits: xj xj = AjFij+A jFij Aj = bit i del registro de Argumento Fij = bit i de la palabra j de almacenamiento Funcin de equiparamiento de la palabra almacenada Mi=x1x2x3x4...xn Mi = bit i del Registro de Equiparamiento M Si se tiene en cuenta la Mscara Mi = (x1 + K1)(x2 + K2)(x3 +K3)......(xn + Kn) Ki = bit 1 del Registro de enmascaramiento
LOGICA DE EQUIPARAMIENTO Operacin de lectura "Se busca una informacin cuya etiqueta coincida con la que se presenta" Se presenta la informacin de entrada palabra de bsqueda (n) en el R. Argumento palabra de mscara (n) en R. Clave * El n de bits a comparar siempre es menor que n
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
13
ARQUITECTURA DE COMPUTADORES
14
* Impide la lectura de una informacin no vlida Procesador Asociativo Computador cuya Memoria es de tipo Asociativo Cada celda es asociada a sus vecinas para manejar las operaciones Aritmticas usuales, las Lgicas y de Desplazamiento Las operaciones se computan en paralelo Requerimientos excesivos de circuitos en cada celda
ORGANIZACIN DE UNA MEMORIA ASOCIATIVA DE 2*2 PALABRAS MEMORIA VIRTUAL Sistemas de Programa Almacenado El programa debe estar en Memoria Principal Su tamao menor que la memoria fsica Problemas con Sistemas multitareas y multiusuarios Imposibilidad de disponer de tanta memoria
En un principio el programa est en Memoria Secundaria REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
15
Sistemas con Memoria Virtual Permite ejecutar programas de gran tamao de la M. Secundaria El Programa(s) est (n) Completos (s) est(n) en M. Secundaria Parte que se ejecuta en M. Principal La CPU lanza direcciones virtuales para captar Inst. y/o Datos Conversin a direcciones fsicas Necesidad de Hardware apropiado Si no se encuentra en M. Principal Traerlo desde M. Secundaria Inconveniente del costo temporal de acceso a M. Secundaria Cuando se producen fallos de acceso Es una combinacin e software y hardware Software de administracin Hardware de mapeo Espacio de Direccin y de Memoria Espacio de Direccin Conjunto de direcciones virtuales, o direcciones que genera el programa Espacio de Memoria Conjunto de localizaciones, o direcciones fsicas de la memoria En los Sistemas de Programa Almacenado clsico coinciden En los Sistemas de Memoria Virtual el Espacio de Direccin es mayor Ejemplo de un Computador con Memoria Virtual Memoria Principal (fsica) = 32K (15 bits de direccin) Memoria Auxiliar = 1.024K (20 bits de direccin) Espacio de direccin N = 1024 K
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
16
Sistema multiprogramado Se cargan varios trozos de Programas y Datos * No se cargan siempre en la misma posicin * El Programa y los Datos no tienen que ser contiguos
RELACIN ENTRE ESPACIO DE DIRECCIN Y DE MEMORIA Necesidad de traducir direcciones virtuales a fsicas De acuerdo con la direccin virtual De acuerdo con el lugar donde se ha cargado Existencia de una Tabla de Mapeo de Memoria Se puede almacenar en M. separada * Se necesita ese mdulo * Tiempo de acceso extra Se puede almacenar en M. Principal * Se necesitan dos accesos a memoria * Mucho ms lenta Utilizar memoria muy rpida para realizar esa traduccin
ARQUITECTURA DE COMPUTADORES
17
TABLA DE MEMORIA PARA MAPEAR UNA DIRECCIN VIRTUAL Mapeo de direccin Divisin de los dos espacios en trozos Pgina para el Espacio de Direcciones Bloques para el Espacio de Memoria Ambos tienen un tamao fijo e igual Los programas tambin se dividen en pginas El traslado de M. Secundaria a Principal es por pgina Los tamaos tpicos de pginas son: 512B, 1KB, 2KB 4KB Ejemplo: (pgina de 1K.) Programa de 8 pginas (8 KB) => 13 bits de direccin Memoria con 4 bloques (4 CB) => 12 bits
ESPACIO DE DIRECCIN Y ESPACIO DE MEMORIA Significado de una direccin virtual p bits ms significativos indican el n de pgina Resto de los bits la posicin dentro de la pgina En este caso p = 3 (los 3 msb) direccin: 101l000000001 ==> pgina 5, posicin 513 Mapeo mediante Tabla de pgina de Memoria Cada posicin (que indica no de pgina) contiene * No de bloque en el que est * bit de presencia (1 = SI, O = NO) Solo se necesita traducir de pgina a bloque * La bsqueda se hace accediendo a la direccin La posicin en la pgina y el bloque es la misma La direccin fsica es el n de bloque ms la posicin
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
18
TABLA DE MEMORIA EN UN SISTEMA DE PGINA Inconveniente del tamao de la tabla Se necesitan tantas posiciones como pginas Inconvenientes de la M. Virtual paginada Penalizacin cuando la pgina no est en M. principal * Acceso a Memoria Secundaria * Algoritmos de reemplazo Mejora del tamao de la tabla La tabla tiene tantas posiciones como bloques (menor) En cada una est el n de pgina que se contiene Proceso de bsqueda Se averigua si existe esa pgina y en que posicin est Si se hace secuencialmente es muy lenta Tabla de Pgina de Memoria Asociativa Ineficiencia de memoria de acceso aleatorio para la tabla de pgina Con M. Asociativa es parecida a la vista ltimamente Tantas posiciones como bloques
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
19
TABLA DE PGINA DE MEMORIA ASOCIATIVA Reemplazo de pgina El Software de administracin de memoria decide Que pgina de memoria hay que retirar Cundo una pgina es transferida de M. Auxiliar a Principal En que lugar de M. Principal se coloca la pgina Carga inicial de unas pginas en M. Principal Indicacin en la tabla de pgina de su posicin Fallo de pgina Cuando se referencia una pgina que est en M. Auxiliar
ARQUITECTURA DE COMPUTADORES
20
Acciones en presencia de un fallo de pgina Suspensin de ejecucin de programa (estado de espera) Lanzar un proceso de E/S a un procesador de E/S * Operacin de traer la pgina necesaria a M. P. Paso de estado de listo cuando se completa la E/S Pasos de transferencia de pgina de M. Auxiliar a Principal Retirada de una pgina si la M. Principal est llena (transferencia a M. A. si ha cambiado) * Algoritmos de reemplazo Transferencia de la pgina y actualizacin de tabla Algoritmos de reemplazo Tipo FIFO; elimina pgina que entr primero * Existencia de una PILA (FIFO) de pgina Tipo LRU; elimina la menos recientemente utilizada * Asocia un contador a cada posicin - Incremento peridico - A cero cada vez que se accede a la posicin * Se elige la que tiene el valor mas alto MEMORIA DE RESERVA Localidad de Referencia "Las referencias a memoria en un intervalo de tiempo suelen estar confinadas en unas reas localizadas de memoria" Los bucles Las subrutinas La secuencialidad propia de los programas Acceso a tablas de datos Forma de acelerar la ejecucin de un Programa Colocando en una memoria rpida los trozos y datos activos de programa Memoria de Reserva Memoria colocada entre la CPU y M. Principal Contiene los trozos y datos activos de programa Tiene que ser ms rpida que la M. P.
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
21
Siempre es de menor capacidad que la M. P. Operacin de la Memoria de Reserva La CPU lanza una direccin y busca en la M. de Reserva Si est, toma su contenido y contina Si no est * Accede a la M. Principal y toma el dato * Trae de la M. Principal a la de Reserva un bloque (bloque que contiene la palabra accesada) Diferencias entre M. Virtual y M. de Reserva Memoria de Reserva Tiene lo que se utiliza mas frecuentemente (datos e Instr.) La CPU tiene acceso directo Tiempo de acceso del orden de 5 a 10 veces mas pequeo Tamao de bloque pequeo (4 a 16 palabras) La administracin es totalmente Hardware Memoria Virtual Tiene las partes de programa y datos no usados en ese momento La CPU accede a travs de un proceso de E/S Tiempo de acceso del orden de 5 a 10 veces ms grande Tamao de bloque grande (de 64 a 4K palabras) La administracin es parte Hardware y parte Software Tasa de Acierto Si la CPU encuentra la palabra en la M. de R. ----> Acierto Si la CPU no encuentra la palabra en la M. de R.> Fallo Tasa Acierto = n A / (A+F) Ejemplo M. Principal con tiempo de acceso 1000 ns M. de Reserva con tiempo de acceso de 100 ns Para una tasa de Acierto de 0.9 tiempo de acceso medio de 200 ns
ARQUITECTURA DE COMPUTADORES
22
Mapeo de Memoria Manera de relacionar las palabras de M. Principal y M. de Reserva Tipos Mapeo Asociativo Mapeo Directo Mapeo Asociativo de Conjunto
Ejemplo a utiliza
EJEMPLO DE MEMORIA DE RESERVA Mapeo Asociativo Se implementa con una memoria Asociativa Rpida pero costosa En cada posicin de la M. de Reserva se almacena Direccin Datos de esa direccin La CPU lanza una direccin de 15 bits en el R. Argumento
ARQUITECTURA DE COMPUTADORES
23
MAPEO ASOCIATIVO DE LA MEMORIA DE RESERVA Mapeo directo Se implementa con M. de acceso Aleatorio
ARQUITECTURA DE COMPUTADORES
24
Los bits del Indice seleccionan la direccin de M. R. Compara el rtulo de la direccin con rtulo en la M. R.
* Si coincide toma el dato * Si no coincide se sustituye
ARQUITECTURA DE COMPUTADORES
25
Tamao de bloque Varias palabras en un mismo bloque Campos de una direccin Rtulo-ndice(Bloque-Palabra) bits asociados a bloque bits asociados a palabra = posicin en el bloque Bsqueda Se busca mediante los bits de ndice Se compara rtulos * Si coinciden localiza la palabra * Si no cambio el bloque completo Ventajas e incovenientes Mayor probabilidad de acierto al tener N palabras seguidas Mayor tiempo de intercambio en caso de fallo
MAPEO DIRECTO CON BLOQUE DE 8 PALABRAS Mapeo Asociativo de Conjunto Toma ventajas del primero y del segundo Parte con Mapeo Asociativo Parte de Mapeo Directo Las posiciones de M.R. contienen varias palabras con distintos Rtulos No es lo mismo que lo visto de bloque
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
26
Bsqueda Con el ndice se selecciona la posicin en M.R. De manera Asociativa se comprueba si el rtulo esta - Si lo encuentra, toma el dato - Si no, lanza algoritmo de cambio (LRU o FIFO)
M. DE RESERVA CON MAPEO ASOCIATIVO DE DOS CONJUNTOS Escritura en la Memoria de Reserva En un proceso de escritura en la M de R. no esta involucrada la . M.P. Falta de coherencia en los datos al no coincidir Mecanismos de mantener la coherencia Mtodo de escritura directa * Se actualiza en M. P. y en paralelo en M. de R. * Mantiene la coherencia (necesaria en DMA) Mtodo de re-escritura * Se actualiza solo la posicin de M. de R. * Se marca con un bit de bandera * Al retirarla de la reserva se escribir en M. P. * Falta de coherencia Iniciacin de la Memoria de Reserva Se parte de una situacin de memoria vaca bit asociado a cada posicin indicando validez ( 0 = no vlido)
ARQUITECTURA DE COMPUTADORES
27
ARQUITECTURA DE COMPUTADORES
28
Diferencias con la direccin virtual La longitud del segmento es variable, la de pgina es fija La D. Lgica puede ser mayor, igual o menor que la D. Fsica Mapeo de Direcciones lgicas a Direcciones Fsicas Mapeo de Pgina Segmentada IBM370 Mapeo por Registros de Segmento PDP 11, Z800: i80X86 MAPEO DE PGINA SEGMENTADA La longitud del segmento es variable Imposiblidad de predecir los bits necesarios de direccin Se divide en pginas que s tienen igual tamao La longitud de un segmento se asocia a un n; el de pginas Campos de la direccin lgica Campo de segmento (n de segmento) Campo de pgina (n pgina del segmento) Campo de palabra (posicin en la pgina)
ARQUITECTURA DE COMPUTADORES
29
Mapeo de direcciones Lgicas a Fsicas segmento-pgina-palabra =====> bloque-palabra Tabla de segmento Se direcciona por el n de segmento Se obtiene la direccin de la pgina 0 Se le suma al dato anterior el n de pgina Tabla de pgina Se direcciona con el dato anterior Se obtiene la direccin del bloque Ubicacin de las tablas En Memoria Aleatoria * Dos memorias pequeas adicionales * En Memoria Principal Inconvenientes en M. Aleatoria Cada direccin supone TRES accesos a memoria Es muy lento En Memoria de tipo Asociativa Como entrada de equiparacin * Segmento y pgina Datos de salida * Si est, el bloque * Si no esta reemplazo Muy rpida
ARQUITECTURA DE COMPUTADORES
30
4 bits para n segmento (de 0 a 15) 8 para n pgina en el segmento (de 0 a 255) 8 para posicin dentro de la pgina (de 0 a 255)
Tamao posible de los segmentos
Ms pequeo: 1 sola pgina (256 palabras) Ms grande: 256 paginas (64K palabras)
Direccin Fsica de 20 bits
12 bits para el n de bloque (de 0 a 2047) 8 bits para posicin dentro del bloque (de 0 a 255)
Programa ejemplo
Un solo segmento de 5 pginas Direcciones lgicas de la 60000 (hex) a la 604FF (hex) Asignacin de los bloques de memoria en la figura
ARQUITECTURA DE COMPUTADORES
31
ARQUITECTURA DE COMPUTADORES
32
TABLA DE SEGMENTOS Y PGINAS, Y TABLA ASOCIATIVA Posibilidades del Sistema de Administracin de Memoria Asignar cualquier nmero de pginas a cada uno de los segmentos Cada pgina puede estar mapeada en cualquier bloque de la M. Fsica Las pginas pueden moverse a otros bloques en funcin de necesidades
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
33
Mediante unos Registros de Segmentos Deben de ser de acceso rpido (internos a la CPU)
Campos de la direccin Lgica
Segmento: indica el registro referencia Pgina: indica el n de pgina Palabra: indica posicin en la pgina
Contenido Reg. + n pag. ===> n de bloque Pginas seguidas corresponden a bloques seguidos
ARQUITECTURA DE COMPUTADORES
34
MAPEO CON REGISTROS DE SEGMENTO PROTECCIN DE LA MEMORIA Dnde se establece la proteccin En la Direccin Fsica Cada Bloque tiene asignados unos bits de proteccin Al mover una pgina de bloque se actualizan esos bits En la Direccin Lgica Se incluye informacin en la tabla o Registro de segmento Descriptor : "Contenido de cada entrada de una Tabla de Segmento o de un Registro de Segmento" | Direccin base | Longitud | Proteccin |
REA DE CONOCIMIENTO DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES DPTO. ELECTROTECNIA Y ELECTRNICA
ARQUITECTURA DE COMPUTADORES
35
Direccin base
* direccin base de Tabla de pgina (pgina segmentada) * direccin de bloque base (registro de segmento)