Baixe o app para aproveitar ainda mais
Prévia do material em texto
Professores: Ivanildo Melo e Rosangela Melo ivanildo.melo@paulista.ifpe.edu.br rosangela.melo@paulista.ifpe.edu.br Arquitetura de Computadores Aula 10 – Memória Principal e Secundária: Características, Organização, Arquitetura, Hierarquia e Memória Cache. [Quarta Parte] * O conteúdo deste material é também utilizado no conteúdo da disciplina de Montagem e Manutenção de Computadores Sobre este Material 2 O material dessa aula segue o conteúdo literal e em alguns pontos adaptado das seguintes fontes: • MONTEIRO, Mario A. Introdução a Organização de Computadores. 5ª ed. Rio de Janeiro: LTC, 2007. • BARBOSA, Luiz Sérgio de O. Arquitetura e Organização de Computadores. (Apostila) PROINOVALAB- Amazonas. Universidade do Estado do Amazonas (UEA) • TANENBAUM, Andrew S. Organização Estruturada de Computadores. 5ª ed. São Paulo: Pearson Prentice Hall, 2010. • STALLINGS, William. Arquitetura e Organização de Computadores. 8ª ed. São Paulo: Pearson Prentice Hall, 2010. • Tiago Bandeira Marchesan – Memória – Disponível em:<http://coral.ufsm.br/tiago/introcomp/Aula%203%20-%20Memoria.pdf>. • TI Network. Organização de computadores - Aula 9 – Memória – Disponível em: <https://youtu.be/D39L13a7yPg>. • OLIVEIRA, Helder - Mapeamento Associativo e Associativo por Conjunto - Memória Cache Memória Cache - Cont. 3 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. Memória Cache - Cont. 4 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. 2. Introduz o conceito de Conjunto ou SET. POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA Memória Cache - Cont. 5 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. 2. Introduz o conceito de Conjunto ou SET. 3. A linhas de endereço da memória cache são agrupadas formando Conjunto ou SET. POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA Memória Cache - Cont. 6 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. 2. Introduz o conceito de Conjunto ou SET. 3. A linhas de endereço da memória cache são agrupadas formando Conjunto ou SET. POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 Memória Cache - Cont. 7 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. 2. Introduz o conceito de Conjunto ou SET. 3. A linhas de endereço da memória cache são agrupadas formando Conjunto ou SET. POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Memória Cache - Cont. 8 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. 2. Introduz o conceito de Conjunto ou SET. 3. A linhas de endereço da memória cache são agrupadas formando Conjunto ou SET. 4. O mapeamento utiliza função de mapeamento direto (Função Módulo) para o mapeamento do conjunto. Associando o bloco da MP com o conjunto ou SET definido na memória cache. POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Memória Cache - Cont. 9 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. 2. Introduz o conceito de Conjunto ou SET. 3. A linhas de endereço da memória cache são agrupadas formando Conjunto ou SET. 4. O mapeamento utiliza função de mapeamento direto (Função Módulo) para o mapeamento do conjunto. Associando o bloco da MP com o conjunto ou SET definido na memória cache. POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto Memória Cache - Cont. 10 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. 2. Introduz o conceito de Conjunto ou SET. 3. A linhas de endereço da memória cache são agrupadas formando Conjunto ou SET. 4. O mapeamento utiliza função de mapeamento direto (Função Módulo) para o mapeamento do conjunto. Associando o bloco da MP com o conjunto ou SET definido na memória cache. POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 02 Conjuntos O tipo do mapeamento associativo por conjunto é denominado para este caso de 2 WAY SET ASSOCIATIVE MAP. Caso tivéssemos 4 conjuntos formados na memória cache seria 4 WAY SET ASSOCIATIVE MAP. Memória Cache - Cont. 11 • Mapeamento Associativo por Conjunto 1. Método utiliza o conceito do mapeamento direto e associativo no processo. 2. Introduz o conceito de Conjunto ou SET. 3. A linhas de endereço da memória cache são agrupadas formando Conjunto ou SET. 4. O mapeamento utiliza função de mapeamento direto (Função Módulo) para o mapeamento do conjunto. Associando o bloco da MP com o conjunto ou SET definido na memória cache. POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Memória Cache - Cont. 12 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Memória Cache - Cont. 13 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Memória Cache - Cont. 14 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Memória Cache - Cont. 15 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Memória Cache - Cont. 16 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Memória Cache - Cont. 17 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Memória Cache - Cont. 18 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Memória Cache - Cont. 19 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numerodo conjunto 02 Conjuntos Memória Cache - Cont. 20 • Mapeamento Associativo por Conjunto POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA POSIÇÃO VAGA SET 0 ou Conjunto 0 SET 1 ou Conjunto 1 Para realizar o mapeamento, pega-se “o resto” da divisão do número do bloco da Memória Principal dividido pelo numero do conjunto 02 Conjuntos Diferentemente do Mapeamento Direto em que usamos a linha do endereço da memória cache, o Mapeamento Associado por Conjunto é feito pelo SET ou Conjunto Memória Cache - Cont. 21 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? • É necessário percorrer os endereços e identificar o bloco correspondente • É necessário 5 bits (25 = 32) para percorrer todos os endereços da memória. • Para percorrer os blocos é necessário 4 bits (24 = 16) Bit WORD ou PALAVRA Para o exemplo significa dizer que se esse bit for igual 0 a primeira palavra do bloco está sendo acessada, Se for igual a 1 significa dizer que a segunda palavra está sendo acessada. 5 bits Corresponderá a TAG ou Rótulo a ser comparada no processo de mapeamento. 4 bits – Block Number SET 0 SET 1 Memória Cache - Cont. 22 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? • É necessário percorrer os endereços e identificar o bloco correspondente • É necessário 5 bits (25 = 32) para percorrer todos os endereços da memória. • Para percorrer os blocos é necessário 4 bits (24 = 16) Bit WORD ou PALAVRA Para o exemplo significa dizer que se esse bit for igual 0 a primeira palavra do bloco está sendo acessada, Se for igual a 1 significa dizer que a segunda palavra está sendo acessada. 5 bits Corresponderá a TAG ou Rótulo a ser comparada no processo de mapeamento. 4 bits – Block Number SET 0 SET 1 1 bit Bit destinado para especificar o conjunto ou SET. Para o exemplo, como temos 2 Conjuntos ou SET, precisaremos de 1 bit para percorrer os Conjuntos existentes. Memória Cache - Cont. 23 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? • É necessário percorrer os endereços e identificar o bloco correspondente • É necessário 5 bits (25 = 32) para percorrer todos os endereços da memória. • Para percorrer os blocos é necessário 4 bits (24 = 16) Bit WORD ou PALAVRA Para o exemplo significa dizer que se esse bit for igual 0 a primeira palavra do bloco está sendo acessada, Se for igual a 1 significa dizer que a segunda palavra está sendo acessada. 5 bits Corresponderá a TAG ou Rótulo a ser comparada no processo de mapeamento. 4 bits – Block Number TAG ou Rótulo SET 0 SET 1 Bit destinado para especificar o conjunto ou SET. Para o exemplo, como temos 2 Conjuntos ou SET, precisaremos de 1 bit para percorrer os Conjuntos existentes. 3 bits 1 bit Memória Cache - Cont. 24 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? • É necessário percorrer os endereços e identificar o bloco correspondente • É necessário 5 bits (25 = 32) para percorrer todos os endereços da memória. • Para percorrer os blocos é necessário 4 bits (24 = 16) Bit WORD ou PALAVRA Para o exemplo significa dizer que se esse bit for igual 0 a primeira palavra do bloco está sendo acessada, Se for igual a 1 significa dizer que a segunda palavra está sendo acessada. 5 bits Corresponderá a TAG ou Rótulo a ser comparada no processo de mapeamento. 4 bits – Block Number TAG ou Rótulo SET 0 SET 1 Bit destinado para especificar o conjunto ou SET. Para o exemplo, como temos 2 Conjuntos ou SET, precisaremos de 1 bit para percorrer os Conjuntos existentes. 3 bits 1 bit No mapeamento associativo por conjunto não precisaremos dos bits para identificação da linha da memória cache. Ao invés disso precisamos identificar o Conjunto ou SET para carregar o bloco da MP que pode ser feito em qualquer posição/linha da memória cache. 1. A cache está vazia. Memória Cache - Cont. 25 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 01: Mapear de forma associativa por conjunto o endereço 8 para a cache 1. A cache está vazia. 2. O endereço 8 pertence ao Bloco 4. Memória Cache - Cont. 26 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 01: Mapear de forma associativa por conjunto o endereço 8 para a cache 1. A cache está vazia. 2. O endereço 8 pertence ao Bloco 4. 3. Representando o Endereço “8” com 5 bits Memória Cache - Cont. 27 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 01: Mapear de forma associativa por conjunto o endereço 8 para a cache 0 1 0 0 0 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 1. A cache está vazia. 2. O endereço 8 pertence ao Bloco 4. 3. Representando o Endereço “8” com 5 bits Memória Cache - Cont. 28 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 01: Mapear de forma associativa por conjunto o endereço 8 para a cache 0 1 0 0 0 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto A função MOD faz com que o Bloco 4 seja mapeado para o SET ou Conjunto “0” 1. A cache está vazia. 2. O endereço 8 pertence ao Bloco 4. 3. Representando o Endereço “8” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “010” com as TAGs do SET ou Conjunto “0”. Memória Cache - Cont. 29 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 01: Mapear de forma associativa por conjunto o endereço 8 para a cache 0 1 0 0 0 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 1. A cache está vazia. 2. O endereço 8 pertence ao Bloco 4. 3. Representando o Endereço “8” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “010” com as TAGs do SET ou Conjunto “0”. 5. Como a memória cache está vazia, ocorrerá um CACHE MISS. Memória Cache - Cont. 30 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 01: Mapear de forma associativa por conjunto o endereço 8 para a cache 0 1 0 0 0 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 1. A cache está vazia. 2. O endereço 8 pertence ao Bloco 4. 3. Representando o Endereço “8” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “010” com as TAGs do SET ou Conjunto “0”. 5. Como a memória cache está vazia, ocorrerá um CACHE MISS. 6. Nesse momento, o mapeamento ocorrerá com a primeira posição vaga na cache recebe a TAG correspondente. Memória Cache - Cont. 31 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 0 1 0 • EXEMPLO 01: Mapear de forma associativa por conjunto o endereço 8 para a cache 0 1 0 00 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 1. A cache está vazia. 2. O endereço 8 pertence ao Bloco 4. 3. Representando o Endereço “8” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “010” com as TAGs do SET ou Conjunto “0”. 5. Como a memória cache está vazia, ocorrerá um CACHE MISS. 6. Nesse momento, o mapeamento ocorrerá com a primeira posição vaga na cache recebe a TAG correspondente. 7. Na sequencia, todo conteúdo do Bloco 4 da memória principal é completamente carregado na primeira posição vaga na memoria cache do conjunto correspondente. Memória Cache - Cont. 32 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 0 1 0 • EXEMPLO 01: Mapear de forma associativa por conjunto o endereço 8 para a cache 0 1 0 0 0 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 1. A cache não está vazia. Memória Cache - Cont. 33 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 02: Mapear de forma associativa por conjunto o endereço 9 para a cache 0 1 0 1. A cache não está vazia. 2. O endereço 9 pertence ao Bloco 4. Memória Cache - Cont. 34 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 02: Mapear de forma associativa por conjunto o endereço 9 para a cache 0 1 0 1. A cache não está vazia. 2. O endereço 9 pertence ao Bloco 4. Memória Cache - Cont. 35 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 02: Mapear de forma associativa por conjunto o endereço 9 para a cache 0 1 0 A função MOD faz com que o Bloco 4 seja mapeado para o SET ou Conjunto “0” 1. A cache não está vazia. 2. O endereço 9 pertence ao Bloco 4. 3. Representando o Endereço “9” com 5 bits Memória Cache - Cont. 36 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 02: Mapear de forma associativa por conjunto o endereço 9 para a cache 0 1 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 1. A cache não está vazia. 2. O endereço 9 pertence ao Bloco 4. 3. Representando o Endereço “9” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “010” com as TAGs do SET ou Conjunto “0”. Memória Cache - Cont. 37 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 02: Mapear de forma associativa por conjunto o endereço 9 para a cache 0 1 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 1. A cache não está vazia. 2. O endereço 9 pertence ao Bloco 4. 3. Representando o Endereço “9” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “010” com as TAGs do SET ou Conjunto “0”. 5. Como a memória cache não está vazia, ocorrerá um CACHE HIT. Memória Cache - Cont. 38 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 02: Mapear de forma associativa por conjunto o endereço 9 para a cache 0 1 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 1. A cache não está vazia. 2. O endereço 9 pertence ao Bloco 4. 3. Representando o Endereço “9” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “010” com as TAGs do SET ou Conjunto “0”. 5. Como a memória cache não está vazia, ocorrerá um CACHE HIT. 6. O CACHE HIT ocorreu em função do conteúdo do Bloco 4 da memória principal ter sido completamente carregado previamente no exemplo 1. Memória Cache - Cont. 39 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 02: Mapear de forma associativa por conjunto o endereço 9 para a cache 0 1 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 1. A cache não está vazia. Memória Cache - Cont. 40 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 03: Mapear de forma associativa por conjunto o endereço 1 para a cache 0 1 0 1. A cache não está vazia. 2. O endereço 1 pertence ao Bloco 0. Memória Cache - Cont. 41 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 03: Mapear de forma associativa por conjunto o endereço 1 para a cache 0 1 0 1. A cache não está vazia. 2. O endereço 1 pertence ao Bloco 0. 3. Representando o Endereço “1” com 5 bits Memória Cache - Cont. 42 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 03: Mapear de forma associativa por conjunto o endereço 1 para a cache 0 0 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 1. A cache não está vazia. 2. O endereço 1 pertence ao Bloco 0. 3. Representando o Endereço “1” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “000” com as TAGs do SET ou Conjunto “0”. Memória Cache - Cont. 43 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 03: Mapear de forma associativa por conjunto o endereço 1 para a cache 0 0 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 1. A cache não está vazia. 2. O endereço 1 pertence ao Bloco 0. 3. Representando o Endereço “1” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “000” com as TAGs do SET ou Conjunto “0”. 5. Como a memória cache está vazia, ocorrerá um CACHE MISS. Memória Cache - Cont. 44 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 • EXEMPLO 03: Mapear de forma associativa por conjunto o endereço 1 para a cache 0 0 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 1. A cache não está vazia. 2. O endereço 1 pertence ao Bloco 0. 3. Representando o Endereço “1” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “000” com as TAGs do SET ou Conjunto “0”. 5. Como a memória cache está vazia, ocorrerá um CACHE MISS. 6. Nesse momento, o mapeamento ocorrerá com a primeira posição vaga na cache recebe a TAG correspondente. Memória Cache - Cont. 45 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 0 0 0 • EXEMPLO 03: Mapear de forma associativa por conjunto o endereço 1 para a cache 0 0 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 1. A cache não está vazia. 2. O endereço 1 pertence ao Bloco 0. 3. Representando o Endereço“1” com 5 bits 4. A CPU percorrerá a TAG comparando o valor binário “000” com as TAGs do SET ou Conjunto “0”. 5. Como a memória cache está vazia, ocorrerá um CACHE MISS. 6. Nesse momento, o mapeamento ocorrerá com a primeira posição vaga na cache recebe a TAG correspondente. 7. Na sequencia, todo conteúdo do Bloco 0 da memória principal é completamente carregado na primeira posição vaga na memoria cache do conjunto correspondente. Memória Cache - Cont. 46 • Mapeamento Associativo por Conjunto Como a CPU sabe a partir de um determinado endereço da memória principal se o conteúdo do endereço está na presente ou mapeada na cache? SET 0 SET 1 0 0 0 • EXEMPLO 03: Mapear de forma associativa por conjunto o endereço 1 para a cache 0 0 0 0 1 TAG ou Rótulo 3 bits 1 bit BIT WORD BIT SET ou Conjunto 0 1 0 47 Memória Cache - Cont. Memória Cache - Cont. 48 • Mapeamento Associativo por Conjunto SET 0 SET 1 0 0 0 0 1 0 Considerando os exemplos apresentados, o que aconteceria se quiséssemos mapear o endereço 4 que pertence ao Bloco 2? 1. O Conjunto ou SET 0 encontra-se com as linhas da cache cheias. 2. Para que o bloco 2 seja carregado algum dos blocos carregados precisará sair. 3. Para que isso aconteça, critérios necessitam ser estabelecidos. 4. Esses critérios são tratados como critérios de substituição de linhas de cache. 5. Eles podem ser considerados por exemplo, o tempo de permanência na cache. Professores: Ivanildo Melo e Rosangela Melo ivanildo.melo@paulista.ifpe.edu.br rosangela.melo@paulista.ifpe.edu.br Arquitetura de Computadores Aula 10 – Memória Principal e Secundária: Características, Organização, Arquitetura, Hierarquia e Memória Cache. [Quarta Parte] * O conteúdo deste material é também utilizado no conteúdo da disciplina de Montagem e Manutenção de Computadores
Compartilhar