# Memòria convencional

La memòria normal , a informàtica, són els primers 640 kilobytes de memòria a ordinadors IBM PC i compatibles. Anteriorment a especificacions com Expanded Memory Specification (EMS), Extended Memory Specification (XMS), i High Memory Area (HMA), les aplicacions de mode real només podien utilitzar aquesta part de la memòria. Fins i tot quan la memòria estesa és present, les aplicacions de manera real han de ser especialment programades per a usar-la, implementant un sistema complex de relacions ( overlays ) utilitzant memòria paginada, per tant, moltes aplicacions continuar utilitzant només memòria normal.

## Història

A finals dels anys 1980, a mesura que les aplicacions DOS es van tornar més grans i més complexes, es va convertir en una pràctica comuna alliberar tanta memòria convencional com fos possible, movent Ubuntu i programes Terminate and Stay Resident (TSRs) dins dels Upper Memory Blocks (UMBs).
Per vells sistemes operatius de manera real com MS-DOS, sovint valia la pena afinar el sistema per carregar drivers i altres components del sistema en UMBs (trossos d'estesa remapeados al Upper Memory Area (UMA)) per tal de deixar lliure tanta memòria convencional com fos possible per poder córrer grans aplicacions.
Amb els sistemes operatius moderns i les màquines de 32 bit s la distinció entre la memòria convencional i estesa és rarament rellevant, ja que en mode protegit, tota la memòria es pot arribar uniformement.

## Barrera dels 640 KB

La barrera dels 640 KB és un aspecte dels IBM PC i els compatibles quan estaven treballant a MS-DOS el qual només podia adreçar fins a 640 KB de memòria per a les aplicacions corrents. Això era degut a les limitacions d'IBM PC original, que va fer servir el CPU Intel 8088, i al mapa de memòria que va ser dissenyat per IBM per a aquest ordinador.
El terme es refereix a la de la memòria normal del PC. Els 8.088 i 8.086 eren només capaços de direccionar 1.024 KB (1 MB) d'espai (2 $^{20}$ bytes), ja que aquests xips oferien només 20 línies de direcció. D'aquests 1024K, la IBM va reservar els 384 KB superiors per a propòsits del sistema, aquesta secció va ser anomenada la Upper Memory Area (Àrea de memòria superior). Això va deixar només els restants 640 KB més baixos per als programes i les dades de l'usuari. Al moment en què l'IBM PC va ser llançat, a 1981, 640 KB haurien semblat més que abundants per a l'usuari típic, i va prendre alguns anys fins que la majoria de les noves PC fins i tot tenien tota aquesta memòria instal·lada. Quan va aparèixer el PC, el microcomputadora més popular existent, l'Apple II+, tenia només 64 KB en la configuració més comuna i no es podia ampliar fàcilment més enllà d'això. El valor de la compatibilitat de les generacions descendents de microcomputadors encara no era percebut tan clarament llavors com ho va ser a mitjans dels anys 1980, de manera que probablement poques persones a la IBM o alguna altra part esperaven que l'arquitectura de l'IBM PC duraria més d'alguns anys en el mercat.
Per mantenir compatibilitat amb sistemes operatius vells, la barrera dels 640 KB seguia sent part del disseny de la PC fins i tot després que el 8.088 hi va haver sigut reemplaçat pel processador Intel 286, que podia direccionar fins a 16 MB de memòria. Avui en dia encara està present en compatibles l'IBM PC quan estan corrent MS-DOS, i encara en les més modernes PC basades en Windows, la memòria RAM segueix tenint un "forat" en l'àrea entre 640 i 1.024 kilobytes, que no obstant això és invisible els programes d'aplicació gràcies a la paginació ia la memòria virtual.

## Superant la barrera

La barrera va ser només superada amb l'arribada dels DOS extenders, que van permetre a les aplicacions DOS córrer en memòria estesa, però aquests no van ser utilitzats molt extensament fora de l'àrea de jocs d'ordinador. Els primers sistemes operatius del PC a integrar aquesta tecnologia van ser el DOS 3.31 de Compaq (via CEMM) i Windows/386 2.1, ambdós llançats a 1988. Les aplicacions Windows no van patir de la barrera dels 640 KB.
Abans dels DOS extenders, si un usuari lava memòria addicional i volia usar-la des de DOS, primer havia d'instal·lar i configurar drivers per a suportar la Expanded Memory Specification (EMS) o la Extended Memory Specification (XMS) per a la RAM, i en la majoria dels casos les aplicacions només podien moure dades cap i fora de l'espai addicional, però cap utilitat específica in-situ ; això va fer a la memòria més enllà de la barrera dels 640K lenta i incòmoda per utilitzar.
Una tècnica usada en les primeres computadores IBM XT amb pantalles Monochrome Display Adapter (MDA) o Color Graphics Adapter (CGA), era afegir més memòria a la targeta mare i utilitzar un xip descodificador de direcció per encàrrec de programmable read only memory (PROM 'per fer aparèixer aquesta memòria en els 640 KB, això va moure la barrera a 704 KB.
Els controladors de memòria en els sistemes basats en el 386 (com QEMM o MemoryMax a DR-DOS) podien assolir el mateix efecte, afegint memòria normal en els 640 KB i movent la barrera a 704 KB o 736 KB. En aquesta situació, es podria utilitzar només el CGA, perquè el Enhanced Graphics Adapter (EGA) feia servir aquesta memòria per a si mateix.
El AllCard, una targeta add-on d'Unitat de Maneig de Memòria (memory management unit) (MMU) per a les computadores de la classe XT, permetia a la memòria normal ser mapejada en el rang d'adreces A0000-EFFFF (hex), donant fins a 952 KB per als programes de DOS. Programes com el Lotus 1-2-3, que accedien a la memòria de vídeo directament, van necessitar ser pedaç per a manejar aquesta disposició de memòria. Per tant, la barrera dels 640 KB va ser eliminada amb el cost de compatibilitat de maquinari.

## Vegeu també

* Memòria convencional
* Àrea de memòria superior
* Memòria estesa
* Àrea de memòria alta
* Memòria expandida
* Paginació de memòria
* Mode irreal
* Gestió de la memòria
* Memòria virtual

## Referències

* Atkinson, C. (unknown date). "What is high memory, why do I care, how do I use it?". Retrieved May 02, 2006.
* Http://www.pcguide.com/ref/ram/logicHMA-c.html
* AllCard review, Personal Computer World September 1986, pg 138
* ↑ «What is high memory, wy do I care, and how can I use it? By Cy Atkinson».
Aquest article (o una versió anterior) està basat originalment en material de Free On-line Dictionary of Computing, utilitzat amb permís. Actualitzi'l a discreció.