Ivair José de Souza

Hierarquia de memória


Hierarquia de Memória

Memória Localização É Volátil? Velocidade Capacidade de armazenamento Custo por bit
Registrador Processador sim muito alta (opera na veloc do processador) Muito baixa (Bytes) muito alto
 Cache L1 Processador  sim alta (opera na veloc. do processador) Baixa (KB) alto
Principal Placa-mãe sim depende do tipo de memória instalada. Média (MB) médio (tem caído muito)
Auxiliar HD, CDs, etc Não  baixa (lenta) alta (GB) baixo (tem caído muito)

A memória principal, nos PCs 386 e 486, tinha um tempo de acesso de 70 ns (em  média) para módulos de memória SIMM-30 e SIMM-72. O tempo de acesso caiu para menos de10 ns  nos PCs PENTIUM (módulos DIMM-168) e já está em 1ns ( módulos DDR2). Lembrando que 1 ns corresponde a uma freqüência de trabalho de 1000MHz ou 1GHz. Uma memória DDR2 para 800MHz,  tem um tempo de acesso de 1,25 ns. Considerando os avanços atuais, pode-se  dizer que a memória principal tem uma velocidade tendendo a variar de média para alta.

Outro fator a considerar para a memória principal é a evolução da capacidade de armazenamento. Para os módulos SIMM-72 eram comuns os módulos de  8MB e16MB sendo que atualmente são comuns os módulos de memória DIMM-168, DDR e DDR2, com capacidade de 256MB, 512MB e já ultrapassam 1GB.


 

Um sistema de memória bem projetado apresenta ao usuário uma memória de alta capacidade de armazenamento aliada a um tempo de acesso muito baixo. Temos, então, uma memória de alta capacidade e alta velocidade a um custo reduzido

Para que o sistema seja eficiente é necessário ter uma alta taxa de acerto isto é, o dado a ser utilizado pelo processador, deve estar disponível na cache. Caso haja falta (erro), isto é, o dado não se encontra na cache tem-se uma penalidade. Esta penalidade será tanto maior quanto mais distante estiver o dado solicitado pelo processador. O tempo de busca do dado aumentará se o dado estiver nos níveis mais baixos da hierarquia de memória.

Este é o princípio da localidade que é descrita em dois tipos:
Localidade temporal: Um determinado bloco ou dado pode ser utilizado várias vezes num curto espaço de tempo como por exemplo, a execução de um loop no programa. Neste caso, o dado solicitado está na cache.

Localidade espacial: Blocos ou dados adjacentes aos que estão sendo processados tendem a ser, também,  acessados. Assim que os endereços das informações solicitadas vão sendo referenciados os endereços adjacentes (próximos) aos endereços dessas informações poderão ser mais facilmente acessados. 


 

 

Descrição das partes na hierarquia de memória 

 

Registradores ou memória de rascunho

  • Memória de pequena capacidade (capacidade de Bytes)  localizada no processador e sendo também denominada de memória de armazenamento temporário.
  • Armazena informações relativas à interpretação da instrução de linguagem de máquina corrente.
  • Em máquinas microprogramadas, é o espaço de endereçamento acessível às microinstruções.
  • Memória muito rápida e também muito cara.
  • A freqüência de acesso é muito alta. (trabalha junto do processador).
  • Memória acessada a cada ciclo de máquina

 

Memória Cache

A memória cache é uma pequena quantidade de memória de alta velocidade e alto custo que acelera o desempenho de uma grande quantidade de memória DRAM (mais lenta).

 


 

Memória Principal  (Memória RAM do PC):
  • Memória que armazena os dados e programas em linguagem de máquina em execução corrente.
  • Tem um custo relativamente baixo.
  • Tempo de acesso da ordem de nanossegundos a dezenas de nanossegundos. (1 ns é um bilionésimo de segundo).         1ns = 1.10-9 s
  • A freqüência de acesso é alta. Se não fosse a memória cache, o acesso ocorreria cada ciclo de busca-decodificação-execução (Sem a memória cache, seria acessada a cada ciclo de máquina).

 

Memória Secundária ou memória de massa
  • Memória de grande capacidade (ordem de GBytes)

  • Implementada em meio magnético (HDs, fitas magnéticas, zip drive), ótico(CD-ROM, DVD-ROM), Pen Drive, etc

  • Armazena programas e dados que não estão sendo processados no momento, mas que poderão ser utilizados

  • A freqüência de acesso é baixa e será menor ainda se não for utilizado o recurso de memória virtual

  • Memória lenta e de baixo custo. Tempo de acesso da ordem de milissegundos. (1ms = 1.10-3 s)

  • Pode ser utilizada para emular memória principal (RAM), aumentando o espaço de endereçamento disponível através de técnicas de memória virtual. Neste caso, é simulada memória RAM num arquivo de troca no HD.
    Deve ser lembrado que nesta situação o desempenho do sistema fica comprometido visto que o acesso ao disco rígido é bem mais lento do que o acesso à memória principal. Evite esta situação instalando mais memória RAM (principal) no PC.


 

Abaixo, dados de alguns módulos de memórias fabricados pela Kinsgston  e Extraídos do site:   http://www.kingston.com/brasil/
Código  Descrição
KVR400D2N3/2G 2GB          400MHz  (PC2-3200) DDR2  Non-ECC CL3  DIMM
KVR533D2E4/2G 2GB          533MHz  (PC2- 4200)   DDR2   ECC CL4  DIMM
KVR133X64C3/512 512MB     133MHz  DIMM (SDRAM, 3.3V, CL3 ) 168-pin  Non-ECC CL3   Unbuffered  
Twin2X1024-8000UL DDR2-1000 (XM2S-8000UL) -----  (DDR2  SDRAM    1GB (2x512KB)   1000MHz   latência de 5-4-4-9    240pinos)

DDR2 PC2 6400 (abaixo)

KHX6400D2/256 256MB   800MHz   DDR2   Non-ECC  CL5   (5-5-5-15)   DIMM
KHX6400D2/512 512MB   800MHz   DDR2   Non-ECC  CL5   (5-5-5-15)    DIMM
KHX6400D2/1G 1GB        800MHz   DDR2   Non-ECC  CL5   (5-5-5-15)    DIMM
KHX6400D2/2G 2GB        800MHz   DDR2   Non-ECC  CL5   (5-5-5-15)    DIMM
KHX7200D2/1G 1GB        900MHz   DDR2   Non-ECC  CL5   (5-5-5-15)    DIMM
SITE de outro fabricante de memórias:   http://www.corsair.com