Você está na página 1de 2

SOFTWARE BSICO PROVA 1 2015/1

1 - O mundo das CPUs se divide em duas faces hoje: os seguidores da


seita RISC, e os seguidores da CISC. Como em qualquer disputa, ambos
possuem vantagens e desvantagens. Responda:
a) Apresente uma razo para escolher uma mquina CISC em relao
RISC e explique. (2 pontos)
b) E a RISC, porque ela to popular em relao arquitetura CISC
nos dispositivos mveis? (2 pontos)
c) Como um CPU RISC consegue um bom desempenho, apesar de
precisar de mais instrues para fazer o mesmo trabalho que uma
mquina CISC? (2 pontos)

2 O trecho de cdigo abaixo parte de um programa de torres de Hanoi


no MIPS:
.data
.align4
input:.asciiz"\nEnternumberofdisks>"
move_d:
.asciiz"Movedisk:"
from: .asciiz"frompeg:"
to:
.asciiz"topeg:"
new_line:.asciiz".\n"
DONE:.asciiz"\nDone.\n"
.text
.globlmain#Allowotherstocallmain
main:add $fp,$zero,$sp; #settheframepointer
li
$2,4;
#Systemcodeforprintstring
la
$4,input;
#Argumentstringasinput
syscall;
#Printthestring
li
$2,5;
#Systemcallcodetoreadint
syscall;
#Readit
add $a0,$zero,$v0; #movenumberintoarg1
addi $a1,$zero,1;
#putoneintoarg2
addi $a2,$zero,2;
#puttwointoarg3
addi $a3,$zero,3;
#putthreeintoarg3
jal hanoi;
#jumpandlinktohanoi
Exit:li
$v0,4;
#printdone
la
$a0,DONE;
syscall;
li
$2,10;
#Systemcallcodeforexit
syscall#exit

a) Apresente a tabela de smbolos gerada na primeira passada do


montador para o programa acima. Voc pode inventar endereos para as
variveis. Para os desvios assuma que todas as instrues possuem o
mesmo tamanho (4 bytes). (3 pontos)
b) Apresente a estrutura do arquivo objeto (gerado depois da execuo do
montador). Indique quais smbolos voc teria no arquivo objeto para que
sejam resolvidas as referncias externas e internas. Assuma que qualquer

smbolo no definido no arquivo acima est em outros mdulos do


programa, ou so bibliotecas. (3 pontos)
c) Diga quais instrues o carregador vai ter que modificar antes de
executar o programa (voc pode dar s o nome) e explique o que deve ser
mudado. (3 pontos)

3 Rapidinhas. Responda sempre justificando: (1 ponto cada)


a) D dois exemplos de pseudo-instrues em uma linguagem de
montagem.
b) Um aluno de software bsico est rodando um emulador de Super
Nintendo para Windows. Qual nvel, na organizao de camadas,
est sendo emulado? E o emulador, est rodando em qual nvel?
c) Um compilador gera micro-programas?
d) Porque dividir a execuo de uma instruo em diversas etapas
bom para processadores que usam pipeline?
e) Descreva um programa (ou uma situao) em que importante
saber se o seu computador little endian ou big endian.
f) Porque hoje as arquiteturas modernas preferem ter muitos
registradores, do que sempre operar com dados em memria?

Você também pode gostar