Buscar

UNIVESP - 2020 - Exercício de apoio 1 - Semana 4_ 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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

ORGANIZAÇÃO DE COMPUTADORES
Linguagens assembly, compilação e
desempenho4
 
Assinale Verdadeiro ou Falso. (Questões 1 a 5)
EXERCÍCIOS DE APOIO
Apenas para praticar. Não vale nota.
Para implementar as chamadas de funções/procedimentos (procedure call) em assembly do
MIPS, utilizam-se as instruções jal e jr. É necessário salvar os registradores $s, que serão
utilizados pela função na pilha, e restaurá-los antes de retornar.
( ) Verdadeiro 
( ) Falso
A resposta correta é: Verdadeiro.
 
1.
Caso seja um procedimento folha, é necessário salvar o registrador $ra.
( ) Verdadeiro 
( ) Falso
RESPOSTA:
A resposta correta é: Falso - Os procedimentos folha não chamam outros procedimentos e
assim não é preciso salvar $ra. Funções que chamam outras funções devem salvar $ra
antes de chamar a função para poder retornar ao ponto de chamada.
 
2.
As arquiteturas dos conjuntos de instruções de ARM e MIPS são similares, sendo ambos
RISC. Uma das diferenças está no número de registradores disponíveis.
( ) Verdadeiro 
( ) Falso
RESPOSTA:
A resposta correta é: Verdadeiro.
 
3.
Um conjunto de instruções complexo torna a implementação mais difícil. Assim, na
arquitetura IA-32, ocorre a tradução das instruções para microoperações, que são similares
às instruções RISC.
( ) Verdadeiro 
( ) Falso
RESPOSTA:
A resposta correta é: Verdadeiro.
 
4.
Devido à decisão de manutenção de compatibilidade da ISA, o número de instruções
existentes na arquitetura x86 manteve-se constante ao longo do tempo.
( ) Verdadeiro 
( ) Falso
RESPOSTA:
A resposta correta é: Falso - O número de instruções existentes na arquitetura x86 cresceu
significativamente ao longo do tempo, pois a decisão de manter a compatibilidade implica
em manter instruções antigas mesmo com a adição de novas instruções.
 
5.
Faça o download e execute o tutorial do simulador MARS (download e tutorial disponível em
https://courses.missouristate.edu/KenVollmar/MARS/
(https://courses.missouristate.edu/KenVollmar/MARS/) . Familiarize-se com as ferramentas
disponíveis (menu Tools).
Leia e entenda o código em assembler para o cálculo de números de Fibonacci, disponível
em https://courses.missouristate.edu/KenVollmar/MARS/Fibonacci.asm
(https://courses.missouristate.edu/KenVollmar/MARS/Fibonacci.asm) .
Modifique o código para que o tamanho do vetor seja 5. Execute o código no simulador
MARS.
Responda:
6.
Qual o número total de instruções executadas? Como é a distribuição para as
seguintes classes: ULA, desvio (branch e jump) e memória (load e store)?
RESPOSTA:
Utilizando a ferramenta Instruction Statistics, obtém-se que o número total de
instruções é 94, sendo 54 de ULA, 10 de desvio (branch e jump) e 17 de memória
(load e store). 
a.
Como é a distribuição das instruções nos tipos R, I e J?
RESPOSTA:
Utilizando a ferramenta Instruction Counter, obtém-se que a distribuição das
instruções é: R = 21%, I = 77% e J = 1 %. 
b.
https://courses.missouristate.edu/KenVollmar/MARS/
https://courses.missouristate.edu/KenVollmar/MARS/Fibonacci.asm
 
Quais os valores dos registradores $s e $t utilizados ao final da execução? Justifique
todas as respostas, e mostre os resultados no simulador.
RESPOSTA:
Os valores dos registradores $s e $t utilizados ao final da execução são indicados
nas figuras a seguir. 
c.
Este é um trecho de código para o MIPS:
 lw $v1, 0($a0) 
 addi $v0, $v0, 1 
 sw $v1, 0($a1) 
 addi $a0, $a0, 1
Considere as seguintes afirmações sobre esse trecho de código.
7.
A memória de instruções é acessada duas vezes.I.
Assinale a alternativa correta:
RESPOSTA:
A resposta correta é a alternativa c) "Apenas a afirmação II está correta."
 
A memória de instruções é acessada quatro vezes.II.
A memória de dados é acessada quatro vezes.III.
Apenas as afirmações I e III estão corretas.a.
Apenas as afirmações II e III estão corretas.b.
Apenas a afirmação II está correta.c.
Apenas a afirmação I está correta.d.
As afirmações I, II e III estão corretas.e.
Considere as seguintes afirmações sobre tipos de conjuntos de instruções.
Assinale a alternativa correta:
RESPOSTA:
A resposta correta é a alternativa d) "Apenas a afirmação II está correta."
 
8.
Uma arquitetura RISC (Reduced Instruction Set Computer) se caracteriza pela
redução do tempo médio de execução das instruções de máquina.
I.
Uma arquitetura CISC (Complex Instruction Set Computer) se caracteriza por ter
instruções mais complexas, objetivando diminuir o número de instruções que um
programa necessita para sua implementação.
II.
Em arquiteturas RISC (Reduced Instruction Set Computer), tipicamente há pouco
trabalho para o compilador.
III.
As afirmações I, II e III estão corretas.a.
Apenas a afirmação I está correta.b.
Apenas a afirmação III está correta.c.
Apenas a afirmação II está correta.d.
Apenas as afirmações I e II estão corretas.e.
Considere as seguintes afirmações:
Assinale a alternativa correta:
RESPOSTA:
A resposta correta é a alternativa d) "Apenas a afirmação III está correta."
 
9.
Um conjunto de instruções mais complexo implica em desempenho melhor.I.
Programas escritos em linguagem assembly terão obrigatoriamente melhor
desempenho.
II.
Atualmente, os compiladores conseguem lidar com paralelismo em nível de instrução
e hierarquia de memória melhor do que a maior parte dos programadores.
III.
As afirmações I, II e III estão corretas.a.
Apenas a afirmação II está correta.b.
Apenas as afirmações I e III estão corretas.c.
Apenas a afirmação III está correta.d.
Apenas a afirmação I está correta.e.
Considere as seguintes afirmações sobre os princípios de projeto do MIPS.10.
Assinale a alternativa correta:
RESPOSTA:
A resposta correta é a alternativa a) "As afirmações I, II e III estão corretas."
 
Um dos princípios de projeto do MIPS é que a simplicidade favorece a regularidade.
Por exemplo, todas as operações aritméticas têm a mesma forma, o que aumenta o
desempenho.
I.
Outro princípio de projeto do MIPS é que menor é mais rápido, e está relacionado ao
uso de banco de registradores e seu tamanho.
II.
Outro princípio de projeto do MIPS está relacionado ao uso do campo imediato nas
instruções. Como constantes pequenas são comuns, utilizar o imediato evita o uso
de instruções de acesso à memória.
III.
As afirmações I, II e III estão corretas.a.
Apenas a afirmação I está correta.b.
Apenas a afirmação II está correta.c.
Apenas as afirmações I e II estão corretas.d.
Apenas a afirmação III está correta.e.
Considere as seguintes afirmações sobre organizações de computadores.
Assinale a alternativa correta:
RESPOSTA:
A resposta correta é a alternativa e) "Apenas as afirmações II e III estão corretas."
 
11.
Em um processador com organização do tipo load/store, somente é possível realizar
operações aritméticas com operandos em registrador.
I.
Em um processador com organização baseada em acumulador, um dos operandos
está no registrador acumulador obrigatoriamente.
II.
Em um processador com organização do tipo memória-memória, é possível realizar
operações aritméticas com um operando na memória.
III.
Apenas a afirmação I está correta.a.
Apenas a afirmação II está correta.b.
Apenas a afirmação III está correta.c.
As afirmações I e II e III estão corretas.d.
Apenas as afirmações II e III estão corretas.e.
As questões a seguir tratam da tradução de C para MIPS. Assuma que as variáveis g, h, i e j
são dadas e podem ser consideradas inteiros de 32 bits, como declarado em um programa
em C.
RESPOSTA:
12.
f = g + h + i + j;a.
f = g + (h + 5);b.
Para as linhas em C acima, qual é o código assembly MIPS correspondente? Use o
número mínimo de instruções assembly MIPS.
I.
Para as linhas em C acima, quantas instruções em assembly MIPS são necessárias
para executar cada linha?
II.
Se as variáveis f, g, h, i e j têm valores 1, 2, 3, 4 e 5, respectivamente, qual o valor
final de f?
III.
 
 
ESCONDER
GABARITO
 
I-a) add f, g, h 
add f, f, i 
add f, f, j
I-b) addi f, h, 5 
addi f, f, g
II-a)3
II-b) 2
III-a) 14
III-b) 10
 
As questões a seguir tratam da tradução de MIPS para C. Assuma que as variáveis g, h, i e j
são dadas e podem ser consideradas inteiros de 32 bits, como declarado em um programa
em C.
RESPOSTA:
I-a) f = g + h
I-b) f = g + h
II-a) 5
II-b) 5
13.
add f, g, h 
 
a.
addi f, f, 1 
add f, g, h
b.
Para as linhas em assembly MIPS acima, qual é o código em C correspondente?I.
Se as variáveis f, g, h, e i têm valores 1, 2, 3 e 4, respectivamente, qual o valor final
de f?
II.

Continue navegando