Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 –...

Preview:

Citation preview

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

Recommended