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