Buscar

Atividade para avaliação - Semana 5 - ORGANIZAÇÃO DE COMPUTADORES - EIC001

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

16/11/2020 Teste: Atividade para avaliação - Semana 5
cursos.univesp.br/courses/3214/quizzes/13131/take 1/4
2 ptsPergunta 1
Afirmativas II, III e V.
Afirmativas III, IV e VI.
Afirmativas I, III e VI.
Afirmativas II, III e VI.
Afirmativas, I, III e V.
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 já esteja armazenado quando for lido; e c) usar um hardware de
II.
16/11/2020 Teste: Atividade para avaliação - Semana 5
cursos.univesp.br/courses/3214/quizzes/13131/take 2/4
Afirmativas I, III e VI.
Afirmativas, I, III e V.
Afirmativas II, IV e VI.
Afirmativas II, III e IV.
Afirmativas I, II e III.
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
 
16/11/2020 Teste: Atividade para avaliação - Semana 5
cursos.univesp.br/courses/3214/quizzes/13131/take 3/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 3, entre $t1 e $t2 e podemos resolver trocando a ordem de 1 com 3.
Existe dependência entre as instruções 1 e 2, entre $t1 e $t2 e podemos resolver trocando a ordem de 1 com 2.
Existe dependência entre as instruções 2 e 3, entre $t1 e $t2 e podemos resolver trocando a ordem de 3 com 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.
Alternativas:
2 ptsPergunta 4
Afirmativas II, III e V.
Afirmativas I, III e IV.
Afirmativas I, III e VI.
Afirmativas, I, IV 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
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
16/11/2020 Teste: Atividade para avaliação - Semana 5
cursos.univesp.br/courses/3214/quizzes/13131/take 4/4
Salvo em 22:46 
7,22
6,22
5,0
2,78
1,78
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

Continue navegando