hierarquia de memória

22
Arquitetura de Computadores Professor: Sérgio Vieira Email: [email protected] Data: 30-10-2012 Aula: Hierarquia de Memória 1

Upload: paulo-moreira

Post on 09-Jun-2015

3.484 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hierarquia de memória

Arquitetura de ComputadoresProfessor: Sérgio Vieira

Email: [email protected]: 30-10-2012Aula: Hierarquia de Memória

1

Page 2: Hierarquia de memória

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

Page 3: Hierarquia de memória

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

Page 4: Hierarquia de memória

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

Page 5: Hierarquia de memória

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

Page 6: Hierarquia de memória

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

Page 7: Hierarquia de memória

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

Page 8: Hierarquia de memória

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

Page 9: Hierarquia de memória

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

Page 10: Hierarquia de memória

A Hierarquia de Memória (cont.)Tecnologias de Fabricação de Memórias

SRAM

DRAM

Magnética

Custo

+

+

+Capacidade

Velocidade

10

Page 11: Hierarquia de memória

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

Page 12: Hierarquia de memória

A Hierarquia de Memória (cont.)Microprocessador:

• Caches integradas (L1, L2, L3...)

• Banco de registradores (32 a 128, tipicamente)

12

Page 13: Hierarquia de memória

13

Page 14: Hierarquia de memória

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

Page 15: Hierarquia de memória

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

Page 16: Hierarquia de memória

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

Page 17: Hierarquia de memória

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

Page 18: Hierarquia de memória

Informação*XXXXX000XXXXX001XXXXX010XXXXX011XXXXX100XXXXX101XXXXX110XXXXX111

* informação = instrução ou dado

18

Page 19: Hierarquia de memória

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

Page 20: Hierarquia de memória

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

Page 21: Hierarquia de memória

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

Page 22: Hierarquia de memória

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