Buscar

HARDWARE PARA COMPUTAÇÃO - APLICANDO CONHECIMENTO 06

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Realize os exercícios a seguir: 
 
(1) Qual é a finalidade da memória cache? 
R: Ela tem o objetivo de armazenar dados, informações e processos temporários que são 
acessados com frequência, agilizando o processo de uso quando são requisitados pelo 
processador. 
 
(2) Como é o mapeamento dos blocos da MP para a cache? 
R: Existem três tipos de mapeamentos, sendo: 
- Direto: Cada bloco da MP tem uma linha da cache específica, previamente definido onde será 
armazenado; 
- Associativo: Não há local fixo na memória cache para alocação de um bloco da MP. Cada bloco 
pode ser armazenado em qualquer linha da cache; 
- Associativo por conjunto: A memória cache é dividida em conjuntos, cada um com um número 
limitado de linhas ou blocos. Cada bloco da memória principal é mapeado em um conjunto 
específico da memória cache, mas pode ser armazenado em qualquer linha dentro desse conjunto. 
 
(3) Como é feita a atualização da cache? Qual é a vantagem e a desvantagem de cada 
abordagem? 
R: Toda vez que o processador realiza uma operação de escrita, esta ocorre imediatamente na 
cache. É necessário que, em algum momento, a MP seja atualizada, para que o sistema mantenha 
sua coerência de informação. 
As políticas de atualização são: 
- Write through: Todas as operações de escrita são feitas tanto na memória cache quanto na MP. 
Dessa forma, consegue-se assegurar que a MP estará sempre com dados válidos. A desvantagem 
é que essa pode ser uma política lente já que a MP possuí uma lentidão comparado ao processador. 
- Write back: As escritas do processador acontecem apenas na memória cache. Partes da MP 
podem ficar inválidas por um tempo e, portanto, o acesso à MP pelos dispositivos de E/S só poderá 
ser efetuado por meio da memória cache. A desvantagem é que a MP pode ficar desatualizada por 
algum período de tempo. 
- Write once: Escrita única, os dados armazenados na cache só podem ser escritos uma vez e, após 
a escrita, tornam-se somente leitura. A desvantagem da política "Write Once" é a inflexibilidade, se 
os dados na memória cache precisarem ser atualizados devido a alterações nos dados, a cache 
precisará ser invalidada e recarregada com os novos dados. 
- Protocolo MESI: O protocolo MESI (Modified, Exclusive, Shared, Invalid) é um protocolo de 
coerência de cache usado em sistemas multiprocessadores ou multiprocessados para garantir a 
consistência dos dados compartilhados entre várias caches. Ele controla o estado de cada bloco de 
 
 
dados na cache para garantir que todas as cópias de um bloco compartilhado estejam sempre 
atualizadas e consistentes entre os processadores. 
 
(4) Qual é a finalidade dos algoritmos de substituição? Descreva cada um deles. 
R: Ele tem por finalidade gerenciar o uso da memória determinando quais itens de dados devem 
ser removidos quando a memória cache está cheia, buscando equilibrar o desempenho. Os 
algoritmos de substituição existentes são: 
- LRU (Least Recently Used - Menos Recentemente Usado) substitui o item que não foi usado há 
mais tempo. Mantém um registro do histórico de acesso aos dados e remove o item que foi 
acessado menos recentemente; 
- LFU (Least Frequently Used - Menos Frequentemente Usado) remove o item que foi acessado 
menos frequentemente. Mantém uma contagem do número de vezes que cada item foi acessado e 
substitui aquele com a menor contagem; 
- FIFO (First-In, First-Out - Primeiro a Entrar, Primeiro a Sair) substitui o item que está na cache há 
mais tempo, ou seja, o primeiro item que foi colocado na cache será o primeiro a ser removido; 
- Random (Aleatório) escolhe aleatoriamente um item na cache para substituição. 
 
 
(5) Diferencie cache hit de cache miss. 
R: Quando o processador solicita dados na memória os dados estiverem na cache (hit), os buffers 
de dados e endereço são desativados e a comunicação é apenas entre o processador e a memória 
cache. Se os dados não estiver na cache (miss), o endereço desejado é carregado no barramento 
do sistema e os dados são transferidos através do buffer de dados para a cache e para o 
processador. 
 
(6) Código Hamming. 
(a) Para a palavra a seguir, calcule a palavra final a ser encaminhada utilizando: 
 01010111 
R: 
 
Palavra inicial 
Dado 8 Dado 7 Dado 6 Dado 5 Dado 4 Dado 3 Dado 2 Dado 1 
0 1 0 1 0 1 1 1 
 
 
 
 
Portanto: 
TABELA DE 
REDUNDÂNCIA 
IDENTIFICAÇÃO DA POSIÇÃO IDENTIFICAÇÃO DOS DADOS 
ORIGINAIS x POSIÇÃO 
Redundância1 = 0001 Redundância1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7 Redundância1 = 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 = 0 
Redundância2 = 0010 Redundância2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7 Redundância2 = 1 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1 
Redundância3 = 0100 Redundância3 = D2 ⊕ D3 ⊕ D4 ⊕ D8 Redundância3 = 1 ⊕ 1 ⊕ 0 ⊕ 0 = 0 
Redundância4 = 1000 Redundância4 = D5 ⊕ D6 ⊕ D7 ⊕ D8 Redundância4 = 1 ⊕ 0 ⊕ 1 ⊕ 0 = 0 
 
Palavra final 
Posição 
12 
Posição 
11 
Posição 
10 
Posição 
9 
Posição 
8 
Posição 
7 
Posição 
6 
Posição 
5 
Posição 
4 
Posição 
3 
Posição 
2 
Posição 
1 
Dado 8 Dado 7 Dado 6 Dado 5 Red. 4 Dado 4 Dado 3 Dado 2 Red. 3 Dado 1 Red. 2 Red. 1 
0 1 0 1 0 0 1 1 0 1 1 0 
 
 
(b) Considerando o item (a), caso o D4 do código fosse alterado em um armazenamento, 
mostre a veracidade do código Hamming para descobrir o erro. 
R: 
 
Palavra recebida: 
Posição 
12 
Posição 
11 
Posição 
10 
Posição 
9 
Posição 
8 
Posição 
7 
Posição 
6 
Posição 
5 
Posição 
4 
Posição 
3 
Posição 
2 
Posição 
1 
Dado 8 Dado 7 Dado 6 Dado 5 Red. 4 Dado 4 Dado 3 Dado 2 Red. 3 Dado 1 Red. 2 Red. 1 
0 1 0 1 0 1 1 1 0 1 1 0 
 
Recalculo: 
TABELA DE 
REDUNDÂNCIA 
IDENTIFICAÇÃO DA POSIÇÃO IDENTIFICAÇÃO DOS DADOS 
ORIGINAIS x POSIÇÃO 
Redundância1 = 0001 Redundância1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7 Redundância1 = 1 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 1 = 1 
Redundância2 = 0010 Redundância2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7 Redundância2 = 1 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 1 = 0 
Redundância3 = 0100 Redundância3 = D2 ⊕ D3 ⊕ D4 ⊕ D8 Redundância3 = 1 ⊕ 1 ⊕ 1 ⊕ 0 = 1 
Redundância4 = 1000 Redundância4 = D5 ⊕ D6 ⊕ D7 ⊕ D8 Redundância4 = 1 ⊕ 0 ⊕ 1 ⊕ 0 = 0 
 
⊕ 0 0 1 0 (redundância da palavra recebida / armazenada) 
⊕ 0 1 0 1 (redundância recalculada pelo controlador de memória) 
⊕ 0 1 1 1 
 
Conferindo a posição do resultado na tabela: 
0 1 1 1 representa a posição 07 que se refere ao dado 04. 
 
 
 
POSIÇÃO DA PALAVRA BINÁRIO DESCRIÇÃO 
12 1100 Dado 8 
11 1011 Dado 7 
10 1010 Dado 6 
09 1001 Dado 5 
08 1000 Redundância4 
07 0111 Dado 4 
06 0110 Dado 3 
05 0101 Dado 2 
04 0100 Redundância3 
03 0011 Dado 1 
02 0010 Redundância2 
01 0001 Redundância1

Continue navegando