Memória convencional

A expressão memória convencional refere-se aos primeiros 640 kibibytes da memória de um computador IBM PC. A cunhagem do termo deveu-se à forma como o MS-DOS (um dos sistemas operativos mais proeminentes do início da era do computador pessoal) fazia o endereçamento da memória para correr as aplicações.

Na verdade, esta limitação foi imposta pelos CPUs Intel 8088, o processador original do IBM PC. O 8086 (e sua versão mais barata o 8088) permitiam o endereçamento de, apenas, 1024 KiB de memória (220), já que o processador disponibilizava apenas 20 linhas de endereçamento. Destes 1024 KiB, a IBM reservava 394 KiB para o sistema — o bloco UMA, traduzido para Upper Memory Area), o que deixava disponíveis apenas 640 KiB para programas e dados do utilizador.

Em 1981, quando saiu o primeiro PC, os 640 KiB pareciam mais do que suficientes para o utilizador típico e, com efeito, seriam necessários mais alguns anos até esta premissa deixar de ser verdadeira. Até lá, muitos computadores não chegavam sequer a ter essa capacidade (como o Amstrad PC1512, por exemplo).

Para manter a compatibilidade entre os vários SO's que iam aparecendo, a barreira dos 640 KiB manteve-se na concepção dos PC's mesmo depois do 8088 ter sido substituído pelos Intel 286, que já podiam endereçar até 16 MiB de memória. Na verdade, a barreira persiste se o computador estiver a utilizar MS-DOS e, mesmo nos computadores modernos, pode ocorrer que a área entre os 640 e os 1024 KiB esteja oculta, embora o problema seja indiferente para as aplicações graças à paginação e memória virtual[carece de fontes?].

Limite dos 640 KB

IBM PC, PC/XT, 3270 PC and PCjr Memory Blocks[1][2]
bloco-01º 64 KBMemória Comum do Usuário até 64 KB (Memória Baixa)
bloco-12º 64 KBMemória Comum do Usuário até 128 KB
bloco-23º 64 KBMemória Comum do Usuário até 192 KB
bloco-34º 64 KBMemória Comum do Usuário até 256 KB
bloco-45º 64 KBMemória Comum do Usuário até 320 KB
bloco-56º 64 KBMemória Comum do Usuário até 384 KB
bloco-67º 64 KBMemória Comum do Usuário até 448 KB
bloco-78º 64 KBMemória Comum do Usuário até 512 KB
bloco-89º 64 KBMemória Comum do Usuário até 576 KB
bloco-910º 64 KBMemória Comum do Usuário até 640 KB
bloco-A11º 64 KBMemória de Vídeo Estendida (EGA)
bloco-B12º 64 KBMemória de Vídeo Padrão (MDA/CGA)
bloco-C13º 64 KBExpansão da ROM(XT, EGA, 3270 PC)
bloco-D14º 64 KBUso Livre (PCjr, LIM EMS)
bloco-E15º 64 KBUso Livre (PCjr, LIM EMS)
bloco-F16º 64 KBROM-BIOS e ROM-BASIC

O primeiro segmento de memória (64 KB) na área de memória convencional, é chamado de memória baixa.

Uma técnica utilizada nos primeiros computadores IBM PC-XT com ecrãs MDA (Monochrome Display Adapter) ou CGA (Color Graphics Adapter) permitia a adição de mais memória na motherboard através da instalação de uma PROM que a disponibilizasse a partir dos 640 KiB; esta solução permitia deslocar a barreira para os 704 KiB.

Já nos sistemas 386, surgiram os gestores de memória, como o QEMM ou MemoryMax no DR-DOS, que conseguiam o mesmo efeito, permitindo expandir a barreira para os 704 KiB ou 736 KiB. No entanto, apenas o CGA podia ser utilizado neste cenário, já que o EGA fazia uso da memória para si próprio.

Outra solução, o add-on AllCard, um MMU concebido para computadores da classe XT, possibilitavam o mapeamento da memória normal no intervalo A0000-EFFFF (hex), disponibilizando até 952 KiB para os programas DOS. Programas que acediam à memória vídeo directamente, como o Lotus 1-2-3, precisavam de ser ajustados para suportar o novo design.

Como seria de esperar mais tarde ou mais cedo, a barreira dos 640 KiB foi eventualmente vencida à custa da quebra de compatibilidade do hardware. Actualmente, a maioria dos sistemas operativos modernos e a tecnologia a 32-bit tornaram a distinção entre memória convencional e memória estendida praticamente irrelevante, já que a memória torna-se acessível uniformemente no modo protegido. Hoje em dia, a grande maioria dos utilizadores não se apercebe sequer do significado especial que os primeiros 640 KiB de memória tiveram no desenvolvimento dos computadores pessoais.

Ver também

  1. Norton, Peter (1986). Inside the IBM PC, Revised and Enlarged, Brady. ISBN 0-89303-583-1, p.108.
  2. Patente E.U.A. 4 926 322 - Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management, Fig. 1
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.