Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Ano Lectivo: 200/2009 Data: 6 de Janeiro de 2006 INFORMAÇÕES GERAIS Duração: 2h00 1. Mantenha na secretária apenas a sua identificação e uma caneta (azul ou preta). 2. Responda no espaço delimitado a seguir a cada questão. 3. Utilize o verso da página, onde se encontra a pergunta, para rascunho ou para espaço adicional. 4. A não entrega do teste tem o mesmo significado da não comparência ao teste. 1 de 5
Arquitectura de Ciclo Único I Unidade de Processamento Para a Arquitectura de Ciclo Único apresentada, considere a Unidade de Processamento (UP), com um bus de dados de bits, composta por: (1) uma Unidade de Armazenamento (UA), com 16 registos (R0 a R15) de bits. (2) a unidade de armazenamento tem possibilidade de fazer transferências directas entre registos, nomeadamente transferência do registo AA para DA (FSUA=10) e transferências do registo BA para DA (FSUA=11). (3) uma Unidade Funcional (UF) que implementa um conjunto de microoperações (seleccionadas por FSUF) sobre operandos de bits e produz um resultado de bits. Mais, nesta arquitectura os bits de estado são armazenados num registo dentro da UF. (4) As linhas Endereço, Data_Out e Data_In destinam-se à comunicação com uma memória externa. (5) A linha Const permite a introdução de uma constante de bits (4 bits especificados na instrução). DA, AA, BA FSUF MA MB FSUA Função Cod. Função Cod. Função Cod. Função Cod. Função Cod. R0 0000 A 000 Registo 0 Registo 0 Não 00 Escreve R1 0001 A + B 001 Constante 1 Data_In 1 Escrita em 01 DA A - B 010 (DA)<- 10 (SA) R15 1111 A + 1 011 (DA)<- 11 (SB) A - 1 100 A + 2 101 NOR 110 (A,B) NAND (A,B) 111 2 de 5
1. [3 Val] Considere a Unidade de Armazenamento descrita no enunciado. Admita, por simplicidade, que as entradas de selecção SelD, SelA e SelB são entradas de descodificadores de 4/16 e que as respectivas saídas estão identificadas com SD0 a SD15, SA0 a SA15 e SB0 a SB15, isto é, a entrada SelD = 0001 activará o sinal SD1. Projecte o circuito combinatório e complete as ligações referentes ao registo R2 no diagrama lógico na figura. Represente as ligações à entrada e à saída da unidade funcional. 2. [2 Val] Considere a U. Funcional descrita no enunciado. Projecte o bloco ΣB da U. Aritmética esquematizada na figura. Apresente apenas a lógica combinatória associada à geração do bit menos significativo das entradas Y do somador e ainda a lógica combinatória para geração do Cin. Assume que A+2 é formado é obtido fazendo A+1+Cin com Cin=1. UA1 A, FSUF A, FSUF Bloco B F(B,FSUF) Cin X Somador S Y Som a Carry 3. [3 Val] Considere a seguinte arquitectura pipeline. Indique qual é o período mínimo de relógio e o tempo de execução de uma instrução. WB DATA 1ns OF Unidade de Armazenamento A B 1ns MA 1 0 MUX A 1 0 MUX B MB A B EX Unidade Funcional 1,2ns WB BUS de Dados 3 de 5
II - Unidade de Controlo Considere a seguinte formato de instruções e sinais de controlo a ser considerado na arquitectura de um computador de ciclo único apresentada: Formatos das Instruções: Endereçamento por Registo OpCode DR SA SB Endereçamento Imediato OpCode DR Const. SB Registos: Endereçamento Relativo OpCode Offset PC Registo de 16 bits As flags são guardadas num registo na UF. Sinais de Controlo para a UC e Memória de Dados BC Selecção da Condição de Salto 000 Não salta, 001 Salto incondicional, 010 Salta se Z (Zero), 011 Salta se NZ, 100 Salta se N (Negative), 101 Salta se NN, 110 Salta se C (Carry), 111 Salta se NC, MW (0- Não Escreve ou 1- Escreve) Tabela 1: de Instruções a Implementar OpCode Operação Descrição Bits de Estado 0000 MOV DR, SA (DR) (SA) N, Z 0001 ADD DR, SA, SB (DR) (SA)+(SB) N, Z, C, V 0010 SUB DR, SA, SB (DR) (SA)-(SB) N, Z, C, V 0011 INC DR, SA (DR) (SA)+1 N, Z, C, V 0100 DEC DR, SA (DR) (SA)-1 N, Z, C, V 0101 ADD2 DR, SA (DR) (SA)+2 N, Z, C, V 0110 NOR DR, SA, SB (DR) (SA) NOR (SB) Z 0111 NAND DR, SA, SB (DR) (SA) NAND (SB) Z 1000 LD DR, SB (DR) M[(SB)] N, Z 1001 ST SA, SB M[(SB)] (SA) N, Z 1010 MOVX DR,SA (DR) (SA) não são alteradas 1011 MOVI DR, Const (DR) Const N, Z 1100 ADDI DR, Const, SB (DR) Const + (SB) N, Z 1101 JMP Offset (PC) (PC) + Offset não são alteradas 1110 JZ Offset Z: (PC) (PC) + Offset não são alteradas 1111 JN Offset N: (PC) (PC) + Offset não são alteradas 1. [3,0 Val] Complete o quadro seguinte, com o valor assumido por cada sinal para cada uma das instruções indicadas. Faça o MOVX utilizando apenas a unidade de armazenamento. Instrução FSUA MA MB FSUF MW BC SelD SelA SelB Const Offset MOVX R1, R3 ADDI R5, 3, R1 MOVI R2, 7 ADD R4, R2, R0 JZ -5 JMP 7 ST R7, R1 2. [2,0 Val] Indique, justificando, quais das seguintes instruções, não consideradas na tabela 1, poderiam ser executadas na arquitectura de ciclo único apresentada. Caso não possa indique um conjunto de instruções que tenha o mesmo resultado. Operação Descrição Resposta a) ADDM1 DR, SA, SB M[(DR)] M[(SA)]+ M[(SB)] b) ADDM2 DR, SA, SB M[(DR)] (SA)+M[(SB)] c) ADDM3 DR, K, SB (DR) K+M[(SB)] 4 de 5
3. [3 Val] Considere que se pretende projectar um Descodificador de Instruções, para Unidade de Controlo apresentada, de modo a permitir executar o conjunto de instruções da tabela 1 (Instruções a Implementar). Determine as expressões (minimizadas) das funções lógicas correspondentes aos sinais MA e MB em função do OpCode, a ser gerado pelo Descodificador de Instruções. 4. [2,0 Val] Represente o diagrama lógico do bloco de controlo de Salto assumindo que o bloco do PC recebe o sinal PJUMP/PCOUNT_N resultando num salto quando este sinal toma o valor um e um incremento caso contrário. 5. [2,0 Val] Indique, para a Arquitectura apresentada, quais os sinais que podem ser ligados directamente á unidade de processamento sem passar pelo descodificador. Quais são as implicações desta ligação no cálculo do período mínimo do relógio? 5 de 5