Anteriores:
< Trilha Zero > |
|
|
22/07/1991
|
<
Minhas
Memórias >
|
Era uma vez um XT. Um XTzinho como outro qualquer: monitor fósforo verde, placa de vídeo CGA, teclado de 84 teclas. Simplezinho, mas valente. Os programas corriam livres e soltos em seus 704K de memória. Passamos juntos momentos memoráveis. Foi uma bela união. Mas coração de micreiro é inconstante. Exploradas as virtudes da nova máquina, logo dela se cansa e passa a dirigir olhares cobiçosos à do vizinho. Um dia, não resisti: vendi o pobre XT e passei ofegante de felicidade para um 286, o máximo de que então se dispunha. Cansado da verde monotonia do antigo vídeo, fiz o exagero de pendurar no AT um EGA multicor. E lasquei logo dois megabytes de memória, que não sou homem de me contentar com pouco. Agora sim, pensávamos eu e minha ingenuidade de pós-principiante: com dois mega, ninguém me segura: deito e rolo com mil residentes prontos a me socorrer com agendas, relógios, e mais o que for preciso tão logo acione suas teclas mágicas. E, sôfrego, pus-me a enfiá-los em meu Autoexec.Bat. Tudo correu muito bem até precisar do primeiro programa mais robusto, daqueles que usam trocentos e tantos Kbytes da memória do micro. Que, se a minha não falha, era um compilador. Pois não é que o bicho, despudoradamente, antes mesmo de carregar-se, exibe uma mensagem de memória insuficiente? Mas qual é a desse programinha semvergonha? Sempre rodou nos 704K do XT e agora se dá ao desplante de refugar os dois mega novinhos do AT dizendo que não é o bastante? Rodei um utilitário, desses que fazem uma radiografia do sistema. E lá estava, com todas as suas letras coloridas em meu novo vídeo, a verdade cruel: "Memória encontrada: 640Kbytes". Cadê meus dois mega? Ah, que saudade dos 704K do XTzinho. Pois não é que tudo que eu havia conseguido com meu AT de dois mega foi perder 64K para rodar programas? Como se explica uma mágica assim tão besta? Bem, para entender isso precisei, consternado, dar um fundo mergulho nos meandros da memória. Que vou tentar expor aqui passo a passo, para evitar que vocês tenham a estranha sensação de um velho amigo que, numa situação semelhante, achava que seu micro não tinha memória: tinha, quando muito, uma vaga lembrança. Se você perguntar a um técnico de manutenção onde está a memória de vídeo, ele apontará para uns chips cheios de perninhas na placa de vídeo. Se fizer essa mesma pergunta a um programador, ele dirá que está "entre os endereços 655360 e 819200". Nessa discrepância entre as duas respostas está a primeira distinção: "memória" pode ser entendida como um campo de endereços onde são armazenadas logicamente informações, como pensa o programador, ou como um componente eletrônico onde essas mesmas informações são guardadas fisicamente, conforme encara o técnico. Vamos começar examinando a memória desde o ponto de vista físico, ou seja, dos componentes, ou chips. Que se dividem em dois grupos básicos: RAM, que podem ser livremente lidos e gravados pelos programas, e ROM, que podem apenas ser lidos. Mas, se há informações a serem lidas nos chips ROM, de alguma forma elas foram postas lá. Um jeito de fazê-lo é durante o processo de fabricação: ele já sai da fábrica com as informações e jamais pode ser alterado. O que convém a grandes fornecedores, que podem se dar ao luxo de encomendar ao fabricante de circuitos integrados um chip com seus programas indelevelmente gravados. Porém pode ser mais interessante que isso seja feito pelos responsáveis pelo programa, e não pelo fabricante. Para tanto foram criados os chips PROM (Programmable ROM), fornecidos virgens e gravados uma única vez por processos eletrônicos. Que também não permitem alterar as informações. Mas apresentam a vantagem adicional do acesso mais rápido. E há, finalmente, um tipo mais versátil que pode ser gravado, apagado e regravado: os EPROM (Erasable PROM). A gravação é feita mediante técnicas especiais e o apagamento por exposição à radiação ultravioleta. Por isso têm, geralmente, uma etiqueta na parte superior: sob ela há uma janela em plástico transparente que permite a exposição à radiação quando se deseja apagá-las. A etiqueta é para evitar o apagamento acidental. A maior parte das BIOS dos nossos micros é gravada em PROM ou EPROM. E chegamos por fim à RAM. Que também tem suas filigranas. Há, basicamente, dois tipos: estática e dinâmica. Qual é a diferença? Para armazenar um bit na memória precisamos de algo que possa assumir um dentre dois estados. Em circuitos elétricos isso pode ser feito de diversas formas. As mais evidentes são com capacitores e interruptores ou relés. Um capacitor pode estar carregado ou descarregado. E um relé, aberto ou fechado. Daí derivam os dois principais tipos de memória RAM. Um deles usa chips formados por pequenos transistores em um tipo de circuito chamado "flip-flop", que simula um relé. Cada transistor armazena um bit setado ou resetado, dependendo do estado do circuito, aberto ou fechado. E para preservar o bit basta manter o chip energizado. São os chips de memória estática, ou SRAM (Static RAM). Usados, por exemplo, nas memória cache das placas mãe, que precisam ser muito rápidas. O outro, chamado DRAM (Dynamic RAM), emprega um chip formado por pequenos capacitores que armazenam bits dependendo do estado: carregado ou descarregado. Um capacitor é um componente muito mais simples que um transistor, portanto esses chips são mais compactos e baratos que os SRAM. Mas apresentam uma particularidade: capacitores tendem a se descarregar, se "esquecendo" da informação armazenada. Para mantê-la, os chips DRAM necessitam ter seus capacitores periodicamente recarregados em uma operação denominada "refresh" de memória. Portanto, um banco de memória com chips DRAM necessita de um circuito auxiliar que dinamicamente "refresque" as informações neles contidas - donde o nome de RAM dinâmica. Como DRAM são mais compactas e baratas que SRAM, a maioria dos micros pessoais usa esse chip para a memória RAM, mesmo que para tanto precisem implementar o circuito de "refresh". Pois é isso. Como? Porquê perdi meus 64K quando passei para o AT? Ah, para entender precisamos conhecer a organização lógica da memória do PC. Assunto para a próxima semana. Até lá. B. Piropo |