TECNOLOGIAS
As primeiras
tecnologias utilizadas em memórias foram as memórias de núcleos magnéticos, hoje
apenas uma curiosidade. As memórias modernas são compostas por circuitos
semicondutores, com novas tecnologias sendo criadas a cada ano permitindo que
grandes quantidades de células de memória sejam encapsuladas em pequenas
pastilhas.
HIERARQUIA DE
MEMÓRIA
A MP não é o único dispositivo de
armazenamento de um computador. Em função de características como tempo de
acesso, capacidade de armazenamento, custo, etc., podemos estabelecer uma
hierarquia de dispositivos de armazenamento em computadores.
| Tipo | Capacidade | Velocidade | Custo | Localização | Volatilidade |
| Registrador | Bytes | muito alta | muito alto | UCP | Volátil |
| Memória Cache | Kbytes | alta | alto | UCP/placa | Volátil |
| Memória Principal | Mbytes | média | médio | Placa | Volátil |
| Memória Auxiliar | Gbytes | baixa | baixo | Externa | Não Volátil |
A UCP vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na hierarquia, quanto mais próximo da UCP, maior velocidade, maior custo, porém menor capacidade de armazenamento.
REGISTRADORES
Registradores são dispositivos de armazenamento temporário,
localizados na UCP, extremamente rápidos, com capacidade para apenas um dado
(uma palavra). Devido a sua tecnologia de construção e por estar localizado como
parte da própria pastilha ("chip") da UCP, é muito caro. O conceito de
registrador surgiu da necessidade da UCP de armazenar temporariamente dados
intermediários durante um processamento. Por exemplo, quando um dado resultado
de operação precisa ser armazenado até que o resultado de uma busca da memória
esteja disponível para com ele realizar uma nova operação.
Máquinas RISC
são geralmente construídas com um grande conjunto de registradores, de forma a
trazer os dados para o mais próximo possível da UCP, de forma a que o programa
opere sempre sobre dados que estão em registradores.
Registradores são
VOLÁTEIS, isto é, dependem de estar energizados para manter armazenado seu
conteúdo.
MEMÓRIA CACHE
Com o desenvolvimento da tecnologia de construção da UCP, as
velocidades foram ficando muito mais altas que as das memórias, que não tiveram
a mesma evolução de velocidade (o aperfeiçoamento das memórias se deu mais no
fator capacidade). Desta forma, os tempos de acesso às memórias foram ficando
insatisfatórios e a UCP ao buscar um dado na memória precisa ficar esperando
muitos ciclos até que a memória retorne o dado buscado ("wait
states"), configurando um gargalo ("bottleneck") ao desempenho
do sistema.
Por esse motivo, desenvolveram-se outras arquiteturas de memória
privilegiando a velocidade de acesso. A arquitetura da memória cache é
muito diferente da arquitetura da memória principal e o acesso a ela é muitas
vezes mais rápido (p.ex: 5 ns contra 70 ns).
No entanto, o custo de
fabricação da memória cache é muito maior que o da MP. Desta forma, não
é econômico construir um computador somente com tecnologia de memória
cache. Criou-se então um artifício, incorporando-se ao computador uma
pequena porção de memória cache, localizada entre a UCP e a MP, e que
funciona como um espelho de parte da MP.
Desenvolveram-se ainda
algoritmos que fazem com que, a cada momento, a memória cache armazene
a porção de código ou dados (por exemplo, uma sub-rotina) que estão sendo usados
pelas UCP. Esta transferência (MP <--> Cache) é feita pelo
hardware: ela independe do software, que ignora se existe ou
não memória cache, portanto ignora essa transferência; nem o programador nem o
sistema operacional têm que se preocupar com ela.
A memória
cache opera em função de um princípio estatístico comprovado: em geral,
os programas tendem a referenciar várias vezes pequenos trechos de programas,
como loops, sub-rotinas, funções e só tem sentido porque programas
executados linearmente, seqüencialmente, são raros. Desta forma, algoritmos
(chamados algoritmos de cache) podem controlar qual parte do código ficará
copiado na cache, a cada momento.
Quando a MP busca um
determinado trecho de código e o encontra na cache, dá-se um "cache
hit" , enquanto se o dado não estiver presente na cache será necessário
requisitar o mesmo à MP, acarretando atraso no processamento e dá-se um "cache
miss" ou "cache fault". O índice de cache hit ou taxa de acerto da
cache é geralmente acima de 90%.
Memórias cache também
são VOLÁTEIS, isto é, dependem de estar energizadas para manter gravado seu
conteúdo.
MEMÓRIAS AUXILIARES
Memórias auxiliares resolvem problemas de armazenamento de
grandes quantidades de informações. A capacidade da MP é limitada pelo seu
relativamente alto custo, enquanto as memórias auxiliares tem maior capacidade e
menor custo; portanto, o custo por bit armazenado é muito menor.
Outra
vantagem importante é que as memórias auxiliares não são VOLÁTEIS, isto é, não
dependem de estar energizadas para manter gravado seu conteúdo.
Os
principais dispositivos de memória auxiliar são: discos rígidos (ou HD), drives
de disquete, unidades de fita, CD-ROM, DVD, unidades ótico-magnéticas,
etc.
OBS.: Cache de
disco não é a mesma tecnologia da memória cache. Trata-se do
emprego do mesmo conceito da memória cache, para
acelerar a transferência de dados entre disco, MP e UCP, usando um programa (um
software, por ex.: SmartDrive) para manter um espelho do
conteúdo de parte do disco (a mais provável de ser requisitada a seguir pela
UCP) gravado em uma parte da Memória Principal. Recentemente, as unidades de
disco passaram a incorpor em sua interface chips de memória -
tipicamente 32 a 64 Kbytes - para acelerar a transferência de dados, utilizando
um algoritmo de cache.
