Buscar

Organizacao_de_Computadores_Atividade para avaliação - Semana 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

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

08/11/2020 Teste: Atividade para avaliação - Semana 5
https://cursos.univesp.br/courses/3214/quizzes/13131/take 1/4
2 ptsPergunta 1
Afirmativas, I, III e V.
Afirmativas II, III e VI.
Afirmativas I, III e VI.
Afirmativas II, III e V.
Afirmativas III, IV e VI.
Com relação ao ciclo de execução de uma instrução, quais afirmativas abaixo são verdadeiras.
 
Podemos dizer que o ciclo de execução de uma instrução tem as seguintes etapas:
busca da instrução, decodificação, cálculo dos endereços, busca de operandos,
execução e armazenamento do resultado da execução.
I.
Durante a etapa de decodificação, os bits menos significativos do campo de operando da
instrução são usados pela Unidade de Controle para gerar os sinais de controle que irão
gerenciar o processador na execução da instrução.
II.
Durante a operação de busca de instrução, os registradores Contador de Programa
(PC), Registrador de Endereço de Memória (MAR), Registrador de Buffer de Memória
(MBR) e Registador de Instrução, são necessários.
III.
Durante a etapa de execução, sempre é necessário o acesso à memória para leitura de
dados
IV.
Em um ciclo indireto, o operando que está na instrução é na verdade um endereço do
operando a ser processado, precisando para isto, mais uma leitura de memória.
V.
2 ptsPergunta 2
Com relação aos problemas de conflitos encontrados em processadores RISC que utilizam
pipeline, quais afirmativas abaixo são verdadeiras:
 
O conflito (hazard) estrutural ou de recursos em um processador com pipeline, acontece
quando duas ou mais instruções necessitam do mesmo dado que está sendo calculado
por outra instrução que ainda está no pipeline. Estes hazards são evitados no projeto do
processador e de seu conjunto de instruções. 
I.
O conflito (hazard) de dados ocorre quando uma instrução que está no estágio de
execução, necessita de um valor calculado por outra instrução, que ainda está no
pipeline e pode ser evitado de 3 maneiras: a) usando instruções NOP entre estas
instruções de modo a permitir que o dado esteja armazenado quando for lido, b) adiantar
a execução da instrução que gera o resultado necessário, de modo a permitir que o dado
II.
08/11/2020 Teste: Atividade para avaliação - Semana 5
https://cursos.univesp.br/courses/3214/quizzes/13131/take 2/4
Afirmativas II, IV e VI.
Afirmativas I, II e III.
Afirmativas, I, III e V.
Afirmativas I, III e VI.
Afirmativas II, III e IV.
já esteja armazenado quando for lido; e c) usar um hardware de adiantamento de dados
que permite que o resultado seja usado antes que seja armazenado. 
O conflito (hazard) de controle existe quando os sinais de controle gerados pela Unidade
de Controle, para duas instruções, são direcionados para o mesmo recurso. Para
minimizar isto, podemos ter um projeto onde os recursos que tenham concorrência
possam ser duplicados ou tenham sua utilização priorizada.
III.
O conflito (hazard) estrutural ou de recursos em um processador com pipeline, acontece
quando duas ou mais instruções necessitam do mesmo recurso (ULA, memória,
registradores etc.) ao mesmo tempo e são evitados no projeto do processador e de seu
conjunto de instruções.
IV.
O conflito (hazard) de dados ocorre quando duas ou mais instruções necessitam de um
valor que está armazenando na memória ou em um registrador e pode ser evitado
utilizando memórias e registradores com duas portas de saída.
V.
O conflito (hazard) de controle é gerado quando temos um salto condicional e a opção
da próxima instrução a ser executada após o salto não é a certa. Quando isto ocorre, é
necessário esvaziar o pipeline e começar a executar o caminho correto. Para minimizar
isto, podemos antecipar a execução do salto condicional, desde que não cause um
hazard de dados, e ou utilizar algoritmos de previsão de desvio.
VI.
2 ptsPergunta 3
Quais alternativa é verdadeira para o problema abaixo:
O trecho de código, da arquitetura MIPS com pipeline, abaixo faz a troca entre dois elementos de
um vetor. Existe algum conflito (hazard) de dados neste trecho? Se sim, como é possível
resolver o conflito alterando as ordens das instruções, mas mantendo a funcionalidade do
código?
 
1 lw $t0, 0($t1) # $t1 tem endereço base do vetor e $t0 recebe vetor[i] 
 
2 lw $t2, 4($t1) # $t2 recebe vetor[i+1] 
 
3 sw $t2, 0($t1) # vetor[i] recebe conteúdo de vetor[i+1] que está em $t2 
 
4 sw $t0, 4($t1) # vetor[i+1] recebe conteúdo de vetor[i] que está em $t0
 
08/11/2020 Teste: Atividade para avaliação - Semana 5
https://cursos.univesp.br/courses/3214/quizzes/13131/take 3/4
Existe dependência entre as instruções 2 e 4, entre $t0 e $t2 e podemos resolver trocando a ordem de 1 com
2.
Existe dependência entre as instruções 1 e 3, entre $t1 e $t2 e podemos resolver trocando a ordem de 1 com
3.
Existe dependência entre as instruções 2 e 3, entre $t1 e $t2 e podemos resolver trocando a ordem de 3 com
4.
Não temos nenhuma dependência de dados entre as instruções, pois todos os valores estão disponíveis em
um ciclo de clock após a execução das instruções.
Existe dependência entre as instruções 1 e 2, entre $t1 e $t2 e podemos resolver trocando a ordem de 1 com
2.
Alternativas:
2 ptsPergunta 4
Afirmativas I, III e VI.
Afirmativas, I, IV e V.
Afirmativas I, III e IV.
Afirmativas II, III e V.
Afirmativas III, V e VI.
Quais das afirmativas abaixo são verdadeiras:
O desdobramento (unrolling) de loops tem como objetivo:
Aumentar os acertos em acessos aos recursos de memória (registradores, caches de
dados e TLB).
I.
Diminuir a quantidade de memória necessária para armazenar o loop.II.
Aumentar o número de iterações de modo a evitar os conflitos (hazards) de recursos
que possam aparecer na execução do loop. 
III.
Aumentar o paralelismo de instruções de modo a melhorar o uso dos recursos em
arquiteturas pipeline super escalares.
IV.
Possibilitar a redução da carga de trabalho do loop, pela redução de vezes de execução
de algumas instruções.
V.
Diminuir a interação entre as instruções load/store e as instruções aritméticas e lógicas,
em uma arquitetura superescalar
VI.
2 ptsPergunta 5
08/11/2020 Teste: Atividade para avaliação - Semana 5
https://cursos.univesp.br/courses/3214/quizzes/13131/take 4/4
Nenhum dado novo para salvar. Última verificação às 19:23 
7,22
1,78
6,22
2,78
5,0
Considerando um processador RISC com pipeline de 5 estágios, qual seria o speedup (fator de
aceleração) de em comparação a um processador CISC, para a execução de 10 instruções que
utilizem todos os estágios do pipeline, sabendo-se que o tempo para execução no RISC e no
CISC é de 5 t e que t é o tempo de cada estágio de pipeline:
Enviar teste

Outros materiais