Memórias de Computador
| 1. DISPOSITIVOS DE MEMÓRIA
Uma das maiores vantagens que os sistemas digitais têm sobre os sistemas analógicos é a habilidade de armazenarem, facilmente, grandes quantidades de informação digital e de dados, por períodos de tempo curtos ou longos. Esta capacidade de memória é que torna os sistemas digitais tão versáteis e adaptáveis a muitas situações. Por exemplo. em um computador digital, a memória principal interna armazena instruções que dizem ao computador o que fazer sob todas as circunstancias possíveis, de forma que o computador executara seu trabalho com uma quantidade mínima de intervenção humana. Já nos familiarizamos bastante com o flip-flop, que é um dispositivo eletrônico de memória. Também vimos como grupos de FFs, chamados de registradores, podem ser usados para armazenar informações e como esta informação pode ser transferida para outras localidades. Registradores com FFs são elementos de memória de alta velocidade que são utilizados extensivamente nas operações internas de um computador digital, onde a informação digital está sendo continuamente movimentada de uma localidade para outra. Avanços recentes na tecnologia de integração em larga escala (LSI) têm tornado possível obter grandes números de FFs em um único circuito integrado (ou pastilha), arranjados em vários formatos de matrizes de memória. Estas memórias bipolares e de metal-óxido-semicondutor (MOS) são os dispositivos de memória mais velozes disponíveis e seu custo tem caído continuamente à medida que a tecnologia LSI se aperfeiçoa. Devido à sua alta velocidade, as memórias semicondutoras podem ser usadas como memória interna de um computador, onde a operação rápida é importante. A memória interna de um computador está em constante comunicação com o restante dele à medida que ele executa as instruções de um programa. De fato, as instruções e os dados são armazenados, normalmente, nesta memória interna. Um compromisso razoavelmente bom entre velocidade e custo é provido pelas memórias de núcleo magnético. Este tipo de memória tem sido largamente utilizado como a memória interna de trabalho dos computadores digitais desde o fim dos anos 50. Sua popularidade é devida principalmente, à sua alta velocidade e custo relativamente baixo. Recentemente, as memórias MOS têm começado a substituir os núcleos magnéticos em muitos computadores. As memórias MOS são menores, mais rápidas, e necessitam menos potência do que os núcleos magnéticos, e seu custo está aproximando-se do dos núcleos magnéticos. O IBM 370, um computador muito grande, usa memória MOS para armazenamento interno. Muitos minicomputadores e quase todos os microcomputadores usam memórias MOS (ou bipolares) para armazenamento interno. Apesar de as memórias semicondutoras e de núcleo magnético serem bem apropriadas para a memória interna de alta velocidade, seu custo por bit de armazenamento proíbe o seu uso como dispositivos de memória de massa. A memória de massa refere-se à memória externa ao computador principal, que é capaz de armazenar grandes quantidades de informação (milhões de bits). A memória de massa externa, que é, normalmente, muito mais lenta do que a memória interna, é usada para transferir dados e informações para uma memória interna do computador; da mesma forma, dados da memória interna são, freqüentemente, transferidos para a memória de massa, para armazenagem por longo tempo. Fitas magnéticas, discos magnéticos e tambores magnéticos são dispositivos de memória de massa, muito populares, e que são mais baratos por bit do que dispositivos de memória interna. Duas novidades no campo das memórias de massa são os dispositivos de cargas acopladas ("charge-coupled devices", CCD) e as memórias de bolhas magnéticas(MBM). Estes são dispositivos semicondutores que ainda não estiveram em voga por tempo suficiente para se predizer seu impacto na área de armazenamento de massa.
2. MEMÓRIAS SEMICONDUTORAS 2.1. ORGANIZAÇÃO Os circuitos integrados de memória armazenam a informação binária em grupos chamados palavras. Uma palavra é a unidade básica de informação ou de dados usada em um computador. O número de bits que constitui uma palavra varia de computador para computador, estando na faixa de 4 bits até 36 bits, tipicamente. Uma dada "pastilha" de memória armazenará um dado número de palavras de tantos bits por palavra. Por exemplo, uma pastilha de memória muito popular tem uma capacidade de armazenamento de 1024 palavras de 4 bits cada (isto é, é uma pastilha de 1024 x 4). Ajuda muito pensar em uma pastilha de memória como sendo constituída por um grupo de registradores, cada registrador armazenando uma palavra (Fig. 1). A "largura" de cada registrador é o número de bits por palavra. O número de registradores é o número de palavras armazenadas na memória. Este diagrama geral representa uma memória que armazena N palavras de M bits cada (isto é, uma memória N x M). Valores comuns para o número de palavras por pastilha são 64, 256, 512, 1024, 2048 e 4096. Todos eles são potências inteiras de 2. Valores comuns para o tamanho da palavra são 1, 4 e 8. Como veremos, é possível obter outros tamanhos de palavras, combinando-se diversas pastilhas de memória. O conteúdo de cada registrador está sujeito a duas operações possíveis: leitura e escrita . A leitura é o processo de obter a palavra armazenada no registrador e enviá-la para algum outro lugar, onde ela poderá ser usada. O conteúdo do registrador não é modificado pela operação de leitura. Escrita é o processo de colocar uma nova palavra em um registrador particular. É claro que esta operação de escrita destrói a palavra que estava previamente armazenada no registrador. Como veremos, não são todas as pastilhas de memória que têm a capacidade de ter os seus conteúdos escritos.
Fig. 1 Endereçamento Cada registrador ou palavra recebe um número, começando de 0 e continuando até onde for necessário. Este número especifica, de forma única, a localização do registrador e da palavra que ele está armazenando, e é chamado de seu endereço. Por exemplo, o endereço 2 refere-se ao registrador 2 ou à palavra 2. Sempre que quisermos nos referir a uma palavra em particular da memória, usaremos o seu endereço. O endereço de cada palavra é um número importante porque ele é o meio pelo qual um dispositivo externo à pastilha de memória pode selecionar qual a palavra desta que ele deseja acessar para uma operação de leitura ou de escrita. Para entendermos como o endereçamento é utilizado, precisamos dar uma olhada mais detalhada na organização interna de uma pastilha de memória típica (Fig. 2). Este circuito integrado, em particular, armazena 64 palavras de 4 bits cada (isto é, uma memória 64 x 4). Estas palavras têm endereços variando de 0 a 6310. Para selecionar uma das 64 locações para ler ou escrever, um código binário de endereço é aplicado ao circuito decodificador. Como 26 = 64, o decodificador requer um código de entrada de 6 bits. Cada código de endereço ativa uma particular saída do decodificador que, por sua vez, habilita o registrador correspondente. Por exemplo, suponha um código de endereço de A5 A4 A3 A2 A1, A0 = 011010. Como 0110102 = 2610, a saída 26 do decodificador ficará ALTA, habilitando o registrador 26. Operação de leitura O código de endereço escolhe um registrador da pastilha de memória para leitura ou escrita. Para ler os conteúdos do registrador selecionado, a entrada LEITURA/ESCRITA (R/W) deverá estar em nível 1. Além disso, a entrada SELEÇÃO DE PASTILHA (CS) deverá estar ativada (em 1, neste caso) . A combinação de R/W = 1 e CS = 1 habilita os amplificadores ("buffers") de saída de forma que os conteúdos do registrador selecionado aparecerão nas quatro saídas de dados. R/W = 1 também desabilita os amplificadores de entrada de modo que as entradas de dados não afetam a memória durante a operação de leitura. Operação de escrita A escrita de uma nova palavra de 4 bits no registrador selecionado requer R/W = 0 e CS = 1. Esta combinação habilita os amplificadores de entrada, de modo que a palavra de 4 bits aplicada às entradas de dados será carregada no registrador selecionado. R/W = 0 também desabilita os amplificadores de saída, de forma que as saídas de dados estão em seu estado de circuito aberto. Seleção da pastilha A maioria das pastilhas de memória tem uma ou mais entradas SELEÇÃO DE PASTILHA ("CHIP-SELECT"-CS) que são usadas para habilitar a pastilha inteira ou desabilitá-la completamente. No modo desabilitado todas as entradas de dados e as saídas de dados estarão desabilitadas, de modo que nenhuma operação de leitura, nem de escrita, poderá ocorrer. Neste modo, os conteúdos da memória não são afetados. A razão para ter entradas CS ficará clara quando clara quando combinarmos pastilhas de memória para a obtenção de memórias maiores. Deve ser notado que muitos fabricantes chamam estas entradas de HABILITAÇAO DA PASTILHA ("CHIP-ENABLE"-CE) em vez de CS. Pinos de entrada/saída comuns Para economizar pisos em um encapsulamento de CI, os fabricantes, freqüentemente, combinam as funções de entrada de dados e de saída de dados usando pinos de entrada/saída comuns. A entrada RJW controla as funções destes pinos de E/S. Durante uma operação de leitura, os pinos de E/S agem como saídas de dados que reproduzem o conteúdo da locação selecionada pelo endereço. Durante uma operação de escrita, os pinos de E/S agem como entradas de dados. Podemos ver por que isto é feito, considerando a pastilha da Fig. 2. Com pinos separados de entrada e de saída, requer-se um total de 18 pinos (incluindo terra e tome de alimentação). Com quatro pinos comuns de E/S, são necessários apenas 14 pinos. A economia de pinos torna-se ainda mais significativa em pastilhas com tamanho de palavra anterior.
Fig. 2 - Organização interna de uma pastilha de memória 64 x 4.
Fig. 3 - Diagrama de funções dos pinos para um CI de memória de 256 x 8. EXEMPLO Quantos pinos seriam necessários para uma pastilha de memória que armazena 256 palavras de 8 bits e tem linhas comuns de E/S? Solução: Há 256 locações endereçáveis e 28 = 256. Portanto, são necessárias 8 entradas de endereço para selecionar qualquer endereço entre 00000000 e l1l1l1l1 (25510) Há oito linhas de E/S já que o tamanho da palavra é 8 bits . Acrescentando uma linha R/W, uma linha CS, alimentação e terra. dá um total de 20 pinos (Fig. 3). |
|
|