Buscar

resp_lista_ex_ac_si_5

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

Prévia do material em texto

UNIVERSIDADE FEDERAL DE GOIÁS 
INSTITUTO DE INFORMÁTICA 
ARQUITETURA DE COMPUTADORES 
 
 
Exercícios – Lista 5 
 
1. Suponha que você tenha uma máquina com pipeline implementado assumindo 
que os desvios nunca serão realizados. Se cada instrução leva 1 ciclo, e a 
penalidade (caso o desvio seja realizado) leva 5 ciclos, quantos ciclos serão 
gastos para executar o programa abaixo quando as posições 13 e 14 contêm 
(a) 1 e 5, (b) 5 e 1, (c) 1 e 1, respectivamente? 
 
00: LOD 13 
01: SUB 14 
02: JMN 7 
03: JMZ 10 
04: LOD-C -1 
05: STO 15 
06: JMP 12 
07: LOD-C 1 
08: STO 15 
09: JMP 12 
10: LOD-C 0 
11: STO 15 
12: HLT 
13: 
14: 
15: 
 
 
Mnemônico Significado 
SUB X Subtrai o conteúdo do endereço X de 
AC 
LOD X Carrega o conteúdo de X no AC 
LOD-C X Carrega o número X no AC 
STO X Armazena o conteúdo de AC no 
endereço X 
JMP X Desvia controle para o endereço X 
JMZ X Desvia para o endereço X se AC for 
zero 
JMN X Desvia para o endereço X se AC for 
negativo 
HLT Finaliza processamento 
 
 
 
 
Resposta: as seguintes instruções, e tempo em ciclos, serão realizadas 
para cada caso: (a) 00 -> 01 -> 02 => 07 -> 08 -> 09 => 12 [totalizando 17 
ciclos], (b) 00 -> 01 -> 02 -> 03 -> 04 -> 05 -> 06 => 12 [totalizando 13 
ciclos], (c) 00 -> 01 -> 02 -> 03 => 10 -> 11 -> 12 [totalizando 12 ciclos]. 
Note que cada instrução gasta 1 ciclo, a menos que seja um desvio e este 
seja realizado. Neste caso (simbolizado por =>), além do 1 ciclo da 
instrução, adiciona-se 5 ciclos de penalidade. 
 
 
2. Considere um processador no qual 20% das instruções são desvios 
condicionais e os outros 10% são desvios do tipo loop. Os desvios condicionais 
podem ser previstos com 70% de acerto e os desvios do tipo loop com 90% de 
acerto. A penalidade no caso de previsão errada é de 5 ciclos. Não existe 
penalidade para desvios incondicionais ou desvios previstos corretamente, ou 
seja, neste caso gasta-se um ciclo. Calcule o tempo médio de execução de 
uma instrução no pipeline deste processador. 
 
Resposta: Tme = 0,7*[1] + 0,2*[0,7*(1) + 0,3*(1+5)] + 0,1*[0,9*(1) + 
0,1*(1+5)] = 0,7 + 0,5 + 0,15 = 1,35 ciclos. 
 
3. O que significa as representação big-endian e little-endian? Qual é melhor? Dê 
a representação big-endian e little-endian para o número inteiro 15251. 
Assuma uma representação de 32 bits (4 bytes). 
Reposta: 
Significam duas formas distintas de se representar dados que cruzam a 
fronteira do byte. Nenhuma é melhor do que a outra visto que a escolha 
entre as duas pode ser feita de forma arbitrária. A representação de 15251 
em big-endian é 00000000 00000000 00111011 10010011, e em little-
endian é 10010011 00111011 00000000 00000000. 
4. Um computador tem uma cache de dois níveis. Suponha que 80% das 
referências à memória seja realizada pela cache de primeiro nível, 15% pela 
cache de segundo nível, e 5% pela memória principal. Os tempos de acesso 
são 5 ns, 15 ns e 60 ns respectivamente, sendo que os tempos para a cache 
de segundo nível e memória principal iniciam a contar no momento em que se 
sabe da sua necessidade (um acesso à cache de segundo nível só inicia 
quando ocorre uma falha na cache de primeiro nível). Qual é o tempo médio de 
acesso? 
Reposta: 
O tempo médio de acesso seria 0,8*5 + 0,15*(5 + 15) + 0,05*(5 + 15 + 60) 
que é igual a 11ns. 
 
5. Considere o algoritmo de Hamming para correção de erros simples. Assumindo 
a palavra de dados 11011110, determine quantos bits adicionais de verificação 
serão necessários e quais serão seus valores. 
 
Resposta: são necessário 4 bits adicionais de verificação. Os bits da 
palavra de código resultante, considerando o bit 1 como sendo o mais a 
esquerda, são: 1(?)2(?)3(1)4(?)5(1)6(0)7(1)8(?)9(1)10(1)11(1)12(0). 
Assumiremos paridade par. Como o bit 1 verifica os bits 3,5,7,9,11, seu 
valor deve ser 1. O bit 2 verifica os bits 3,6,7,10,11, e seu valor será 0. O bit 
4 verifica os bits 5,6,7,12 e seu valor será 0. E o bit 8 verfica os bits 
9,10,11,12 e seu valor será 1. Deste modo, a palavra código resultante será 
[1][0]1[0]101[1]1110

Outros materiais