La memoria del PC

Anuncio
TEMA 8: LA MEMORIA DEL PC
8.1 Manejo de la memoria del 8086
El 8086 es un microprocesador de 16 bits, pero que también puede manejar datos de 8 bits. La memoria
esta organizada en 2 bancos, estos bancos se denominan el banco par y el banco impar.
• Banco par: En este banco se guardan las direcciones pares.
• Banco impar: En este banco se guardan las direcciones impares.
Para obtener los daros de uno y otro banco, o de los dos, utilizaremos las señales: A0 y BHE.
La señal A0 es para el acceso de los bytes pares y para los bytes impares la señal BHE. Si se desea el
acceso a una palabra usaremos las dos señales al mismo tiempo.
El byte bajo de la palabra será recogido por las lÃ−neas D0......D7 del bus de datos y las lÃ−neas D8.....D15
contendrán el byte alto.
8.1.1 Alineamiento de la memoria.
Este método tiene un ligero problema: La palabra de 16 bits esta almacenada en dos bytes alineados, ambos
bytes pueden ser leidos o escritos al mismo tiempo. Sin embargo, en el 8086 no siempre es asÃ−.
La operación de acceso debe realizarse en dos ciclos de reloj por lo que es mas lento.
* Si los daros son de tipo byte o word alineados en el ciclo de lectura como el de escritura tarda dos ciclos de
reloj.
* Si los datos de tipo word no están alineados, en lugar de tardar dos ciclos de reloj tarda tres.
Es necesaria la señal M/IO (que llegan a los Chip Select de las memorias) para diferenciar si el acceso es a
la memoria o a los puertos de Entrada/Salida.
8.1.2 Organización de la memoria en los 80286,80386,i486 y Pentium.
Estos ordenadores tienen para instalar la memoria, unas ranuras, donde se insertan módulos SIP, SIMM
oDIMM.
80286: Posee un bus de datos de 16 bits y tiene 4 ranuras: 2 ranuras para el BANK 0 y otras 2 para el BANK
1.A la hora de instalar la memoria dibemos hacirlo ocupando completamente uno de los dos BANK.
El primer módulo del VAN 0 contendrÃ−a los bytes pares y el segundo los impares.
80386 y i846: Es idéntico al 80286 pero tiene espacio para cuatro modulos. En lugar de seleccionar uno y
otro modulo con las lÃ−neas Ao y BHE, disponemos de 4 lÃ−neas llamadas: BE3, BE2, BE1, BE0.Con esto
obtenemos datos de 8,16,24,32 bits.
Pentium: Dispone de dos BANK, cada uno tiene espacio para ocho módulos, ya que son ordenadores de 64
bits. Dispone de 7 lÃ−neas para obtener datos de hasta 64 bits.
1
8.1.3 Entrelazado.
A este tipo de organización, de tener la memoria dividida en dos filas: una que contiene las direcciones pares
y otra las impares, se la denomina memoria entrelazada.
El proceso de la memoria entrelazada consiste en refrescar las direcciones pares cuando se esta almacenando
un dato en una dirección impar y viceversa.
Actualmente, se ha conseguido una mayor mejora del tiempo de acceso incorporando una pequeña memoria
intermedia SRAM conocida con el nombre de memoria caché.
8.2.1 Memoria convencional.
La memoria convencional es la memoria en la que funciona la mayorÃ−a de los programas escritos para el
sistema operativo DOS. Se extiende desde el primer byte direccionable de la RAM del sistema hasta la 640
kb.
*000H a 3FFH: los primeros 1024 bytes se utilizan para almacenar la tabla de vectores de interrupción que
es un medio que tienen los dispositivos hardware para indicar a la CPU que necesitan atención.
*400H a 4FFH:Estos 256 bytes de memoria existentes sobre la tabla de vectores de interrupción son el aria
de comunicación ROM donde la BIOS almacena las direcciones de E/S de los puertos serie y paralelo.
*500H a 6FFH:Los 512 bytes siguientes forman el área de comunicación de DOS como almacenaje de
punteros y datos -objetos destinados al interprete BASIC de IBM.
*700H en adelante: directamente encima de la zona anterior, es donde el sistema operativo carga los archivos
IO.SYS MSDOS.SYS y los controladores de dispositivos interno.
8.2.2 Memoria extendida(XMS)
Aparece con los 80286 ya que estos pueden manejar 16 Mb como máximo(640 kb convencional, 340 kb
superior y 15Mb extendida).El 80386 puede direccionar hasta 4Gb.
Acceso a la memoria extendida: Para acceder, la CPU cambia a modo protegido. Esto permite al
microprocesador formar direcciones de numeración superior, que le permiten llegar mas allá de 1 Mb.0
Controlador de memoria extendida: Para utilizar este tipo de memoria, es necesario tener instalado en
controlador XMS en el CONFIG.SYS. El controlador de Microsoft es el HIMEN.SYS, y proporciona 18
funciones diferentes que pueden usar los programas para acceder a la memoria mas allá de los 640 Kb.
8.2.1 El área de memoria alta (HMA)
Un 80286 y superiores pueden acceder a la mayorÃ−a de las primeros 64 Kb de memoria extendida sin
abandonar el modo real. Esta región de memoria es conocida como HMA.
Manipulando la lÃ−nea A20, un programa puede direccionar los primeros 64 Kb de memoria extendida,
excepto los 16 Kb bytes finales. Eso es la que hace exactamente la versión 5.0 o superior del sistema
operativo DOS, mediante el controlador para ganar acceso a la HMA. Al situar la mayor parte del sistema
operativo en esta zona, se libera memoria convencional, tan necesaria para ejecutar las aplicaciones.
8.2.4 Memoria expandida(EMS)
2
Surgió ante la necesidad de mas memoria para ejecutar algunos programas en ordenadores basados en el
microprocesador 8086 y 8088.
En 1985 se propuso una solución que utilizaba una combinación de hardware y software denominada
memoria expandida, es mas bien un área de almacenamiento de memoria que se encuentra sobre una tarjeta.
Dicha tarjeta se instala dentro del ordenador en una de las ranuras de expansión.
* Instalación de la memoria expandida: Para que el ordenador pueda usar la memoria expandida se
necesita una serie de elementos que descubriremos a continuación:
- Una tarjeta de memoria compatible EMS que se instala en una de las ranuras de expansión libres del
equipo.
- Un controlador de dispositivos conocido con el nombre de gestor de memoria expandida o EMM.Hasta la
versión 3.2 se podÃ−an manejar hasta 8 Mb de memoria adicional de este modo.La versión 4.0
incrementó el rango hasta los 32 Mb.
* Funcionamiento de la memoria expandida: La memoria expandida se sitúa en una de tarjeta de
expansión introducida en una de las ranuras de expansión del PC y es independiente de la memoria
principal.
Un programa puede disponer de fragmentos de 16 Kb.
Esta memoria utiliza la conmutación de paginas realizadas por el hardware y software es decir que las
paginas de 16 Kb pueden intercambiarse dentro y fuera del marco de pagina.
* Emuladores de memoria expandida: Hay utilidades disponibles de otras empresas que almacenan los
datos EMS en el disco duro en vez de la memoria fÃ−sica.
8.2.5 Memoria superior (bloques de memoria superior A0000H- FFFFFH )
La región de memoria entre los 640 Kb y 1 Mb se llamarÃ−a memoria superior porque en un principio esta
reservada para usos relacionados con el sistema, tales como:
* Proporcionar espacio de dirección a la placa del sistema y a los adaptadores de ROM.
* Los módulos BIOS, asÃ− como cualquier modulo de BIOS adicional que trae cada una de las tarjetas
instaladas en los slots de expansión, tales como: controladoras de disco duro y tarjetas de video
* El buffer o RAM de video, determina lo que aparece en la pantalla.
Las zonas dentro del primer Mb las podrÃ−a utilizar el micro para ejecutar programas. Para conseguirlo, se
mapea la memoria extendida en las áreas no utilizadas entre 640 Kb y 1 Mb para crear regiones o bloques de
memoria superior, o UMB.
* Acceso a los bloques de memoria superior: Para crear los UMB, se necesita tener un ordenador 80386 o
superior que posea memoria extendida.
Para conseguir este acceso a los bloques de memoria superior, el controlador examina el espacio de dirección
desde los 640 Kb hasta 1 Mb buscando regiones que no estén habilitadas ni por la RAM ni por la ROM.
El controlador funciona en modo protegido y hace funcionar al sistema DOS en modo virtual-86 que
3
proporciona aplicaciones con acceso completo a todo el rango de direcciones.
* Instalación de los bloques de memoria superior: Para que el ordenador pueda usar los bloques de
memoria superior se necesitan los dispositivos:
- Un 80386
- Un controlador de dispositivo como el EMM386.EXE, suministrado por el sistema operativo DOS a partir
de la versión 5.0
8.2.6 Shadow RAM
Es una técnica que se basa en copiar la BIOS de video y del sistema en un área no utilizada de la RAM de
la memoria superior al arrancar el ordenador.
El por qué de hacer este uso es sencillo, puesto que la RAM es más rápida que la ROM, esto mejora las
prestaciones generales del sistema, ya que las rutinas de la BIOS se ejecutan cientos de veces por segundo. Si
se activa esta opción se reparten en las zonas libres de los últimos 384 Kb del 1 Mb (memoria superior).
La shadow RAM desvÃ−a las direcciones de la ROM a la RAM).
* Instalación de la shadow RAM: En un 386 o superior se pueden activar o desactivar esta opcion en el
SETUP o utilizando una opcion del gestor HIMEN.SYS del sistema operativo DOS.
La shadow RAM no puede ser añadida al ordenador. Si desea adquirir un ordenador que tenga shadow
RAM fÃ−jese que posibilite el activarla o no porque puede tener conflicto con ciertas aplicaciones.
8.3 La distribución de la memoria en Windows.
La mayorÃ−a de los tipos de memoria que estudiamos surgieron por la incapacidad del sistema operativo
DOS de manejar mas de 1 Mb de memoria.
Los nuevos sistemas operativos utilizan el modo protegido y el virtual-86.De esta forma, el mapa de memoria
es continuo y el usuario no tiene que preocuparse si los drivers deben estar en una u otra zona para liberar
memoria.
8.4 La memoria caché
Las memorias SRAM son muy rápidas, debido a que no necesitan ciclo de refresco para mantener los datos,
pero su precio es muy elevado comparado con la DRAM.
Cuando el microprocesador lee datos de la memoria principal los almacena en la memoria caché(SRAM).
Si el micro vuelve a necesitar esos datos, los lee de la memoria caché en lugar de la memoria principal.
Al principio la caché venia fuera del micro (caché de nivel 2), pero ahora esta dentro de la propia CPU
(caché de nivel 1) y una caché de mayor tamaño de nivel 2.
8.4.1 Principio de localidad
Con el uso de la memoria caché el rendimiento es mayor, debido a que se basan en un principio
informático denominado principio de localidad de referencia:
4
* Espacial: Si observamos que se repiten mucho los accesos a unas posiciones de memoria
* Temporal: La probabilidad de que el micro vuelva a acceder a la misma posición de memoria unos ciclos
después.
8.4.2 Componentes de la caché
Todo sistema caché esta formado por los siguientes elementos:
* Una memoria asociativa: Constituida por los chips de memoria SRAM (10/45 ns) y que se sitúa entre la
memoria principal y el micro. Suele tener una capacidad de 8 Kb y 512 Kb.
* Un controlador de la caché: El controlador como por ejemplo el 82385, mejora la velocidad de acceso a
la memoria en un 80% con un porcentaje de aciertos del 95%.
Este tipo de memorias no se puede añadir al ordenador, sino que debe venir implementada en el sistema.
8.4.3 Funcionamiento de la memoria caché
El funcionamiento de la caché es el siguiente: Cuando el micro lee o escribe datos en la mamoria principal,
tambien los escribe en la memoria caché, de forma que si vuelve a necesitar esos datos, accede a la caché
em vez de acceder a la memoria principal, mejorando de esta forma considerablemente la velocidad del
sistema.
Al almacenar los datos necesitamos asociarlos a una etiqueta. Para conseguirlo la caché dispone de un
directorio o tag.
* Ciclos de lectura: La lectura se hace de la memoria caché, terminando el ciclo antes de los que seria
necesario para acceder a la memoria exterior. Si no la lectura se hará de la memoria central.
* Ciclos de escritura: La escritura de los datos se pueden realizar de dos formas dependiendo del tipo de
caché que se integre:
- Write Through (escribir directamente): Si el dato esta en la memoria caché (acierto), ambas, memoria
principal y caché, se utilizan con el dato que entrega la CPU.
Este método es mas lento que el que veremos a continuación pero es mas sencillo de implementar.
- Write back (escribir después): Si el dato esta en la memoria caché (acierto), solamente se actualiza la
memoria caché y en cada linea se añade un campo denominado “sucio” para indicar que ha sido
modificado. En este caso se actualiza la memoria principal a la hora de ser reemplazado.
Esta memoria es más rápida que la anterior.
5
Descargar