High memory area (original) (raw)

About DBpedia

High memory area (HMA) je v informatice označení pro metodu přístupu k 65520 bajtům operační paměti počítače nad hranicí 1 MiB v reálném režimu procesorů Intel 8086 a kompatibilních.

thumbnail

Property Value
dbo:abstract L'àrea de memòria alta (en anglès High Memory Area, HMA) és l'àrea de la memòria RAM que consisteix en els primers 64 kilobytes (KB), menys 16 bytes de memòria estesa en un IBM PC o un micro compatible. Per un petit error de disseny, el microprocessador Intel 80286 i els processadors subsegüents poden de fet adreçar en el mode real 17 × 64 KB menys 16 octets de memòria (des de 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, 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 FFFF:0010 era equivalent a l'adreça 0000:0000 . Per permetre córrer en els nous ordinadors 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 de l'adreçament dels processadors anteriors. Aquest circuit era una porta lògica AND que podia desconnectar la línia de direcció 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 a la memòria RAM sencera. Els anomenats podien controlar el mode d'adreçament dinàmicament, permetent d'aquesta manera que els programes corrent en mode real es carreguessin a si mateixos en la regió dels 1024-1088 KB. Entre els productes de Microsoft, el primer en utilitzar el HMA va ser el Windows/286 2.1 de 1988, que va introduir el driver de dispositiu . Començant amb les versions 5.0 del DR-DOS (1990) i de MS-DOS (1991), parts del sistema operatiu també es podien carregar a la zona HMA, alliberant fins a 46 KB de memòria normal. Altres components, com els controladors de dispositiu i TSRs, es podien carregar a l'àrea de memòria superior. (ca) High memory area (HMA) je v informatice označení pro metodu přístupu k 65520 bajtům operační paměti počítače nad hranicí 1 MiB v reálném režimu procesorů Intel 8086 a kompatibilních. (cs) Der Begriff High Memory Area (HMA) bezeichnet bei einem x86-kompatiblen Prozessor die ersten 65520 Byte oberhalb der 1-MiB-Grenze. Die deutsche Übersetzung hoher Speicherbereich ist inzwischen ungebräuchlich geworden. (de) El área de memoria alta (del inglés High Memory Area, HMA) es el área de memoria de acceso aleatorio (RAM) que consiste en los primeros 64 kibibytes (KiB), menos 16 bytes de memoria extendida en una computadora IBM PC o microcomputadora 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 KiB 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], o lo que es lo mismo que 1 MiB + 64 KiB - 16 bytes. En los procesadores Intel 8086 y 8088, incapaces manejar más de 1 mebibyte 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 KiB. 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 KiB de memoria convencional. Otros componentes, como controladores de dispositivos o drivers y los TSR, se podían cargar en el área de memoria superior. (es) In DOS memory management, the high memory area (HMA) is the RAM area consisting of the first 65520 bytes above the one megabyte in an IBM AT or compatible computer. In real mode, the segmentation architecture of the Intel 8086 and subsequent processors identifies memory locations with a 16-bit segment and a 16-bit offset, which is resolved into a physical address via (segment) × 16 + (offset). Although intended to address only 1 Megabyte (MB) (220 bytes) of memory, segment:offset addresses at FFFF:0010 and beyond reference memory beyond 1 MB (FFFF0 + 0010 = 100000). So, on an 80286 and subsequent processors, this mode can actually address the first 65520 bytes of extended memory as part of the 64 KB range starting 16 bytes before the 1 MB mark—FFFF:0000 (0xFFFF0) to FFFF:FFFF (0x10FFEF). The Intel 8086 and 8088 processors, with only 1 MB of memory and only 20 address lines, wrapped around at the 20th bit, so that address FFFF:0010 was equivalent to 0000:0000. To allow running existing DOS programs which relied on this feature to access low memory on their newer IBM PC AT computers, IBM added special circuitry on the motherboard to simulate the wrapping around. This circuit was a simple logic gate which could disconnect the microprocessor's 21st addressing line, A20, from the rest of the motherboard. This gate could be controlled, initially through the keyboard controller, to allow running programs which wanted to access the entire RAM. So-called A20 handlers could control the addressing mode dynamically, thereby allowing programs to load themselves into the 1024–1088 KB region and run in real mode. Code suitable to be executed in the HMA must either be coded to be position-independent (using only relative references), be compiled to work at the specific addresses in the HMA (typically allowing only one or at most two pieces of code to share the HMA), or it must be designed to be paragraph boundary or even offset relocatable (with all addresses being fixed up during load). Before code (or data) in the HMA can be addressed by the CPU, the corresponding driver must ensure that the HMA is mapped in. This requires that any such requests are tunneled through a stub remaining in memory outside the HMA, which would invoke the A20 handler in order to (temporarily) enable the A20 gate. If the driver does not exhibit any public data structures and only uses interrupts or calls already controlled by the underlying operating system, it might be possible to register the driver with the system in a way so that the system will take care of A20 itself thereby eliminating the need for a separate stub. The first user of the HMA among Microsoft products was Windows/286 2.1 in 1988, which introduced the HIMEM.SYS device driver. Starting in 1990 with Digital Research's DR DOS 5.0 (via HIDOS.SYS /BDOS=FFFF and CONFIG.SYS HIDOS=ON) and since 1991 with MS-DOS 5.0 (via DOS=HIGH), parts of the operating system's BIOS and kernel could be loaded into the HMA as well, freeing up to 46 KB of conventional memory. Other components, such as device drivers and TSRs, could at least be loaded into the upper memory area (UMA), but not into the HMA. Under DOS 5.0 and higher, with DOS=HIGH, the system additionally attempted to move the disk buffers into the HMA. Under DR DOS 6.0 (1991) and higher, the disk buffers (via HIBUFFERS, and later also BUFFERSHIGH), parts of the command processor COMMAND.COM as well as several special self-relocating drivers like KEYB, NLSFUNC and SHARE could load into the HMA as well (using their /MH option), thereby freeing up even more conventional memory and upper memory for conventional DOS software to work with. TASKMAX seems to have relocated parts of itself into the HMA as well. Novell's NLCACHE from NetWare Lite and early versions of NWCACHE from Personal NetWare and Novell DOS 7 could utilize the HMA as well. Under MS-DOS/PC DOS, a ca. 2 KB shared portion of COMMAND.COM can be relocated into the HMA, as well as bitmaps for prepared codepages. Under MS-DOS 6.2 (1993) and higher, a ca. 5 KB portion of DBLSPACE.BIN/DRVSPACE.BIN can coexist with DOS in the HMA (unless DBLSPACE/DRVSPACE /NOHMA is invoked). Under PC DOS 7.0 (1995) and 2000, DOSKEY loads into the HMA (if available), and SHARE can be loaded into the HMA as well (unless its /NOHMA option is given). Under MS-DOS 7.0 (1995) to 8.0 (2000), parts of the HMA are also used as a scratchpad to hold a growing data structure recording various properties of the loaded real-mode drivers. (en) ( 비슷한 이름의 에 관해서는 해당 문서를 참조하십시오.) 고위 메모리 영역 (High Memory Area, HMA)은 80286 이상의 시스템에서 FFFF:0010 ~ FFFF:FFFF 사이의 ( 64 KiB - 16 바이트 )의 크기를 가지는 물리 메모리 공간이다. 이 공간은 리얼 모드(8086 에뮬레이션)로 동작하는 80286 이상의 시스템에서 21번째 주소선(A20)을 활성화시켰을 때 접근할 수 있다. (ko) Pamięć wysoka (ang. High Memory Area, HMA) – obszar pamięci dostępny w systemie komputerowym PC, poczynając od procesora 80286, pracującym w trybie rzeczywistym, rozpoczynający się od adresu fizycznego 1 MB i mający rozmiar 64 KB - 16 B to znaczy 65520 bajtów. Wynika to z faktu, że jeżeli maksymalny adres segmentowy dostępny w trybie rzeczywistym, czyli szesnastkowo 0xFFFF, pomnoży się przez 16 i doda się do tego maksymalną wartość offsetu, czyli 0xFFFF, to otrzyma się maksymalny adres komórki, jaką można zaadresować w tym trybie pracy procesora, równy 0x10FFEF. Jego istnienie jest skutkiem ubocznym występowania w procesorach Intel 80286 linii adresowej A20 (21. linii adresowej, gdyż są one numerowane od 0), przez co generowanie adresu fizycznego z adresu logicznego w formacie segment:offset daje możliwość pojawienie się na szynie adresowej procesora adresu przekraczającego granicę 1 MB pojemności pamięci operacyjnej, mimo pracy w trybie rzeczywistym procesora. Taki przypadek w procesorach Intel 8086/8088 powoduje przejście do pierwszych komórek pamięci operacyjnej. W ten sposób uzyskany dodatkowy blok pamięci o rozmiarze prawie 64 KB może być wykorzystany przez system MS-DOS (od wersji 5.0 z 1991 roku) do umieszczania tam buforów i sterowników urządzeń, dzięki czemu więcej pamięci konwencjonalnej może być przydzielonej na potrzeby uruchamiania aplikacji. (pl) High Memory Area, HMA — початкова ділянка додаткової пам'яті об'ємом 65 520 байт (64 кілобайти мінус 16 байт) з адресами від 0x100000 до 0x10FFEF (відразу після Upper memory area), доступний в реальному режимі через верхні сегменти адресного простору. Особливість процесорів 80286 і вище і побудованих на них IBM PC / AT-сумісних комп'ютерів. Термін HMA був придуманий Microsoft і довгий час використовувався нею без розшифровки, що породило розшифровку High Memory Area — область високої пам'яті. Однак пізніше Microsoft документувала HMA як High Memory Arena. (uk) High Memory Area, HMA — начальный участок дополнительной памяти объёмом 65520 байт (64 килобайта минус 16 байт) с адресами от 10000016 до 10FFEF16 (сразу после Upper Memory Area), доступный в реальном режиме через верхние сегменты адресного пространства. Особенность процессоров 80286 и выше и построенных на них IBM PC/AT-совместимых компьютеров. (ru)
dbo:thumbnail wiki-commons:Special:FilePath/IBM_PC_Memory_areas.svg?width=300
dbo:wikiPageExternalLink http://www.os2museum.com/wp/who-needs-the-address-wraparound-anyway/ http://www.pcguide.com/ref/ram/logicHMA-c.html https://web.archive.org/web/20061016143339/http:/www.pcguide.com/ref/ram/logicHMA-c.html https://web.archive.org/web/20200219004644/http:/www.os2museum.com/wp/who-needs-the-address-wraparound-anyway/ https://web.archive.org/web/20200221130238/https:/marc.info/%3Fl=freedos-dev&m=101853130816682&w=2 https://marc.info/%3Fl=freedos-dev&m=101853130816682&w=2
dbo:wikiPageID 420223 (xsd:integer)
dbo:wikiPageLength 26170 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1118530500 (xsd:integer)
dbo:wikiPageWikiLink dbr:DOS_memory_management dbr:CALL_5_(DOS) dbr:Intel_80286 dbr:Intel_8086 dbr:Intel_8088 dbr:Real_mode dbr:MS-DOS_5.0 dbr:MS-DOS_6.2 dbr:MS-DOS_8.0 dbr:Novell_DOS_7 dbr:Novell_NLCACHE dbr:Novell_NWCACHE dbr:SHELLHIGH_(CONFIG.SYS_directive) dbr:Low_memory dbr:NLSFUNC_(DOS_command) dbr:Conventional_memory dbr:Offset_relocatable dbr:TASKMAX dbr:MS-DOS dbr:Program_Segment_Prefix dbr:BUFFERSHIGH_(CONFIG.SYS_directive) dbr:Byte dbr:COMMAND.COM dbr:CONFIG.SYS dbr:Windows/286 dbr:HIMEM.SYS dbr:DOS_memory_stub dbr:DR_DOS_5.0 dbr:DR_DOS_6.0 dbr:Fat_pointer dbr:86-DOS dbr:A20_handler dbc:X86_memory_management dbr:DBLSPACE.BIN dbr:DOSKEY dbr:DOS_(CONFIG.SYS_directive) dbr:DRVSPACE.BIN dbr:Novell dbr:KEYB_(DOS_command) dbr:Logic_gate dbr:A20_gate dbr:HIBUFFERS_(CONFIG.SYS_directive) dbr:HIDOS_(CONFIG.SYS_directive) dbr:HMAREA_(CONFIG.SYS_directive) dbr:Address_line dbr:A20_line dbr:Keyboard_controller_(computing) dbr:Terminate_and_Stay_Resident dbr:Rebasing dbr:Digital_Research dbr:BDOS_(DOS) dbc:DOS_memory_management dbr:Position-independent_code dbr:IBM_Interrupt_Sharing_Protocol dbr:DBLSPACE dbr:DOS_BIOS dbr:DRVSPACE dbr:IBM dbr:Intel dbr:Microsoft dbr:NetWare_Lite dbr:Random-access_memory dbr:Motherboard dbr:Megabyte dbr:Upper_memory_area dbr:Incomplete_address_decoding dbr:Expanded_memory dbr:Extended_memory dbr:Unreal_mode dbr:Paragraph_boundary_relocatable dbr:Paragraph_boundary_relocation dbr:Intra-segment_offset_relocation dbr:Personal_NetWare dbr:PC_DOS_2000 dbr:PC_DOS_7.0 dbr:PC_DOS dbr:X86_memory_segmentation dbr:8086 dbr:Self-relocating dbr:IBM_AT dbr:PC_AT dbr:SHARE_(DOS_command) dbr:Circuitry dbr:Codepage dbr:MS-DOS_7.0 dbr:File:IBM_PC_Memory_areas.svg dbr:DISPLAY.SYS
dbp:cs1Dates y (en)
dbp:date May 2019 (en)
dbp:group "nb" (en)
dbp:wikiPageUsesTemplate dbt:Cite_web dbt:Distinguish dbt:Reflist dbt:Use_dmy_dates dbt:Use_list-defined_references
dcterms:subject dbc:X86_memory_management dbc:DOS_memory_management
gold:hypernym dbr:Area
rdf:type owl:Thing dbo:Place
rdfs:comment High memory area (HMA) je v informatice označení pro metodu přístupu k 65520 bajtům operační paměti počítače nad hranicí 1 MiB v reálném režimu procesorů Intel 8086 a kompatibilních. (cs) Der Begriff High Memory Area (HMA) bezeichnet bei einem x86-kompatiblen Prozessor die ersten 65520 Byte oberhalb der 1-MiB-Grenze. Die deutsche Übersetzung hoher Speicherbereich ist inzwischen ungebräuchlich geworden. (de) ( 비슷한 이름의 에 관해서는 해당 문서를 참조하십시오.) 고위 메모리 영역 (High Memory Area, HMA)은 80286 이상의 시스템에서 FFFF:0010 ~ FFFF:FFFF 사이의 ( 64 KiB - 16 바이트 )의 크기를 가지는 물리 메모리 공간이다. 이 공간은 리얼 모드(8086 에뮬레이션)로 동작하는 80286 이상의 시스템에서 21번째 주소선(A20)을 활성화시켰을 때 접근할 수 있다. (ko) High Memory Area, HMA — початкова ділянка додаткової пам'яті об'ємом 65 520 байт (64 кілобайти мінус 16 байт) з адресами від 0x100000 до 0x10FFEF (відразу після Upper memory area), доступний в реальному режимі через верхні сегменти адресного простору. Особливість процесорів 80286 і вище і побудованих на них IBM PC / AT-сумісних комп'ютерів. Термін HMA був придуманий Microsoft і довгий час використовувався нею без розшифровки, що породило розшифровку High Memory Area — область високої пам'яті. Однак пізніше Microsoft документувала HMA як High Memory Arena. (uk) High Memory Area, HMA — начальный участок дополнительной памяти объёмом 65520 байт (64 килобайта минус 16 байт) с адресами от 10000016 до 10FFEF16 (сразу после Upper Memory Area), доступный в реальном режиме через верхние сегменты адресного пространства. Особенность процессоров 80286 и выше и построенных на них IBM PC/AT-совместимых компьютеров. (ru) L'àrea de memòria alta (en anglès High Memory Area, HMA) és l'àrea de la memòria RAM que consisteix en els primers 64 kilobytes (KB), menys 16 bytes de memòria estesa en un IBM PC o un micro compatible. (ca) In DOS memory management, the high memory area (HMA) is the RAM area consisting of the first 65520 bytes above the one megabyte in an IBM AT or compatible computer. In real mode, the segmentation architecture of the Intel 8086 and subsequent processors identifies memory locations with a 16-bit segment and a 16-bit offset, which is resolved into a physical address via (segment) × 16 + (offset). Although intended to address only 1 Megabyte (MB) (220 bytes) of memory, segment:offset addresses at FFFF:0010 and beyond reference memory beyond 1 MB (FFFF0 + 0010 = 100000). So, on an 80286 and subsequent processors, this mode can actually address the first 65520 bytes of extended memory as part of the 64 KB range starting 16 bytes before the 1 MB mark—FFFF:0000 (0xFFFF0) to FFFF:FFFF (0x10FFEF). T (en) El área de memoria alta (del inglés High Memory Area, HMA) es el área de memoria de acceso aleatorio (RAM) que consiste en los primeros 64 kibibytes (KiB), menos 16 bytes de memoria extendida en una computadora IBM PC o microcomputadora compatible.​ (es) Pamięć wysoka (ang. High Memory Area, HMA) – obszar pamięci dostępny w systemie komputerowym PC, poczynając od procesora 80286, pracującym w trybie rzeczywistym, rozpoczynający się od adresu fizycznego 1 MB i mający rozmiar 64 KB - 16 B to znaczy 65520 bajtów. Wynika to z faktu, że jeżeli maksymalny adres segmentowy dostępny w trybie rzeczywistym, czyli szesnastkowo 0xFFFF, pomnoży się przez 16 i doda się do tego maksymalną wartość offsetu, czyli 0xFFFF, to otrzyma się maksymalny adres komórki, jaką można zaadresować w tym trybie pracy procesora, równy 0x10FFEF. (pl)
rdfs:label Àrea de memòria alta (ca) High memory area (cs) High Memory Area (de) Área de memoria alta (es) High memory area (en) 고위 메모리 영역 (ko) Pamięć wysoka (pl) High Memory Area (ru) High Memory Area (uk)
owl:differentFrom dbr:High_memory
owl:sameAs freebase:High memory area wikidata:High memory area dbpedia-ca:High memory area dbpedia-cs:High memory area dbpedia-de:High memory area dbpedia-es:High memory area dbpedia-kk:High memory area dbpedia-ko:High memory area dbpedia-pl:High memory area dbpedia-ru:High memory area dbpedia-uk:High memory area https://global.dbpedia.org/id/fsxH
prov:wasDerivedFrom wikipedia-en:High_memory_area?oldid=1118530500&ns=0
foaf:depiction wiki-commons:Special:FilePath/IBM_PC_Memory_areas.svg
foaf:isPrimaryTopicOf wikipedia-en:High_memory_area
is dbo:wikiPageDisambiguates of dbr:HMA
is dbo:wikiPageRedirects of dbr:HMALDSYS dbr:High_Memory_Area dbr:High_memory_(DOS)
is dbo:wikiPageWikiLink of dbr:List_of_computing_and_IT_abbreviations dbr:Memory_architecture dbr:Relocation_(computing) dbr:Dynamic_dispatch dbr:RAM_limit dbr:Conventional_memory dbr:MS-DOS dbr:Method_stub dbr:Timeline_of_DOS_operating_systems dbr:Windows_2.0x dbr:Windows_2.1x dbr:HIMEM.SYS dbr:HMALDSYS dbr:DOS dbr:HMA dbr:Architecture_of_Windows_9x dbr:A20_line dbr:Rebasing dbr:IBM_TopView dbr:Microsoft_Windows dbr:Upper_memory_area dbr:Expanded_memory dbr:Extended_memory dbr:High_Memory_Area dbr:High_memory_(DOS) dbr:Self-relocation
is foaf:primaryTopic of wikipedia-en:High_memory_area