Arquitetura de ComputadoresProfessor: Sérgio Vieira
Email: [email protected]: 30-10-2012Aula: Hierarquia de Memória
1
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 dememória com acesso instantâneo
• O projeto do sistema de memória segue alguns princípios os quais tentamdar a ilusão ao programador de que ele dispõe de uma grande quantidadede memória com tempo de acesso pequeno
2
A Hierarquia de Memória (cont.)
• Ao estudar uma determinada matéria, você não precisa acessar todos osseus livros/cadernos.
• Portanto, basta deixar sobre sua mesa os livros que estão sendo usadospara o estudo. Os demais livros podem ficar nos seus lugares, nasprateleiras...
• 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 seriademasiado grande, dificultando o estudo
3
A Hierarquia de Memória (cont.)As restrições de projeto de uma memória podem ser resumidas em trêsquestões:
1. Capacidade2. Velocidade: para obter melhor desempenho, a velocidade da memória deveser compatível com a do processador.
3. Custo: para que um sistema seja economicamente viável, o custo da memóriadeve ser compatível com o dos demais componentes.
4
Hierarquia de memória (cont.)O uso de uma hierarquia de memórias, em vez de um único componente outecnologia de memória, em um projeto de computadores é usado como saídapara o dilema:
"É desejável usar uma tecnologia de memória capaz de fornecer uma grandecapacidade 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 relativamentebaixa."
5
A Hierarquia de Memória (cont.)
• Localidade Temporal: "se um item é referenciado, ele tende a serreferenciado novamente dentro de um espaço curto de tempo."
• A maioria dos programas contém laços (instruções e dados do laçotendem a ser acessados de maneira repetitiva).
• Localidade Espacial: "se um item é referenciado, itens cujos endereçossejam próximos dele tendem a ser logo referenciados."
• Nos programas, as instruções estão armazenadas na memória demaneira seqüencial; os itens de matrizes e de registros também seencontram armazenados de maneira seqüencial.
6
Hierarquia de memória (cont.)A medida que descemos em uma hierarquia de memórias, as relações abaixosã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 diminuiAssim memórias mais caras, menores e mais rápidas são combinadas commemórias maiores, mais baratas e mais lentas.
7
A Hierarquia de Memória (cont.)SRAM (Static Random Access Memory) é um tipo de memória de acessoaleatório que mantém os dados armazenados desde que seja mantida suaalimentação, não precisando que as células que armazenam os bits sejamatualizadas de tempo em tempo), como é o caso das memórias DRAM.
Embora sejam mais caras e ocupem menos espaço, quando comparadas àsDRAM, possuem a vantagem de serem bem mais rápidas, justificando seu usonas memórias cache L1 e L2. Além disso, as memórias estáticas consomemmais energia e aquecem mais que as DRAM.
8
A Hierarquia de Memória (cont.)DRAM é um tipo de memória RAM de acesso direto que armazena cada bit dedados num condensador ou Capacitor. O número de elétrons armazenados nocondensador determina se o bit é considerado 1 ou 0. Como vai havendo fuga deelétrons do condensador, a informação acaba por se perder, a não ser que acarga seja atualizada periodicamente.
Embora esse fenômeno da perda de carga não ocorra nas memórias RAMestáticas (SRAM), as DRAM possuem a vantagem de terem custo muito menor edensidade de bits muito maior, possibilitando em um mesmo espaço armazenarmuito mais bits.
9
A Hierarquia de Memória (cont.)Tecnologias de Fabricação de Memórias
SRAM
DRAM
Magnética
Custo
+
+
+Capacidade
Velocidade
10
A Hierarquia de Memória (cont.)
Tecnologia Usada Tempo de Acesso Custo por Mbyte em1997
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
A Hierarquia de Memória (cont.)Microprocessador:
• Caches integradas (L1, L2, L3...)
• Banco de registradores (32 a 128, tipicamente)
12
13
A Hierarquia de Memória (cont.)Objetivo do sistema hierárquico de memória é apresentar ao usuário umacapacidade de memória próxima à disponibilizada pela tecnologia mais barata, eum tempo de acesso próximo ao permitido pela tecnologia mais cara.
14
A Hierarquia de Memória (cont.)Microprocessador:
• Caches integrados
regs
processador
cache L1
cache L2
principal
secundária
capacidade
tempo deacessocresce
Obs: à medida quea tecnologiaavança, outrosníveisintermediáriospodemexistir
15
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 (ie 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, quechamaremos de superior (mais próximo do processador) e i+1, quechamaremos de inferior
16
Definições (cont.)
• Bloco: unidade mínima de informação, contendo um certo número depalavras de memória.
• Exemplo, com 8 palavras (de memória)
17
Informação*XXXXX000XXXXX001XXXXX010XXXXX011XXXXX100XXXXX101XXXXX110XXXXX111
* informação = instrução ou dado
18
Definições (cont.)
• Se a informação solicitada pelo processador estiver presente no nívelsuperior da hierarquia, ocorre um acerto (hit)
• Se a informação solicitada pelo processador não puder ser encontrada nonível superior, a tentativa de encotrá-la gera uma falta (fault)
• Quando ocorre uma falta, o nível imediatamente inferior é acessado, natentativa de se recuperar o bloco com a informação solicitada peloprocessador
19
Definições (cont.)
• Se um bloco está presente no nível i, então ele também está presente nonível i+1
processador
Cache L2
Memóriaprincipal
Cache L1 Nível 1
Nível 2
Nível 3
20
Definições (cont.)
• A taxa de acertos ou razão de acertos (hit ratio) corresponde à fração dosacessos à memória encontrados no nível superior (com freqüência, é usadacomo medida de desempenho do sistema de memória)
• A taxa de faltas (= 1- taxa de acertos) é a fração de acessos à memória nãoencontrados no nível superior
21
Definições (cont.)
• Tempo de acerto (hit time) é o tempo necessário para acessar o nívelsuperior da hierarquia, que inclui o tempo necessário para determinar se atentativa de acesso à informação vai gerar um acerto ou uma falta
• A penalidade por falta (fault penalty) é o tempo necessário para substituir umdos blocos do nível superior pelo bloco do nível inferior que contém ainformação desejada, mais o tempo para enviar a informação aoprocessador
22