memória - ufsmcoral.ufsm.br/tiago/introcomp/aula 3 - memoria.pdf · capacidade ! expresso em bytes...

31
Memória Prof. Tiago Bandeira Marchesan

Upload: others

Post on 27-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

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).