La memoria en un ordenador cumple con dos funciones, las cuales son: -Ejecución.- Ya que todo programa debe cargarse en memoria antes de poder ser ejecutado; y, -Almacenamiento.- Ya que nos permite guardar temporalmente los datos de las aplicaciones, como por ejemplo una hoja de cálculo, una hoja de texto, etc.
Tipos de Memoria Para referirse a la memoria se han establecido dos tipos de memoria, los cuales estudiaremos a continuación.
La Memoria RAM (Random Access Memory). Memoria de Acceso Aleatorio Es una memoria en la cual puede almacenarse la información y los programas de la computadora de manera temporal y que permite la lectura de los datos contenidos en ella al igual que la escritura de nueva información sin limitaciones en cuanto a la cantidad de veces que puede realizarse cualquiera de estas operaciones. El microprocesador, o "cerebro" de la máquina, hace uso de la memoria RAM para cargar los programas que se van ejecutar al igual que los datos que se van a procesar. Por medio de la RAM, las operaciones se hacen más rápidas ya que su velocidad de trabajo es alta, logrando así que la computadora tenga un mejor desempeño. En esta memoria también se "carga" o almacena el sistema operativo durante la inicialización de la máquina y permanece allí hasta que la computadora sea desenergizada. Por tal motivo, esta memoria es denominada memoria de trabajo.
RAM dinámica (Dynamic RAM o DRAM) Este tipo de memoria exige que cada cierta cantidad de tiempo se haga un refresco de los datos, es decir, periódicamente se le debe recordar o regrabar la información que está almacenada. Esta operación la ejecuta automáticamente el controlador de memoria de la tarjeta principal. El refresco se hace necesario debido a que cada bit de información esta guardado en un pequeño condensador o capacitor, que indica el estado lógico almacenado (1 o 0) a través de la carga de voltaje que posea. En este tipo de memorias la carga del condensador, lo cual indica que el bit de información que corresponde a un "1" lógico, tiende a desaparecer, si se deja pasar cierto tiempo sin renovarla. Para evitar esto, el controlador de memoria de la tarjeta principal está programado para hacer una recarga o refresco del voltaje de los condensadores justo antes de que la información se pierda por completo, con lo cual, el dato permanecerá almacenado en la memoria durante otro pequeño período de tiempo hasta el siguiente ciclo de refresco. Mientras el sistema se encuentra haciendo el refresco a la memoria, el microprocesador no tiene acceso a los datos y debe esperar a que termine la operación. Por ello, este tipo de memoria es más lenta que la RAM estática pero consume menos potencia.
Ram Estática (Static RAM o SRAM) Esta clase de memoria no necesita de refresco de datos como la RAM dinámica. Sus datos permanecen almacenados mientras el circuito tenga alimentación de voltaje. Debido a que no necesita refresco, la SRAM es mucho más rápida ya que el microprocesador siempre la encuentra disponible para lectura o escritura de datos. Por su rapidez, es ampliamente utilizada en las computadoras como memoria intermedia (memoria caché) entrelas unidades de almacenamiento y el microprocesador. Por su tecnología, la memoria estática es de alto costo por lo que generalmente no en utilizada en grandes cantidades dentro de la computadora; además consume más potencia.
Tiempo de Acceso Este es un parámetro muy importante que se utiliza para determinar la velocidad de operación de las memorias. Se define como el lapso de tiempo necesaria para obtener la información completa desde una posición determinada de la memoria. Un tiempo de acceso corto hace que la computadora trabaje a una mayor velocidad. El tiempo de acceso de acceso de la memoria se mide en nanosegundos (ns), es decir en milésima de microsegundo o mil millonésimas de segundo.
Memoria EDO RAM (Extended Data Out Random Access Memory) Es un tipo de memoria RAM dinámica cuya diferencia está en su menor tiempo de acceso debido a que los datos permanecen almacenados durante un mayor tiempo antes de un nuevo ciclo de refresco. El resultado final de esta tecnología es la obtención de una memoria más rápida y por ello un mejor desempeño de la computadora. La memoria EDO RAM es ideal en las tarjetas principales cuya frecuencia de reloj de buses llega a los 66 MHz, tales como las diseñadas para microprocesadores Pentium. Para el manejo de la memoria EDO RAM, es indispensable que los circuitos de apoyo de la tarjeta principal (Chipset) la soporten, tal como sucede con los chipset de Intel Tritón, Opti, Ali y VX Two, entre otros. El bit de Paridad El bit de paridad es una posición o celda adicional de memoria que se añade en cada operación de lectura o escritura que se efectúa en la RAM. Esto significa que si en una máquina PC donde la unidad básica de información es el byte, se añade una posición adicional de control: en lugar de usar celdas de memoria de 8 bits se tendrá palabras de 9 bits (aunque el noveno nunca se utilice para los procesos informáticos, sólo como control).
CODIGO DE CORRECCIÓN DE ERRORES (ECC) Es un método de corección de información en la cual los posibles errores de bits individuales se pueden detectar y corregir. Se utiliza principalmente en los servidores de archivos y en las computadoras de mediano rango. La diferencia entre el bit de paridad y la ECC consiste en que la paridad detecta error en un bit y simplemente avisa al sistema que ha ocurrido un error, si es un solo bit, lo corrige y el sistema y el usuario no se enteran de lo ocurrido. Cuando los errores son en multiples bits, debido a que el ECC solo puede corregir uno avisa al sistema que ha ocurrido un error de paridad para que el microprocesador no tome en cuenta el dato. Para la corrección de errores, el ECC utiliza métodos matemáticos para agregar información del contenido del byte dentro del mismo byte. Además de la información normal, el dato permanece almacenado con la información adicional que ha insertado el código de corrección de errores. Cuando el microprocesador va a hacer uso del dato, este debe pasar por el ECC para determinar si el dato ha sido alterado y para retirar la información adicional que este agregó al momento de almacenarlo. En los sistemas actuales hay por lo menos dos filtros que permiten detectar un módulo de memoria defectuoso antes de que afecte el desempeño de algún programa de aplicación: la revisión inicial de memoria que realiza cada vez que se enciende la máquina y los archivos administradores de memoria (específicamente el HIMEM.SYS), cuya ejecución se indica en el archivo CONFIG.SYS).
EL CONTROLADOR DE MEMORIA Es la circuitería encargada de supervisar la transferencia de datos entre la memoria y los demás componentes de la computadora. El controlador de memoria determina cual es el tipo de verificación, tales como la paridad y el código de corrección de errores (ECC), que se está utilizando para protegen la integridad de los datos a transferir. La mayoría de las computadoras genéricas trabajan con memoria sin paridad y sin código de protección de errores. Esto no quiere decir que el equipo trabaje mal, ya que como hemos mencionado. Los errores ocurren con muy poca frecuencia.
Desde el comienzo de las computadoras, la memoria RAM ha venido evolucionando en cuanto a su desempeño y a la forma de presentación. En la forma de presentación, la memoria RAM ha pasado por el encapsulado DIP de hace muchos años, hasta el formato DIMM de las computadoras actuales. Veamos la descripción de las diferentes presentaciones:
DIP (Dual In-line Package).- Encapsulado en doble línea: La memoria RAM con esta presentación era generalmente de forma rectangular con 16 pines ocho a cada lado. Se instala directamente sobre la tarjeta principal en arreglo matricial, es decir en filas y columnas, de tal manera que el direccionamiento se proporciona a varios chips a la vez con el fin de dar mayor rapidez a las operaciones de lectura y escritura. Los ocho bits de un byte de información quedan distribuidos en diferentes DIPs de RAM .
SIP (Single In-line Package) Encapsulado de una línea: Esta configuración permitió por primera vez, el ahorro de espacio en la tarjeta principal, ya que los módulos se insertaban de manera perpendicular a ella sin ocupar mayor área. Los circuitos integrados hacían conexión con la tarjeta principal a tráves de un conectores y los respectivos pines del módulo.
SIMM (Aingle In.line memory Module) Módulo de Memoria de una Línea: Este tipo de empaque, los pines vienen distribuidos en una sola línea en forma de circuito impreso formando un módulo de 32 bits que debe ser insertado en una ranura tipo SIMM de la tarjeta principal. Cada módulo SIMM posee varios DIPs organizados en filas con el fin de tener acceso a varios DIPs al mismo tiempo. Es posible tener SIMMs de 30 pines o SIMMs de 72 pines.
DIMM ( Dual In-line Memory Module) Módulo de Memoria en doble línea. La forma de estos módulos es muy similar a los SIMM. En este tipo de empaquetamiento, los pines se distribuyen en dos filas a lo largo del borde del módulo. También está compuesto de varios circuitos integrados organizados en filas para dar mayor rapidez a las operaciones de lectura y escritura. Los DIMM poseen un total de 168 pines y manejan hasta 64 bits a la vez, por lo que son aptos para sistemas con microprocesadores Pentium (Intel) y Power PC (Apple).
SO DIMM. (Small Outline DIMM) Pequeño Módulo de Memoria en doble línea: Es un tipo de memoria utilizado en las computadoras portátiles. Aunque sus contactos están en dos líneas, su funcionamiento es igual al de los SIMM de 72 pines, es decir, manejan solamente 32 bits. Los primeros (tipo SIMM) fueron empleados en computadoras 486 y Pentium, mientras que los segundos (tipo DIMM) son los que se utilizan en las Pentium, Pentium MMX y Pentium Pro.
IDENTIFICACIÓN DE LOS CHIPS DE MEMORIA RAM: La memoria RAM destinada al uso en computadoras de escritorio, ya sea en cualquiera de las configuraciones físicas descritas anteriormente, posee un código impreso sobre su superficie con el cual se puede conocer su capacidad, su velocidad y el número de bits que almacena por cada posición de direccionamiento.
BANCOS DE MEMORIA RAM: Un banco de memoria es módulo o un conjunto de módulos que están conectados a la tarjeta principal de tal forma que la suma total de bits de cada uno de ellos completa el ancho del bus de datos, ya sea 32, 64 o 128 bits. Por esto los módulos de memoria RAM tienen que ser agrupados en forma de "bancos" esto es, hay que instalar varios módulos a la vez para que la máquina los reconozca. (Típicamente, dos o cuatro SIMMs forman un banco). La distribución y conexión entre bancos de memoria RAM viene elaborada sobre la tarjeta principal. Por lo tanto, el usuario lo único que debe hacer es instalar los módulos en la cantidad necesaria para completar al menos uno de los bancos. Debe revisarse cuántos conectores de memoria se tienen disponibles en la tarjeta principal. Con base en ello se calcula la capacidad de los módulos que se van a comprar. Recuerde que todos los módulos dentro de un mismo banco deben ser iguales, aunque bancos distintos pueden usar SIMMs de distinta capacidad. En algunas tarjetas principales para microprocesador Pentium, debido a que el bus externo de datos tiene un ancho de 64 bits, se deben instalar SIMMs de memoria formando bancos de tarjetas que completen palabras de 64 bits. El controlador de memoria también tiene como función la verificación de los bancos de RAM que sean instalados de acuerdo a la cantidad de SIMM o DIMM que posea la tarjeta principal.
VOLTAJES DE OPERACIÓN: El voltaje de operación estándar de la memoria Ram ha sido tradicionalmente de 5 voltios, pero debido a la alta integración de los circuitos y al aumento del consumo de potencia, se han diseñado circuitos de memoria RAM que operan solamente a 3.3 V, disminuyendo así el calentamiento provocado por el alto consumo de energía en las unidades de 5 voltios. En la mayoría de las tarjetas principales, este voltaje se puede configurar por medio de jumpers, utilizando como ayuda el manual de dicha tarjeta. Por esto, asegúrese del voltaje de operación de los módulos de memoria antes de instalarlos sobre al tarjeta principal ya que si se instalan erróneamente pueden ocasionar el deterioro definitivo de los módulos.
CONFIGURACION A NIVEL DE SOFTWARE DE LA MEMORIA RAM. En una computadora, el manejo y distribución a nivel de software que se le da a la memoria RAM instalada depende del sistema operativo que se esté utilizando. La cantidad de memoria RAM se distribuye en Memoria base o convencional y Memoria alta, comprendida en Memoria expandida.
ACTUALIZACIÓN.- Instalar memoria Ram adicional es un proceso muy sencillo solo hay que insertar los módulos en los conectores respectivos de la tarjeta madre y entrar en el Setup para que el sistema los reconozca. Sin embargo, hay ciertos detalles técnicos que se deben tomar en cuenta en la elección de los circuitos a instalar así como algunas precauciones. Lo primero que se debe hacer cuando se requiere instalar memoria de trabajo adicional en una computadora es verificar el tipo de módulos de RAM que utiliza. En la actualidad, prácticamente todas las máquinas utilizan cualquiera de dos tipos de módulos de memoria: los SIMMs de 72 pines y los DIMMs de 168 pines. Es muy importante que verifique que tipo de RAM utiliza el sistema, ya que los módulos no son intercambiables. Si usted tiene que actualizar la memoria a alguna máquina de marca, lo más seguro es que son módulos de RAM deberán poseer el bit de paridad. De lo contrario, el sistema no reconocerá los nuevos módulos.
LA INSTALACIÓN FISICA: Como precaución , se debe evitar manipular demasiado el borde de los SIMM o de los DIMM, ya que los niveles de electricidad estática almacenada en el cuerpo podrían deteriorarla. Puede darse el caso de que tenga que retirar memoria ya existente para dar paso a una nueva, sobre todo en aquellas tarjetas madre que estén limitadas en número de conectores para RAM.
PRUEBA DE LA NUEVA MEMORIA EN EL SISTEMA: Una vez que se ha colocado la nueva memoria, hay que indicarle al sistema la adaptación realizada en el hardware. Esto es muy sencillo: simplemente hay que entrar al Setup básico de modo que la máquina reconozca la nueva cantidad de RAM instalada (lo cual se hace de forma automática durante el conteo inicial) y salirse solicitando que almacene la nueva información. Así, la computadora, de aquí en adelante, tendrá registrado que tiene más memoria de trabajo, y podrá aprovechar ese recurso en los programas de aplicación. Este procedimiento de entrar al Setup y dejar que el BIOS configure por sí mismo la nueva cantidad de RAM ya no es necesario en tarjetas madre modernas como las de quinta generación con chipset Tritón II de Intel, equivalente o superiores, las cuales automáticamente se configuran a las nuevas condiciones de trabajo.
La memoria caché es un tipo de memoria RAM cuya principal característica es su alta velocidad de acceso, es decir, permite guardar y leer los datos con gran rapidez. Se encuentra en las computadoras en forma de pequeños bancos con el fin de mejorar notablemente el rendimiento general del sistema, actuando entre la RAM convencional y el microprocesador. la tecnología usada para la fabricación de esta memoria se llama SRAM (Static RAM) o memoria RAM estática, que es un tipo de memoria que no necesita refresco como sucede con la DRAM (Dynamic RAM). la RAM dinámica se hace más lenta debido a la necesidad del refresco de los datos cada cierto período de tiempo. Mientras sucede el refresco, los dispositivos anexos a la memoria no tiene acceso a la información por lo que deben esperar hasta que dicho refresco termine, obteniendo como consecuencia un aumento en el tiempo de proceso del sistema. Con la RAM estática esto no sucede ya que los circuitos integrados están siempre disponibles para la lectura o para la escritura de la información desde o hacia los diferentes dispositivos que hacen uso de ella. Esta propiedad, combinada con otras características del diseño, hacen que la memoria caché sea extremadamente rápida aunque su precio sea un tanto superior al de la memoria RAM dinámica. El tiempo de acceso de la memoria caché es de aproximadamente 15 nanosegundos o menos, es decir, es hasta tres o cuatro veces más rápida que la memoria RAM convencional o DRAM. Por su alto costo y diseño especial del controlador, las computadoras solamente poseen pequeñas cantidades de memoria caché instalada en su unidad central comparada con la cantidad de RAM. Cuando la memoria caché está ubicada dentro del mismo encapsulado del microprocesador se denomina caché primario o caché L1 (Level 1 o Nivel 1). Si la memoria caché es externa al encapsulado del microprocesador, se denomina caché L2 (Level 2 o Nivel 2) En algunos sistemas, la memoria caché L2 se ha construído directamente dentro del microprocesador. Esto hace que la tarjeta principal sea de menor costo ya que no necesita espacio adicional para la instalación de dicha memoria.
Memoria de Video.- La RAM de video es la memoria encargada de almacenar la información que el microprocesador envía hacia el monitor. Esta memoria, ubicada sobre la tarjeta de video, tiene acceso simultaneo por parte del procesador de la señal de video y por parte del microprocesador de la tarjeta principal. Sirve como plataforma para el microprocesador deposite allí las imágenes que desea mostrar, permitiendo que este se puede dedicar a otras tareas o que permanezca libre mientras la información de la imagen no cambie. Una vez que el microprocesador entregue la información, el controlador de video se encarga de seguir leyendo los datos constantemente para generar la imagen sobre el monitor. La mayoría de los adaptadores de video hacen uso de circuitos integrados de memoria RAM dinámica (DRAM) para el almacenamiento de las imágenes que desplegará el monitor. La cantidad de píxels o puntos de la pantalla nos indican la resolución de la imagen, y el número de bits por pixel la cantidad de colores que pueden ser mostrados en un monitor, el cual, también deberá estar en capacidad de mostrarlos. Transferencia de Información de Video los circuitos integrados para la memoria RAM de video suelen ser un poco lentos debido a la constante necesidad de refresco de información. Este tipo de memorias no puede ser leído simultáneamente con la escritura o con el refresco. En las computadoras modernas, la tarjeta de video requiere altas ratas de transferencia de información ya que se manejan grandes resoluciones en las imágenes que se desean mostrar sobre la pantalla. Se puede deducir la cantidad de información que debe manejar la RAM de video durante el proceso de intercambio de datos para mostrar una imagen cualquiera sobre la pantalla. Tipos de Memoria de Video Además de la DRAM o Ram dinámica, podemos encontrar otras tecnologías y topologías de la memoria de video en las computadoras. Con el surgimiento de la memoria EDO RAM cuya velocidad es superior al DRAM convencional, las nuevas tarjetas de video han alcanzado una velocidad de 110% superior a un precio similar. Otro tipo de memoria es la VRAM (Video RAM) que ha sido utilizada últimamente en las tarjetas de video. Su principal característica es permitir el acceso simultáneo del procesador de video y del microprocesador de la tarjeta principal. También podemos encontrar otro tipo de RAM de video denominada WRAM (Window RAM), desarrollada por Samsung, que mejora el rendimiento de la VRAM a un menor costo, y que está siendo instalada actualmente en muchas tarjetas gráficas para computadoras. Por otro lado, la MDRAM (multibank DRAM), es otro tipo de RAM de video que fue desarrollado por MoSys Inc. y que está siendo utilizada en muchas de las aplicaciones gráficas a través de un gran número de pequeños bancos de 32K. Normalmente, la VRAM y la DRAM están organizadas en forma de un único banco. El objetivo de tener organizada la memoria en forma de bancos múltiples es la precisión en la cantidad de memoria total instalada ya que es suficiente con que sea múltiplo de 32, mientras que con los demás tipos de RAM de video, es necesario instalar desde 256K en múltiplos binarios (256K, 512K, 1M, 2M y 4M). La SGRAM (Synchronous Graphics RAM) es un tipo de RAM de video para tarjetas de alta resolución y alta definición gráfica. Este tipo de memoria puede trabajar en 66Mhz o más, siendo aptas para ser utilizadas con tarjetas de video diseñadas para rutinas tipo PCI en las tarjetas principales modernas. Ofrece hasta cuatro veces la velocidad de la DRAM utilizada en las tarjetas convencionales.
La ROM es un tipo de memoria en que sus datos sólo pueden leerse, ya que no permite la escritura de nueva información por los métodos tradicionales usados por la computadora. Se utiliza en aquellos sistemas donde los datos son siempres lso mismos durante las veces que se tenga acceso a la memoria. Los circuitos de memoria ROM de las computadoras suelen venir en forma de DIP ( Dual In.line Package) o empaquetamiento de doble línea, y generalmente vienen programados de fábrica. En algunas ocasiones, su contenido puede ser alterado mediante dispositivos programadores especiales. En las computadoras, la BIOS (Basic Input and Output System) o programa básico de entradas y salidas viene almacenado en memoria ROM. La más utilizada es la memoria EPROM ( Erasable Programmable ROM), la cual es programada por los desarrolladores de BIOS. Por ningún motivo se debe intentar cambiar el contenido de los datos de estos circuitos integrados ya que afectaría directamente el sistema operativo. Este circuito viene incluido en las tarjetas principales y el programa que trae grabado tiene como función el reconocimiento y prueba de los diversos circuitos y dispositivos de la computadora en el momento del encendido, así como durante la ejecución de los diferentes programas de la computadora. Cuando se enciende la computadora, automáticamente se ejecutan varias rutinas que permiten ponerla en marcha y revisar la fiabilidad del sistema.
Estas pruebas corresponden a pequeños programas grabados en la memora ROM-BIOS, cuyas tareas específicas son las siguientes:
1.- Se encargan de poner en funcionamiento o "despertar" a la computadora. Para tal efecto, al recibir el voltaje de alimentación en el encendido, el microprocesador busca y ejecuta la instrucción que se encuentra en la localidad 0000h del bus de direcciones, la cual corresponde al inicio del programa de arranque almacenado en la ROM-BIOS. Esta rutina le indica al CPU los elementos periféricos que tiene conectados, así como la forma en que va a mantener su comunicación con ellos. De ahí el nombre de BIOS (basic I/O sistem o Sistema Básico de Entradas y Salidas).
2.- Comprueban si los elementos del hardware declarado en el sistema están listos para trabajar (rutinas POST, entre las que se incluyen la comprobación del CMOS Setup y, dependiendo del tipo de RAM usada en la máquina , verificación de la paridad de memoria).
3.- Permiten al microprocesador mantener la comunicación con todos los periféricos. 4.- Actúan como interface entre la máquina y el sistema operativo y, a tráves de este último, con los programas de aplicación.
Una vez que se enciende la computadora, se ejecuta un programa de verificación automática del estado general del sistema, llamado POST.(Power- On Self Test). Entre los elementos de hardware que se revisan durante el arranque están la misma ROM-BIOS, el microprocesador, los controladores de interrupciones, los accesos directos a la memoria RAM, el coprocesador matemático y todos los demás elementos contenidos en la tarjeta principal. También se revisa la presencia de elementos externos indispensables para el encendido como la tarjeta de video., la memoria RAM, los controladores de disquetes y discos duros, etc. Comprobada la integridad del sistema, en la misma rutina grabada en la ROM-BIOS aparece una orden para que el microprocesador busque un sistema operativo en el sector de arranque del disco flexible identificado como A. En caso de no detectarlo, pasa a la unidad de disco identificada como C, donde igualmente, en el sector de arraque, busca las órdenes de sistema operativo.
ACTUALIZACIÓN DE LA BIOS La actualización de la BIOS consiste en el cambio del circuito integrado que contiene los programas básicos de control de entradas y salidas, por otro que posea dichos programas con fecha más reciente. Con este cambio se pueden mejorar propiedades de la computadora y permitir la conexión de nuevos dispositivos. La siguiente es una lista de posibles mejoras en la computadora luego de una actualización de la BIOS:
· Soporte a nuevas unidades de disquete (2.88 MB)
· Soporte a teclados de 101 teclas o más.
· Adición de compatibilidad con redes Novell.
· Adición de sistema de protección con Password.
· Protección contra nuevos virus.
· Soporte a discos duros con mayor capacidad y/o nuevas interfaces.
· Adición de nuevos puertos de comunicaciones.
Prácticamente, cuando se desea hacer una actualización de la BIOS, generalmente ya se ha hecho necesaria también la actualización de la tarjeta principal de la computadora. Al adquirirse una nueva tarjeta, lo más seguro es que tenga una versión actualizada de la BIOS por lo que debemos preocuparnos mucho por actualizar este circuito integrado. Uso de la rutina POST de la BIOS para el diagnóstico de fallas Como ya lo hemos mencionado, el programa que contiene la rutina POST, presente en el chip de la BIOS, es el encargado de la revisión de los diferentes componentes dentro de una computadora al momento del arranque. Por medio de una tarjeta especial de interface, instalada en una de las ranuras de expansión y que posea la circuitería adecuada para mostrar los diferentes códigos de posibles errores del sistema, denominada Tarjeta POST, podemos obtener el diagnóstico de la falla en la tarjeta principal o en alguno de los componentes de la computadora.
Los microprocesadores 8088 y 8086 pueden direccionar un 1Mb de RAM. Después tuvieron que asignar parte de este espacio de direcciones a la ROM necesaria, y el resto a la RAM, decidieron que los 640 KB más bajos se utilizarían para la RAM y los 384 Kb más altos se reservarían para la ROM. Con esta distinción provocó la aparición de dos términos básicos: memoria convencional (conventional memory)y memoria reservada (reserved memory).
MEMORIA CONVENCIONAL La memoria convencional es la zona en que el MS-DOS carga y ejecuta sus programas. La memoria convencional más baja está reservada para el uso del ordenador, pero aproximadamente a partir de 2 Kb y hasta 640 kb, se pueden ejecutar aplicaciones. Encima el MS-DOS están las áreas de almacenamiento de datos, lugares que el MS-DOS utiliza para gestionar los archivos abiertos, los controladores de dispositivos cargados con CONFIG.SYS y los programas residentes en memoria cargados con AUTOEXEC.BAT. El Área de Memoria Superior.- IBM reservó los 384 Kb de la parte superior de la memoria del PC, para futuras expansiones o para la ROM. El PC original usaba solo una parte de esta memoria para el BIOS, que proporcionaba al PC las instrucciones de bajo nivel para controlar periféricos como unidades de disco y el teclado. La Barrera de los 640 Kb del MS-DOS.-Fueron surgiendo nuevos problemas, llegando así a las limitaciones con la memoria. En vez de ser conocido como el punto donde termina la RAM de los programas y comienza la memoria superior, los 640 Kb llegaron a ser conocidos como la barrera del MS-DOS, un muro de piedra más allá del cual estaba prohibido el uso de la memoria.
MEMORIA EXPANDIDA La memoria expandida no significa que sea memoria más allá de la marca de 1Mb, ni los programas pueden ejecutarse en esta zona al contrario es más bien un área de almacenamiento de memoria sobre una tarjeta de expansión. ¿ Cómo Trabaja la Memoria Expandida?.- La memoria expandida aprovecha una área no utilizada de la memoria superior, reservando un bloque de 64 kb llamando marco de página. La memoria expandida se sitúa en una tarjeta de expansión introducidas en una de las ranuras de expansión del PC, y es independiente de la memoria principal. El controlador de video EMM permite a las aplicaciones acceder a la memoria expandida mediante 4 páginas de 16 kb mapeadas en el marco de página. ¿Utilizar Memoria Expandida como Memoria Convencional?.- Una función que realizaban antiguamente las tarjetas de memoria expandida EMS era proporcionar memoria convencional a parte de la memoria expandida. Las tarjetas podían ser configuradas para ofrecer con 256 kb un extra de 384 kb de memoria convencional de forma que alcanzara el total de 640 kb. La memoria restante de la tarjeta EMS quedaba como memoria expandida. El proceso de rellenar memoria la memoria convencional con memoria expandida esa conocido como backfill.
MEMORIA EXTENDIDA La memoria extendida es RAM por encima y más allá de la marca de 1 Mb existente en un ordenador basado en 80286 o '386. Por encima de donde reside el MS-DOS y más allá del alcance de mayoría de las aplicaciones del MS-DOS . El 80286 puede acceder hasta a 16 Mb de RAM;el '386 puede acceder hasta a 4096 MB. Cualquier memoria por encima de la marca de 1 Mb se denomina memoria extendida (extended memory). Modo Real y Modo Protegido.- Hay dos modos de operación * Modo Real.- Sólo puede usar 1Mb y RAM, y la memoria extendida no puede utilizarse para ejecutar programas. *Modo Protegido.-puede acceder a 16 Mb de RAM y ejecutar programas en cualquier parte de la memoria. Usar Memoria Extendida en el MS-DOS.- Existen algunas posibilidades para su uso. * Algunas aplicaciones pueden ejecutarse en memoria extendida. Estas son las llamada aplicaciones extendidas,programas del MS-DOS que hacen uso de la memoria extendida. Secretamente, estos programas comutan el microprocesador de modo real a modo protegido. Cuando la aplicación termina de ejecutarse y regresa al MS-DOS, el propio programa conmuta de nuevo el microprocesador para volver al modo real. Ejm Windows.
El Área de Memoria Alta.- Estos 65520 bytes extra son conocidos como área de memoria alta, o HMA (High Memory Area). Este le ofrece al MS-DOS 64 kb de memoria extra. Para esto se necesita 2 cosas: * Un microprocesador 80286 ó '386 con memoria extendida. * Un controlador de dispositivo que permita acceder y controlar el HMA. Bloques de Memoria Superior.- Los bloques (también llamados regiones)de memoria superior u UBM (Upper Memory Block) son áreas no utilizadas de memoria.
Aquí veremos como obtener las máximas ventajas de su PC y de la memoria que esta posea, también analizaremos los comandos de memoria paso a paso. Acceder al HMA La mayoría de los PC basados en un 80286 y 386 vienen con 1 Mb de memoria. Esta se configura ordinariamente como 640 Kb de memoria convencional y 384 Kb de memoria extendida. Por tanto, la mayoría de los PC basados en 386 pueden crear los UMB. Para controlar la memoria extendida, el MS-DOS necesita un gestor de memoria extendida. El MS-DOS proporciona un controlador de dispositivo gestor de memoria extendida, llamado HIMEM.SYS, que debe ser familiar a los usuarios de Windows.
HIMEM.SYS realiza las siguientes funciones:
-Hace accesible la memoria extendida para los programas que gestionan memoria extendida de acuerdo a la especificación XMS (eXtend Memory Specification).
-Previene los errores del sistema que se puedan ocasionar cuando los programas realizan peticiones de memoria conflictivas.
-Permite a los microprocesadores 80286 y 386 acceder al HMA.
Después de instalar HIMEM.SYS los programas compatibles XMS pueden utilizar la memoria extendida del ordenador. Los programas acceden a la memoria extendida a través de funciones proporcionadas por el controlador HIMEM.SYS. Además, HIMEM.SYS ofrece al MS-DOS acceso al HMA. Los únicos comandos y controladores de dispositivos que pueden ir delante de HIMEM.SYS son los controladores especiales de disco duro, como DMDRVR.BIN de OnTrak software, ASPI4DOS u otros controladores de discos duros del tipo SCSI. Si está usando un controlador de dispositivo semejante, coloque el comando que instala el controlador HIMEM.SYS como segunda línea de archivo CONFIG.SYS. Las principales ventajas del controlador HIMEM.SYS no son aparentes inmediatamente en relación con el uso de la memoria. Si usa el comando Mem para ver la memoria, verá solo el mensaje habitual.
EL COMANDO DOS El comando DOS tiene dos propósitos:
- Carga parte del MS-DOS en el HMA. Esto libera aproximadamente 50 Kb de memoria convencional.
-El comando DOS también prepara el MS-DOS para crear bloques de memoria superior (UMB) en ordenadores 386 con memoria extendida
Emular Memoria Expandida
El emulador de memoria expandida EMM386.EXE sirve para dos propósitos:
Mapear memoria extendida en memoria superior creando los UMB; y
- Usar memoria extendida para simular memoria expandida en el ordenador 386.
Si necesita emular una cantidad específica de memoria expandida incluya dicha cantidad (en kilobytes) al final de la línea que instala el controlador de dispositivo EMM386.EXE. Si desea también activar los UMB, incluya también el parámetro ram. Si desea acceder a los UMB, pero no quiere emular memoria expandida, por ejemplo cuando se utiliza el entorno Windows, use el parámetro noems cuando instale el controlador de dispositivo EMM386.EXE.
Para evitar que el EMM386.EXE entre en conflicto con la tarjeta adaptadora de red o con otras tarjetas de expansión o ROM en la memoria superior, puede utilizar el parámetro X, excluir. Este parámetro le indica a EMM386.EXE que no utilice una región específica de memoria cuando cree los UMB. Detrás de X hay que escribir dos números hexadecimales separados por un guión; estos números especifican los segmentos de memoria de comienzo y de final.
El parámetro I, incluir, le indica a EMM386.EXE que incluya un bloque específico de memoria superior como un UMB. Normalmente no es necesario, porque EMM386.EXE es bastante concienzudo al analizar la memoria superior. Detrás de I hay que escribir dos números hexadecimales, separados por un guión, que especifican el segmento de memoria de comienzo y de final de dicho bloque. Después de que hayan sido creados, los UMB pueden utilizarse para almacenar controladores de dispositivos y programas residentes, y liberar así, memoria convencional.
CARGAR EN MEMORIA SUPERIOR Ahora veremos como aprovechar plenamente esta memoria extra mediante el uso de los comandos del MS-DOS para liberar memoria convencional: Devicehigh, que carga controladores de dispositivo en los UMB, y Loadhigh, que carga programas residentes en los UMB. También veremos la herramienta MemMaker, que puede usar para automatizar el proceso completo.
¿Por Qué Cargar en Memoria Superior?
Cargar en memoria superior es el proceso de mover controladores de dispositivo y programas residentes desde la memoria convencional a los UMB. Esto le permite utilizar esos programas y mantener libre la mayoría de los 640 Kb de memoria convencional para sus programas hambrientos de memoria. Mover Programas El MS-DOS puede transferir cualquier controlador de dispositivo y programa residente a los bloques de memoria superior. Para averiguar que posibles controladores de dispositivo y programas residentes pueden moverse y la cantidad de memoria libre en los UMB, utilice el siguiente comando: mem / c / p
Todo lo que necesita son los comandos necesarios para cargar controladores de dispositivo y programas residentes en UMB.
Para controladores de dispositivo, se usa el comando Devicehigh. Para programas residentes, necesita el comando Loadhigh.
El Comando Devicehigh
El comando Devicehigh carga controladores de dispositivo en un bloque de memoria superior. Devicehigh trabaja de la misma forma que el comando Device .
La sintaxis del comando Devicehigh es la siguiente:
devicehigh=controlador
Donde controlador tiene que sustituirse por la ruta de acceso y el nombre de un controlador de dispositivo. Una buena estrategia de dispositivo en UMB es cargar primero el controlador de dispositivo mas grande.
El Comando Loadhigh
El comando Loadhigh carga programas residentes en bloques de memoria superior. Aunque Loadhigh trabaja de la misma forma que Devicehigh, Loadhigh es un poco mas fácil de usar. Su sintaxis es:
loadhigh nombrearchivo
Nombrearchivo es la ruta de acceso y el nombre del programa residente que usted desea cargar en un UMB. Loadhigh es increíblemente fácil de usar. Simplemente coloque el comando Loadhigh, o LH, delante del comando que carga el programa residente, ya sea en el archivo AUTOEXEC.BAT o desde la línea de comandos.