Ano Lectivo: 2010/2011 Duração: Ih30 Arquitectura De Computadores 2 TESTE - l Fase INFRMAÇÕES GERAIS Identifique todas as folhas com o nome e número. Responda no espaço delimitado a seguir a cada questão. Utilize o verso da página, onde se encontra a pergunta, para rascunho ou para espaço adicional. Data: 21-l 2-2010 Considere o seguinte diagrama do MIPS. UNIDADE DE CNTRL Ilustração l - Diagrama do MIPS ALU control 0000 0001 0010 0110 0111 1100 Function AND R add subtract set-on-less-than NR pcode ALUp Iw/sw 00 beq 01 R-type 10 [2 Vai] lhando para o diagrama indique quais são o conjunto de sinais de controlo que permitem executar as operações que se seguem, agrupados numa palavra tal como apresentada em baixo. a) If($r2==$r9)$pc<-$pc + 4 + 23 b) if($rl <Sr7)then$r5 <-l elsers 4-0
c) $r7 <-$rl nor23 d) Sr4-»17($r3) e) Sr7 <- 23($r5) Branch It MemRead MemToReg ALUp MemWrite ALUSrc RegWrite 1 S _ _ ALUCont o (9 10 Ú J2_ 1 > n T (90 ^D" 7 0o I 2. [3 Vai - Exame] Assumindo que este processador é utilizado numa aplicação em que não se usa o modo de endereçamento indexado mas apenas o indirecto por registo ( Rx < M[Ry] ) indique como poderia reduzir o tempo de execução de uma instrução. Faço um diagrama ilustrando as principais diferenças na nova arquitectura. 3. [3 Vai] Indique como poderia alterar a arquitectura de forma poder implementar um bne, represente um diagrama simplificado com as alterações.
UNIDADE DE CNTRL MICRPRGRAMADA jiuiimrrntt N M M l PPTTTMFMHMM ASCLI L DABBSQ1VMW Ml- 15 ri ; <.,í LXMI.ii run> t DATAPATH MD tubd Symbolic Notatlon Coo* s«!«ct Symbollc NoMkMi Actlon Syoioollc Notatlon Actlon SymooHc Notatlon Actlon Symbollc NoMkxl CcxU Increment CAR LoadC/IR II C = l.loadt»: elsc increinent CAR UV = l.loadtr: cise incremcnt CAR tfz=l,loadcxl/í; ebe increment CAR H N = 1, loid CAR: ebe increment CAR U C = 0, load CAR; else increment CMA If 7. = 0, load C/1». r Kc increment tfí CNT NXT BC BV BZ BN BNC BNZ C NA NXA No load NU 001 pcode PC Ltnd instr. LDI 010 011 100 101 110 111 No load NLP No load NLF 0 Increraent PC INP Load PC LDP 1 T T» TB UB FS MD RW MM MW Select Select Sclocl Select Code Functlon Coda Selecí Functlon Select Functlon Corte f?[dr] fl[sa) ÍÍ[SB) RB!» RS Regístcr Q F- A Constant 1 F - A +1 F-A+B P-/4+B + 1 í'./4+fl F- A +B + 1 F-A-l F- A F~A*B F-AvB F-A»B F-J F- B F-vB f-slfl 00000 FnUI Nowrite(NW) 00001 Data tn Writc (WR) 00010 00011 00100 00101 00110 00111 01000 01010 01100 01110 10000 10100 11000 Addreis No write (NW) 0 PC Write (WR) 1 Considere as seguintes modificações à arquitectura: tem seis registos auxiliares R8 a R14 em vez de apenas o R8, e que pode utilizar o registo D como origem sendo tal seleccionado a partir do valor de T para cada um dos barramentos, TA, TB e TD; T=000 -> Rx, T=001 -> R8,.., T=l 10 -> R14 et=l 11 -> RD.
4. [2 Vai - Exame] Complete as linhas da memória de controlo de modo a definir o conjunto de micro-instruções (IF, EX,...) - necessárias à execução das seguintes instruções. Instrução SWAP M[RA], M[RB] BZ KNST Descrição M[RA]<->M[RB] If(z=l)PC= KNST Endereço NA* MS IF EX SWAP SWAPl SWAP2 S\VAP3 SWAP4 BZ BZ1 MC 2sp- XiA IL C22 >'. PI PL o &_ c? ±L o T TD** TA** TB** MB FS M Conteúdo parcial da me de controlo: MD RW MM M W ^r l f)/\ l ÁÍA \ ~ *NA = Next Address (utilizar mnemónica para indicar o próximo endereço) **Nos campos TD, TA e TB indiquem se utilizam um dos registos auxiliar R8 a R14 ou RD ou o registo indicado instrução. 5. [2 Vai] Pretende-se implementar uma instrução Compare Block (MB), que compara RD (fcytesydos endereços RA a RA+RD-1 para os endereços RB a RB+RD-1. Assuma que têm dois registos auxiliares e pode usar o registo D como origem como nas perguntas anteriores e note que vai necessitar de modificar o registo RD. Apresente um fluxograma ASM correspondente à sua concretização. FLUXGRAMA ASM 0 0/s na
PIPELINE L. F d p i Êr" J U H3" o dux C _ 2-1 9 2 ' BiARAA. nc vzt^vtzlrc 1 AddraaB i netricfion mamory Instruction v : IB: L.'- IM =IF? 14;D X 'H - 1 R «Q Inatruction dscodar 3±l r^ witti R - Q j AÃ- ^A da* B data:-*- BA i F!F N p Sr- -! + * ± PC 1 1 M A MB AÃ BA CS i 1 1 u X SH ' * * ^rv*^ág *i ^^r^+ BS PS MW FS SH MA ~*IMUXA Muxsr MB t.. ^. '^.~^\!^"^ L ' 1 j.:,. Vj :fl _ _ n r f_ «dar BÍ ' ; ÍW r*j DA MD t^: 1 ' r i ' 1 Data SH 5^ ^ A B mamary ; FS ^fe. l Dataout i 7i»_ Modif «d *- l MW funetiun y V unit DatainWrita 1 VT > F DHta l j) y x x ' L _! ry..j» --- -». T--^^, j_ y ÇÕuã D RW-* 0 Data : : DA-«38x38: Registar file with R0 = 0 -,VB 6. [2 Vai] Considere que tem uma modificação do processador apresentado com implementação de stalls nas dependências de dados e branch prediction not taken.jrepresente o diagrama de execução com os^tágios em que se encontra cada uma das instruções do seguinte código. INST h lh 02h 03h LI: 04h 05h L2: Estágio IF DF EX WB 0 1 101 ty 2 c/< e$i 3 '( 'x^ 4 5 ^-* s~^ '-V* >^ WVr ' 6 "V., *~)^ 7 S &?* 8 ^ Cf _ 9 ^--.? -- Clock 10 n 12 13 14 15 16 17 18 19 : 7. [2 Vai] Quantos ciclos de relógio são necessários para encher o pipe-line do processador apresentado.
[2 Vai] Indique como poderia modificar o seguinte código de assembler linear para que este e execute correctamente na arquitectura apresentada, sem utilizar NPs. incíróvjró str6,$(r4) inc r4, r4 Id ró, 0(r4) inc ró, ró st r6, 0(r4) / (L 1 9. [2 Vai - Exame] Imagine que têm um processador num tejenjáiiel com um elevado consumo estático. E que em média o utilizar executa ljniiilõfis d'e instruções por segundo (S.Ul^tBS^. "f$ Considere que o processador: 1) tem um consumo estático de 70 m W e um consumo dinâmico de dinâmico de InW por Hz sendo o consumo totahgual ao estático mais o dinâmico; 2) processador funciona a uma frequência máxima de 100 MHz sem pipeline e de 400 MHZ com pipeline a, 3) que é possível aproveitar todos os estágios do pipeline em qualquer ciclo de relógio, 5) Que o processador sem pipeline tem uma área cerca 5% inferior à da versão spm-pipeline e que os dois tipos de consumo são proporcionais à área. Qual é o consumo para a versão com pipeline e sem pipeline do processador?