Àrea de memòria alta

De Viquipèdia
Dreceres ràpides: navegació, cerca
L'àrea de memòria alta (HMA), són els primers 64 KB - 16 octets de la memòria estesa, just per dalt d'1 MB.

L'àrea de memòria alta (en anglès High Memory Area, HMA) és l'àrea del RAM que consisteix en els primers 64 kilobytes (KB), menys 16 bytes de memòria estesa en un IBM PC o un microcomputadora compatible.

Per un petit error de disseny, el microprocessador Intel 80286 i els processadors subsegüents poden de fet adreçar a mode real 17 × 64 KB menys 16 octets de memòria (des de < code> 0000:0000 fins FFFF: FFFF (equivalent a l'adreça de memòria FFFF0+FFFF = 10FFEF ), escrit en notació de segment de memòria del PC amb nombres hexadecimals), o el que és el mateix que 1 MB+64 KB - 16 bytes. En els processadors Intel 8086 i 8088, incapaços gestionar més d'1 megabyte de memòria, l'adreçament "donava una volta circular", és a dir, l'adreça < code> FFFF: 0.010 era equivalent a l'adreça 0000:0000 .

Per permetre córrer en els nous ordinadors IBM AT els programes de MS-DOS existents que depenien d'aquesta característica, IBM va afegir un circuit especial a la targeta mare per simular la volta circular del adreçament dels processadors anteriors. Aquest circuit era una porta lògica AND que podia desconnectar la línia de direcció A20 del microprocessador de la resta de la targeta mare. Aquesta porta podia ser controlada inicialment a través del controlador del teclat, per permetre executar programes que desitgessin tenir accés al RAM sencer.

Els anomenats A20 handler s podien controlar el mode d'adreçament dinàmicament, permetent d'aquesta manera que els programes corrent en mode real es carregarien a si mateixos en la regió dels 1024-1088 KB. Entre els productes de Microsoft, el primer a utilitzar el HMA va ser el Windows/286 2.1 de 1988, que va introduir el driver de dispositiu HIMEM.SYS. Començant amb les versions 5.0 del DR-DOS (1990) i l'MS-DOS (1991), parts del sistema operatiu també es podien carregar a HMA, alliberant fins a 46 KB de memòria normal. Altres components, com a controladors de dispositiu i TSRs, es podien carregar al àrea de memòria superior.

Vegeu també[modifica | modifica el codi]