Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Organização e Arquitetura de Computadores
Aula 8 – Memória Cache
Prof. Guilherme Galante
Relembrando...
vo
la
ti
le
n
o
n
-v
o
la
ti
le
Ambrosini, Diego. (2015). Persistent-memory awareness in operating systems. 10.13140/RG.2.1.4761.4483. 
TAPES
Relembrando...
● Princípio da localidade:
– Um programa acessa uma porção relativamente pequena do 
espaço endereçável em um instante qualquer
● Localidade temporal:
– Se um item é referenciado, ele tenderá a ser referenciado 
novamente
– Exemplo: loops ( instruções e dados)
● Localidade Espacial:
– Se um item é referenciado, itens cujos endereços são próximos a 
este, tenderão a ser referenciados também
– Exemplo: Acesso a dados de um vetor
Relembrando...
Enquanto o desempenho dos processadores dobra a cada 
18/24 meses, o tempo de acesso a MP aumenta bem menos 
(cerca de 8% por ano) 
Hanessy, Patterson – Quantitative Approach - pg. 73
→ Introduzindo a memória cache...
Princípios da Memória Cache
● Memória rápida entre CPU e Memória principal
● Objetivo:
– Acelerar a velocidade de transferência das informações entre 
CPU (muito rápido) e MP (muito lenta)
– Consequentemente também do sistema de computação
Princípios da Memória Cache
● Quando o processador precisa de um dado, ele pode já estar na cache 
(cache hit)
● Se não estiver (cache miss), tem que buscar na memória (ou até no disco)
● Quando um dado é acessado na memória, um bloco inteiro (e.g. 64 bytes) 
contendo o dado é trazido à memória cache
● Blocos vizinhos podem também ser acessados (prefetching) para uso 
futuro
● Na próxima vez o dado (ou algum dado vizinho) é usado, já está na cache 
cujo acesso é rápido
● A razão entre o número de cache hit e o número total de buscas na cache 
é conhecida como taxa de acerto (hit ratio).
Analogia
Cache MP Disco
Operação de leitura de cache
Cache Miss
Cache Hit
Operação de leitura de cache – 
Blocos e palavras
LatMedia = LatMediaCache + LatMediaMem.Principal
LatMedia = (90% ∗ 1, 2ns) + (10% ∗ 60,0ns) = 7,08ns
Cache: Latência Média
Construção da cache: SRAM
● Static RAM
● Nas SRAM, os dados são armazenados usando o estado de uma 
célula de memória composta por transistores e flip-flops
● A memória estática mantém o dado inalterado, desde que haja 
energia
– Não necessita de circuito de refresh
● Menos densa, mais rápida e mais custosa do que DRAM
Construção da cache: SRAM
Célula básica de memória SRAM
Construção da cache: SRAM
Uma SRAM de 16 células de 
4 bits.
Endereço linear
Construção da cache: SRAM
Estrutura de cache/memória principal
● O número de linhas da cache é consideravelmente menor que 
o número de blocos da memória principal 
● A qualquer momento, algum subconjunto dos blocos de 
memória reside nas linhas na cache
● Se uma palavra em um bloco de memória for lida, esse bloco 
é transferido para uma das linhas da cache
● A tag é usada para identificar qual bloco em particular está 
atualmente sendo armazenado
– Veremos daqui a pouco como funciona...
Estrutura de cache/memória principal
A memória principal 
consiste em até 2n 
palavras 
endereçáveis, com 
cada palavra tendo 
um endereço 
distinto de n bits.
Memória é dividida em blocos de 
tamanho fixo com K palavras 
cada.
M = 2n/K blocos
Estrutura de cache/memória principal
- Cache contém L linhas
- Cada linha contém um tag, um bloco de palavras da memórias e bits de controle
- Tag contém informações sobre o endereço do bloco na memória
- Bits de controle informam se a linha foi modificada depois de carregada na 
cache (dirty bit)
Estrutura de cache/memória principal
Mapeamento Blocomem → Linhacache
Elementos do projeto da memória cache
1. Tamanho da cache
2. Números de níveis de cache
3. Tamanho da linha
4. Política de Escrita
5. Função de Mapeamento
6. Algoritmo de Substituição
Detalhes de cada elemento na sequência!
Tamanho da cache
● Difícil estimar um tamanho ideal
● Considerar:
– Custo
– Desempenho
– Área do processador
● Tamanho da Cache varia de acordo com o projeto do processador
Tamanho da cache
Número de memórias cache
● Originalmente, o sistema de 
memória típico tinha uma única 
cache
● Hoje:
– Uso de múltiplas caches 
(2010→) 
– Dentro do chip (sem acesso ao 
barramento externo à CPU)
– L1, L2 e L3 (comum)
– L4:
● Intel Core i7-5775C
– 128 MB L4
● IBM Z12
– 384 MB L4
Intel Nehalem CPU (2008-2010)
Número de memórias cache
● Hoje é comum dividir a cache em duas (L1):
– Instruções
– Dados 
Dados
Instr.
Tamanho da linha
● Quando um bloco de dados é recuperado e colocado na cache, 
algumas palavras adjacentes são armazenadas
– Bloco inteiro
● À medida que o tamanho do bloco aumenta de tamanho, a razão 
de acerto a princípio aumentará
● Contudo, a razão de acerto começará a diminuir enquanto o 
bloco se torna ainda maior e a probabilidade de uso da 
informação recém-trazida se torna menor que a probabilidade de 
reutilizar as informações que foram substituídas
Tamanho da linha
Hanessy & Patterson – Computer Architecture and Design
Tamanho da linha
● Dois efeitos específicos entram em cena:
– Blocos maiores reduzem o número de blocos que cabem em 
uma cache. 
● Como cada busca de bloco escreve sobre o conteúdo 
antigo da cache, um número pequeno de blocos resulta em 
dados sendo modificados pouco depois de serem buscados
● Thrashing
– À medida que o bloco se torna maior, cada palavra adicional 
fica mais distante da palavra solicitada e, portanto, tem menos 
probabilidade de ser necessária no futuro próximo
Política de escrita
● Quando um bloco está na cache e precisa ser substituído, 
existem dois casos:
– Não Alterado: pode ser substituído diretamente
– Alterado: memória principal precisa ser atualizada
● Políticas:
– Write through
– Write back
Política de escrita
● Write through
– Todas as operações de escrita são feita na memória principal 
e também na cache
– Garante que a memória principal sempre seja válida
– Desvantagem:
● Gera um tráfego de memória considerável e pode ser um 
gargalo
Política de escrita
● Write back
– Atualizações são feitas apenas na cache
– Quando ocorre uma atualização:
● um bit de modificação (dirty bit), associado à linha, é marcado
● Quando um bloco é substituído, ele é escrito de volta na 
memória principal se, e somente se, o bit de modificação 
estiver marcado
– Problema: partes da memória principal podem ficar inválidas
Política de escrita
● Se estivermos em um sistema com mais de um núcleo ou CPU 
podemos ter problemas de coerência de cache
– Necessário protocolos de coerência
● Snooping
● Diretórios
● Voltaremos a falar disso posteriormente...
Funções de mapeamento
● Como existem menos linhas de cache do que blocos da memória 
principal, é necessário haver um algoritmo de mapeamento
● Determinar qual bloco da memória principal atualmente ocupa uma 
linha da cache
● 3 técnicas podem ser utilizadas: 
– Mapeamento Direto
– Mapeamento Associativo
– Mapeamento Associativo por conjunto (set associative)
Funções de mapeamento – Map. Direto
● Mapeia cada bloco da memória principal a apenas uma linha de cache 
possível
● O mapeamento é expresso como:
i = j módulo m
onde:
i = número da linha da cache
j = número do bloco da memória principal
m = número de linhas da cache
Funções de mapeamento – Map. Direto
● Exemplo:
– 4 Linhas
– 12 Blocos
Funções de mapeamento – Map. Direto
● Exemplo 2:
– 8 Linhas
– 32 Blocos
Funções de mapeamento – Map. Direto
0000 9999
...
Conjunto de livros
Estante: últimos livros lidos
00 01 02
97 98 99
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
Funções de mapeamento – Map. Direto
8438
4999
00 01 02
97 98 99
... ... ...
... ... ...
... ... ...
... ... ...
36 37 38
... ... ...
... ... ...
... ... ...
... ... ...
1200Map. Direto: dois últimos dígitos indicam 
A posição na estante
Funções de mapeamento – Map. Direto
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
Endereçamento em nível de byte:
Palavramem → 1 byte
1 byte
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
Funções de mapeamento – Map. Direto
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
0000000000
2 bits menos significativos 
identificam as palavras do bloco
Funções de mapeamento – Map. Direto
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
0000000000
Próximos 2 bits identificam a 
linha a qual o bloco é alocado.
Aqui são 2 bits porque temos 4 
linhas na cache (2²).
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
Funções de mapeamento – Map. Direto
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
0000000000
Demais bits são as tags 
utilizadas para identificar 
bloco que está alocado na linha
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
Funções de mapeamento – Map. Direto
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
0000000000
Os 8 últimos bits (linha+tag) 
identificam o bloco da memória 
principal.
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
Funções de mapeamento – Map. Direto
1010101001 (681
10
)
Em qual linha da cache esse endereço será alocado?
Qual a tag correspondente?
Em qual bloco de memória esse endereço se encontra?
Funções de mapeamento – Map. Direto
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
1010101001 (681
10
)
1- Será alocado na linha L2
2- Tag: 101010 
3- Bloco 170 da memória
Cache
3 2 1 0
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
1010101001
...
B170
Funções de mapeamento – Map. Direto
Funções de mapeamento – Map. Direto
101010 10 01
Cache
xxxxx xxxxx xxxxx xxxxx
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
101010
miss (busca o bloco na MP)
linha
CMP Tag tag
tag
hit (busca palavra na cache)
MP
Endereço
Atividade → 5 minutos
1) Qual o número de bits para determinar:
- palavra (byte)
- linha
- tag
2) Em qual linha estará o 
Endereço 10101 (21)
Atividade → Resposta
1) Qual o número de bits para determinar:
- palavra (byte): 1 → 2¹ (dois bytes por linha)
- linha: 2 → 4 linhas → 2² 
- tag: 2
2) Em qual linha estará o 
Endereço 10101 (21)
→ 10(tag) 10(linha) 1(byte)
- Linha 2
Outro exemplo...
Outro exemplo...
● Memória:
– 4GB (2³²) 
– 32 bits de endereço
– 64 M x 64 bits (8 bytes)
– Endereçamento por byte
● Cache:
– 1024 linhas
– 64 bytes por linha
– 64 KB total
– Tag 16 bits
– Cada linha da cache deverá acomodar 64 blocos
Outro exemplo...
● Cada linha possui 64 bytes
– Endereçamento a byte → 64 = 2⁶
● 1024 linhas → 210
● Restante: 16 bits para tag
Outro exemplo...
Atividade 2
● Considere um sistema de computação com uma memória cache 
de 32KB de capacidade, constituída de linhas com 8 bytes 
de largura. A MP possui 16MB.
● Calcule a quantidade de bits para:
– Bloco da memória
– Palavra (byte) na linha
– Linhas
– Tag
Atividade 2
● Cache:
– 32KB / 8bytes → 4k linhas → 212 linhas
– 8 bytes por linha → 2³
– 9 bits para tag
● Memória:
– 16MB → 224
– Endereço de 24 bits
– 224 / 23 → 21 bits para endereçar blocos
xxxxxxxxxxxxxxxxxxxxxxxx
Mapamento Direto - Problemas
● O mapeamento direto é simples mas tem uma desvantagem
● Se o programa acessa repetida e alternadamente dois 
blocos de memória mapeados à mesma posição na cache, 
então esses blocos serão continuamente introduzidos e 
retirados da cache
– Thrashing
● Resulta em um número grande de misses
Funções de mapeamento – Map. Associativo
● Neste método não há local fixo na cache para alocação de um 
bloco da MP
– Um bloco pode ser armazenado em qualquer linha
– Substitui o bloco que estava armazenado
– Escolher qual bloco substituir (política de substituição, veremos adiante)
● Para identificar o bloco que está na cache ou não, deve-se comparar 
o endereço do bloco com a tag armazenada na linha da cache
– Verificação deve ser rápida (busca associativa)
– Simultânea em todas as linhas da cache
– Grande consumo de hardware!!!
Funções de mapeamento – Map. Associativo
8438
4999
00 01 02
97 98 99
... ... ...
... ... ...
... ... ...
... ... ...
36 37 38
... ... ...
... ... ...
... ... ...
... ... ...
1200
Qualquer livro pode ir para uma posição 
na estante
Funções de mapeamento – Map. Associativo
00 01 02
97 98 99
... ... ...
... ... ...
... ... ...
... ... ...
36 37 38
... ... ...
... ... ...
... ... ...
... ... ...
1200
Para buscar o livro 1200, todo a estante 
precisa ser buscada
A busca fica rápida se todas as posições 
são buscadas em paralelo
Se o livro desejado não está no 
escaninho, então pega na biblioteca e 
aloca na estante
Se estante já está cheia, então escolhe 
um livro e o remove
8438
4999
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
Funções de mapeamento – Map. Associativo
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
0000000000
2 bits menos significativos 
identificam as palavras do bloco
Restante: tag
Funções de mapeamento – Map. Associativo
Funções de mapeamento – Map. Associativo
10101010 01
Cache
xxxxx xxxxx xxxxx xxxxx
P0 (00)P1 (01)P2 (10)P3 (11)
10101111
tag
00101010
10101010
10101011
miss (busca o bloco na MP)
CMP Tags
tags
bloco
hit (busca palavra na cache na palavra onde está o endereço)
MP
Endereço
Atividade 3 – Map. Associativo
● Considere uma MP com 64 MB de capacidade associada a 
uma memória cache que possui 2K linhas, cada uma com 
largura de 16 bytes.
● Determine o formato do endereço.
Atividade 3 – Map. Associativo
● MP = 64MB = 226
● Largura do bloco 16 Bytes → 24 bytes por linha
● Formato do endereço: bloco/byte
22 4
Funções de mapeamento – Map. Assoc. por Conjunto
● Tenta resolver 2 problemas
– Conflito de blocos do Map. Direto
– Custo da comparação no Map. Associativo
● É o mais usado em processadores modernos
Funções de mapeamento – Map. Assoc. por Conjunto
● A cache consiste de um número v de conjuntos, cada um com L 
linhas
● Suponha i=número do conjunto
● Suponha j=número do bloco na memória
● Temos i=j mod v. 
– Bloco j é colocado no conjunto número i
● Dentro do conjunto i, o bloco j pode ser colocado em qualquer linha
● Usa-se acesso associativo em cada conjunto para verificar se um 
dado bloco está ou não presente
Funções de mapeamento – Map. Assoc. por Conjunto
● Uma organização comum é usar 4, 8 ou 12 linhas em cada 
conjunto:
– L = 4, 8 ou 12
– 4-way, 8-way ou 12-way set-associative cache
Informações obtidas com o hardinfo
Funções de mapeamento – Map. Assoc. por Conjunto
8438 49991200
Estante é dividida por conjuntos,com 3 
espaços cada (3-way) 
Último dígito do livro especifica o 
conjunto
0
1
2
9
3
4
5
6
7
8
0
1
2
9
3
4
5
6
7
8
Funções de mapeamento – Map. Assoc. Conjunto
1200
Para buscar o livro 1200, busca-se no 
conjunto 0 apenas
- buscadas em paralelo dentro do 
conjunto apenas
Se o livro desejado não está no 
escaninho, então pega na biblioteca e 
aloca em umas das posições do conjunto
8438
4999
Funções de mapeamento – Map. Assoc. por Conjunto
● Uma organização comum é usar 4 ou 8 linhas em cada conjunto:
– L = 4 ou 8
– Recebem o nome de 4-way ou 8-way set-associative cache
● Exemplo:
– 2-way
– V = 2 (2 conjuntos)
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
C0 (0)
C1 (1)
Funções de mapeamento – Map. Assoc. por Conjunto
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
0000000000
- 2 bits menos significativos 
identificam as palavras do bloco
- 1 bit (2 grupos → 2¹) identifica 
o grupo
- restante: tag
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
C0 (0)
C1 (1)
Funções de mapeamento – Map. Assoc. por Conjunto
0000000001
0000000000
0000000011
Memória
0000000010
0000000101
0000000100
0000000111
0000000110
1111111101
1111111100
1111111111
1111111110
...
B0
B1
B255
0
1
2
3
4
5
6
7
1020
1021
1022
1023
1110001100
Onde será armazenado na cache 
o endereço:
Cache
P0 (00)
L1 (01)
L2 (10)
L3 (11)
P1 (01)P2 (10)P3 (11)
L0 (00)
tag
C0 (0)
C1 (1)
Na palavra 00 de umas das linhas 
do conjunto C1 (L2 ou L3).
Funções de mapeamento – Map. Assoc. por conjunto
Atividade 4 – Map. Associativo por Conjunto
● Considere uma MP com 64MB de capacidade associada a 
uma memória cache associativa de 32KB, com 4 conjuntos 
 e linhas de largura de 16 bytes.
● Determine o formato do endereço para ser interpretado 
pelo sistema de controle de cache.
Atividade 4 – Map. Associativo por Conjunto
● MP = 64M = 226 → Endereço de 26 bits
● Largura da linha = 16B = 24
● Linhas da cache = 32KB/16B = 8K
● Conjuntos = 8K/4 = 2K = 211
● Formato do endereço (tag/conjunto/byte):
11 11 4
Algoritmos de substituição
● Uma vez que a cache estiver cheia, e um novo bloco for trazido para a cache, um 
dos blocos existentes precisa ser substituído
● Para o mapeamento direto, existe apenas uma linha possível para qualquer bloco 
em particular e nenhuma escolha é possível
● Para as técnicas associativa e associativa em conjunto, um algoritmo de 
substituição é necessário
● Mais comuns:
– First in First out (FIFO) → primeiro a entrar, primeiro a sair
– Least Recently Used (LRU) → substitui a linha de cache que está na cache há 
mais tempo sem referências a ela
– Least Frequently Used (LFU) → substitui a linha de cache que tem o menor 
número de referências
– Aleatório
Exemplo: FIFO x LRU
FIFO: 14 falhas
LRU: 11 falhas
Belady’s
Belady’s: 9 falhas
● O algoritmo ideal de Belady trapaceia. 
● Ele olha adiante no tempo para ver qual endereço substituir.
● Portanto, não é um algoritmo de substituição real. 
● Fornece um quadro de referência para uma determinada sequência 
de acesso a quadros estáticos.
Exemplos de cache no mundo real
Pentium IV
● 2 Níveis
– Cache L1 (interna ao processador)
– Cache L2 (externa)
Pentium IV
● MP
– 16 MB
– Endereçamento em nível de 
byte
● L1
– 8KB
– Associativa por conjunto
– 4-way
– Linhas de 64 bytes
● 16MB → 224 → endereço de 24 bits
● Blocos: 16MB/64 = 262.144 (218)
● Linhas: 8K / 64 = 128 (27) linhas
● Byte: 64 → 2⁶
● Conjuntos: 128/4 = 32 (25)
● Endereço:
13 5 6
Pentium IV
● L2
– 256 KB
– Associativa por conjunto
– 8-way
– Linhas de 128 bytes
● Endereço:
9 8 7
Tarefa de casa:
→ Como chegar nesses 
valores??
Pentium IV
● Desempenho
Arquiteturas AMD
(2012→ )(2011→ ) (2014→ )
Intel Xeon 8124M
https://www.cpu-world.com/CPUs/Xeon/Intel-Xeon%208124M.html
Sugestões de leitura
● Mario Monteiro - Introdução à Organização de Computadores - 5a Ed.
– Capítulo 5
● Willian Stallings – Arquitetura e Organização de Computadores
– Capítulo 4
● How L1 and L2 CPU Caches Work, and Why They’re an Essential Part of 
Modern Chips
https://www.extremetech.com/extreme/188776-how-l1-and-l2-cpu-
caches-work-and-why-theyre-an-essential-part-of-modern-chips-bar
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71
	Slide 72
	Slide 73
	Slide 74
	Slide 75
	Slide 76
	Slide 77
	Slide 78
	Slide 79
	Slide 80
	Slide 81
	Slide 82
	Slide 83
	Slide 84
	Slide 85
	Slide 86
	Slide 87
	Slide 88
	Slide 89
	Slide 90

Mais conteúdos dessa disciplina