Baixe o app para aproveitar ainda mais
Prévia do material em texto
PRIMEIRA PROVA DE FUNDAMENTOS DE SISTEMAS DE AUTOMAÇÃO E CONTROLE DIGITAL São José do Rio Preto, 11 de novembro de 2014 – Prof. Dr. Norian Marranghello. Solução 1) (Valor: 2,0 pontos) Escreva código RTL válido para as seguintes transições entre registradores de 4 bits. Se a = 1 então copie B para A e acrescente 2 em C; senão copie C para D e subtraia 5 de A, caso u = 1. Se u = 1 então copie A para B; senão copie A para D e zere F, caso a = 1. Se a e u forem simultaneamente iguais a zero faça A, B, C e D iguais a zero. Resposta: a : A←B, C←C+2 ā.u : D←C, A←A-5 u : B←A a.ū : D←A, F←0 ā. ū : A←0, B←0, C←0, D←0 2) (Valor: 1,0 pontos) Seja um computador capaz de acessar 64Gbits de dados, organizados em palavras de 2 bytes cada uma, e cujas micro-operações abrangem 7 bytes. Calcule os tamanhos (em bits) dos barramentos de dados, de endereços e de controle. Resposta: Barramento de dados ⇒ 16 bits Barramento de endereços ⇒ 32 bits Barramento de controle ⇒ 56 bits 3) (Valor: 3,0 pontos) Cinco registradores (R1, R2, R3, R4 e R5) estão conectados entre si por meio de um barramento multiplexado. Cada registrador tem 64 bits e eles são controlados por variáveis temporais mutuamente exclusivas, bem como por duas variáveis lógicas (l1 e l2). Cada uma das variáveis temporais (Ti) seleciona um registrador de entrada a ser considerado. Se ambas as variáveis lógicas estiverem no nível lógico baixo e a variável temporal T2 estiver no nível lógico alto, deve-se transferir o conteúdo de R2 para R4. Se a variável l1 estiver no nível lógico baixo e tanto l2 quanto T3 estiverem no nível lógico alto, deve-se transferir o conteúdo de R3 para os registradores R4 e R5. Se a variável l2 estiver no nível lógico baixo e tanto l1 quanto T1 estiverem no nível lógico alto, deve-se transferir o conteúdo de R1 para R3. Se ambas as variáveis lógicas estiverem no nível lógico alto e a variável temporal T4 estiver no nível lógico alto, deve-se transferir o conteúdo de R4 para R1 e R2. Faça um diagrama do hardware capaz de implementar estas transferências, explicitando as conexões necessárias para as transferências de dados entre os registradores, bem como os circuitos e as conexões para o controle dos multiplexadores e dos registradores. Resposta: 4) (Valor: 2,0 pontos) Utilizando quatro registradores tipo D, ligados entre si por um barramento e isolados deste por portas de três estados, implementar as funções indicadas pelas instruções RTL a seguir. r : C � A s : A � C, D � C t : A � C u : B � D, C � D Resposta: Considerando Si como o sinal que seleciona a conexão da saída do i-ésimo registrador, para o barramento e Cj como o sinal de carga do j-ésimo registrador, temos: SA=r, SC=s ∨ t, SD=u; CA=s ∨ t, CB=u, CC=r ∨ u e CD=s. Note-se que o seletor do registrador B deve ficar ligado ao sinal de terra do sistema, pois seu conteúdo nunca é transferido para o barramento. R1 R3 R2 R5 R4 T1 T2 T3 T4 T5 R1 R2 R3 R4 R5 l1 l2 5) (Valor: 2,0 pontos) Qual o tempo necessário para executar a sequência de operações relacionadas a seguir, considerando os tempos elementares indicados na tabela ao lado. Considere todos os registradores interligados por meio de barramentos multiplexados. Considere que as constantes são previamente armazenadas nos registradores de trabalho, conforme a arquitetura esboçada após a tabela. Tempos necessários à execução das operações elementares Instruções RTL Função Tempo [ns] R1 ← R2 - R3 Carga de um registrador 3 R4 ← R6 deslocado à direita Atraso em um (de)multiplexador ou leitura de BR. 1 R7 ← R7 + 1 Soma/Subtração 12 R1 ← R0 * 2 Multiplicação/Divisão 25 Memória ← R3 Deslocamentos ou atraso da ULA 10 R4 ← Memória Leitura da/escrita na memória 50 R5 ← 0 Resposta: A instrução "R1 ← R2 - R3" é composta pela transferência dos conteúdos de R2 e R3 para a entrada da ULA (passando por um multiplexador), seguida por uma subtração e pela gravação do resultado no banco de registradores (passando por um multiplexador). Isto Banco de Registradores (BR) ULA MUX Dados da Memória Dados para a Memória MUX Entrada Externa resulta em: 1ns (leitura de R2 e R3 do BR) + 1ns (passagem pelo MUX) + 12ns (subtração) + 1ns (passagem pelo MUX) + 3ns (carga do registrador R1) = 18ns para a primeira operação. A instrução "R4 ← R6 deslocado à direita" é composta pela transferência do conteúdo de R6 para a entrada da ULA (passando por um multiplexador), seguida por um deslocamento e pela gravação do resultado no banco de registradores (passando por um multiplexador). Isto resulta em: 1ns (leitura de R6 do BR) + 1ns (passagem pelo MUX) + 10ns (deslocamento) + 1ns (passagem pelo MUX) + 3ns (carga do registrador R4) = 16ns para a segunda operação. A instrução "R7 ← R7 + 1" é composta pela transferência do conteúdo de R7 e da constante 1 para a entrada da ULA (passando por um multiplexador), seguida por uma soma e pela gravação do resultado no banco de registradores (passando por um multiplexador). Isto resulta em: 1ns (leitura de R7 e da constante do BR) + 1ns (passagem pelo MUX) + 12ns (soma) + 1ns (passagem pelo MUX) + 3ns (carga do registrador R7) = 18ns para a terceira operação. A instrução "R1 ← R0 * 2" é composta pela transferência do conteúdo de R0 e da constante 2 para a entrada da ULA (passando por um multiplexador), seguida por uma multiplicação e pela gravação do resultado no banco de registradores (passando por um multiplexador). Isto resulta em: 1ns (leitura de R0 e da constante do BR) + 1ns (passagem pelo MUX) + 25ns (multiplicação) + 1ns (passagem pelo MUX) + 3ns (carga do registrador R1) = 31ns para a quarta operação. A instrução "Memória ← R3" é composta pela leitura do conteúdo de R3, passando por um multiplexador, seguida pela gravação deste valor na memória. Isto resulta em: 1ns (leitura de R3 do BR) + 1ns (passagem pelo MUX) + 50ns (escrita na memória) = 52ns para a quinta operação. A instrução "R4 ← Memória" é composta pela leitura do conteúdo da memória, passando por um multiplexador, pela ULA e pelo MUX, seguida pela gravação deste valor no registrador R4. Isto resulta em: 50ns (leitura da memória) + 1ns (passagem pelo MUX) + 10ns (atraso da ULA) + 1ns (passagem pelo MUX) + 3ns (carga do registrador R4) = 65ns para a sexta operação. A instrução "R5 ← 0" consiste apenas na carga do registrador R5 com o sinal de clear. Isto resulta em: 3ns (carga do registrador R5) = 3ns para a sétima operação. Alternativamente, aceitar a resposta se o aluno descrever corretamente o caminho da constante zero, previamente armazenada em algum registrador de trabalho, via ULA para carregá-la em R5.
Compartilhar