Diferencia entre revisiones de «Área de memoria alta»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Surh (discusión · contribs.)
Redirigiendo a «Puta»
m Revertidos los cambios de Surh (disc) a la última edición de Rubinbot
Línea 1: Línea 1:
[[Archivo:Area de memoria alta.svg|thumb|240px|El área de memoria alta (HMA), son los primeros 64 [[kilobyte|KB]] - 16 [[bytes]] de la [[memoria extendida]], justo por arriba de 1 [[megabyte|MB]].]]
#REDIRECCIÓN [[Puta]]

El '''área de memoria alta''' o '''High Memory Area''' ('''HMA''') es el área del [[Memoria de acceso aleatorio|RAM]] que consiste en los primeros 64 [[kilobyte]]s (KB), menos 16 bytes de [[memoria extendida]] en un [[IBM PC]] o un microcomputador compatible.

Por un pequeño error de diseño, el [[microprocesador]] [[Intel 80286]] y los procesadores subsecuentes pueden de hecho direccionar en [[modo real]] 17×64 KB menos 16 [[bytes]] de memoria (desde <code>0000:0000</code> hasta <code>FFFF:FFFF</code> (equivalente a la dirección de memoria <code>FFFF0 + FFFF = 10FFEF</code>), escrito en notación de segmento de memoria del PC con números [[sistema hexadecimal|hexadecimales]]), ó lo que es lo mismo que 1 [[megabyte|MB]] + 64 KB - 16 bytes. En los procesadores [[Intel]] [[Intel 8086|8086]] y [[Intel 8088|8088]], incapaces manejar más de 1 megabyte de memoria, el direccionamiento "daba una vuelta circular", es decir, la dirección <code>FFFF:0010</code> era equivalente a la dirección <code>0000:0000</code>.

Para permitir correr en los nuevos computadores [[IBM AT]] los programas de MS-DOS existentes que dependían de esta característica, IBM agregó un [[Circuito electrónico|circuito]] especial en la [[tarjeta madre]] para simular la vuelta circular del direccionamiento de los procesadores anteriores. Este circuito era una [[puerta lógica|puerta lógica AND]] que podía desconectar la línea de dirección [[línea de dirección A20|A20]] del microprocesador del resto de la tarjeta madre. Esta puerta podía ser controlada inicialmente a través del controlador del [[teclado de computador|teclado]], para permitir correr programas que desearan tener acceso al RAM entero.

Los llamados [[A20 handler]]s podían controlar el modo de direccionamiento dinámicamente, permitiendo de esta manera que los programas corriendo en modo real se cargaran a sí mismos en la región de los 1024-1088 KB. Entre los productos de Microsoft, el primero en usar el HMA fue el [[Windows 2.0|Windows/286 2.1]] de [[1988]], que introdujo el driver de dispositivo [[HIMEM.SYS]]. Comenzando con las versiones 5.0 del [[DR-DOS]] ([[1990]]) y el MS-DOS ([[1991]]), partes del [[sistema operativo]] también se podían cargar en HMA, liberando hasta 46 KB de [[memoria convencional]]. Otros componentes, como drivers de dispositivo y [[TSR]]s, se podían cargar en el [[área de memoria superior]].

== Véase también ==
* [[Modo irreal]]
* [[Memoria convencional]]
* [[área de memoria superior]]
* [[Memoria extendida]]
* [[Especificación de memoria extendida]]
* [[Especificación de memoria expandida]]

''Este artículo (o una versión anterior) está basado originalmente en material de [[Free On-line Dictionary of Computing]], utilizado con [[Wikipedia:Licencia de FOLDOC|permiso]]. Actualícelo a discreción.''
{{ORDENAR:Area de memoria alta}}

[[Categoría:Arquitectura de memoria en los IBM PC y compatibles]]

[[de:High Memory Area]]
[[en:High memory area]]
[[ko:고위 메모리 영역]]
[[ru:High Memory Area]]

Revisión del 17:25 1 ene 2010

El área de memoria alta (HMA), son los primeros 64 KB - 16 bytes de la memoria extendida, justo por arriba de 1 MB.

El área de memoria alta o High Memory Area (HMA) es el área del RAM que consiste en los primeros 64 kilobytes (KB), menos 16 bytes de memoria extendida en un IBM PC o un microcomputador compatible.

Por un pequeño error de diseño, el microprocesador Intel 80286 y los procesadores subsecuentes pueden de hecho direccionar en modo real 17×64 KB menos 16 bytes de memoria (desde 0000:0000 hasta FFFF:FFFF (equivalente a la dirección de memoria FFFF0 + FFFF = 10FFEF), escrito en notación de segmento de memoria del PC con números hexadecimales), ó lo que es lo mismo que 1 MB + 64 KB - 16 bytes. En los procesadores Intel 8086 y 8088, incapaces manejar más de 1 megabyte de memoria, el direccionamiento "daba una vuelta circular", es decir, la dirección FFFF:0010 era equivalente a la dirección 0000:0000.

Para permitir correr en los nuevos computadores IBM AT los programas de MS-DOS existentes que dependían de esta característica, IBM agregó un circuito especial en la tarjeta madre para simular la vuelta circular del direccionamiento de los procesadores anteriores. Este circuito era una puerta lógica AND que podía desconectar la línea de dirección A20 del microprocesador del resto de la tarjeta madre. Esta puerta podía ser controlada inicialmente a través del controlador del teclado, para permitir correr programas que desearan tener acceso al RAM entero.

Los llamados A20 handlers podían controlar el modo de direccionamiento dinámicamente, permitiendo de esta manera que los programas corriendo en modo real se cargaran a sí mismos en la región de los 1024-1088 KB. Entre los productos de Microsoft, el primero en usar el HMA fue el Windows/286 2.1 de 1988, que introdujo el driver de dispositivo HIMEM.SYS. Comenzando con las versiones 5.0 del DR-DOS (1990) y el MS-DOS (1991), partes del sistema operativo también se podían cargar en HMA, liberando hasta 46 KB de memoria convencional. Otros componentes, como drivers de dispositivo y TSRs, se podían cargar en el área de memoria superior.

Véase también

Este artículo (o una versión anterior) está basado originalmente en material de Free On-line Dictionary of Computing, utilizado con permiso. Actualícelo a discreción.