Buscar

prova1_solução

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Outros materiais