Área de memoria alta

High Memory Area , HMA  : la sección inicial de memoria adicional con una capacidad de 65520 bytes (64 kilobytes menos 16 bytes) con direcciones de 100000 16 a 10FFEF 16 (inmediatamente después del Upper Memory Area ), disponible en modo real a través de los segmentos superiores del espacio de direcciones. Característica de procesadores 80286 y superiores y computadoras compatibles con IBM PC/AT integradas en ellos [1] .

Descripción

El direccionamiento de memoria en los procesadores 8086 y 8088 está segmentado : la dirección de memoria completa (lineal) viene dada por un número de segmento ("párrafo") de 16 bits y un desplazamiento de 16 bits dentro de este segmento (ambos números generalmente se escriben en forma hexadecimal ) y se calcula mediante la fórmula

(segmento) × 16 + (desplazamiento).

(En este caso, la misma dirección se puede obtener de diferentes pares de segmento/compensación; por ejemplo, la dirección completa 1000 16 está disponible como 0000:1000, 0100:0000 y 0060:0A00).

Con el direccionamiento de segmentos, están disponibles direcciones lineales de 0 (0000:0000) a 10FFEF 16 (FFFF:FFFF, 1088 KB). Sin embargo, el bus de direcciones de los procesadores 808x es de 20 bits y solo puede direccionar 220 bytes (1024 KB o 1 MB) de memoria, es decir, un área con direcciones de 0 a FFFFF 16 (0000:0000 a FFFF:000F). Las direcciones de 100000 16 a 10FFEF 16 (de FFFF:0010 a FFFF:FFFF) son de 21 bits, por lo que cuando se utilizan se produce un desbordamiento , se pierde el bit 21 y, por ejemplo, la dirección 100000 16 (FFFF:0010) apunta al mismo, donde y dirección 0 (0000:0000).

En el procesador 80286 , el bus de direcciones es de 24 bits (direccionables 2 24 = 16 MB de memoria), por lo que no se desbordan.

Las computadoras IBM PC / AT están construidas sobre el procesador 80286, pero por razones de compatibilidad con IBM PC e IBM PC / XT , construidas sobre procesadores 808x, se les introdujo un elemento lógico ( puerta ), desconectando el cable de dirección 21 (A20 ) de la memoria del circuito de control. Este elemento lógico ( Gate A20 ( eng.  A20 line )) se controla a través del controlador de teclado ( chip Intel 8042 ) y está habilitado de forma predeterminada.

Más recientemente, se han desarrollado programas controladores , los llamados manejadores A20 , que gestionan dinámicamente el direccionamiento y permiten que las aplicaciones que se ejecutan en modo real utilicen un área de memoria entre 1024 y 1088 KB.

MS-DOS

HMA se usó por primera vez en Windows 2.1 en 1988 y la función del controlador A20 fue realizada por el controlador HIMEM.SYS allí .

En 1991, se lanzó MS-DOS 5.0, que pudo cargar su kernel en HMA, liberando así 46 KB de memoria principal para aplicaciones. Las versiones posteriores de MS-DOS también admiten esta característica. El controlador HIMEM.SYS se incluyó con MS-DOS.

Para que DOS cargue su kernel en el HMA, debe agregar las siguientes líneas al archivo CONFIG.SYS :

dispositivo=HIMEM.SYS dos = alto

Otras aplicaciones también pueden usar el HMA usando funciones de DOS o directamente a través de las funciones de HIMEM.SYS, aunque después de mover el kernel de DOS al HMA, casi no queda espacio libre allí.

Confusión de nombres

palabra inglesa  superior generalmente se traduce al ruso como "superior" ("ubicado en la parte superior" [2] ), pero la palabra alto también se puede traducir como "superior" (o "alto" - "ubicado en la parte superior" [3] ) . Muchas colisiones están asociadas con esto cuando se traducen los nombres Upper Memory Area (Upper Memory Block) y High Memory Area.

Como resultado, las ortografías originales en inglés UMB y HMA continúan usándose en la literatura en idioma ruso (la abreviatura UMA prácticamente no echó raíces).

Además, los comandos devicehighy loadhigh, a pesar de la palabra alta en el nombre, cargan programas en UMB, no en HMA. DOS usa HMA solo para cargar su kernel (si se usa el comando dos=higho dos=high,umb).

Véase también

Notas

  1. Gancho M. Hardware de PC de IBM. Enciclopedia. - 2ª ed. - San Petersburgo. : Pedro, 2003. - S. 62. - 928 p. — ISBN 5-318-00047-9 .
  2. superior  (enlace inaccesible)  (enlace inaccesible desde el 14/06/2016 [2333 días]) en Yandex.dictionaries
  3. alta  (enlace no disponible)  (enlace no disponible desde el 14/06/2016 [2333 días]) en Yandex.dictionaries