Micro Cosmo
Volte
27/05/96

< Gate A20 >


Antes de nos aventurarmos em águas mais profundas, uma advertência: o assunto que começaremos a abordar hoje é demasiadamente complexo para nosso nível de conhecimento (em português mais claro: é areia demais para nosso caminhãozinho). Mas como se trata de um ajuste que figura em praticamente todos os BIOS, achei que não poderia deixar de mencioná-lo. E como detesto discutir coisas sem explicar como funcionam, preparem-se para uma brava incursão pelo desconhecido. Mas prometo abordar o tema da forma mais indolor possível.

Trata-se do item de ajuste que menciona um certo “Gate A20” (em geral, “Fast Gate A20 Option”, mas também pode ser algo como “Gate A20 emulation” ou coisa parecida). O assunto diz respeito a endereçamento de memória, ou seja, a forma pela qual o DOS identifica as posições de memória onde os dados serão gravados e lidos. Pois independentemente do tamanho da memória RAM de sua máquina, tem que haver uma forma inconfundível de identificar cada posição - senão corre-se o risco de depositar um dado na memória e não conseguir encontrá-lo mais tarde quando precisarmos dele. A forma é simples: numerar sequencialmente as posições de memória. Os números são os “endereços” de memória. Assim, se um byte foi gravado, digamos, na milésima posição de memória, quando for necessário recuperá-lo basta procurar pelo que está gravado no endereço 999 (pois como você sabe, nossos computadores sempre iniciam a numeração em zero).

Então sempre que a CPU acessa a memória, seja para ler, seja para gravar um dado, deve especificar o endereço a ser acessado. A coisa funciona assim: toda CPU tem posições de memória internas chamadas “registradores”. Quando, um byte vai ser escrito em uma posição de memória, a CPU armazena o valor a ser escrito em um destes registradores e o endereço da posição de memória em outro. E só então dispara o processo de escrita.

Ora, mas o endereço é um número. Que deve, obrigatoriamente, ser expresso no sistema binário usado internamente pela máquina. Então, para que a CPU possa manejar o endereço, é preciso que o número que o representa “caiba” em um de seus registradores internos. E é aí que começa o problema.

B. Piropo