Memória
Prof. Tiago Bandeira Marchesan
Introdução
—  Organizada de uma forma hierárquica;
—  Necessidade: Custo/bit menor;
—  Cache em vários níveis: L1, L2,…
—  A cache retém automaticamente uma cópia de
algumas palavras usadas recentemente.
Características dos Sistemas de Memória do
Computador
Localização
—  Externa
—  Interna
—  CPU
Capacidade
—  Expresso em bytes ( 8 bits) ou palavras
—  Palavra é a unidade “natural”de organização de
memória. O tamanho da palavra normalmente é
igual ao número de bits usados para representar
um inteiro e ao tamanho da instrução.
Unidade de Transferência
—  Interna: Nomalmente
regulada pela largura do
barramento;
—  Externa: Nomalmente um
bloco (unidade muito
maior que uma palavra) –
fator localidade;
—  Unidade endereçável:
Menor local que pode ser
endereçado
exclusivamente.
Métodos de Acesso
—  Acesso Sequêncial: Tempo de acesso depende da
localização dos dados e local anterior. Ex. Fita
Magnética
—  Acesso Direto: Blocos Individuais possuem
endereço exclusivo. Salto para a vizinhança mais
busca sequêncial. Ex. Disco rígido
—  Acesso Aleatório: Tempo de acesso independe da
localização ou acesso anterior. Ex. RAM
—  Acesso Associativo: Realizado por comparação
com uma parte do conteúdo necessário. Ex. Cache
Desempenho
—  Tempo de Acesso, Ciclo de Memória, Taxa de
Transferência.
Outras Características
—  Tipo Físico: Semicondutor, Magnético ou Óptico;
—  Características Físicas: Volátil / Não Volátil e
Apagável/ Não Apagável;
—  Organização: Módulos de Memória, Arranjo Físico
dos Bits em Palavras.
Memória Cache
Estrutura da Cache e da Memória Principal
Operação de Leitura na Cache
Processadores Modernos
Memória Cache
Mapeamento da Cache
—  Direta
—  Associativa
—  Associativa em Conjunto (set associative)
Mapeamento Direto
Mapeamento Associativo
Mapeamento Direto
Mapeamento Direto
Exemplo
Mapeamento
Direto
Mapeamento Direto
A técnica de mapeamento direto é simples e pouco
dispendiosa. Sua principal desvantagem é que existe
um local de cache fixo para cada bloco. Assim, se um
programa referenciar palavras repetidamente de dois
blocos diferentes, mapeados para a mesma linha a
taxa de acerto será baixa – fenômeno conhecido
como thrashing.
Mapeamento Associativo
Mapeamento Direto
Comparação com Mapeamento Associativo
Mapeamento Associativo
—  Flexibilidade em relação a susbstituição de blocos
na cache;
—  Emprego de algoritmos de sbstituição;
—  DESVANTAGEM: Complexidade do circuito
necessário para comparar as tags.
Mapeamento Associativo em
Conjunto (Set Associative)
—  Realça pontos fortes da técnica direta e
associativa;
—  Existem duas formas de se fazer esse
mapeamento.
Cache Mapeada de forma
Associativa
Cache Mapeada de forma Direta
Associativa por Conjunto
Exercício 1
—  Uma Cache associativa em conjunto consiste de 64
linhas, dividida em conjuntos de 4 linhas. A
memória principal contém 4 k blocos de 128
palavras cada. Mostre o formato dos endereços da
memória principal.
Exercício 2
—  Uma cache associativa em conjunto com duas
linhas por conjunto possui linhas de 16 bytes e um
tamanho total de 8 kbytes (8.192 bytes). A
memória principal de 64 Mbytes ( é endereçavel
por byte. Mostre o formato dos endereços da
memória principal.
Exercício 3
—  Para os endereços hexadecimais da memória
principal, mostre as seguintes informações em
formato hexadecimal:
a) Tag (8 bits), linha (14 bits) e palavra (2 bits) para
mapeamento direto.
b) Tag (22 bits) e palavra (2 bits) para cache
associativa.
c) Tag (9 bits), conjunto (13 bits) e palavra (2 bits)
para uma cache associativa em conjunto com duas
vias (cada cache mapeada diretamente é uma via).
Download

Aula 3 - Memoria