Q1 - Segue a regra de pontuações adotada: a) Perde 0.25 pontos por quaisquer dos seguintes erros: i- blocos impossíveis (a máquina não implementa alguma das operações pedidas); ii-erros;falta - sinais de controle; iii-erros;falta -legenda; b) Só não ganha os 0.25 pontos quem não tentou explicar, ou escreveu algo muito fora do contexto. c) Perde 0.25 pontos por quaisquer dos seguintes erros: i-Implementar R1+R2 sem complementar; ii-Não colocar o resultado em R1; iii-Alternar o uso de Acc como R1; iv-Esquecer de zerar Acc (quando necessário); v-Erros;falta - sincronismo dos barramentos; vi-Erros;falta - sinais de controle; vii-Erros;falta -microoperações. 1) a) Exemplo de solução possível: IT - incrementar o conteúdo do registrador TMP; CT - complementar o conteúdo do registrador TMP; WT - transferir do barramento para o registrador TMP; RT - transferir do registrador TMP para o barramento WE - transferir a saída do somador para o Acc; RE - transferir o conteúdo do registrador Acc para a entrada do Σn; RA – transferir o conteúdo do registrador Acc para o barramento WRi – escrever no registrador Ri RRi – ler do registrador Ri Obs: Muitas soluções são possíveis. Foram aceitas as interpretações de que ()’ significava tanto complemento quanto complemento + incremento. Tambem seriam possíveis (foram aceitas) as seguintes soluções: A) Utilizar uma ligação do barramento que entrasse no Acc e um sinal de controle WA para transferir a saída do barramento para Acc; B) Assumir que ACC é R1; C) Não utilizar TMP e colocar sinais de controle de incremento e de complemento em outro lugar; b) Exemplo de solução possível: A máquina recebe o conteúdo de R2 e: - para o ítem 1, - para o ítem 2, coloca este valor no Acc; recebe o conteúdo de R1; complementa este conteúdo; (podendo incrementa-lo, caso seja complemento de 2); O somador recebe o conteúdo de Acc e o complemento de R2; O somador coloca o resultado da operação no Acc; O conteúdo de Acc pode ser lido em R1. O TMP é capaz de complementar o conteúdo recebido; A máquina é capaz de zerar o Acc para que o TMP coloque o conteúdo complementado no Acc; O R1 pode ler o (R2)’ do Acc. Obs: Não era preciso mostrar os passos e os sinais de controle nem as micro-operações. Bastava dizer/mostrar que a máquina tinha a capacidade de complementar, incrementar e somar. c) Exemplo de solução possível, (correspondente aos exemplos dos itens anteriores) Passos Sinais de Controle Micro-Operações Transferir o conteúdo do 1 R1 para o TMP RR1, W bus ← (R1) TMP ← bus Zerar o Acc Z Acc ← #0 Transferir o conteúdo do 2 TMP para o somador R,Re Σ ← (Acc) + (TMP) Transferir o conteúdo do 3 somador para o Acc We Acc ← (Σ) Transferir o conteúdo do R2 para o TMP RR2,W bus ← (R2) TMP ← bus R,Re Σ ← (TMP) + (Acc) Transferir o conteúdo do 5 somador para o Acc We Acc ← (Σ) Transferir o conteúdo do 6 Acc para o TMP Re,W TMP ← (Acc) Complementar TMP C TMP ← TMP’ Zerar o Acc Z Acc ← #0 Transferir o conteúdo do 8 TMP para o somador R,Re Σ ← (TMP) + (Acc) Transferir o conteúdo do 9 somador para o Acc We Acc ← ( Σ) Transferir o conteúdo do 10 somador para o R1 Re,WR1 R1 ← (Acc) Somar os valores Pulso 4 7 QUESTÃO 3 (3,0 ) SOLUÇÃO 1 a)-1,5- Indique as modificações no circuito da Fig.1 que tornariam possível a execução desta nova instrução. Explique; TRPC 4bits TRPC Fig. 1. EA-869 Computer. IT - incrementar o conteúdo do registrador TMP; CT - complementar o conteúdo do registrador TMP; ZT - zerar (reset) o registrador TMP; WT - transferir do barramento para o registrador TMP; RT - transferir do registrador TMP para o barramento WE - transferir a saída do somador para o Acc; RE - transferir o conteúdo do registrador Acc para a entrada do n; WA – transferir a saída do barramento para Acc; RA – transferir o conteúdo do registrador Acc para o barramento. TRPC – Transferir do RI para o PC b)-1,5- Complete a tabela a seguir indicando as microoperações e os correspondentes sinais de controle em cada ciclo de relógio referentes à instrução JMPE. CICLO DE BUSCA DA INSTRUÇÃO BUSCA DA SEGUNDA PALAVRA DA INSTRUÇÃO BUSCA DO CONTEÚDO DO ENDEREÇO PC RECEBE CONTEÚDO DO ENDEREÇO Pulso de relógio Microoperação 1 2 REM ← (PC) RDM ← ((REM)) PC ← (PC)+1 RI ← (RDM) REM ← (PC) RDM ← ((REM)) RI ← (RDM) REM ← (RI.end) RDM ← ((REM)) RI ← (RDM) PC ← (RI.end) 3 4 5 6 7 8 9 10 Sinais de ativados TPC E,R/W IPC TRB,TB TPC E,R/W TRB,TB TRI E,R/W TRB,TB TRPC controle SOLUÇÃO 2 TRPC 4bits TRPC Fig. 1. EA-869 Computer. IT - incrementar o conteúdo do registrador TMP; CT - complementar o conteúdo do registrador TMP; ZT - zerar (reset) o registrador TMP; WT - transferir do barramento para o registrador TMP; RT - transferir do registrador TMP para o barramento WE - transferir a saída do somador para o Acc; RE - transferir o conteúdo do registrador Acc para a entrada do n; WA – transferir a saída do barramento para Acc; RA – transferir o conteúdo do registrador Acc para o barramento. TRPC – Transferir do REM para o PC. b)-1,5- Complete a tabela a seguir indicando as microoperações e os correspondentes sinais de controle em cada ciclo de relógio referentes à instrução JMPE. Pulso de relógio Microoperação Sinais de controle ativados CICLO DE BUSCA DA 1 REM ← (PC) TPC INSTRUÇÃO 2 RDM ← ((REM)) E,R/W PC ← (PC)+1 IPC 3 RI ← (RDM) TRB,TB BUSCA DA SEGUNDA 4 REM ← (PC) TPC PALAVRA DA 5 RDM ← ((REM)) E,R/W INSTRUÇÃO 6 RI ← (RDM) TRB,TB BUSCA DO CONTEÚDO 7 REM ← (RI.end) TRI DO ENDEREÇO 8 RDM ← ((REM)) E,R/W 9 RI ← (RDM) TRB,TB PC RECEBE CONTEÚDO 10 REM ← (RI.end) TRI DO ENDEREÇO 11 PC ← (REM) TRPC SOLUÇÃO 3 TRPC 6bits 4bits TRPC Fig. 1. EA-869 Computer. IT - incrementar o conteúdo do registrador TMP; CT - complementar o conteúdo do registrador TMP; ZT - zerar (reset) o registrador TMP; WT - transferir do barramento para o registrador TMP; RT - transferir do registrador TMP para o barramento WE - transferir a saída do somador para o Acc; RE - transferir o conteúdo do registrador Acc para a entrada do n; WA – transferir a saída do barramento para Acc; RA – transferir o conteúdo do registrador Acc para o barramento. TRPC – Transferir do RDM para o PC. b)-1,5- Complete a tabela a seguir indicando as microoperações e os correspondentes sinais de controle em cada ciclo de relógio referentes à instrução JMPE. Pulso de relógio Microoperação Sinais de controle ativados CICLO DE BUSCA DA 1 REM ← (PC) TPC INSTRUÇÃO 2 RDM ← ((REM)) E,R/W PC ← (PC)+1 IPC 3 RI ← (RDM) TRB,TB BUSCA DA SEGUNDA 4 REM ← (PC) TPC PALAVRA DA 5 RDM ← ((REM)) E,R/W INSTRUÇÃO 6 RI ← (RDM) TRB,TB BUSCA DO CONTEÚDO 7 REM ← (RI.end) TRI DO ENDEREÇO 8 RDM ← ((REM)) E,R/W PC RECEBE CONTEÚDO 9 PC ← (RDM.end) TRPC DO ENDEREÇO OBS: Outras soluções são possíveis. |6 Critério de correção Q3: Ítem a) Faltou sinal de controle no PC Perde 0,25 Faltou sinal de controle no controlador Perde 0,25 Faltou explicar Perde 0,75 Faltou modificação no barramento Perde 0,75 Ítem b) SENDO: Código de operação (4 bits) nda Endereço Então: Quem colocou nda no PC Perde um ponto Quem colocou (nda) no PC Perde 0,75 pontos Quem colocou Endereço no PC Perde 0,25 pontos Quem colocou 8 bits no PC Perde 0,25 pontos Quem fez somente o ciclo de busca Perde 1,25 pontos Q4 a) Significa dizer que, no pior caso, a expressão do número de operações é polinomial de ordem c b) Como NP são redutíveis à NPC em tempo P, então a prova de que algum NPC pode ser resolvido em tempo P leva a prova de que todos os NP também o podem. (Obs.: Ainda não se provou, nem se sabe se é possível provar que NPC=P) c) Como o algorítmo de MDC de Euclides é computável (pára em tempo finito), e como todo algoritmo, (na forma como definimos neste curso), pode ser descrito por uma máquina de Turing, então SIM. d) Este problema possui complexidade exponencial, e para um número grande (n=64) se torna intratável. Tn = 2n – 1; com n=64 → T64 = 264 -1 Assim, supondo que uma pessoa levasse 1 segundo para fazer cada movimento, levaria cerca de 292 bilhões de anos para fazer todos os movimentos possíveis. Portando, estima-se que até lá, o mundo já teria. Q5) a) 0,5 pontos LDA A MUL B SUB C STA A Acc ← (A) Acc ← (Acc)*(B) Acc← (Acc) - ( C) A ← (Acc) ou LDA B MUL A SUB C STA A b) 0,5 pontos MUL A,B SUB A,C A ← (A)*(B) A ← (A)-(C) ou Acc ← (B) Acc ← (Acc)*(A) Acc← (Acc) - ( C) A ← (Acc) MUL B,A SUB C,A A ← (A)*(B) A ← (A)-(C) c) 0,5 pontos Note que o número de instruções na primeira máquina é bem maior que na segunda. Portanto, em geral ela requer menos ciclos de acesso à memória para executar um programa, ou seja, é mais rápida. Embora os programas para máquinas de 2 endereços sejam mais curtos e o repertório de instruções menor, elas requerem mais bits por instrução. OBS: A questão é explícita quanto ao uso de registradores auxiliares e sobre a atualização de B e de C.