domingo, 14 de agosto de 2011

Características de los sistemas de memoria

1.1.   Jerarquía de memoria: 
Jerarquía de memoria es la organización primordial de la memoria en niveles, que tienen los ordenadores. El objetivo de la jerarquía de memoria es conseguir el rendimiento de una memoria de gran velocidad comparándola con una memoria de baja velocidad, basándose en el principio de cercanía de referencias.
Organización piramidal de la memoria en niveles, que tienen los
Ordenadores.
Niveles de la jerarquía de memoria.
Nivel 0: Registros
Nivel 1: Memoria caché
Niv
el 2: Memoria Principal
Niv
el 3: Disco duro

Mejoras de desempeño:

2.1. Memorias caché, interleaving

Memoria caché

La memoria caché 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 microprocesador y 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.
La utilización de la memoria caché se describe a continuación:
  • Acelerar el procesamiento de las instrucciones de memoria en la CPU.
  • Los ordenadores tienden a utilizar las mismas instrucciones y (en menor medida), los mismos datos repetidamente, por ello la caché contiene las instrucciones más usadas.
Por lo tanto, a mayor instrucciones y datos la CPU pueda obtener directamente de la memoria caché, tanto más rápido será el funcionamiento del ordenador.
1.      La memoria caché se carga desde la RAM con los datos y/o instrucciones que ha buscado la CPU en las últimas operaciones. La CPU siempre busca primero la información en la caché, lo normal es que va encontrar ahí la mayoría de las veces, con lo que el acceso será muy rápido. Pero si no encuentra la información en la caché, se pierde un tiempo extra en acudir a la RAM y copiar dicha información en la caché para su disponibilidad.
Como estos fallos ocurren con una frecuencia relativamente baja, el rendimiento mejora considerablemente, ya que la CPU accede más veces a la caché que a la RAM. En el siguiente diagrama se describe un proceso cuando la CPU requiere operación de lectura de una instrucción, para ello se presentan dos casos:


Memoria interleaving:
El InterLeaving es una técnica para la mejora del ancho de banda de las memorias volátiles.
Consiste en dividir el sistema de memoria en bancos con la idea de reducir la probabilidad de que un acceso requiera esperar el tiempo de recuperación.
Normalmente se divide en bancos de posiciones pares de memoria e impares; así, al realizar un acceso secuencial mientras accedemos a un banco, el otro se recupera para el próximo acceso. Esto evita la espera
.Algunas memorias multibanco son:
SDRAM.
RDRAM.
DDR SDRAM.
S LDRAM




Arquitectura:
Principal Ventajas:


• Acceso simultáneo por parte de los bus master.


• Reducción en el tiempo de utilización del bus.


• Pueden conseguirse escrituras con 0 WS usando escritura retrasada.


Inconvenientes:


• Acceso a memoria principal ralentizado. Penalización de búsqueda.


• Mayor dificultad de diseño




Direccionamiento:

 La memoria cache se encontraba en la motherboard, pero con el pasar de los tiempos ya la tecnología ahora esta en el procesador pues así se acelera la velocidad de procesamiento al tener la memoria cache en el mismo chip del procesador. Y su función es guardar ciertas instrucciones de vital importancia para  el procesador, al ser más rápida que la RAM agiliza el proceso, por eso ahora se encuentra en el chip.
Pero la caché no sólo es rápida; además, se usa con una finalidad específica. Cuando un ordenador trabaja, el microprocesador opera en ocasiones con un número reducido de datos, pero que tiene que traer y llevar a la memoria en cada operación. Si almacenamos los datos más utilizados una memoria, seguro necesitará el microprocesador.

Organización: La memoria cache es la memoria de acceso aleatorio (RAM) que una computadora o microprocesador puede acceder más rápido que una memoria RAM. Es una porción de una memoria para almacenar las lecturas y escrituras en el disco duro.

Manejo de lecturas y escrituras:

El proceso de escritura en caché es se da directamente. Para trasladar información de la caché a la RAM, hay dos políticas de escritura fundamentales:



Write-back: La información se escribe directamente en la caché, sin actualizar la RAM. Cuando una posición de la caché debe ser utilizada por otra posición de RAM diferente, su contenido actual se traslada a la RAM, asegurando la coherencia entre ambas memorias.


Write-througth: Cada vez que se escribe en una línea de caché, se actualiza la RAM. Esta técnica conlleva un acceso continuo a la RAM, por lo que el rendimiento es pobre.


Coherencia: La coherencia de cache hace referencia a la integridad de los datos almacenados en los caches locales de los recursos compartidos. La coherencia de la cache es un caso especial de la coherencia de memoria.

Un multiprocesador, mantienen caches de una memoria compartida, los conflictos crecen. Haciendo referencia al dibujo, si el cliente de arriba tiene una copia de un bloque de memoria de una lectura previa y el cliente de abajo cambia ese bloque, el cliente de arriba podría estar trabajando con datos erróneos, sin tener conocimiento de ello. La coherencia de la cache intenta administrar estos conflictos y mantener consistencia entre las caches y la memoria.
2.3. Acceso directo a memoria:

Controladores para DMA: El mecanismo de acceso directo a memoria está controlado por un chip específico, el DMA (DMA Controller), que permite realizar estos intercambios sin apenas intervención del procesador.  Está  integrado en un chip 8237A que proporcionaba 4 canales de 8 bits (puede mover solo 1 Byte cada vez); sus direcciones de puerto son 000–00Fh. Posteriormente en los AT se instalaron dos de estos integrados y las correspondientes líneas auxiliares en el bus de control.

3. Microprocesador Intel 8086/8088/Pentium: 
El Intel 8086 y el Intel 8088  son los primeros microprocesadores de 16 bits diseñados por Intel. Fueron el inicio y los primeros miembros de la arquitectura x86, actualmente usada en la mayoría de los computadores. El 8086 y el 8088 ejecutan el mismo conjunto de instrucciones. Internamente son idénticos, excepto que el 8086 tiene una cola de 6 bytes para instrucciones y el 8088 de solo 4. Exteriormente se diferencian en que el 8086 tiene un bus de datos de 16 bits y el del 8088 es de solo 8 bits, por ello, el 8086 era más rápido, mientras que el 8088 podía usar menos y más económicos circuitos lógicos de soporte.


3.1. Ejemplo de Memoria segmentada:

La memoria segmentada, gobernada por el software o llamado sistema operativo fue  un gran avance. Se manejaban bloques de 64 KB pero que podían comenzar en cualquiera parte con tal de que la dirección de inicio fuera múltiplo de 16.

3.2. Ejemplo de Formatos de Instrucción:

El formato de la instrucciones es un conjunto de especificaciones que indican como debe ser interpretado el patrón de bits de una instrucción de máquina para logra su ejecución dentro del computadores formato de la instrucción nos indica cual es el código de operación y cuales los operandos
Que la instrucción especifica, tanto explícita como implícitamente.

3.3. Ejemplo de Modos de direccionamiento: 
Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción (lenguaje ensamblador). Cómo se especifican e interpretan las direcciones de memoria según las instrucciones.
Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina



3.4. Ejemplo de interrupciones:

Las interrupciones surgen de las necesidades que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema de computación. La primera técnica que se empleó fue que el propio procesador se encargara de sondear el dispositivo cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente consumía tiempo en realizar todas las instrucciones de sondeo.
3.5. Pipeline:

En informática, un pipeline o tubería es un conjunto de elementos procesadores de datos conectados en serie, en donde la salida de un elemento es la entrada del siguiente. Los elementos del pipeline son generalmente ejecutados en paralelo, en esos casos, debe haber un almacenamiento tipo buffer insertado entre elementos. En informática, pipeline es sinónimo de segmentación.










No hay comentarios:

Publicar un comentario en la entrada