subsistemas de memória livro introdução à organização de computadores capítulos: 4 –...
Post on 18-Apr-2015
152 Views
Preview:
TRANSCRIPT
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
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
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.
Subsistemas de memória
.
Processador~.5ns a 2ns
Memória principal
Transferência: ~100ns
Memória cache
Transferência: ~1ns
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;
Subsistemas de memó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
Subsistemas de memória
Mapeamento
direto
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
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.
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
Subsistemas de memória
Mapeamento
Associativo por
conjuntos
Subsistemas de memória
Algoritmos de substituição• LRU (Least recently used)• FIFO (First in-first out)• LFU (Least frequently used)• Aleatório
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).
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;
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
top related