Memória de Computador - Uma Visão Conceitual
Autor: Douglas José Peixoto Azevedo– GPS
1 Introdução
O conceito básico da memória é onde os dados são carregados e processados. A memória de um computador não está realmente concentrada num local, os dispositivos de armazenamento estão espalhados por toda a máquina. Por exemplo, os registros de operação são registros biestáveis usados para efetuação aritmética.
Numa consideração superficial, pode-se pensar que a próxima categoria de dispositivo de armazenamento normalmente encontrada é a chamada memória de alta velocidade, que nada mais é que uma seção da memória do computador formada por um conjunto de registros de armazenamento, cada um dos quais é identificado com um endereço que permite que a unidade de controle grave num registro particular. É importante que esta parte seja feita com a maior rapidez possível, pois toda a parte de processamento de informações passa pela memória principal.
Este artigo trata da visão conceitual de memória sobre o ponto de vista histórico e está assim dividido. No tópico 2, as características de memória. No tópico 3, os tipos de memória.
1.1 Memória Principal
A memória principal é marcada pela sua alta capacidade, que às vezes é sacrificada pela sua alta velocidade, enquanto a memória auxiliar que é mais lenta, tem capacidade maior de armazenamento. A velocidade muitas vezes é atrapalhada pelo tempo de acesso que é o tempo que uma palavra demora para ser encontrada na memória. Para evitar esta perda existe o dispositivo aleatório que é ligado diretamente à palavra que se quer encontrar.
Existem dois tipos de memória primária: uma é a memória de acesso aleatória RAM (Randon Access Memory), onde pode-se armazenar dados em qualquer momento e lê-los novamente quando quiser. Nesta memória são carregados e executados os programas. Outra é a memória de leitura ou ROM (Read Only Memory), onde os dados podem ser armazenados em EPROM na sua fabricação. O computador pode ler os dados, mas não pode alterá-los. A ROM é utilizada para reter certos dados constantes que o computador precisa para poder operar normalmente.
1.2 Memória Secundária
A memória secundária tem uma velocidade bem mais baixa que a dos registros da memória principal, que serve mais como registro de armazenamento.
2. Características da Memória
Conceitualmente, existem algumas propriedades que são reconhecidas como caraterísticas de memória. são elas: acesso imediato aos dados registrados e processados; cancelamento de dados desnecessários; capacidade de autoverificação e durabilidade.
2.1 Acesso imediato aos dados registrados e processados
Para que a unidade aritmético-lógica opere com eficiência as informações registradas na memória, deverão ser instantaneamente acessíveis. Em outras palavras, o tempo de acesso aos dados registrados na memória, deverá ser tão próximo de zero quanto possível, de modo a manter a velocidade de transferência tão alta quanto possível.
2.2 Cancelamento de Dados Desnecessários
A memória deverá ser capaz de cancelar os dados desnecessários, e em seu lugar guardar novos dados. O dispositivo de memória deverá atuar analogamente a um gravador de fita, que é capaz de cancelar gravações anteriormente efetuadas sempre que na mesma fita se processe uma gravação. É a propriedade de apagar.
2.3 Capacidade de Autoverificação
Com o objetivo de garantir a precisão dos dados registrados na memória, esta deverá ter uma característica de autoverificação. Uma delas é chamada "verificação de paridade", e funciona da seguinte forma: o computador conta o número de "bits" de um byte na memória que estão ligados (tem o valor 1). Se este número for par, é ligado um bit auxiliar, denominado BIT de PARIDADE, de tal maneira, que a soma de bits ligados em um byte seja sempre ímpar. Se a soma dos bits (sem considerar o bit de paridade), já for ímpar, o bit de paridade será deixado desligado.
A finalidade deste procedimento é simples. Se durante a leitura, transmissão, gravação de um byte este tiver um número par de bits ligados, é sinal de que um bit que estava ligado perdeu-se durante a operação e, portanto, o resultado não é confiável. Neste caso a operação é refeita até que se obtenha um resultado correto.
2.4 Durabilidade
Os dispositivos de memória são construídos para durar, a despeito da constante entrada/saída de dados.
2.5 Tamanho Compacto
Deverá ser de tamanho compacto, embora capaz de armazenar grande quantidade de dados.
3. Tipos de Memórias
Existem alguns tipos de memórias mais freqüentemente utilizadas. Pode-se dar como exemplo dois tipos, que são:
* memória de acesso aleatório;
* núcleos magnéticos;
* semicondutor;
* memória de disco.
3.1 Memória de Acesso Aleatório
O funcionamento desta é muito simples. Ex: receberemos da memória uma palavra com 72 números de bits. Os endereços ou números de endereço na memória passam, consecutivamente, começando pelo endereço 0 e passando até maior endereço. Assim, no endereço 0, acha-se uma palavra, no endereço 1 uma segunda palavra, no endereço 2 uma terceira palavra, etc., até a palavra final no maior endereço. Esta memória tem uma característica peculiar que é de possuir uma leitura não destrutiva (leitura não destrói nem altera uma palavra armazenada).
Esta memória assemelha-se a um armário com gavetas e que em cada uma é guardada uma palavra com uma etiqueta por fora desta e quando precisarmos é só ir até ela e abrir para verificar o conteúdo. Cada endereço, ou local contém um número fixo de bits unitários, sendo este número denominado comprimento da palavra da memória. Dependendo da memória nomeia-se o computador:
"4096 palavras 16 bits" - 4 k de 16 bits
"102 15 palavras 16 bits" - 32 k de 16 bits.
As memórias podem ser lidas ou gravadas chamadas de memórias leitura/gravação e também memórias exclusivas que cuidam só do processamento de dados.
3.1.1 Armazenamento em Núcleos Magnético
Consiste numa pequena peça toroidal (em forma de anel, conforme figura 3.1), de material magnético. É geralmente uma peça sólida de material cerâmico ferromagnético. Cada núcleo magnético é capaz de armazenar 1 bit de informação digital.
O funcionamento básico deste armazenamento, baseia-se num enrolamento. Fio de entrada é mostrado em espirais através deste núcleo; se a corrente atravessar este enrolamento, será produzido fluxo magnético com um sentido que depende do sentido da corrente no enrolamento.
Uma das falhas deste armazenamento é que sua leitura é destrutiva.
Figura 3.1 - armazenamento na memória de núcleos magnéticos
3.1.2 Armazenamento de Informações em Núcleos Magnéticos num Arranjo Bidimensional
Este é geralmente usado em computadores de grande porte, pois sua técnica de gravação ou leitura de informação em um núcleo (figura 3.2), selecionado ou grupo de núcleos numa memória são conhecidas como técnicas de seleção. Montagem de planos numa memória de núcleos.
Figura 3.2 - detalhe de um núcleo típico
Figura 3.3 - Fios de Seleção
A figura 3.3, ilustra um pequeno plano de memória de núcleos. Qualquer núcleo neste plano pode ser selecionado, e um 0 ou 1 gravados no núcleo pode ser lido, por aplicação das correntes corretas a uma das linhas de entrada X e uma das linhas de entrada Y, simultaneamente. Uma memória de núcleos completa consiste de vários planos, empilhados numa matriz retangular.
3.1.3 Seqüência de Sincronização
A mesma seqüência de sincronização é geralmente usada se o computador deve gravar informação na memória de núcleos ou deve ler informação da memória de núcleos. O tempo total consumido pela seqüência de sincronização completa é chamado, ciclo de memória e é um dos principais fatores determinantes da velocidade de uma máquina. Cada ciclo de memória consiste em dois períodos, o primeiro dos quais é chamado tempo de leitura, e o segundo é o tempo de gravação.
3.1.4 Características da Matriz de Memória de Núcleos
Cada núcleo de uma memória de núcleos de tipo descrito é atravessado por 4 enrolamentos, uma vez que os núcleos são geralmente bem pequenos, talvez 12/1000 a 50/1000 pol ou milésimo de pol de 0 diâmetro externo, o tamanho total das matrizes pode ser feito muito pequeno. Cada plano de uma das memórias usado no computador TX-2 no laboratório de Lincoln é um plano de núcleos de 64 x 64 e, portanto, contém 4096 núcleos; há 37 planos na matriz e, portanto, um total de 151552 núcleos na matriz completa. Esta matriz tem aproximadamente as dimensões de um cubo de 5 polegadas. Há 64 entradas de rolamento de seleção X na matriz e 64 entradas de seleção Y,37 enrolamentos de leitura e 37 enrolamentos inibidores. Algumas características gerais das memórias de núcleo de corrente coincidente tornam-se evidentes a partir do seguinte: o nº de planos usados é igual ao nº de bits na palavra da memória; o nº de linhas de entrada Y é igual ao nº de palavras que pode ser armazenado na matriz.
3.1.5 Endereço da Memória e Registros de Memória Intermediária
O computador se comunica com a memória de núcleos através de dois registros: 1) Registro de endereço da memória, que contém o endereço da palavra que deve ser lida ou gravada, e 2) Registro da memória intermediária, que contém a palavra que foi lida da memória (após o ciclo ler) ou a palavra que deve ser gravada na memória. Para localizar uma palavra na memória, o endereço da palavra é 1º carregado no registro de endereço da memória. Se a memória deve ser lida, os estados dos núcleos no endereço especificado serão lidos e gravados no registro de memória intermediária. O computador pode, em seguida, ler a palavra que foi procurada ou consultada no registro de memória intermediário.
Se uma palavra deve ser gravada na memória, o endereço que deve ser gravado é carregado no registro de endereço da memória intermediária. Após o ciclo de memória, a palavra será armazenada na memória no endereço especificado.
3.1.6 Excitação das Linhas de Seleção X e Y
Os biestáveis são geralmente usados com dispositivos de armazenamento tanto no registro de endereço da memória quanto no registro de memória intermediária.
A figura 3.4, ilustra em forma de diagrama-bloco a operação de um sistema de seleção de uma memória de núcleos, tendo cada plano as dimensões ilustradas na figura.
Uma vez que há oito linhas de seleção X e oito linhas de seleção Y, serão necessários três biestáveis para selecionar uma linha X e três outros para selecionar uma linha Y. Há, portanto, 6 biestáveis no registro de endereço da memória, de modo que qualquer um dos 64 locais em, cada plano, pode ser selecionado. Os biestáveis no registro ilustrado foram designados X1 X2 X3 e Y1, Y2, Y3 para indicar que os três primeiros são usados para selecionar o enrolamento X e os três seguintes para selecionar o enrolamento Y.
Figura 3.4 - ilustra em forma de diagrama-bloco a seleção de memória
3.1.7 Características da Memória de Núcleos
A pequena memória descrita é típica das memórias de acesso aleatório usadas atualmente, exceto quanto às suas dimensões. No momento estão em uso as memórias que contêm cerca de 10.000.000 de núcleos. Embora os princípios básicos de tais memórias sejam os mesmos, o conjunto de circuitos, necessariamente, diferirá em detalhes. Os tempos de ciclo de memória variam nas diferentes máquinas, mas a maioria das máquinas comerciais possui tempos de ciclo de memória na faixa de 0,275 a 2/ As. O tempo de acesso de leitura é definido como a duração do retardo antes que uma palavra possa ser usada durante o pior acesso de leitura. Este tempo é menor que o tempo de ciclo de memória, por causa do tempo de leitura. Este tempo é menor do que o tempo do ciclo de memória, porque o tempo de leitura ocorre primeiro, e a palavra pode ser usada logo que o amplificador de leitura seja amostrado e a palavra carregada no registro da memória intermediária.
3.1.8 Organização da Memória de Núcleos e Esquemas de Fiação
A organização da memória de núcleos descrita anteriormente é a clássica memória de núcleos de 4 fios de acesso aleatório e de corrente coincidente. Diversas variações deste esquema básico serão delineadas nesta seção. Primeiro, observamos que os enrolamentos da linha de leitura e da linha do inibidor podem ser combinados num único enrolamento. O amplificador de leitura é usado somente durante a seção de leitura do ciclo de sincronização da memória, enquanto que o excitador inibidor está ligado apenas durante a porção de gravação do ciclo de sincronização da memória. Conectando-se simplesmente o amplificador de leitura ao enrolamento inibidor e removendo o enrolamento de leitura, uma matriz pode ser formada tendo apenas três fios por núcleo. O amplificador de leitura é depois conectado ao enrolamento inibidor, e este enrolamento é chamado de dígito ou enrolamento de bit. O amplificador de leitura deve, certamente, ser capaz de suportar a grande entrada proveniente do excitador inibidor. Este tipo de memória tem três fios de corrente coincidente e tem memória de 16 palavras de 4 bits.
Além da simplificação da construção da memória, a redução do número de enrolamento através dos núcleos tem o efeito desejável de tornar possível reduzir as dimensões dos núcleos. Núcleos menores podem ser comutados mais rápidos que os núcleos maiores, e o fator de limitação no tamanho do núcleo é, muitas vezes, o número de fios através dos núcleos; portanto, as memórias mais rápidas são fabricadas com menos fios. O preço que é pago está na complexidade adicional do circuito.
3.2 Memórias de Acesso Aleatório a Semicondutor
A capacidade de fabricar grandes matrizes de componentes eletrônicos, empregando técnicas diretas de processamento, e de fabricar estas matrizes em pequenos receptáculos a preços razoáveis, tornou possível a fabricação de memórias de circuitos eletrônicos ou de semicondutores, que são competitivas com as memórias de núcleos. As primeiras destas memórias foram as pequenas memórias de biestáveis chamadas "memória borrão", que eram de altas velocidades (mais rápidas do que o núcleo) e foram usadas em pequenas memórias operacionais ou auxiliares.
As pequenas memórias borrão com biestáveis têm comprimentos que variam de 16 a diversas centenas de palavras em comprimento e podem ser lidas ou gravadas num tempo da ordem de nanosegundos a dezenas de nanossegundos. Um único biestável é usado para cada bit de armazenamento, e são usadas portas para selecionar palavras e para ler nos biestáveis e ler dos biestáveis.
Quando os custos de fabricação se tornaram menores e as matrizes maiores se tornaram exequíveis, as memórias de semicondutor se tornaram muito maiores. Embora haja diversos esquemas e dispositivos disponíveis diferentes.
Há 3 principais categorias de memórias de semicondutores atualmente:
* Memórias bipolares: estas são essencialmente memórias de biestáveis, sendo estes biestáveis fabricados em emprego de transistores de junção p-n padronizados. Estas memórias são rápidas mas tendem a ser dispendiosas.
* Memórias estáticas de MDS: estas são fabricadas de dispositivos de MOS de efeito de campo para fazer os circuitos de biestáveis. Estas memórias são inferiores às memórias bipolares quanto à velocidade, porém custam menos, consomem potência menor e possuem altas densidades de integração.
* Memórias dinâmicas de MOS: estas são fabricadas empregando dispositivos de MOS mas, em vez de usar um biestável como célula básica de memória, uma carga é depositada num capacitor (ou capacitores) fabricado na pastilha de semicondutores e a presença ou ausência dessa carga determina o estado da célula. Os dispositivos de MOS são usados para ler e depositar a carga nos capacitores empregados. Uma vez que a carga usada se dissipará lentamente com o tempo, é necessário reavivar periodicamente esta carga, e as memórias são, portanto, chamadas memórias dinâmicas (as memórias biestáveis bipolares ou de MOS são chamadas memórias estáticas). Estas memórias tendem a ser mais lentas do que as de outros tipos, mas são, também, dispendiosas, consomem potência menor e possuem uma alta densidade de integração.
Todos os 3 tipos de memória acima têm uma vantagem sobre as memórias de núcleo: a leitura de dados não é destrutiva.
As técnicas de seleção, técnicas de leitura e outras idéias básicas usadas nas memórias de núcleo também se aplicam às memórias de semicondutares. Uma vez que os dispositivos de armazenamento são fabricados numa pastilha, os amplificadores de leitura, os decodificadores, etc., podem ser colocados na mesma pastilha, e muito freqüentemente pastilhas individuais contêm em essência memórias pequenas e completas.
3.2.1 Memórias Bipolares de Semicondutores
As memórias bipolares são fabricadas usando-se versões de alta densidade do biestável com transistor bipolar. Um problema que surge no aumento da densidade é o do isolamento dos transistores individuais um do outro, mas os fabricantes desenvolveram processos para reduzir espaço necessário à isolação do transistor. Uma vantagem dos dispositivos bipolares é a simplicidade do conjunto de circuitos da interface requerida, por causa da compatibilidade com a lógica bipolar. Uma outra vantagem é a velocidade atingível.
As memórias bipolares são fabricadas usando processos similares aos já descritos acima e os tipos principais de circuitos são os de lógica TTL e CCL (A dopagem do ouro para reduzir o tempo de recuperação do transistor, bem como grampeamento de diodo Schottky para evitar a saturação do transistor, são usados nas configurações para aumentar a velocidade). As memórias de ECL são adequadas apenas onde o custo é secundário para velocidade muito alta.
Este biestável é fabricado com dois transistores de emissores múltiplos. Os transistores Q 3 e Q 4 formam o biestável e, ou Q 3 estará conduzido e Q 4 cortado, ou Q 3 estará cortado e Q 4 conduzindo e assim o circuito é biestável.
3.3 Memórias de discos magnéticos
A memória de disco magnético, conforme demonstrado na figura 3.5 proporciona capacidades de armazenamento muito grandes com velocidades de operação moderadas. Há atualmente no mercado um número consideravelmente grande de diferentes tipos de memórias de discos magnéticos. Embora diferindo quanto a detalhes específicos todos eles são baseados nos mesmos princípios de operação.
No aspecto, uma memória de discos magnéticos se assemelha a um toca-discos automático, acionado por moedas ou "vitrola" automática. Vários discos rotativos revestidos de um material magnético são empilhados sem espaço entre cada disco. A informação é gravada na superfície dos discos rotativos por cabeçotes magnéticos que são posicionados contra os discos, (a informação é gravada em faixas em vez de uma espiral). Cada faixa de informação ao redor de um certo disco é chamada "trilha".
De um lado de um disco típico pode haver de uma centena a vários milhares destas trilhas de dados. Os bits são gravados ao longo de uma trilha numa densidade de 500 a 7000 bits/pol, aproximadamente.
Uma vez que cada disco contém várias trilhas de informação e pode haver diversos discos numa certa memória, inúmeras técnicas têm evoluído para a colocação do cabeçote magnético de LEITURA E GRAVAÇÃO.
Há 2 tipos básicos de sistemas de discos. O 1º tem seus cabeçotes fixos em posição sobre cada trilha. Estes são chamados de sistemas de cabeçote fixo. A segunda espécie de sistema tem um ou mais pares de cabeçote de LEITURA e GRAVAÇÃO para cada par de superfície de discos adjacentes (porque a informação é geralmente gravada em ambas as partes superior e inferior de cada disco). Estes cabeçotes de LEITURA E GRAVAÇÃO são montados sobre braços que podem ser movidos para dentro e para fora. Estes são os chamados sistemas de cabeçote movível.
O posicionamento dos cabeçotes por meio do movimento mecânico dos braços constitui uma tarefa difícil e enganadora, particularmente se as trilhas forem muitas vezes gravadas a uma distância inferior a centésimos de polegadas no disco. É evidente que as memórias de arquivos em discos de muitos cabeçotes podem localizar e gravar ou ler numa trilha selecionada mais rápido que as memórias que têm alguns cabeçotes, uma vez que o movimento mecânico antes de a trilha alcançada será de valor menor no sistema de muitos cabeçotes.
Figura 3.5 - Memória em Disco Magnético
O tempo total consumido para começar a leitura dos dados selecionados ou para começar a gravação de um trilha selecionada num local particular é chamado tempo de acesso.
O tempo necessário para posicionar um cabeçote sobre a trilha selecionada é chamado de tempo de busca e está geralmente situado entre uma média de vários milissegundos e frações de segundos. O outro retardo na localização de dados selecionados é o retardo rotacional ou de latência, que é o tempo necessário para que os dados desejados alcancem o cabeçote magnético uma vez que o cabeçote esteja posicionado. Assim, o tempo de acesso total de um disco é a soma do tempo de busca e da latência.
Para uma velocidade rotativa de 2400 rpm, por exemplo, a latência é um máximo de 25 ms e em média 22,5ms.
Tipicamente os cabeçotes são arranjados em grupos de 8 ou 9, incluindo, talvez, um sobressalente ou reserva e são alinhados em posições fixas com relação ao disco. Embora sejam mais rápidos, os sistemas de cabeçote fixo proporcionam menor capacidade de armazenamento e os sistemas de cabeçote móvel tendo áreas comparáveis de gravação de disco porque os sistemas de cabeçote móvel possuem mais trilhas por polegada.
As memórias de discos que possuem conjunto de discos mutáveis são muito populares. Cada conjunto de discos contém discos que giram juntos. A memória IBM 2314 mostrada na figura 3.6 usa um conjunto de discos mutáveis, por exemplo, que contém 20 superfícies de discos gravados, consistindo de 10 discos.
Figura 3.6 - Memória de Discos Tipo OBM 2314
4 Conclusão
A memória do computador é tão imprescindível quanto a memória do ser humano. Ela é a alma do computador.
Com estas duas frases, encerramos este trabalho onde pretendeu-se dar uma visão conceitual da memória.
Aguardem o próximo artigo onde o enfoque será a memória de microcomputador.
REFERÊNCIAS BIBLIOGRÁFICAS
AZEVEDO, Douglas J. P. de. Introdução ao processamento de dados. Curitiba: CELEPAR, 1985.
CHRISTIAN, Kaare. Como funciona o Windows. São Paulo: Editora Quark, 1994.
ALBURQUERQUE, Ivan J. Fundamentos de computadores. 4. ed. Rio de Janeiro: Guanabara, 1985.