Introdução à programação e aos algoritmos
1.9.3 Memória
Os registradores são uma espécie de memória interna do processador. Guardam resultados intermediários e armazenam dados para um processamento imediato. Por estarem dentro do processador, seu acesso e manipulação é muito mais rápido que a memória principal.
A memória do sistema é muito mais lenta que o processador. Portanto, para agilizar o processamento de instruções, o processador tem uma memória especial interna à CPU, chamada memória cache, muito mais ágil. Como é muito mais cara, seu tamanho é limitado dentro da CPU.
1.9.3 MEMÓRIA
“640K deveria ser suficiente para todo mundo.”
Frase falsamente atribuída a Bill Gates.
A memória de um sistema computacional é o local em que o sistema guarda as informações a serem processadas ou que foram processadas. Serve também para preservar as instruções que serão usadas para o processamento de informações. Podemos distinguir dois tipos de memória: a memória principal e a memória de massa.
A memória principal é mais rápida e perde todas as informações quando você desliga o computador. Também chamamos essa memória de “memória viva”. Os primeiros computadores pessoais da IBM da década de 1980 usavam 640k bytes (640×210) de memória. Ao longo dos anos, com a evolução da tecnologia, cada vez mais memória foi sendo acrescentada. Na década seguinte os computadores já usavam memórias da ordem de grandeza de alguns megabytes (220, ou, grosseiramente, milhões de bytes) e hoje estamos na casa dos gigabytes (230, ou, grosseiramente, bilhões de bytes). A evolução da memória foi realmente espantosa, tendo multiplicado por um fator de um milhão a memória dos primeiros computadores pessoais.
A memória é dividida em pequenas unidades, cada uma com um
endereço único. A Figura 1.16 mostra um esquema simplificado de como a memória é organizada. A organização real é um pouco mais complexa, mas para todos os efeitos, basta sabermos que cada informação na memória tem um endereço associado. A quantidade de memória que pode ser endereçada depende do processador.
Figura 1.16 Endereços e memória.
A memória dos primeiros computadores, na década de 1950,
usava válvulas biestáveis; mais tarde passou a usar núcleos magnéticos e hoje em dia usa semicondutores para esta função, ganhando enormemente em velocidade e diminuição do consumo de energia.
São dois os tipos de memória principal: ROM e RAM.
A memória ROM, do inglês Read Only Memory, memória somente de leitura, como o nome diz, só pode ser lida. A escrita é possível, mas apenas com equipamento ou procedimento especial e, em alguns tipos, apenas por uma vez. É nessa memória que são armazenados os programas básicos do computador, como o BIOS, do inglês Basic Input/Output System ou Sistema Básico de Entrada e Saída. Este programa gerencia a entrada e a saída básicas do computador e também inicia o carregamento do sistema operacional, assim que você liga o seu equipamento. Curiosamente, no Brasil é comum fazer-se referência a este sistema como “a BIOS”, no feminino.
A memória RAM tem seu nome a partir de Random Access Memory, ou memória de acesso aleatório. Na realidade, a memória ROM também tem acesso aleatório, mas o nome RAM tem razões históricas. A memória RAM é uma memória volátil, quer dizer, quando você desliga o computador seu conteúdo se apaga juntamente com o fim da energia. É uma memória bem rápida, e seu custo caiu de maneira exponencial ao longo dos anos, por isso o salto quantitativo na memória dos computadores. Esse tipo de memória pode ser lido e escrito e é usado para armazenar dados para uso imediato, os programas que estão em execução no computador e os resultados intermediários do processamento. Nessa memória também é carregado o Sistema Operacional, um programa especial que fornece uma interface entre o usuário e a máquina.
A memória secundária ou de massa geralmente é do tipo magnética, como os discos rígidos (HD, Hard Disk, em inglês). Com uma mecânica fina e precisa, podem ser armazenadas quantidades muito maiores de bytes nessa memória. Enquanto contamos a capacidade da memória primária em gigabytes, a memória de massa é contada em terabytes. As informações, uma vez gravadas, ficam registradas até serem apagadas ou substituídas, não necessitando de energia para se manter. Por ter baixo custo por gigabyte armazenado, essa memória é muito usada para manter grandes volumes de dados e para fazer cópia de segurança.