Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Tema 03 Arquitectura de Memórias en la UCP
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN E S P G MAESTRÍA EN INGENIERIA DE SISTEMAS E INFORMÁTICA ADMINISTRACIÓN DE TECNOLOGÍAS DE INFORMACIÓN Tema 03 Arquitectura de Memórias en la UCP Prof. ALBERTO E. COHAILA BARRIOS
2
Arquitectura de Computadores Paralelos
OBJETIVOS Presentar las características más relevantes de las memorias Semiconductoras Entender el principio de funcionamiento de las memorias RAM y ROM en modo de lectura y escritura. Saber la organización básica de un computador. Entender como trabajan los ALUs. Conocer como trabaja el DMA Ejercicios de expansión de Memorias 03/04/2019 Arquitectura de Computadores Paralelos
3
Arquitectura de Computadores Paralelos
3.1 Memorias Es un dispositivo de almacenamiento de datos Binarios (0 ó 1) de largo o corto plazo. 3.2 Tipos de Memorias: -Estáticas -RAM -Dinámicas -Semiconductoras -Bipolar o BJT -ROM • Memorias - Ópticas -MOS -Discos - Magnéticas -Cintas 03/04/2019 Arquitectura de Computadores Paralelos
4
3.3 Memorias Semiconductoras de Alta Densidad
Memoria semiconductora: Matriz de celdas que contienen 1 ó 0, donde cada celda se especifica por una dirección compuesta por su fila (ROW) y su columna (COLUMN). Utilización de transistores semiconductoras. Operaciones básicas: lectura y escritura de datos Conexión al exterior mediante bus de datos, direcciones y control. Dos categorías principales: ROM (read-only memory): los datos se almacenan de forma permanente o semipermanente memorias no volátiles. RAM (random-access memory): se tarda lo mismo en acceder a cualquier dirección de memoria (acceso en cualquier orden), capacidad de lectura y escritura, memorias volátiles. Dos tipos: SRAM y DRAM. 03/04/2019 Arquitectura de Computadores Paralelos
5
Arquitectura de Computadores Paralelos
03/04/2019 Arquitectura de Computadores Paralelos
6
Operación de Escritura
Registro de direcciones Matriz de memoria organizada en bytes Registro de datos 101 1 2 3 4 5 6 7 8 1 1 2 3 4 5 6 7 1 2 1 1 Decodificador de direcciones 1 1 1 1 Bus de Datos Bus de Direcciones 1 1 3 Escritura 1. El código de direcciones se coloca en el bus de direcciones y se selecciona la dirección 5 2. El byte de datos se coloca en el bus de datos 3. El comando de escritura hace que el byte de datos se almacene en la dirección 5, reemplazando 03/04/2019 a los datos que había Arquitectura de Computadores Paralelos
7
Arquitectura de Computadores Paralelos
Operación de Lectura Registro de direcciones Matriz de memoria organizada en bytes Registro de datos 011 1 2 3 4 5 6 7 8 1 1 2 3 4 5 6 7 1 1 1 Decodificador de direcciones 1 1 3 1 1 Bus de Datos Bus de Direcciones 1 Capacidad=8 bitsx8 =64 bits =8 bytes 1 2 Lectura 1. El código de direcciones se coloca en el bus de direcciones y se selecciona la dirección 3 2. Se aplica el comando de lectura 3. El contenido de la dirección 3 se coloca en el bus de datos y se desplaza al registro. El contenido de la dirección 3 no se destruye a consecuencia de la operación de lectura 03/04/2019 Arquitectura de Computadores Paralelos
8
3.4 Memorias de sólo Lectura (ROMs)
Read Only Memory que significa Memoria de Solo Lectura Una ROM mantiene de forma permanente o semipermanente los datos almacenados, que pueden ser leidos, o no se pueden cambiar en absoluto, o se requiere un equipo especial para ello. Una ROM almacena datos que se utilizan repetidamente en las aplicaciones, tales como tablas, conversiones o instrucciones de programas para la inicialización y el funcionamiento de un sistema. Una caracteristica distintiva, es que la ROM mantiene los datos almacenados cuando se desconecta la alimentación (es decir es NO Volatil) Buses de datos y direcciones. 03/04/2019 Arquitectura de Computadores Paralelos
9
Familias de las memorias ROM
Varios tipos en función de su _forma de borrado. Diferentes capacidades (Nº _posiciones x Bits por posición): 1Kx8, 16Kx8, 32Kx8, 64Kx8, ... Buses de datos y direcciones. 03/04/2019 Arquitectura de Computadores Paralelos
10
Arquitectura de Computadores Paralelos
Jerarquía de memorias El Sistema operativo carga varias aplicaciones en memoria física (DRAM) y memoria del núcleo (Caché) y lo parte en trozos (llamados threads=hilos ó subprocesos). Va al procesador y empieza a mandar ráfagas de Threads, entonces distribuye las ráfagas (eso es multitasking o multitarea), que se basa precisamente en que el sistema operativo le mandará al procesador la mayor cantidad de Threads y el procesador tendrá la tarea de procesarlo lo mas rápido que pueda. 03/04/2019 Arquitectura de Computadores Paralelos
11
Arquitectura de Computadores Paralelos
El S. O. lo rearma (lo devuelve por decirlo así) y da la impresión que se están trabajando al mismo tiempo varias aplicaciones como Word, Excel, Power point, Internet Explorer, winamp, etc. Esto hace que cuando se tiene un solo procesador (o una sola fuente de procesamiento) esta se vuelva muy lento y por mas que se acelere al procesador lo único que se obtiene es tal vez estos subprocesos( ó Threads) se aceleren en la misma medida, en la cual se acelera el procesador. Por ejemplo un procesador de 3.3 GHz (comparado con 3GHz) lo único que se obtendrá es un 10% mas de velocidad de procesamiento , pero no necesariamente de eficiencia. La diferencia es imperceptible, si Word se habré en 1 seg. ahora se abrirá en 0.9 seg. UCP 1 UCP 2 UCP Núcleo Multiprocesador Monoprocesador 03/04/2019 Arquitectura de Computadores Paralelos
12
Arquitectura de Computadores Paralelos
La ROM de Mascara Es una memoria programada de forma permanente durante el proceso de fabricación para proporcionar funciones estándar de uso extendido o funciones específicas por el usuario. Una vez que la memoria se programa, esta no puede cambiarse. PROMs y EPROMs Normalmente el término se utiliza para memorias programadas por máscara. Contenido: queda almacenado durante el proceso de fabricación. Costo: Caro en pequeñas cantidades, barato para grandes tiradas Prototipos o productos de producción limitada usan otros tipos de ROM Acceso a celda: línea de Palabra (Word) Lectura de celda: A través de línea de Bit Celda más sencilla: diodo. Se almacena “1” fabricando un diodo desde la línea de palabra a la línea de Bit. Se almacena “0” dejando abierto el circuito. Para leer, se aplica un nivel de alta a la línea de palabra y se observa el voltaje que aparece en bornes de una resistencia conectada entre la línea de Bit y tierra. Celda MOS: Se almacena “1” conexionando la línea de palabra a la puerta del MOS. Se almacena “0” no creando la conexión. 03/04/2019 Arquitectura de Computadores Paralelos
13
Arquitectura de Computadores Paralelos
La ROM de Mascara Columna Fila La presencia de una conexión desde una línea de fila a la Base de un transistor representa un 1 en esa posición, ya que cuando la línea de fila esta a un nivel alto, todos los transistores con conexión de base a esa línea de fila conducen, y ponen a nivel alto (1) a las líneas de columna asociadas. Se almacena un 1 Se almacena un 0 a) Celdas Bipolares b) Celdas MOS La mayoría de ROM utilizan la presencia o ausencia de una conexión de transistor en una unión fila/columna para representar un 1 ó 0. Para leer, se aplica un nivel de alta a la línea de palabra y se observa el voltaje que aparece en bornes de una resistencia conectada entre la línea de Bit y tierra. 03/04/2019 Arquitectura de Computadores Paralelos
14
Arquitectura de Computadores Paralelos
La ROM básica Líneas de entrada de direcciones 1 2 4 ROM con diodos o BJT En la transparencia se muestra una memoria ROM hecha con diodos. Observa que si la salida del decodificador selecciona una fila, es decir tiene un valor de tensión alto (por ejemplo 5V), a la salida de la memoria tendremos un valor alto si hay un diodo en la fila, y bajo si no lo hay. De esta manera, si vamos seleccionando las filas una a una podemos leer a la salida los datos almacenados en la memoria. Otra forma de ver la memoria es como un conjunto de puertas OR con diodos, una por columna. Fíjate por ejemplo en la columna que está rodeada de una línea discontinua. Las entradas de la puerta son las salidas del decodificador de filas. Por lo tanto, sólo una de las entradas de la puerta OR tendrá un ’1’, la de la fila seleccionada, mientras que el resto tendrán el ’0’ correspondiente a las filas no seleccionadas. En definitiva, a la salida de la puerta OR, que es la salida de la columna de la memoria, habrá un ’1’ si en alguna de las entradas hay un uno, es decir si una de las filas en las que hay un diodo de la puerta OR se selecciona. Fíjate en la memoria y en su contenido de debajo, compara y observa que hay un ’1’ por cada diodo, y un ’0’ en el resto de la memoria. En lugar de diodos suele haber transistores BJTs, como se muestra en la esquina superior izquierda de la transparencia, aunque el funcionamiento es similar. La ROM de la transparencia es programable por máscara, que quiere decir que las conexiones de los diodos están hechas por el fabricante. El usuario pide la ROM con un contenido de datos determinado, y el fabricante la sirve con ese contenido. 03/04/2019 Arquitectura de Computadores Paralelos
15
Arquitectura de Computadores Paralelos
Expansion de memorias Expansión del tamaño de palabra Memoria de 1Kx12 con memorias de 1kx4 03/04/2019 Arquitectura de Computadores Paralelos
16
Arquitectura de Computadores Paralelos
03/04/2019 Arquitectura de Computadores Paralelos
17
Arquitectura de Computadores Paralelos
3.5 Memorias de Lectura/Escritura de Acceso Aleatorio _ (RAMs) a) RAM Estática (SRAM) Es una memoria programada de forma permanente durante el proceso de fabricación para proporcionar funciones estándar de uso extendido o funciones específicas por el usuario. Utilización de flip-flops para almacenar celdas. Rapidez de acceso a los datos. Tecnología con la que se implementan las memorias caché. Dos tipos: asíncronas y síncronas de ráfaga. Diferencia: utilización de la señal de reloj del sistema para sincronizar todas las entradas este reloj. 03/04/2019 Arquitectura de Computadores Paralelos
18
Transistor MOS (MOSFET). El transistor actúa como interruptor.
b) RAM Dinamica (DRAM) Celdas implementadas mediante un condensador en vez de un latch/biestable mayor densidad de almacenamiento a un menor costo. Se pasa de 6 transistores a 1 transistor. Transistor MOS (MOSFET). El transistor actúa como interruptor. Guarda la mínima carga eléctrica posible para luego poder ser leída mediante un circuito de amplificación: cargado (1) o descargado (0). Acceso por fila (línea de palabra) y por columna (línea de bit). Memorias más lentas que las SRAM: se prima el bajo costo y la mayor capacidad de almacenamiento. Requieren refresco periódico (Dynamic RAM): el condensador se descarga.
19
MEMORIAS DE LECTURA Y ESCRITURA (RD/WR Memory)
03/04/2019 Arquitectura de Computadores Paralelos
20
MEMORIAS DE LECTURA Y ESCRITURA (RD/WR Memory)
03/04/2019 Arquitectura de Computadores Paralelos
21
Ubicación de Memoria en dispositivos de control
03/04/2019 Arquitectura de Computadores Paralelos
22
3.6 Unidad Central de Proceso
CPU Unidad Aritmética Periféricos De Entrada Periféricos De Salida Unidad de Control Memoria Principal (cache) 03/04/2019 Arquitectura de Computadores Paralelos
23
Elementos que la componen
Unidad de control: controla el funcionamiento de la CPU y por tanto del computador. Unidad aritmético-lógica (ALU): encargada de llevar a cabo las funciones de procesamiento de datos del computador. Registros: proporcionan almacenamiento interno a la CPU. Interconexiones CPU: Son mecanismos que proporcionan comunicación entre la unidad de control, la ALU y los registros. 03/04/2019 Arquitectura de Computadores Paralelos
24
3.6.1 Característica de los subsistemas de E/S
El rendimiento del computador puede ser afectado por trabajos limitados por cálculo o por trabajos limitados por E/S. La figura siguiente muestra un ejemplo de un subsistema de E/S para un sistema con dos multiprocesadores. La interfaz de E/S controla la operación del dispositivo periférico ligado a ella. La operaciones de control se inician mediante órdenes desde la UCP. El repertorio de órdenes utilizada para efectuar una transacción de E/S se denomina controlador software (driver) del dispositivo 03/04/2019 Arquitectura de Computadores Paralelos
25
3.6.1 Característica de los subsistemas de E/S
03/04/2019 Fig. Subsistema de E/S en un sistema con dos procesadores Arquitectura de Computadores Paralelos
26
Arquitectura de Computadores Paralelos
3.7 Memorias Cache La memoria Cache son memorias intermedias de alta velocidad que se insertan entre los procesadores y la memoria principal para capturar aquellas porciones de los contenidos de memoria principal que están actualmente en uso. Es una clase de memoria RAM estática(SRAM) de acceso aleatorio y alta velocidad, situada entre el CPU y la RAM; se presenta de forma temporal y automática para el usuario, que proporciona acceso rápido a los datos de uso más frecuente. La ubicación de la caché entre el microprocesadory la RAM, hace que sea suficientemente rápida para almacenar y transmitir los datos que el microprocesador necesita recibir casi instantáneamente. La memoria caché es rápida, unas 5 ó 6 veces más que la DRAM (RAM dinámica), por eso su capacidad es mucho menor. Por eso su precio es elevado, hasta 10 ó 20 veces más que la memoria principal dinámica para la misma cantidad de memoria. 03/04/2019 Arquitectura de Computadores Paralelos
27
Arquitectura de Computadores Paralelos
Está integrada en el procesador, y su cometido es almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con la finalidad de que estos accesos sean instantáneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo más rápido y fluido posible. 03/04/2019 Arquitectura de Computadores Paralelos
28
3.7.1 Tipos de caché para procesadores
Caché de 1er nivel (L1): Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos. Caché de 2º nivel (L2): Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2 suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB. A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas que al sistema. Caché de 3er nivel (L3): Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad. 03/04/2019 Arquitectura de Computadores Paralelos
29
Distribución de Cache de nivel L1 y L2 en el procesador AMD Athlon
Note que se ha quitado el controlador de memoria al Chipset y se lo ha introducido directamente al procesador, eso hace que se c omunique con la memoria directamente a 12.8 Giga bites/ segundo, con esto se logra más ancho de banda. Un bus de datos HyperTransport comunica al resto del sistema, este bus es bidireccional que tiene una velocidad de 8 Giga bites/segundo por cada canal. Son 16 Giga bites por segundo, más 12.8 son 28.8 de ancho de banda para comunicarse con el resto del sistema. No se necesitan tanta frecuencia de trabajo del procesador porque todo se distribuye al sistema con una velocidad enorme. 03/04/2019 Arquitectura de Computadores Paralelos
30
3.7.2 Organización de las memorias Caché
03/04/2019 Arquitectura de Computadores Paralelos Fig. Organización de cache por correspondencia directa
31
3.7.3 Cache por correspondencia directa
En este esquema el bloque i de la memoria se corresponde con el marco de bloque i módulo 128 de la cache. La dirección de memoria consta de 3 campos: Campo de marca, campo de bloque y campo de palabra. Este esquema tiene la ventaja de permitir el acceso simultaneo a los datos deseados y a la marca. Si no se da coincidencia de marcas, se suprime la salida de datos. 03/04/2019 Arquitectura de Computadores Paralelos
32
3.7.3 Cache por correspondencia directa
El cache de correspondencia directa dispone de un algoritmo de reemplazo trivial, evitando así el recargo por mantenimiento del estado asociado a la regla de reemplazo. De todos los bloques que se corresponde con un marco de bloque, sólo uno puede estar realmente en la cache en un momento dado. Por ello, si un bloque produjera una falla, podríamos determinar el marco correspondiente a ese bloque y reemplazar el bloque que actualmente lo ocupara. Una desventaja es que, la tasa de aciertos de la cache disminuye si dos o mas bloques, utilizados alternativamente, se corresponde con el mismo marco de bloque en la cache. 03/04/2019 Arquitectura de Computadores Paralelos
33
Arquitectura de Computadores Paralelos
3.8 Ejercicios Revisar apuntes de clases … 03/04/2019 Arquitectura de Computadores Paralelos
34
Arquitectura de Computadores Paralelos
03/04/2019 Arquitectura de Computadores Paralelos
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.