Memória do Computador

Palavras-Chave

Em computação, memória são todos os dispositivos que permitem a um computador guardar dados, temporária ou permanentemente. A denominação “memória” é um termo genérico para designar componentes de um sistema capazes de armazenar dados e programas.

A memória é formada por um conjunto de registros. O tamanho da memória se relaciona ao número de registros que são implementados por esse dispositivo como, por exemplo, em um HD de 2TB.

Uma memória de computador é constituída de um conjunto de registros binários porque sua implementação física é mais simples do que a de outros registros.

Nas memórias tradicionais existe um circuito eletrônico chamado de célula de memória (Figura 01). Uma célula de memória é um circuito eletrônico projetado, geralmente, com transistores, que permanecem em um determinado estado, indefinidamente, desde que a energia do sistema não seja interrompida. Existem outras implementações de células de memória por sistemas magnéticos, ópticos etc.

Figura 01 – Células de memória RAM estática (SRAM).

Fonte: Ronald J. Tocci, Neal S. Widmer e Gregory L. Moss. Sistemas Digitais: Princípios e Aplicações – 12ª Ed.

O estado de uma célula de memória eletrônica pode ser alterada aplicando-se uma corrente de acordo com os níveis de tensão do dispositivo.

A maioria das memórias implementam dois tipos de operações principais:

  • Escrita: Modifica o estado de algum registro;
  • Leitura: Acessa o estado de algum registro.

Nas memórias de computador cada registro tem um endereço único. É por meio de um endereço que se acessa um registro específico dentro da memória.

Contudo, se cada registro tiver um endereço específico na memória seriam necessários muitos números para representar o tamanho de uma memória. Além de que, a memória teria que realizar cada operação (escrita/leitura) em cada BIT, o que não seria eficiente.

Para sanar esta ineficiência as memórias computacionais arranjam um conjunto de registros em um mesmo endereço (número específico para cada conjunto de registros). Este endereço contendo um conjunto de registros na memória é chamado de “palavra“. A palavra de uma memória revela a quantidade de registros em um endereço único e o fato de que se é possível modificar os seus estados com a mesma operação. Normalmente, a palavra de uma memória depende de sua arquitetura e está associada ao seu tamanho (16 BITs, 32 BITs, 64 BITs etc). Este arranjo torna o tratamento de dados mais eficiente, transmitindo de forma paralela todos os registros dentro deste endereço. A memória de um computador é organizada de forma linear:

Endereço 1reg. 1 + reg. 2 + $ \cdots $ + reg. k
Endereço 2reg. 1 + reg. 2 + $ \cdots $ + reg. k
$ \vdots $$ \vdots $
Endereço nreg. 1 + reg. 2 + $ \cdots $ + reg. k

Outro termo importante é o “valor“, que representa o estado deste conjunto de registros.

As memórias podem ser do tipo:

  • Read-Only Memory (ROM): Só implementam as operações de leitura;
  • Random Access Memory (RAM): Implementam as operações de escrita/leitura de forma aleatória, independente de sua localização.

Existem outros tipos de memórias como, por exemplo, as fitas magnéticas, nas quais o fator limitante está no acesso ao endereço do conjunto de registros, que podem demandar mais ou menos tempo de acesso em casos nos quais sua localização esteja no início ou fim da fita magnética. Entretanto, devido a sua capacidade de armazenamento e baixo custo, empresas como o google a utilizam associada a outras tecnologias para realizar o armazenamento de informação de seus clientes.

As memórias principais são:

  • Os registradores de um processador;
  • A memória cache (Espaços de memória próximo ao processador);
  • A memória RAM;
  • A memória de armazenamento (HDs e SSDs).

As memórias são classificadas quanto ao seu valor econômico e sua volatilidade.

As memórias próximas ao processador possuem o acesso mais rápido e costumam ter uma quantidade menor de registradores devido ao seu alto custo de produção. Já as memórias de armazenamento (HDs e SSDs) possuem o acesso mais lento e costumam ter uma quantidade maior de registradores devido ao seu menor custo de produção, ou seja, elas são maiores, mais duradouras e mais baratas.

As memórias internas do processador e a memória RAM são memórias voláteis, ou seja, os estados registrados na memória serão perdidos quando a memória for desconectada de sua fonte de energia.

As fitas magnéticas, os discos rígidos (HDs), os discos de estado sólidos (SSDs) e a memória ROM são memórias não voláteis, ou seja, nas quais os estados serão armazenados na memória mesmo quando a memória for desconectada de sua fonte de energia.

Quando se trabalha com a memória de um sistema computacional se faz referencia a um endereço de um conjunto de registros e ao valor armazenado neste endereço. Esta lógica operacional que permite a manipulação da informação por outros dispositivos dos sistemas computacionais tais como o processador de um PC.

Alocação de Memória

Alocação de memória é o processo de reservar memória do computador para o uso de um programa. A alocação de memória no computador pode ser dividida em dois grupos principais: alocação estática de memória e a alocação dinâmica de memória.

Referências

  • Ronald J. Tocci, Neal S. Widmer e Gregory L. Moss. Sistemas Digitais: Princípios e Aplicações. 12ª Ed.
  • PIVA JÚNIOR, Dilermando (et al). Estrutura de dados e técnicas de programação. 1. ed. Rio de Janeiro, RJ: Campus, 2014. 399 p. ISBN: 9788535274370.
  • CORMEN, Thomas H et al. Algoritmos: teoria e prática. Rio de Janeiro: Elsevier, 926 p. ISBN: 9788535236996.
  • TOSCANI, Laira Vieira; VELOSO, Paulo A. S. Complexidade de algoritmos: análise, projeto e métodos. 3. ed. Porto Alegre: Bookman, 2012. 261 p. (Série livros didáticos informática UFRGS, 13) ISBN: 9788540701380.
  • ASCENCIO, Ana Fernanda Gomes. Estruturas de dados: algoritmos, análise da complexidade e implementações em Java e C/C++. São Paulo: Pearson, c2010. 432 p. ISBN: 9788576052216, 978857605816.
  • BRASSARD, Gilles; BRATLEY, Paul. Fundamentals of algorithmics. Englewood Cliffs: Prentice Hall, c1996. xx, 524 p. ISBN: 0133350681.

Livraria