Buscar

11 - Memória Principal e Secundária parte 4

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

Continue navegando