Buscar

Exercícios capítulo 8 (1)

Prévia do material em texto

Universidade Federal do Pampa - Curso de Engenharia da Computação 
Disciplina de Arquitetura e Organização de Computadores II - Prof. Bruno Neves 
 
Lista de Exercícios 
 
 
Armazenamento e E/S 
 
 
1) Mostre que Raid 3 e Raid 4 são equivalentes quanto à manutenção das informações redundantes. 
 
2) O que é MTBF? Explique como ele é calculado. 
 
3) Compare RAID 0, 1, 3, 4 e 5 usando como critérios desempenho e consumo energético. 
 
4) Exercício 8.3 do livro (Organização e Projeto de Computadores – Patterson e Hennessy). 
 
5) Exercício 8.4 do livro (Organização e Projeto de Computadores – Patterson e Hennessy). 
 
6) Exercício 8.5 do livro (Organização e Projeto de Computadores – Patterson e Hennessy). 
 
7) Exercício 8.8 do livro (Organização e Projeto de Computadores – Patterson e Hennessy). 
 
8) Exercício 8.16 do livro (Organização e Projeto de Computadores – Patterson e Hennessy). 
 
9) Explique o significado de cada uma das características dos dispositivos de E/S, apresentadas abaixo 
e de exemplos: 
ñ Comportamento 
ñ Parceiro 
ñ Taxa de dados 
 
10) Descreva a estrutura de um HD (Hard Disk) usando todas seguintes palavras: pratos, trilhas, 
setores e cilindros. 
 
11) A figura 1 abaixo mostra um gráfico que descreve uma tentativa de leitura assíncrona de uma 
palavra de memória. Considere que a leitura é requisitada por um dispositivo qualquer conectado a 
memória por um barramento assíncrono. Com base em seus conhecimentos sobre protocolo de 
comunicação Handshake, aponte e descreva os potenciais erros contidos no gráfico apresentado. 
 
 
Figura 1 
 
 
12) Descreva duas situações em que o emprego de barramentos assíncronos em vez de barramentos 
síncronos é a melhor escolha para o projeto de um sistema de computação. 
 
13) Compare a banda passante máxima para dois barramentos, um síncrono e outro assíncrono. 
Ambos barramentos possuem 32 linhas para transferir dados ou endereços. O barramento síncrono 
utiliza relógio com período de 20ns, sendo que cada passo da transmissão gasta um ciclo de relógio. 
O barramento assíncrono precisa de 30ns para cada passo do protocolo handshake. Calcule a banda 
passante máxima para cada barramento (em MB/s) quando se realizam leituras de blocos que têm 
tamanho de uma palavra (de 32 bits) em uma memória cujo tempo de acesso é 150ns. 
 
14) Explique (se preferir descrevendo com um exemplo) como funciona o mecanismo de E/S mapeada 
em memória para comunicação entre processador e dispositivo de E/S. 
 
15) Para que servem os mecanismos de polling e interrupções? Diferencie-os. 
 
16) Explique o que é tempo de seek e latência rotacional para discos magnéticos. Como os fabricantes 
de discos calculam o tempo de seek médio e a latência rotacional média? 
 
17) Diferencie latência de vazão. Descreva uma estratégia para melhorar a vazão em sistemas de E/S. 
 
18) 
 A) Calcule o tempo de seek médio para ler um setor de 512 bytes de um disco rígido 
 girando a 12.000 RPM. A taxa de transferência do disco é de 100MB/seg e o overhead da 
 controladora é de 0,5ms. Suponha que o disco esteja ocioso (de modo que não existe um 
 tempo de espera) e que o tempo médio para leitura do setor, neste disco, é de 10 ms. 
 
 B) O tempo de seek médio efetivo do sistema descrito pode ser menor que o valor
 calculado para o item A? Justifique sua resposta. 
 
19) Qual o valor máximo possível para a disponibilidade? Este valor é realista (explique sua resposta)? 
 
20) Explique quais as vantagens do RAID 5 sobre o RAID 4. 
 
 
21) O protocolo Handshake é usado para sistemas síncronos ou assíncronos? Olhando para a figura 2 
a seguir, que ilustra uma leitura usando o protocolo Handshake, explique os eventos ocorridos nos 
passos 1 e 6. Considerando que cada passo do protocolo Handshake requer 20ns para ser realizado, 
qual o tempo mínimo estimado exclusivamente para que a memória disponibilize através do 
barramento o dado solicitado (considere que este tempo começa a contar em seguida que a memória 
lê o endereço de leitura do barramento)? 
 
Figura 2 
 
 
 
 
 
Multiprocessadores 
 
 
 
1) Utilize o protocolo Write-invalidate, explique o que ocorre em cada uma das etapas descritas na 
tabela 1, salientando quais etapas requerem uso do barramento que interliga processadores a 
memória. Considere que os blocos de memória possuem tamanho de uma palavra (4 bytes) e que o 
barramento possui largura de 34 bits (32 bits para dados ou endereço e 2 bits para especificação da 
operação de barramento: leitura, escrita ou invalidação de bloco). 
 
Etapa Processador Operação Endereço (byte) 
1 1 Escrita 100 
2 1 Leitura 104 
3 2 Escrita 100 
4 1 Leitura 100 
5 2 Escrita 104 
 
2) Exercício 9.1 do livro (Organização e Projeto de Computadores – Patterson e Hennessy). 
 
3) Exercício 9.2 do livro (Organização e Projeto de Computadores – Patterson e Hennessy). 
 
4) “Como o software é escalável, alguns multiprocessadores podem operar mesmo com a ocorrência 
de falhas no hardware; ou seja, se um único processador falhar em um multiprocessador com n 
processadores, o sistema fornece serviço continuado com n – 1 processadores.” 
Discuta as principais dificuldades para alcance da escalabilidade de software em caso de falha de um 
dos processadores em um multiprocessador. 
 
5) Descreva as principais dificuldades inerentes ao projeto de software para multiprocessadores 
 
6) Com relação à figura 3, explique: 
 
A) Por que somente os clusters conseguem chegar próximo da taxa de 1 milhão de transações 
por minuto? 
B) Por que somente os clusters conseguem chegar próximo ao número de 1.000 processadores 
em um sistema multiprocessado? 
C) Por que na região central do gráfico existe vitória dos SMPs em relação aos clusters? 
 
 
 
Figura 3 
 
7) “Como os processadores operando em paralelo normalmente compartilham dados, eles também 
precisam coordenar quando estão operando em dados compartilhados; caso contrário, um 
processador poderia começar a processar dados antes que outro tenha acabado de processá-los.” 
Descreva os mecanismos utilizados para solucionar o problema acima referido. 
 
 
8) “Como você poderia esperar, as dificuldades de programação em um multiprocessador NUMA são 
diferentes das dificuldades em um multiprocessador UMA, mas as máquinas NUMA podem escalar 
para tamanhos maiores e, portanto, potencialmente possuem desempenho mais alto que máquinas 
UMA.”’ 
 
Leia o parágrafo acima e explique: 
2) Por que as dificuldades de programação em um multiprocessador NUMA são diferentes das 
dificuldades em um multiprocessador UMA? 
3) Por que as máquinas NUMA podem escalar para tamanhos maiores e, portanto, 
potencialmente possuem desempenho mais alto que máquinas UMA? 
 
9) “O cliente pede tantos processadores quantos seu orçamento permitir e recebe uma quantidade 
correspondente de desempenho” 
O trecho de texto acima se refere à falácia do desempenho em multiprocessadores. Explique porque 
potencialmente a frase acima consiste em uma falácia. 
 
10) A figura 4 abaixo mostra um multiprocessador de barramento único usando coerência de cache 
com snooping. Na figura 4 o tag snop contém um conjunto de tags duplicadas com relação a cache, 
qual o propósito desta duplicação? Ela resolve plenamente o problema que demandou sua utilização? 
 
 
 
Figura 4 
 
11) Descreva os possíveis impactos do uso de um tamanho de bloco de memória demasiadamente 
grande para um SMP, no que diz respeito a sincronização de memória. 
 
12) O que é falso compartilhamento? Como ele é causado? O que pode ser feito para reduzir o 
número de falsos compartilhamentos em um SMP? 
 
13) A figura 5 apresenta, para duas aplicações diferentes, os impactos causados pelo aumento do 
número de processadores (em um multiprocessador) sobre as taxas de falhas convencionais e decoerência. 
ñ Explique a relação entre coerência de cache e o número de processadores relacionando sua 
explicação com o gráfico da figura 5a. 
ñ A figura 5b mostra que nem sempre os impactos causados pelo aumento do número de 
processadores são percebidos. A que se deve esta situação? 
 
 
 (a) (b) 
 Figura 3 
 
14) Descreva as vantagens e desvantagens do uso de uma Memória Compartilhada Distribuída

Continue navegando