Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ministério da Educação UNIVERSIDADE DE BRASíLlA Instituto de Ciências Exatas Dep. Ciências da Computação Disciplina: ClC 116394 - Organização e Arquitetura de Computadores - Turma A Prof.: Marcus Vinicius Lamar 2007/1 Nome: Matrícula:-------------------------------------------------- ------------------------ Prova 1 1) (4.0) Dada a Série de Fibonacci(n)={I,I,2,3,5,8,13,2l,34,55, ... }, e respeitando a convenção do uso dos registradores: a) (2.0) Escreva um procedimento não-recursivo em Assembly MIPS que a calcule o enésimo termo desta série. b) (1.0) Escreva o programa principal que leia do teclado o valor inteiro n e escreva "Fibonacci(%d)=%d\n" na tela do console SPIM. c) (1.0) Escreva a equação que define o número de instruções necessárias ao cálculo de Fibonacci(n) com base em n. 2) (2.5) A vida do programador em Assembly MIPS é bastante facilitada pelo montador SPIM, uma vez que o mesmo implementa de maneira automática, várias pseudo-instr.uções que são bastante úteis. Dado que BIG é uma constante imediata de 32 bits, SMALL uma constante de 16 bits, LABEL um endereço, implemente as seguintes pseudo-instruções: a) sw $tO, BIG($t1) b) bne $tO, SMALL, LABEL c) pop $tO d) ble $tO, $t1, LABEL e) subi $to, $t1, BIG # Memory [ $t1 +BIG ] = $tO # if ($tO!=SMALL) goto LABEL # Retira valor da pilha e coloca em $tO, e atualiza o topo ($sp) # if ($tO<=$t1) goto LABEL # $tO=$t1-BIG 3) (4,5) O seguinte fragmento de código processa dois arrays e produz um valor importante no registrador $vO. Considere que cada array consista de 2500 inteiros, indexados de O a 2499, que os endereços base dos arrays estejam em $aO e Sa l, e seus tamanhos (2500) estejam em $a2 e $a3. (1. sll $a2, $a2, 2 # tt710~ :ffvr2, pf.. {?ir> C:, t!-íf"'~tJt;,. ::;( 'i ~ sll $a3, $a3, 2 # t,< . ser:; v' t. •• '" (L add $vO, $zero, $zero #.-{;<i?0~=::.Of!......<!*'-7\/~~:-:<:""-------------------------------------- _ fl add $tO, $zero, $zero #---,b-h-"-,, ";-';-q->-*tk-;::W-=,,---,,-=:::::T----:---:-------;~-::-------------_ outer: t: add $t4, $aO, $tO # f.Jt<t :JC1~ -f' J!} Ú1v.v~ e.. t20?p J. Iw$t4, 0($t4) #.__ ~-=-:~"'-'--:;-':(':":~-=:....c'oP~JJL&.••...1!t.>....------------------------------ ( add $t1 , $zero, Szero #--'~L:c~~'-~>5':t1"-'--;-::-.,------__;_-:-----:--:-;-------------- inner:,2.. $t3,$a1,$t1 "\d.c:t # $~ -f<;It$11 q,lUIA e-.tah.fJ .k Iw $t3, 0($t3) #:....' ...l.lc•••.p.~dPk~~'"~(""2u:/":.!.te.=.!vq?=-,,..;,6~r"'"'~------_.---------- j. bne $t3, $14, skip r #. .;~) h:~ .c.t "t3 (í:t<-f ;. addi $vO, s-e. 1 # i,Jw~"""t (~YPl7Jj.A. çe f-.OA.~Pt L skip: ). addi $t1, $t1, 4 # r-i'"CA.e\=-'ê~C'9'_1._..."Joí""'{;__'1-'-:-~.L.-+--,-;..---------------------------_ ';L bne $t1, $a3, inner # ve,! ~ç,"" ~ ~ hr1,1l (,Ir-. ,re ;L addi $tO, $tO,.4 # ; r 0f c--'lvTPI <J;l4 Ib ~tf) ri) ::r:. bne $tO, $a2, outer # Vfh " F--.(; "" c.L q '/70,1v Li tv' I I-€ , l a) (1,5) Acrescente comentários ao código (nesta folha) e diga o que será retomado em $vO. r- ae ltetvV-.JOS 'J~J b) (1,0) Sabendo que temos três implementações do processador MIPS usando diferentes números de ciclos de clock para cada tipo de instrução. A::: 10r ~12/ . , ) /2 ~ Cf OJ I 0::: { i,«, '3) . ,. j ,z..ç;-úo J Instrução MP-} MP-2 MP-3 (1GHz) (l,5GHz) (2 GHz) Tipo-R 1 3 2 Tipo-I 2 I 3 Tipo-J 3 2 1 b.l ) (0,9) Quais os tempos que cada processador demora para executa~ este trecho? b.2) (0,1) Qual o fator de desempenho conseguido pela 2" versão do processador em relação à I" versão? c) (2,0) Sabendo que o código acima está localizado na memória no início do segmento de texto, endereço Ox00400000, realize a tradução para linguagem de máquina, escrevendo o conteúdo da memória de programa em hexadecimal. BOA SORTE! I)q) Ç;\9°YlqcLl' : VHC -Wfl-{rtft IJ _!:j/vovq j(aot ~1-- - Cl:!ikq(? I ro~_ - Li $X( 1 /.,J' $102, 1 t:;t7;' 1ty; 1q8> Z bhe g,A~Ij~J)1 FVlto. Vfdd j «ã, 1>qfJ J-1 C?Ldd 413-,J-"4J.0kL MfJVe. ~ tI j t:J- / Move 11.21 ~ t:3 qJd ~ :r ~ 8-/ ~Cf~ -1 bf)~ 1q~ ~n-rtD ) 000.( M (J J!- $Udi JT~ dr J v~ b) edo1jq .' IM~?1: "Ci5-Cí;B-- t(F)t/{)naCvi(" [VIt=5 ê-: o C"5>cí,' e !( ) :::-1, hQiJ1 t,,' , ~ç C,r( t 1\ h '1 ir oof : P:OfêQ: o TI!/( 1 . ?L obL - - 7)(/0T ~ ~ C;Jqf(T : ,I'dt rÚJ 2--{' 1Vif l ) d t--e h fJO 'tf,(/lp'rt 'J 7)3 cecc (v\Ovt ~5tf/ ~ II-J 1!fq GVé>!. fJ e r-. ;FC;if __ I- L~__"_C{~ ~9-'---'--------~- _ _ _ __ 5/!......!!.5~c--=-E/_í& _ i: ~ú~ 1 rir ,'r1'fll~ I) /1 a~ ~q~tJ2~~_ L?Yí C/f!!0 _ u~~i/0J 4 fi: dV(r,'t"l ~'- 9m;~~ Lq j~~/I7E~b 07~~""0 ~ôV~ fQ~)$?if pQL hboN1Uí ftOl/~ ~q-~.1 fÚq ~ 0. ~UJ) 1 ;JP JrvY"I),~ h'~Ch) I r;Y1U(i- c tJ q v~~ If fdíf t,'í~ lq 5}a e , ;JE'W(... CJYç&ft/~ &41ú~J~. 075f/tv G " --- - ------ I - b) qJd; :f~jli3l~/5~L -/hf; --±M) fMj ~Itl.& -- - c) LU ft:a-j oCJ.5(7) qddj ~yf/ ~5ç:'i d) tf;&7 1tifJ( $141 1t$! ; bV} ~t?i/t/ 1z-f;liDf i-41;f,c ~) tu i frM', ~I [31., .f{j [)(L ; 1vÃ; jt0/ t? Iú-C f ~ . oJ sukL ~ '1-.&) j AI) }o.f ?) TifO -r: ~t 2~OD (l+- 2-mp) :: 6;.t;lÇ.oCOL(: i 1 ri P o - 1- :: .O t 2.y(J o ( f +. 2;>().o (.<:: z. ) f 2~11·d, I-t-"t ) r-<;f;l/fJ;) ':- ~~91 {)(O-] :: ~1.2-~OOO N PD-,) ;:-C t?01) tr.f-1- -=-l1X 6 .2/;;:ç, 00f.j i 2X 31. 15~ ({)DfO f j)( o }/ló- _ ----41'1/-1:: qo63ibJ_ :: 6l ?6.?~ 5 _ I " _fl'1f- L -:.C5x. 6,Z~oôf{ +) X ~1, Znt~_IJD t -ZY.O )/ ~5G: A-r ~<- ~ qop~,y6:: 3'1 j~ V0 5 Árt-7: [z~ 0.1..»'004 f ?)(;1- 25:Ç;1JDO .ç IkO Jlzf-- f rr- t. -=- fé)/077151-5' ::- 7'-3) 13 frh5_ bQ 2,j 0 -= b~ r6ó - cl 0621 ~~~- I Cít dei #1; ~mto,)j lFAP 11 r; cr }rf~', C1dd :t t'J q;,oJ IU1 ( 1 LUJ $13) 0[$17) I i t Z. ~ tJVl~~!3i $tl{J 7~\ f 2- L]'2- - OLM Á tf v-a) iVefl 1 1 qol~~ !ll /~j~) ~ '1 f !Jhe fj I, ~ c, 'J/ )h~ 1 Ll-7 -qJJj $fo/~ ~ t ~ , bn€ ~ jqZ) d~ 0-10
Compartilhar