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 2008/2 Nome: Matrícula:--------------------------------------------------- ---------------- Prova 1 1) (4.0) Dado o polinômio de segundo grau P2 (a, b, c, x) = a.x: +b.x + c e respeitando a convenção do uso dos registradores: a)(2.0) Usando apenas 2 vezes a instrução de multiplicação, escreva um procedimento em Assembly MIPS que receba um ponteiro para um array int com os coeficientes coef=]a, b, c] e o valor x, retome o valor de P2. Use a seguinte declaração em C do procedimento: int P2 (int *eoef , int x); b)(2.0) Escreva um procedimento em Assembly MIPS que receba o ponteiro para o array float de coeficientes coef= [a,b,c], e retome na pilha as partes reais e imaginárias das raízes do polinômio na ordem ReI, Im l , Re2, 1m2 em precisão simples. Use a seguinte declaração em C do procedimento: void baseara (float *eoef); 2) (2.0) Para o padrão IEEE 754 de representação numérica de ponto flutuante, responda: a)(l.O) Dado um número real no intervalo [0,1] representado em precisão dupla neste padrão, em comparação com o mesmo número representado em ponto fixo Q63, analise: Qual a perda máxima de casas binárias sofrida? Qual a correspondente perda de representação em casas decimais? b)(0.5) Escreva em hexadecimal e em decimal o maior e menor números negativos representáveis em precisão simples (desconsiderando os números desnormalizados). c)(0.5) Qual o resultado em hexadecimal da seguinte expressão em ponto flutuante: Ox40300000+0xCOAAOOOI Ox3F800000+0xBF800000 3) (2.5) A vida do programador em Assembly MIPS é bastante facilitada pelo montador, uma vez que o mesmo implementa de maneira automática, várias pseudo-instruçõ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 de 32 bits, implemente as seguintes pseudo-instruções: a)(1.0) nabs $tO, $t1 b)(0.5) bgtu $tO, SMALL, LABEL c)(0.5) I.d $fO, LABEL d)(0.5) seq $tO, $t1, $t2 # $tO=(-1 )*I$t11 (sem utilizar branches) # if (unsigned($tO»unsigned(SMALL)) goto LABEL; # $fO=Memory[LABEL]; $f1=Memory[LABEL +4]; # if ($t1 ==$t2) then $tO=1; else $tO=O; 4)(2.0) A tabela a seguir mostra o número de operações em ponto flutuante executadas em três programas diferentes e o tempo de execução desses programas em três computadores diferentes: Programa Operações em Tempo de execução em segundos Ponto flutuante Computador A Computador B Computador C Programa 1 5xl0~ 2 5 10 Prozrama 2 20xl0~ 20 20 20 Programa 3 40xl0Y 200 50 15 a)(l.O) Considerando que o Computador B seja a máquina base, qual computador possui a tendência de ser o mais rápido para um workload qualquer? b)(l.O) Qual seria o workload (em %) que divide o tempo de processamento de forma igualitária entre os programas no computador C? 5) (0.5) Explique porque MFLOPS pode ser considerada urna medida de desempenho mais adequada que o MIPS. BOA SORTE! D --c - ( b i/c I11-- Of ·c=-------- 11 LI . } . \ lt--J~1 2 ) {;1) h CirJl1 [) -1 {j,r-e (<J/ 1) z: ;L ;( (.1.f ()",X ~XY ,'. X:)L ) X Jf-&72- fp1. o OH(1111110 x i..>f.-Xli ',.' '1/1/,~ -{ (f)Zl. L) 5;2 bh'j Q 63 D XJLX:J.;ZX. ·,)LX ( , »! fi.. i rJ S '3 0)'1; ----1 ' -r "~ )Y;;V. h ecnJ-1V0'J I l~9D: (er,~q C01.)c:.. S eir/.jf'{( IC/l ~ .' 6J-f"..< z: 11 .> v /;/ (2.f/lf,-l- Ce1.),c.<.; ie("Mftt '5 I r;(.-5'Z ~ 2,2Zy/Q-/~ <, I ~ -/0 .: 3 .: e:" _ -('j' / 7'I I (J!'1.)!){) b ) 1'11: )/2" ;ve.~ !lI" tJ ; 1 Of)ODOf)(J 1 ()D()()···DO/J ) 1\ L..:J1 ::-t e D j o }-4fx0/ ~c:fVI.Ifl. ; {);(fo ~() ()fjf) O f Dtr: ;fVo/1 " ._IZ'Y- 1 -: ...1, 1::r7tr.1((~5Y I()-'r Ê-,<.., x: (1t r O./L ;J fgll? rl~{O : 1 11111110 111 1 J 1 . --.11 I J J 1-----1 r:;:-y ~cZ---) {1/1I11·· i! !!X17Ia(;flIIIIL, »X' f:J:rr FFFF / /2p ( ) f'IYtZ ; 'Z.>'1-I'e~.-J tZá, ~á-2 .k (., 1-) : - r t: - c.r () J. J.2 ~? K I (J .;/ // C) ;( 7 ~+ (-<;L31-Z')'{)o '7) ~.(>~?>oo? __ J>// 1 + e-1 ) rv :/ Vi) H-tbL lI't ti! (ifYIIIL : 1/1111111 f)()f)()() 4 .Ó» aotJ? , , Ox J: F ~ O {]()f)8 // -=J)o) JY,,}7~ Jrct ir( '~VLZ ~~ /flf '31 (OOIJi ..O' ?D, -7 '-1 /1\11 •. 11 <o KfJr1.1f-er CPaI. fi1 ?;;,''''/11 "/.J.-7 ,'tA' <o, ./ ~, 1fi. 0- 1'1"v-> ;Dr;;/JIJ j.,( rj te- '60;{" ff -)/ -f- I~ ~L4 I I Io} b» tj-{- ~fr,~fWr&(;J (l}t'Jb L -) Luj *4 <1 v , fJ(éj fel; tdt 5/'Vf(.--<_, I C;~lA 1c0f cfJ1;t ifij i?ne 170:1 1ã~Q L'!j6F:G C ) to d §ly 1-t9@f.-c, ~ 1io: fext ~~ ?1-(' 17 Ôféi ;}~Jtjaf: L16E (,U;"-b Lcjc1 P/e gCjof) (J , d ) 0ef{: 1;& 11~f,t~ -7('qu}?fL na,1tLPft? 7 I r5t-f fa{/Jtl!h I (J (Li f czT) f ?-Y&f2, 1 /51.-( frd/$r,z/ji1, , I 9ítK :ftCh jfJ CP61.J 1-/ OfL ft-e"lig./j?cJ YJ - q ) flíP9& u,f.,vr 0# D fl- e lc ~I r 1 0/1 1 oL f-z 1 1 1 P, C/ 1 Q~-- -fV\ff I~ q.f)JN í1l 'Ut f 1'51 1 o,ol.f3 L'J;j..o vG ~ ~ • --f !C9' (I'.pÕ //~Of1;vc/'q Or ~ v h) (;-!oJZ K [lJ ~ P 11/ G wf ti ~ Íí o / c f;~+ lf o + jl/~) z: o ~ (o f >- -j Lj6 1FI(J lJJ r z:: ~o / ( fta ~h~+ 1/0/) ~ o Z3u 1- -) Z?j 07 'l Wf3 :: )(> J (ljllJ e: ltzc! f fJ~) ::::o ?<J1-~ -; 7U 'rtl t:> Z;) {/h/Z?1Ve 'ü (IplGM.e/; 'jf cr.) 1-~71(/.;C&-1 &-.v f~cJ I {.o.zpb t-; / fi l:>C1Z~~/'-QF ú/JVc;>n, 'r e c0fp. ~/'~ ae jV\~ I~ ~jV\O '!)..Q ?(2~ ~. /7 . - - - , fi 'J ,
Compartilhar