Buscar

GABARITO-TOP-AV-ARQ-MM-Prova-AV1-2019-1

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 5 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

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

TÓPICOS AVANÇADOS EM ARQUITETURA DE COMPUTADORES – AV1 – 2019.1
GABARITO
1 -	C		5 - C
2 –	D		6 - B
3 –	E		7 - C
4 -	E		8 - D
0,5 pt 1. O processador AMD Athlon 64 X2 3800+ núcleo “Windsor” é usado sobre o soquete AM2, que possui 940 pinos. Do processador, são conectados barramentos que levam ao sistema de Memória Principal e ao chipset de controle do Sistema de E/S.
O barramento conectado ao sub-sistema de E/S é denominado HyperTransport 2.0. Utilizando-se um modelo mais avançado do barramento, pode-se obter uma velocidade de 2 GHz (frequência do relógio/”clock”), e uma largura de dados ainda maior, com 32 bits em cada direção.
Sabendo que o referido barramento transfere quatro vezes a quantidade de dados a cada ciclo de clock, calcule a Taxa de Transferência em bytes em cada direção?
1. 125 MBps;	B) 4.000 MBps		C) 235 Bps	D) 226 bps		E)250 Mbps
Resp: Taxa Transferência = Veloc x L bps (bits por seg). 
V ou frequ do relógio (“clock”) = 2 GHz ou 2 Gbps/fio e a Largura = 32 bits. 
O cálculo de Taxa T deve considerar que são enviados 4 bits por fio a cada pulso e deve ser multiplicado por 4.
Taxa T= 2 G x 32 x 4 (porque transfere 4 bits por pulso de relógio (“clock”) = 256 Gbps
Como se deseja a resposta em Bytes e 1 B (byte) = 8 b (bits), então, é necessário dividir o resultado por 8.
256 Gbps / 8= 32 GBps e como 32 = 25 e 1G = 230, 32 GBps = 235 GBps
OPÇÃO C
0,5 pt 2. No passado, um dos grandes gargalos de desempenho dos sistemas de computação era a enorme diferença de tempo de transferência entre Processador e Memória Principal. Esse problema foi equacionado e solucionado em grande parte com a inclusão das Memórias Cache entre o Processador e MP. Observe as afirmativas sobre memória cache a seguir e assinale a opção correta de afirmações Falsas (F) e Verdadeiras (V):
I. O número de blocos da memória principal é igual ao número de linhas da memória cache.
FALSO- sempre haverá muito mais blocos na MP do que na Cache.
II – A existência das Cache é decorrente da descoberta do Princípio da Localidade Temporal, devido a redução do tempo de transferência dessas memórias.
FALSO- sua existência é devido ao princípio da localidade ESPACIAL.
III- As memórias cache só funcionam como dispositivo de armazenamento se estiverem localizadas no interior do chip do processador
FALSO- poderá haver sim Caches na placa mãe. Atualmente, isso não tem ocorrido devido à necessidade de maior rapidez (vir da placa mãe leva muito mais tempo do que do interior do processador) e haver disponibilidade de espaço no interior do processador para colocar Caches L1, L2 e até L3 (transistores com menor espessura)
IV. o tempo de acesso das memórias cache é superior ao dos registradores
VERDADEIRO- os registradores são mais rápidos que as cache
V. Eficiência das memórias Cache é calculada pela relação entre a quantidade de Acertos e a quantidade de Faltas.
FALSO- a eficiência é calculada pela relação de Acertos sobre Total de acesso em um período
A) F -F -V – F -V	B) F -V – F – V -F		C) V -F -F -V -F	D) F -F - F – V – F		E) F -V -F - F- F
Resp: OPÇÃO D
0,5 pt 3. Um conjunto de instruções de máquina de um sistema de computação é definido em projeto do fabricante do processador, de modo a possuir instruções aritméticas, instruções de movimentação de dados, instruções de entrada e saída, instruções de desvio de controle e outras mais, especificadas pelo projetista segundo as estratégias concebidas para aquele processador. Além disso, cada instrução possui um formato, também definido no projeto, sempre constituido de, pelo menos, duas partes; algumas instruções podem ter 3 partes e outras até 4 partes. Como cada instrução a ser executada fica armazenada no registrador de instrução - RI (em grande parte dos processadores), a qual dispositivo do processador é conectada a saída do RI? Qual é a parte da instrução cuja largura em bits determina o limite máximo de instruções de máquina de um processador? Qual é o dispositivo do processador contém os elementos básicos para emissão dos sinais de controle que comandam a execução das atividades de um ciclo de instrução? 
( ) A – Campo de operando – contador de instrução – Registrador de Controle
( ) B – Decodificador de Instrução – Campo Operando - Multiplexador de instrução
( ) C – Unidade de Controle - Campo Operando – Registrador de Controle
( ) E - Campo de controle – Contador de instrução (C I) - Decodificador de Endereços de Instruções
( ) E – Decodificador de instrução - Código de operação – Unidade de controle
Resp:
O ciclo de uma Instrução determina, em seu passo 3, que, depois de buscar a cópia da Instrução na Memória (armazena no RI) , ele deve ser interpretada (decidir que operação será realizada). Desse modo, a saída do RI (parte do C.Op. é conectada ao decodificador de instrução, para, justamente, ser determinada qual operação será executada.
O código da operação é a parte do formato da instrução de máquina que indica qual é a operação e seu algoritmo de execução. Assim, se o C.Op tiver 4 bits de largura, p.ex., haverá 16 C.Op (24 = 16) e haverá, então, 16 instruções de máquina possíveis. E assim por diante.
Depois de decodificada e descoberta a operação a ser reaizada, a saída do decodificador de instrução habilita a sequência de execução da específica operação (etapa do Ciclo de Instrução de execução da instrução). A referida sequência é estimulada pela sucessão de sinais de controle oriundos da Unidade de Controle (cérebro do processador), que contém a programação de execução de cada instrução.
Decodificador de Instrução – Código de Operação – Unidade de Controle
OPÇÃO E
0,5 pt 4. Suponha um sistema de computação que tenha uma memória principal (MP) com capacidade máxima de 8GB, sendo endereçado byte a byte. E também possui uma memória cache, organizada com método de mapeamento associativo completo (“full associative”), tendo linhas de 64 bytes. Calcule a capacidade da Cache, em bytes, sabendo-se que o sistema de controle da cache possui 8192 (8K) registradores de comparação para fazer o sistema funcionar com a máxima rapidez possível na parte de mapeamento de endereços.
A) 2MB	B) 256KB	C) 1MB		D) 128KB 	E) 512KB
Resp: Para que a cache funcione com máxima rapidez na parte do mapeamento de endereço em um sistema associativo completo, é necessário que a verificação se o bloco acessado se encontra na cache seja feita por comparação simultânea entre o bloco desejado e todos os blocos armazenados um em cada linha. Ou seja, deverão existir tantos registradores de comparação quantas linhas da cache. 
Por exemplo, suponha uma cache que tem 512 linhas, cada uma tem um campo TAG indicando o bloco que está atualmente armazenada naquela linha. E o processador, em um acesso, deseja um dado que faz parte do bloco X. O sistema de controle da cache coloca X em TODOS os 512 registradores de comparação (uma parte do registrador terá X e outra parte o end do bloco armazenado e simultaneamente eles passam por um circuito lógico XOR. Se houver igualdade (só poderá ser em um registrador) – saída 0 do XOR – então este bloco é o desejado e o sistema localiza a célula (byte) pelo campo endereço de byte. Caso contrário – saída 1 do XOR – haverá uma FALTA (“Miss”).
No problema em questão, já se sabe que existem 8192 (8K) registradores de comparação e o que se deseja saber, então, é a capacidade da cache em Bytes. Sabendo-se que há 8K linhas e que cada linha tem largura de 64 Bytes, basta multiplicar: 
Capacidade da cache = 8K linhas x 64B = 512K bytes
OPÇÃO E
0,5 pt 5. Um determinado sistema de computação suporta memórias do tipo DRAM com palavras de 4 bits por célula e 4 “camadas” (também chamadas de pastilhas ou bancos), sendo que, cada camada armazena um dos 4 bits da célula. Para cada “camada”, saem 18 fios, através do barramento de endereços, até o registrador de endereços, e dele saem 9 fios para o MPX de Endereços de linha, e 9 fios para o Decodificador de coluna, resultando em 512 linhas * 512 colunas * 4 bits em cada célula.
Observe a imagem a seguir, referente ao textoacima:
Se a capacidade total da memória é obtida através do somatório da capacidade total de endereçamento com a palavra de cada célula em cada “camada”, ou banco, qual é a capacidade dessa MP em bits?
A) 256 Kbits;	B) 512Kbits;	C) 1Mbits;		D) 4 Mbits;	E) 8 Mbits
Resp: 1 célula = 4 bits 
Cada endereço é representado por um número de 18 algarismos (18 bits), sendo 9 bits para endereço de linha e 9 bits para endereços de coluna.
Capacidade total de bits será = total de endereços (TE) * largura de cada endereços (LE)
TE= 512 *512 = 29 * 29 = 218 = 256K endereços
LE = 4 bits (conforme enunciado)
Então, total de bits = 256K * 4 = 1M bits
OPÇÃO C
0,5 pts 6. Considere um processador que possui um conjunto com 80 instruções de máquina. Neste conjunto, há uma instrução de adição (AD), que consome 10 ciclos de relógio; uma instrução de subtração (SU), que gasta 12 ciclos para sua execução, como também uma instrução de multiplicação (MU), com 15 ciclos e uma de divisão (DI) com 18 ciclos. Em dado momento, o processador executa a seguinte sequência de instruções:
SU – DIV - AD
Considerando que o processador é de uma versão lançada com relógio (“clock”) de 2 GHz, qual deve ser o desempenho dessa máquina em MIPS (milhões de instruções por segundo), considerando-se a execução das 3 instruções acima?:
A) 250	B) 150 		C) 400		D) 180		E) 50 
Resp: A quantidade de ciclos gasta com a execução das 3 instruções é: 12 + 18 + 10 = 40 ciclos.
Se o relógio (“clock”) tem frequência de 2 GHz, então cada ciclo dura 1 / F ou 1 / 2G ou 1 / (2 x 10-9) = 0,5 nanoseg
Então, o total de tempo de realização das 3 instruções é 40 x 0,5 = 20 nanosegs.
Para se saber quantos MIPS (milhões d einstruçõse por segundo) fa-se uma regra de três, assim:
		3 instruções--------------20 x 10-9 seg
		X instruções---------------------1 segundo
Resolvendo, tem-se que:
X = 3 / (20 x 10-9) ou x = 3 / 2 x 108 instruções ou 1,5 x 108 ou 150 x 106 instruções. Como 106 = milhão, então o total de instruções por segundo é 150 Milhões ou 150 MIPS
OPÇÃO B
0,5 pt 7. Um computador é constituido de um sistema de armazenamento que compreende uma cache com dois níveis (L1 e L2). Suponha que 65% das referências à memória obtêm presença na cache nível 1, 30% na cache nível 2 e os 5% restantes não estão em cache (estão, consequentemente, em MP). Se os tempos de acesso são de 5 ns, 20 ns e 50 ns, respectivamente, qual é o tempo médio de acesso do sistema?
A) 13		B) 14,25		C) 14, 50 		D) 11,25		E) 12,75 
Resp:
Neste caso, tem-se 4 elementos de armazenamento com seus tempos de transferência e sua parte na eficiência global do sistema. Do tempo total de acessos do processador (100%), em 65% dele o dado é encontrado na cache L1 e gasta-se 5 ns para a transferência L1-Processador. Em 30% dele ele não está na cache L1 e sim na L2; nesse caso, o sistema tem que inicialmente transferir o bloco que contém o dado, da cache L2 para L1 (gasta 20 ns) e ainda enviá-lo da L1 para o processador (gasta mais 5 ns); total de 25 ns. Finalmente, em 5% das vezes, o dado não está nem na L1 e nem na L2 (está na MP). O sistema gasta bem mais, pois tem que trazer o bloco da MP para cache L2 (gasta 50 ns), daí levar um bloco menos da L2 para a L1 (gasta mais 20 ns) e finalmente 5 ns para levar efetivamente o dado para o processador: total de 75 ns
O tempo médio será a média ponderada desses 3 tipos de tempo:
Tempo M = ((65 x 5) + (30 x 25) + (5 x 75)) / 100 ou (325 + 750 + 375) / 100 = 1450 / 100 = 14,50
OPÇÃO C)
0,5 pts 8. A memória de um computador é organizada em uma estrutura hierárquica composta de múltiplos níveis: memória principal, memória cache e registradores. Considere um sistema computacional com palavra de dados de 32 bits e que possua um único nível de memória cache, com caches de instrução e de dados separadas, cada uma com capacidade de 16 palavras (64 Bytes). Analise as seguintes assertivas e assinale a alternativa correta:
I. A memória cache promove ganho de desempenho na execução de um programa apenas quando este exibe algum nível de localidade no acesso às instruções e/ou dados.
CERTO – o princípio da localidade é que acarreta ganho de desempenho do sistema com cache. 
II-Se a cache de dados for baseada no mapeamento direto, para se obter uma maior taxa de acertos na execução de um programa com alta localidade espacial no acesso a dados, é melhor organizar essa cache em 16 blocos com 01 palavra/bloco do que em 04 blocos com 04 palavras/bloco.
ERRADO – contrário. É preciso haver diversos bytes no bloco e não apenas uma.
III. Para programas que exibam localidade temporal no acesso às instruções, para obter uma menor taxa de faltas, é melhor que a cache de instruções seja baseada no mapeamento associativo de duas vias do que no mapeamento direto. Isso se justifica porque o mapeamento associativo oferece alternativas de blocos para carregar uma posição da memória principal na cache e isso reduz a necessidade de substituição de blocos na cache.
CERTO- havendo localidade temporal o mapeamento direto é péssimo
A) Todas as três afirmações estão corretas.
B) Apenas as afirmações I e III estão corretas
C) Apenas as afirmações II e III estão corretas.
D) Apenas as afirmações I e II estão corretas.
E) Apenas as afirmação I está correta
OPÇÃO B)
1 pt 9. Supondo um sistema de computação que possua memória principal, cujo endereçamento é realizado a nível de byte e que possua uma cache única e que, em dado momento o processador coloca o seguinte valor no barramento de endereços (BE):
					1001 0001 1111 1100 0001 1101
Suponha ainda que o sistema usa método de mapeamento associativo por conjunto de 4 vias, que a MP é vista pelo controle da cache como um conjunto de blocos de 32 Bytes e que são previstos sempre uma quantidade de 64 blocos em cada conjunto da cache. Considerando que o formato de endereço para acesso pelo controle da cache é:
			 CONJUNTO - BYTE - TAG
Calcule a capacidade da memória Cache em bytes.
Resp: Para saber capacidade da cache é preciso saber qtas linhas ela possui e multiplicarmos pela largura de 1 linha, no caso é 32 Bytes.
Se soubermos qtos conjuntos e multiplicar por 4 (o mapeamento é associativo por conjunto de 4 vias), teremos qtda de linhas.
Como o endereço total no BE tem 24 bits (6 grupos de 4 bits cada), o campo conjunto é obtido da diferença entre 24 menos 5 (campo byte) e menos 6 (campo TAG, pois são 64 blocos por conjunto)
	Conjunto
	Byte
	TAG
		13			5 bits			 6 bits
24 – 6 – 5 = 13 bits e teremos 213 = 8K conjuntos.
Multiplicando o total de conjuntos por 4, tem-se o total de linhas: 8K x 4 = 32K linhas = 215 linhas
Como cada linha tem 32Bytes, então total de bytes é 32K x 32 B ou 215 x 25 = 220 = 1Mega
Total de bytes = 1MB bytes
1 pt 10 . Estudando civilhizações passadas, o Dr Aston Kueller encontrou os Zembronians, os quais usavam um alfabeto com 40 caracteres, realizavam matemática com apenas 6 algarismos e possuiam 12 símbolos adicionais para pontuação em textos, indicação de operações e outros itens. Os Zembronians não usavam ainda computadores digitais (linguagem binária), mas há relatos que estavam se preparando para isso, o que implicava na escolha previa de um código de representação de seus símbolos.
Se existisse na época um especialista em computação, ele poderia ajudar criando o código apropriado para representação dos símbolos usados pelos Zembronians. Qual deveria ser a quantidade mínima de bits do referido código que ajudaria os Zembronians a implementar seus sistemas de computação?
Resp:
Como o sistema a ser projetado possuía 40 símbolos para caracteres do alfabeto mais 12 símbolos para demais representações (elementos de ontuação, indicação de operações, etc), em um total de 52 símbolos, o código a ser usado deveria ter um mínimo de 6 bits para representar todos os 52 símbolos (com 5 bits seriam, no máximo, 25 = 32 símbolos, inferior aos 52 necessários. Com 6 bits, seria 26 = 64 números, suficiente para representar os 52 símbolos e ainda com sobra de 12 números para futuras inclusões, se desejado.
Código de6 bits.

Continue navegando