Download Capitulo 4

Document related concepts
no text concepts found
Transcript
Fernando D. Monje
1
Libro: Estructura Interna de la PC.
Capítulo 4: La Memoria.
Uno de los componentes fundamentales de las computadoras. Sin ellas no podrían
procesar información porque no tendrían un medio de almacenamiento temporario.
-

Memoria Principal: Medio de almacenamiento temporal en el que la CPU puede
escribir, leer o modificar información. RAM (Random Access Memory –
Memoria de Acceso Aleatorio)
Se presenta como casillas en donde cada una representa un Byte y la CPU puede
leer, escribir o modificar cualquiera de ellas. Pero debe indicar la dirección de la
misma y la información que desea depositar o leer, es por eso que se llama de
acceso aleatorio.
Tiene un bajo tiempo de acceso. Solo decenas de nanosegundos. Tarda ese tiempo
en encontrar la casilla por su dirección y actualizar la información por otra. La
velocidad tendrá que ser adecuada al procesador con que se trabaje.
El Límite de los 640Kb:
La cantidad de memoria máxima direccionable esta limitada por el tipo de
procesador. Los 386DX tienen un bus de 32bits. Pueden direccionar hasta 4Gb.
Los Pentium Pro tienen un bus de 36bits, capaz hasta 36Gb. ¿Por qué existe un
límite de 640Kb para DOS? Por compatibilidad; base del éxito sobre las demás
computadoras.
 La Memoria con el 8088:
Este tiene un bus de 20 bits. Puede hasta 1Mb. Solamente los primeros 640Kb son
utilizados por programas para ejecutarse, los 384Kb restantes para almacenar las
operaciones de la ROM del BIOS. Esta sección de la memoria no puede ser utilizada
por programas, pero quedan huecos de memoria si usar que pueden ser aprovechados.
Queda de la siguiente manera:
- Área de memoria plana de 640Kb.
- Huecos de memoria libre.
- Área de memoria plana mas allá de 1Mb
La Memoria Convencional:
Consiste en los primeros 640Kb. La utilizan los sistemas operativos para cargar su parte
fija en memoria. Permite ejecutar el código necesario para poder acceder a otras áreas
de memoria. Primero debe cargar y ejecutar código en los primeros 640Kb. Área de
memoria accesible en forma directa y utilizada para almacenar y ejecutar programas.
La Memoria Superior (UMB)
Compuesta por los huecos de memoria no utilizados entre los 640Kb y 1024Kb. No
puede ser utilizada en forma directa por el DOS o los programas, los huecos que quedan
pueden aprovecharse para cargar controladores o programas residentes. Los SOs
modernos utilizan los huecos sin inconvenientes.
A los huecos se los conoce como UMB (Upper Memory Blocks – Bloques de Memoria
Superior). Hoy no hace falta preocuparse por eso.
Fernando D. Monje
2
La Memoria Expandida
El procesador debe pasar al modo protegido, por lo tanto, resulta incompatible con la
mayoría de los programas desarrollados para trabajar en DOS y con el mismo DOS.
En 1985 desarrollaron en conjunto un estándar para plaquetas y controladores de
memoria expandida para eludir las limitaciones del DOS paginando la memoria.
-
Forma de trabajo: Se toman 64Kb de la memoria superior como 4 paginas de
16Kb. Se puede tomar un bloque de 16Kb mas allá del primer Mb, copiar una
pagina existente en la memoria superior su contenido, allí modificarlo y luego
reescribir el bloque con las modificaciones realizadas en la posición original. Se
logra la posibilidad de elegir un bloque de 16Kb de la memoria expandida y leer o
modificar la información en el mismo sin necesidad de acceder a esa dirección de
memoria en forma directa. Los cambios se reflejaran en la memoria expandida,
puede estar mas allá de los 1024Kb. Requiere un tiempo adicional del que necesita
la memoria convencional. Solucionó un problema a medias, pues solamente podía
ser utilizada por programas que la entendían y era más lenta que la memoria.
 La Memoria Extendida:
Aquella que va mas allá de 1Mb y puede ser direccionada pero en modo protegido.
-
-
El Modo Protegido: La configuración anterior era la que se utilizaba en los
primeros sistemas. A partir del 80286, se amplía el bus de direcciones. Los
requerimientos de compatibilidad con el 8088 hicieron que se reduzca a 20bits el
bus de direcciones cuando trabajen en el modo de direccionamiento real,
reduciendo la memoria máxima accesible a 1Mb.
Protección de memoria: Principio tomado de las grandes maquinas (mainframes)
preparadas para correr varias aplicaciones al mismo tiempo. Cada una debe tener
un limite de memoria para poder trabajar en esta y tener cuidado que otra
aplicación que este corriendo al mismo tiempo no utilice una parte de la memoria
de la otra.
Cuando un programa trabaja pide un bloque de memoria al S.O. y accede
directamente a ese bloque. Otro programa pide un bloque de memoria para
comenzar a trabajar y el sistema le da el bloque a continuación del otro programa.
Si vuelve a pedir un bloque le dará uno nuevo, pero si no hay suficiente memoria le
contesta que no pudo completar la operación.
Si uno de los programas se pasa al territorio del otro, actúa la protección de
memoria. El programa que violo los limites es detenido y las demás aplicaciones
continúan funcionando perfectamente. Error de Protección General (GPF).
DOS a partir de la versión 5 provee soporte a la memoria extendida mediante un
controlador que permite el funcionamiento de algunos programas específicos en el
modo protegido. El controlador encargado es el HIMEM.SYS. Divide la memoria
en dos partes: una de 64Kb HMA (High Memory Area – Área de Memoria Alta).
El resto de memoria extendida XMS (eXtended Memory Specification –
Especificacion de Memoria eXtendida).
La memoria alta se encuentra desp. de 1024Kb y antes de 1088Kb. En DOS se
utilizaba para cargar la parte residente de DOS y algunos controladores, liberando
mas memoria convencional. En los S.O. que trabajan en modo protegido se puede
acceder para cualquier fin sin inconvenientes.
Fernando D. Monje
3
- Otros modos de Memoria:
Surgieron otros modos para facilitar el funcionamiento de aplicaciones en modo
protegido:
 Simulación de memoria expandida (LIM EMS)
 VCPI (Virtual Controlled Program Interface – Interfaz de Programas con
Control Virtual)
 DPMI (DOS Protected Mode Interface – Interfaz de Modo Protegido DOS)
La mayoría de los sistemas operativos y programas funcionaba en modo protegido, pero
uno nunca se termina de liberar de un programa que tenga un par de años.
Cualquier sistema operativo que funcione en modo protegido y ejecute aplicaciones
DOS permite definir que cantidad de memoria queremos para la aplicación. Hace años
era necesario utilizar el EMM386. Desde DOS 5 no es necesario.
Cualquier sistema o administrador de memoria que brinde VCPI verificara si hay
memoria de algún tipo disponible. Ante la pregunta, el administrador de memoria le
responde que esta disponible. El programa toma lo que quiere y el admin. se la
suministra.
En los 90’s comenzaban a aparecer aplicaciones de 32bits, lo cual significaba que
necesitaban procesador 386 o superior para ejecutar. Estas aplicaciones operaban en
modo protegido, aprovechaban las características avanzadas de memoria de los
procesadores.
Cada aplicación manejaba el acceso a la memoria y el pasaje al modo protegido a su
manera, por lo tanto podrían ser incompatibles con sistemas multitarea o algo parecido.
Para solucionar este problema se creo el DPMI, interfaz de programación estandarizada.
Incluye funciones para acceder al modo en procesadores de 32bits, para DOS.
DPMI: Reglas para pertenecer al estándar: Aquel que si se encuentra frente a un
administrador de memoria brinde servicios DPMI, Dialogara con este y respetara las
normas de modo protegido para acceder a la memoria.
 El Area de Memoria Reservada:
Memoria entre los 640Kb y los 1024Kb, es un área de memoria que no puede ser
utilizada directamente. Era un área reservada para el sistema.
Se utiliza para:
- Memoria de Video.
- Direcciones de memoria que necesitan algunas placas.
- La ROM BIOS.
La ROM BIOS:
La ROM (Read Only Memory – Memoria de Solo Lectura). Memoria de la que se
pueden leer datos, pero no se pueden escribir nuevos ni modificar los existentes. Se
encuentra pregrabada por el fabricante y contiene instrucciones para el manejo de
algunas tarjetas o las operaciones principales de la PC. Este ultimo tipo de ROM se
llama BIOS (Basic Input Output Sistem – Sistema Básico de Entrada /Salida). Es el
traductor de los llamados de los sistemas operativos a los dispositivos de entrada/salida.
Se ubica en los últimos 64Kb de la memoria reservada.
Cuando se llama al soporte técnico de un programa determinado especialmente de un
SO, le preguntan el fabricante y fecha del BIOS para saber si tiene inconvenientes con
el programa. Es posible que el BIOS no este trabajando bien con este dispositivo porque
no lo conoce o no es compatible con el software que se esta corriendo.
El BIOS contiene rutinas que permiten acceder al CMOS Setup, donde podemos
configurar muchos parámetros de la PC.
Fernando D. Monje
4
En estos casos de incompatibilidad es posible la remoción del BIOS y colocación de
uno más nuevo. Los BIOS son fáciles de identificar, poseen 24 o 28 patas y están
colocados sobre un zócalo, de manera que se sacan fácilmente. La mayoría tiene una
etiqueta pegada encima. En caso de tener que cambiar uno, solamente hay retirar el
viejo y ubicar el nuevo en el mismo lugar.
PC Ecológica; Green PC
Son PC de escritorio que permiten ahorrar energía cuando no se utilizan ciertos
periféricos. Cuando toda la computadora se encuentra en modo “dormir” se puede llegar
a reducir el consumo a solo 30W.
Se apaga el disco, los platos dejan de girar.
Los monitores se apagan automáticamente y se encienden solos cuando hay actividad.
Lo mismo con las impresoras.
Este soporte lo ofrecen a través del BIOS, debe tener la capacidad de administrar el
consumo, y estar correctamente configurado el CMOS Setup. Los Sistemas operativos
modernos proveen soporte a los modos de ahorro de energía.
¿Qué es el Flash BIOS?
Si se posee algún problema con el BIOS se reemplaza, implicaba levantar la carcasa del
gabinete retirar el chip y poner otro. A veces solo se necesita un chip moderno para
solucionar el problema.
En la documentación debería figurar si un sistema posee Flash BIOS. También se puede
saber mirando el chip que incluye la palabra Flash. La mayoría de los que fabrican chips
de este tipo ofrecen en Internet actualizaciones para los BIOS solucionando problemas.
Direcciones de Memoria de Tarjetas de Expansión:
Algunas tarjetas requieren cierta cantidad de memoria temporal para uso propio para
guardar allí la información de las transmisiones y acelerar las comunicaciones.
Dos tarjetas diferentes no pueden utilizar la misma memoria como buffer. Se
modificarían los datos mutuamente y se perdería información. La mayoría de las tarjetas
ofrecen varias direcciones de memoria diferentes de las cuales se deberá elegir la que se
encuentre libre.
La Memoria de Video:
Memoria Utilizada por las tarjetas de video para mantener el contenido de la pantalla.
Se modifican datos directamente en la memoria de video y se refleja en la pantalla.
Cuando se diseño la primera PC se reservo 128KB para la memoria de video en la
memoria superior. Se sigue haciendo para mantener la compatibilidad. El resto de la
memoria es accedida mediante la misma técnica utilizada para acceder a la memoria
expandida: Paginando. Así no se ocupa tanta memoria reservada.
La ROM BIOS de las tarjetas de video:
El BIOS de la PC incluía soporte para MDS y CGA solamente. Sabiendo que se
producirían expansiones en la mayoría de los campos que maneja el BIOS, se diseño
una forma de extenderlo. Siempre que se cumpla con un formato estandarizado de
instrucciones básicas para mantener la compatibilidad. A partir de los EGA y VGA se
aprovecho esta capacidad del BIOS.
Funciones en el BIOS: Comprenden operaciones básicas para las modificaciones a la
pantalla sin necesidad de alterar registros propios de las tarjetas. Pueden resultar
peligrosos para el monitor o la estabilidad del sistema.
Fernando D. Monje
5
Funciones de la Tarjeta: Detección de monitor color o monocromático, selección del
modo de operación, manejo del cursor, selección de la pagina activa, manejo de ventana
de texto dentro de la pantalla, lectura y escritura de caracteres y atributos, selección de
colores, activación y lectura de pixeles, cambio del juego de caracteres, etc.
Cuando arranca la PC se comunica con la BIOS de video y le indica que debe mostrar
en pantalla, las instrucciones residentes en esta ROM se encargan de modificar la
memoria de video y los cambios se muestran en el monitor. La memoria ROM es mas
lenta que la memoria RAM, para solucionar se aplica el método ROM Shadow. El DOS
y Windows cuando arrancan en modo texto, utilizan la ROM BIOS de video.
 El Método de ROM Shadow:
La memoria de sólo lectura es más lenta que la de escritura y lectura. Se instala la
opción de Shadow RAM o ROM Shadow. Si esta activada, se copian los contenidos del
BIOS en la memoria RAM y quedan copiados como una sombra. Se aceleran las
operaciones que lleva a cabo el BIOS, pues se encuentran en la memoria RAM que es
mucho más rápida.
 La Memoria Caché:
Es una memoria ultrarrápida. Los procesadores tienen velocidades de reloj cada vez
mayores, funcionaban mas rápido, los tiempos de acceso de las memorias RAM
dinámicas no alcanzaban. La alternativa era usar RAM estáticas, pero eran muy caras.
En los 386, esta memoria era externa, no estaba dentro del procesador, sino conectada al
mismo a través de un bus. El 486 y los siguientes tienen cache interna. Integrada al
procesador además de la externa.
Cache Externa
Memoria cache externa o Cache L2 (Level 2 – Nivel 2), entre 64Kb y 8MB. Tamaño
ideal de 256Kb o 512Kb. Un tamaño mayor implica una inversión que no generara
aumento considerable en el rendimiento.
Un controlador de cache típico es el 82385 de Intel. Cuando el microprocesador necesita
leer una dirección de memoria, esta se busca en la memoria cache muy rápidamente, si
no, se toma de la memoria principal y mientras el procesador continúa trabajando, los
circuitos de cache hacen que se almacenen en esta las siguientes posiciones de memoria
consecutivas a la que pidió el procesador.
Cuando el procesador escribe en la memoria principal, pasa por la cache en vez de
escribirse directamente en la memoria principal. L controlador decidirá cuando los daos
modificados serán escritos en la memoria principal.
Existen algunas arquitecturas de cache y un par de métodos de escritura a la memoria
caché.
Arquitecturas de Caché
La arquitectura de la cache determina que método se utiliza para organizar y localizar
datos en la memora cache.
Tres diseños más comunes: Mapeo Directo, asociativo completo y asociativo en
conjuntos.
Fernando D. Monje
6
Arquitectura de Mapeo Directo
Cada sector de la caché corresponde a varios de la memoria principal. Cada vez que el
procesador pide un dato, debe ir a esa ubicación para encontrar la información.
Desventaja: Corresponder varios bloques de memoria RAM al mismo en la caché, si un
programa accede a esos datos, la caché estará constantemente accediendo a la memoria
principal para actualizar la información. No presenta una ganancia de rendimiento.
Arquitectura Asociativa Completa
Los bloques se trasladan en cualquier bloque libre de la caché.
Ventaja: La información a la que se accedió recientemente se encuentra presente casi
siempre en la caché.
Desventajas: La búsqueda de datos se debe hacer usando índices, es lento porque se
deben recorrer los sectores de la caché en búsqueda del bloque deseado.
Arquitectura Asociativa en Conjuntos de Varias Vías
Combinas arquitecturas de caché. Esta dividida en varios conjuntos: dos, cuatro u ocho,
múltiples sectores. Cada uno de ellos conteniendo un dato. Cada bloque puede estar en
cualquiera de los conjuntos. Solamente puede almacenarse una sección de memoria por
conjunto. En una de dos vías existen solamente dos lugares para un bloque específico de
memoria. Se reduce el tiempo de búsqueda y disminuye la posibilidad de que los datos
se sobrescriban entre si.
Desventaja: Son mas difíciles de implementar que las anteriores.
Métodos de Escritura: Write-Back y Write-Trough
La información es modificada por el procesador.
La caché actualiza la información en la memoria principal utilizando dos métodos
diferentes de escritura:
- Write-Trough: Todo lo que el procesador escribía en la cache se actualizara
automáticamente en la memoria principal.
- Write-Back: La información que el procesador escribe queda almacenada en esta y
solamente se pasa a la memoria principal cuando:
 El bloque de memoria debe ser reemplazado por uno nuevo, cuando ese
sector se requiere para almacenar nueva información.
 Otra parte del sistema que utilice el bus mastering trata de acceder a ese
boque de datos apuntando a la memoria principal.
 El algoritmo del controlador de caché determina que los datos han
permanecido demasiado tiempo como para ser actualizados.
Caché Externa Virtual
Para eliminar el cuello de botella que genera al procesador una memoria de baja
velocidad, decidieron eliminar esa memoria de la motherboard para abaratar los costos,
argumentando que los procesadores eran tan rápidos que no se necesitaban más esas
memorias tan caras.
En estos con cache virtual se reemplaza la memoria caché por un simulador de la
misma. No logra acelerar para nada los accesos a la memoria principal y no deja de ser
solo una solución para abaratar costos, obteniendo un rendimiento bastante bajo por no
tener memoria caché. Los procesadores de ultima generación incorporan caché externa,
estos diseños ya abandonaron el mercado.
Fernando D. Monje
7
Caché Externa L3
K6-III, AMD introdujeron un nuevo concepto, una segunda caché eterna. Conocida
como Caché L3 (Level 3 – Nivel 3) Ampliaron la caché L2 que esta incorporada al chip
fija de 256Kb llegando a 2368Kb en total (L1+L2+L3)
No parece haber dado demasiado resultado, no se utilizo en los próximos de AMD (K7),
pero los xeon e itanium de Intel utilizan la arquitectura.
Caché Interna
Pequeña cantidad de memoria que cumple la función de cache externa pero se encuentra
en el mismo trozo de silicio del micro. Esta integrada dentro. La interna de seguimiento
de ejecución es una versión mejorada de la caché de código, la cual permite almacenar
micro-operaciones ya decodificadas eliminando la lógica de decodificar las
instrucciones. Mejorando mucho su rendimiento.
El Protocolo MESI: El Control de la Caché
Surgió la necesidad de establecer un control en la coherencia de los datos que contiene
cada una de las memorias caché. Se podría haber solucionado usado una única caché
externa pero se perdía la posibilidad de tener un ancho de banda amplio hacia la
memoria principal.
Este protocolo esta incorporado en la mayoría de los micros de 5a Generación y
superiores. Están preparados para compartir la mother con otros procesadores del
mismo tipo. Esto garantiza que los datos ubicados en la memoria caché serán válidos o
de otro modo presentaran una marca que indicara su estado de invalidez.
El protocolo MESI soluciona cuando el procesador B cambia el valor de una posición
de memoria en su caché externa y consecuentemente en la memoria principal, se marca
la copia del valor que se encuentra en la caché del procesador como invalida y si
intentara acceder a esa posición el protocolo garantiza que la lea de la memoria
principal obteniendo el valor correcto.