Computadores XXXX: Memória Lógica e Física A9 – Texto 4 Sítio Fórum PCs /Colunas Coluna: B. Piropo – Publicada em 17/09/2007 http://www.forumpcs.com.br/viewtopic.php?t=220180 Autor: B.Piropo Na coluna anterior mencionamos a importância da distinção entre a conceituação da memória principal dos pontos de vista “lógico” e “físico”. Memória lógica No que toca aos aspectos lógicos, a memória principal (MP) é uma imensa “pilha” contínua de posições de memória, geralmente de um byte cada, identificadas cada uma por um número que denota sua posição relativa na “pilha”. Este número chama-se “endereço. Nos micros modernos a Unidade Central de Processamento (UCP) comunica-se com a MP através de um componente denominado “barramento frontal” (em inglês, “front side bus” ou FSB). Este barramento, que discutiremos em detalhes no devido tempo, é formado por um conjunto de “linhas” (condutores elétricos que interligam MP a UCP) e circuitos de controle que permitem que dados, endereços e sinais de controle transitem através deles fazendo com que a UCP possa ler e escrever dados em cada uma das posições de memória identificadas por seus endereços (veja a coluna < http://www.forumpcs.com.br/viewtopic.php?t=145565 > “Computadores XIX: Leitura e escrita na MP”). O tamanho máximo desta “pilha” (ou seja, a quantidade máxima de posições de memória ou a capacidade máxima da memória principal da máquina) depende do número das linhas do barramento frontal destinadas a transportar endereços. Isto porque para que a UCP possa ter acesso a uma dada posição de memória o endereço correspondente deverá ser fornecido ao dispositivo controlador da MP situado no barramento frontal e transportado pelas linhas de endereço deste barramento frontal. Portanto deve “caber” neste barramento. Por isso o maior endereço possível corresponde ao maior número que pode ser transportado pelas linhas de endereço do barramento frontal, um número que, expresso em binário, é formado por tantos bits “um” quantas são estas linhas. Exemplificando: o primeiro computador pessoal da IBM, o famoso PC lançado em agosto de 1981, usava um barramento com vinte linhas para transporte de endereços. O maior número que “cabe” nestas vinte linhas é aquele formado por vinte algarismos “um”. Que, em binário, corresponde a 2^20 (dois elevado à vigésima potência), ou 1.048.576, um número que quando exprime quantidade de bytes se convencionou chamar de 1 MB (um megabyte). Portanto a capacidade máxima de memória lógica de um IBM PC era de 1 MB. Já os micros da linha Pentium, cujos barramentos frontais usam 32 linhas para transportar endereços, podem endereçar até 2^32 posições de memória, o que corresponde a 4 GB (quatro Gigabytes). Este tamanho máximo, que corresponde ao limite da memória principal, é conhecido como “espaço de endereçamento”. Em tese, a UCP de um Pentium pode ter acesso a qualquer uma dentre as mais de quatro bilhões de posições de memória do espaço de endereçamento. A única condição é que lá exista, de fato, um conjunto de oito células de memória (cada uma capaz de guardar um “bit”) que consubstanciará fisicamente aquela posição de memória. O que nos leva à diferença entre os conceitos lógico e físico da MP. Memória física Como acabamos de ver, do ponto de vista lógico a MP é constituída de uma imensa “Pilha” de posições de memória de oito bits que ocupa todo o espaço de endereçamento, cada uma identificada por seu endereço. Já do ponto de vista físico a MP é formada por conjuntos de circuitos eletrônicos constituídos por células de memória, cada uma delas capaz de armazenar um bit, agrupadas de oito em oito para formar, fisicamente, as posições de memória de um byte que podem ser acessadas pela UCP. Estes circuitos podem ser dos mais diversos tipos. E podem mesmo nem existir em quantidade suficiente para preencher todo o espaço de endereçamento. Por exemplo: considere uma máquina cuja UCP seja um Pentium com 512 MB instalados em seus módulos de memória RAM. Embora ela tenha acesso a um espaço de endereçamento lógico de 4 GB (ou seja, do ponto de vista lógico sua memória principal pode chegar a 4 GB), do ponto de vista físico ela se restringe a 512 MB. Portanto o espaço de endereçamento pode ou não ser totalmente preenchido, dependendo do tamanho e número de módulos de memória RAM instalados na placa-mãe. E, definitivamente, não é necessário preencher (ou “povoar”) todo o espaço de endereçamento. Caso alguma instrução se refira a um endereço contido no espaço de endereçamento (lógico) acima da capacidade de memória instalada (física), o controlador de memória tentará acesso à posição correspondente e, ao constatar que lá não existe memória física, gerará um erro, o aviso correspondente será emitido e a máquina continuará funcionando na santa paz. E qual é a natureza dos circuitos integrados, ou “chips”, que formam a MP física? Em geral são circuitos de semicondutores de memória volátil do tipo RAM Dinâmica (DRAM; nos micros modernos, estas memórias são do tipo síncrono – SDRAM – e podem ser do tipo DDR; mais sobre isso nas próximas colunas). São instalados sob a forma de módulos formados por CIs (circuitos integrados) encaixados em soquetes ou, modernamente, soldados em pequenas placas de circuito impresso que se encaixam em conectores da placa-mãe, os “slots de memória” (também conhecidos como “pentes de memória”). Veja aspecto de alguns CIs e módulos de memória DRAM na figura 2, (obtida na Wikipedia e licenciada pela Wikimedia Commons). Figura 2: CI e módulos de memória DRAM moderna Mas é importante atentar para o “em geral” do início do parágrafo anterior. Porque na verdade os circuitos integrados (ou “chips”) que formam a memória principal podem ser de qualquer tipo de memória de semicondutores: volátil ou não volátil, permanente ou não permanente. E não precisam fazer parte dos módulos encaixados nos slots de memória da placa-mãe (nos primeiros micros da linha PC podiam até mesmo estar fisicamente situados fora dela como logo veremos). Para a CPU, a única coisa que importa é que sejam circuitos integrados de memória de acesso aleatório (veja coluna < http://www.forumpcs.com.br/viewtopic.php?t=213770 > “Computadores XXXV: Métodos de acesso”), eletricamente ligados ao controlador de memória através de um barramento e cujas células de memória se arranjam em conjuntos que podem ser acessados através de um endereço de memória. Cumprida esta condição, o CI pode ser de qualquer tipo e estar em qualquer lugar. Na verdade, em quase todo computador a memória principal é constituída de uma mistura de diferentes tipos de CIs (“chips”) situados em diferentes locais, cada um deles ocupando um trecho (intervalo) do espaço lógico de endereçamento constituído de certo número de endereços – e não apenas dos módulos de memória DRAM ou SDRAM que ocupam os slots de memória da placamãe. Se tudo isto lhe parece um tanto complicado, melhor “destrincharmos” um exemplo prático, o “mapa da memória” do velho IBM PC, o pioneiro da linha de computadores pessoais que veio a dar origem à chamada “linha PC”. O que faremos na próxima coluna. Coluna anterior: < http://www.forumpcs.com.br/viewtopic.php?t=219865 > Computadores XXXIX: O aparente mistério do “boot” Próxima coluna: Em breve.