17
Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Embed Size (px)

Citation preview

Page 1: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Livro

Introdução à Organização de Computadores

Capítulos:

4 – Memória Principal

5 – Memória Cache

9 – Memoria Secundária

Page 2: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Memória Cache – Comparação

DRAM SRAM

Fonte: Fonte:

http://users.ece.gatech.edu/~sudha/academic/ http://www.1-core.com/library/digital/fpga-architecture/

class/ece2030/Lectures/memory/index.html

Page 3: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Diferenças de velocidade

No caso de armazenamento secundário, esse tempo aumenta para a casa de ms.

Como resolver esse problema?

Processador~.5ns a 2ns

Memória principal

Transferência: ~100ns

Page 4: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Memória Cache – Princípio de localidade

• Em um programa as instruções são ordenadas sequencialmente;

• Em execução, a CPU busca as instruções sequencialmente.

Page 5: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

.

Processador~.5ns a 2ns

Memória principal

Transferência: ~100ns

Memória cache

Transferência: ~1ns

Page 6: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Processo:• CPU envia pedido de dados pelo barramento

de endereços;• Controle de cache intercepta o pedido e

interpreta a informação;• Se a informação estiver disponível, já a

devolve (acerto ou hit);• Do contrário envia o pedido à memória

principal (falha ou miss);• No caso de falha, para aproveitar o princípio

de localidade, o controle de cache já solicita mais dados da memória;

Page 7: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

.

Page 8: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Elementos de projeto de cache• Mapeamento• Algoritmos de substituição• Política de escrita• Níveis de cache• Tamanho do cache• Largura de linha do cache

Page 9: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Mapeamento

direto

Page 10: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Mapeamento direto - endereços

Tag ByteLinha

5 bits

Byte 00000

Byte 00001

Byte 00010

Byte 00011

Byte 11100

Byte 11101

Byte 11110

Byte 11111

.......

Bloco 0000

Bloco 0001

Bloco 1110

Bloco 1111

Byte 1 Byte 2Tag

Byte 1 Byte 2Tag

Byte 1 Byte 2Tag

Byte 1 Byte 2Tag

Cache Memória principal

Page 11: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Mapeamento direto – endereços• Exemplo (32 bytes MP, 8 bytes

cache, linhas de 2 bytes): Tag 2 bits, linha 2 bits, byte 1 bit;

• Arquitetura x86 (4GB MP, 64KB cache, linhas de 64 bytes): Tag 16 bits, linha 10 bits, byte 6 bits.

Page 12: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Mapeamento associativo - endereços

Tag Byte

5 bits

Byte 00000

Byte 00001

Byte 00010

Byte 00011

Byte 11100

Byte 11101

Byte 11110

Byte 11111

.......

Bloco 0000

Bloco 0001

Bloco 1110

Bloco 1111

Byte 1 Byte 2Tag

Byte 1 Byte 2Tag

Byte 1 Byte 2Tag

Byte 1 Byte 2Tag

Cache Memória principal

Page 13: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Mapeamento

Associativo por

conjuntos

Page 14: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Algoritmos de substituição• LRU (Least recently used)• FIFO (First in-first out)• LFU (Least frequently used)• Aleatório

Page 15: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Política de escrita no cache• Escrita em ambas (write through);• Escrita somente no retorno (write

back);• Escrita uma vez (write once).

Page 16: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Níveis de cache• Variável atualmente de 1 a 3. 3

níveis é comum hoje em dia com múltiplos processadores;

• Pode ser dividido para dados e instruções, ou então unificado;

Page 17: Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária

Subsistemas de memória

Tamanho de memória cache• Tamanho depende de equilíbrio

entre tamanho da MP, relação acerto/faltas, tempo de acesso da MP e das memórias cache, custo por bit das memórias e natureza dos programas executados