1. Arquitetura de Computadores
Professor: Sérgio Vieira
Email: sergiosvieira.fatene@gmail.com
Data: 30-10-2012
Aula: Hierarquia de Memória
1
2. A Hierarquia de Memória
• Os programas gastam a maior parte do tempo acessando a memória
• Programadores gostariam de ter ao ser dispor quantidade ilimitada de
memória com acesso instantâneo
• O projeto do sistema de memória segue alguns princípios os quais tentam
dar a ilusão ao programador de que ele dispõe de uma grande quantidade
de memória com tempo de acesso pequeno
2
3. A Hierarquia de Memória (cont.)
• Ao estudar uma determinada matéria, você não precisa acessar todos os
seus livros/cadernos.
• Portanto, basta deixar sobre sua mesa os livros que estão sendo usados
para o estudo. Os demais livros podem ficar nos seus lugares, nas
prateleiras...
• Talvez sua mesa não pudesse acomodar todos os seus livros/cadernos
• E caso pudesse, o tempo para encontrar a matéria em um livro seria
demasiado grande, dificultando o estudo
3
4. A Hierarquia de Memória (cont.)
As restrições de projeto de uma memória podem ser resumidas em três
questões:
1. Capacidade
2. Velocidade: para obter melhor desempenho, a velocidade da memória deve
ser compatível com a do processador.
3. Custo: para que um sistema seja economicamente viável, o custo da memória
deve ser compatível com o dos demais componentes.
4
5. Hierarquia de memória (cont.)
O uso de uma hierarquia de memórias, em vez de um único componente ou
tecnologia de memória, em um projeto de computadores é usado como saída
para o dilema:
"É desejável usar uma tecnologia de memória capaz de fornecer uma grande
capacidade de armazenamento de dados (custo por bit é mais baixo). Entretanto,
para obter um desempenho melhor, o projetista precisa utilizar memórias caras,
que apresentam tempo de acesso menor, mas com capacidade relativamente
baixa."
5
6. A Hierarquia de Memória (cont.)
• Localidade Temporal: "se um item é referenciado, ele tende a ser
referenciado novamente dentro de um espaço curto de tempo."
• A maioria dos programas contém laços (instruções e dados do laço
tendem a ser acessados de maneira repetitiva).
• Localidade Espacial: "se um item é referenciado, itens cujos endereços
sejam próximos dele tendem a ser logo referenciados."
• Nos programas, as instruções estão armazenadas na memória de
maneira seqüencial; os itens de matrizes e de registros também se
encontram armazenados de maneira seqüencial.
6
7. Hierarquia de memória (cont.)
A medida que descemos em uma hierarquia de memórias, as relações abaixo
são válidas:
1. O custo por bit diminui
2. A capacidade aumenta
3. O tempo de acesso aumenta
4. A frequência de acesso à memória pelo processador diminui
Assim memórias mais caras, menores e mais rápidas são combinadas com
memórias maiores, mais baratas e mais lentas.
7
8. A Hierarquia de Memória (cont.)
SRAM (Static Random Access Memory) é um tipo de memória de acesso
aleatório que mantém os dados armazenados desde que seja mantida sua
alimentação, não precisando que as células que armazenam os bits sejam
atualizadas de tempo em tempo), como é o caso das memórias DRAM.
Embora sejam mais caras e ocupem menos espaço, quando comparadas às
DRAM, possuem a vantagem de serem bem mais rápidas, justificando seu uso
nas memórias cache L1 e L2. Além disso, as memórias estáticas consomem
mais energia e aquecem mais que as DRAM.
8
9. A Hierarquia de Memória (cont.)
DRAM é um tipo de memória RAM de acesso direto que armazena cada bit de
dados num condensador ou Capacitor. O número de elétrons armazenados no
condensador determina se o bit é considerado 1 ou 0. Como vai havendo fuga de
elétrons do condensador, a informação acaba por se perder, a não ser que a
carga seja atualizada periodicamente.
Embora esse fenômeno da perda de carga não ocorra nas memórias RAM
estáticas (SRAM), as DRAM possuem a vantagem de terem custo muito menor e
densidade de bits muito maior, possibilitando em um mesmo espaço armazenar
muito mais bits.
9
10. A Hierarquia de Memória (cont.)
Tecnologias de Fabricação de Memórias
SRAM + +
Capacidade
DRAM
Custo Velocidade
Magnética +
10
11. A Hierarquia de Memória (cont.)
Tecnologia Usada Tempo de Acesso Custo por Mbyte em
1997
SRAM 5-25ns $100 a $250
DRAM 60-120ns $5 a $10
Disco Magnético 10-20 milhões de ns $0,10 a $0,20
11
12. A Hierarquia de Memória (cont.)
Microprocessador:
• Caches integradas (L1, L2, L3...)
• Banco de registradores (32 a 128, tipicamente)
12
14. A Hierarquia de Memória (cont.)
Objetivo do sistema hierárquico de memória é apresentar ao usuário uma
capacidade de memória próxima à disponibilizada pela tecnologia mais barata, e
um tempo de acesso próximo ao permitido pela tecnologia mais cara.
14
15. A Hierarquia de Memória (cont.)
Microprocessador:
• Caches integrados que
Obs: à medida processador
a tecnologia
avança, outros
níveis regs
intermediários
tempo de
podem existir cache L1
acesso
cresce
cache L2
principal
secundária
capacidade
15
16. Definições
• A princípio, uma hierarquia de memória pode ter qualquer número de níveis
• Entretanto, os dados sempre serão copiados entre dois níveis adjacentes (i
e i+1, onde i está mais próximo do processador)
• Podemos concentrar nossa atenção em dois níveis quaisquer i e i+1: i, que
chamaremos de superior (mais próximo do processador) e i+1, que
chamaremos de inferior
16
17. Definições (cont.)
• Bloco: unidade mínima de informação, contendo um certo número de
palavras de memória.
• Exemplo, com 8 palavras (de memória)
17
19. Definições (cont.)
• Se a informação solicitada pelo processador estiver presente no nível
superior da hierarquia, ocorre um acerto (hit)
• Se a informação solicitada pelo processador não puder ser encontrada no
nível superior, a tentativa de encotrá-la gera uma falta (fault)
• Quando ocorre uma falta, o nível imediatamente inferior é acessado, na
tentativa de se recuperar o bloco com a informação solicitada pelo
processador
19
20. Definições (cont.)
• Se um bloco está presente no nível i, então ele também está presente no
nível i+1
processador
Cache L1 Nível 1
Cache L2 Nível 2
Memória
principal
Nível 3
20
21. Definições (cont.)
• A taxa de acertos ou razão de acertos (hit ratio) corresponde à fração dos
acessos à memória encontrados no nível superior (com freqüência, é usada
como medida de desempenho do sistema de memória)
• A taxa de faltas (= 1- taxa de acertos) é a fração de acessos à memória não
encontrados no nível superior
21
22. Definições (cont.)
• Tempo de acerto (hit time) é o tempo necessário para acessar o nível
superior da hierarquia, que inclui o tempo necessário para determinar se a
tentativa de acesso à informação vai gerar um acerto ou uma falta
• A penalidade por falta (fault penalty) é o tempo necessário para substituir um
dos blocos do nível superior pelo bloco do nível inferior que contém a
informação desejada, mais o tempo para enviar a informação ao
processador
22