Escolar Documentos
Profissional Documentos
Cultura Documentos
1
ANO: 1998
l"FASE / I"CHAMADA
120MINUTOS
RESOLUC..\O
I
1.1. (20 pontos)
Se foi feito urn Reset inicial, isso quer dizer que 0 estado inicial e Q2QIQO = 000.
Tabela de Transieees do circuito
•
Qz (t) o. (t) Qo (t) Tz Tl To Qz (HI) Ql (t+l) Qo (HI)
0 0 0 0 1 1 0 1 1
0 0 1 0 0 1 0 0 0
0 1 0 1 0 1 1 1 1
0 1 1 1 1 1 1 0 0
1 0 0 0 1 0 1 1 0
1 0 1 0 0 0 1 0 1
1 1 0 1 0 0 0 1 0
1 1 1 1 1 0 0 0 1 • As colunas Q2(t), QI(t) e Qo(t) correspondem as varias cornbinacoes possiveis das saidas do circuito num determinado momento, pelo que sao de preenchimento automatico (3 variaveis ~ 8 combinacoes).
• As colunas T 2 , TIe To, correspondem as excitacoes dos Flip-Flops no mesmo momento referido anteriormente e preenchem-se tendo em atencao as equacoes dadas no enunciado.
• As colunas Q2 (t+ 1) , QI (t+ 1) e Qo (t+ 1) correspondem aos valores das saidas num instante posterior (aquando do aparecimento do flanco activo do clock), preenchemse de acordo com as colunas a sua esquerda e sabendo-se a tabela de funcionamento do Flip-Flop tipo T:
•
T Qt+1
0 1
1 0 Da tabela de transicoes do circuito facilmente se tira a sequencia gerada, sabendo-se que o estado inicial e 000. Sera entao:
Q2Q1QO = 000 ~ 011 ~ 100 ~ 110 ~ 010 ~ 111 ~ 001 ~ [000 _. ou, em decimal: 0~3~4~6~2~7~1~[0 ...
1.2. (I2 pontos) - Sabendo-se que os Flip-Flops sao activos ao flanco de subida:
CK
LJi'--- __ ----'
EXAME NACIONAL DE SISTEMAS DIGITAIS
2
ANO: 1998
120MINUTOS
RESOLlJCAO
2.1. (6 pontos)
A memoria tern 4K posicoes = 4. 1024 = 4096 posicoes (uma vez que, como se sabe, 1K = 1024).
Entao sendo m = 4096 , 0 numero minima de linhas de endereco necessario obtem-se da
expressao:
2n1 ~ 4096 ,sendo nl 0 numero de linhas de endereeo
entao, por tentativas, facilmente se obtem que nl = 12 , pois 212 = 4096
Nota: urn born ponto de partida e saber-se que 210 = 1024 = 1K , e depois por cada unidade que nl aumenta, 0 numero de posicoes duplica.
2.2. (8 pontos)
A primeira posicao tern como endereco 2000H = 2x163 = 409610 . - x I'll
Como a memoria tern 4096 posicoes, para saber 0 endereco da ultima basta somar esse numero ao endereco da primeira e subtrair 1 (pois a primeira tambem conta). Finalmente passa-se 0 numero obtido para hexadecimal, uma vez que e nesta forma que os enderecos aparecem e temos estado a fazer os calculos em decimal.
Assim:
Passando agora para hexadecimal, pelo metodo das divisoes sucessivas, obtem-se:
IFEFW '?H{ ~
--~ -
Nota: Altemativamente podiam-se efectuar todos os calculos em hexadecimal evitandose a conversao final.
•
3. (20 pontos) 4~o . Ao
U15·Vl! vH)o
/ .L /
I '\'\: 11 I ~~H
N\:11 fl): 11 "'" 1;
I-- f'f'\ : 1~ 1-'",\, 11 I-' 1\1\; 11 I-'!"Y\ 7 11
1 LR/.; LR1W
,f:/'; A~D . Ao Alo' 40 AID ·4u P./';; A.io A"
@ ® ® 0
~ (~ ih .1). les D~ ·90 r- es D~-i)o C.5 lh·-lh
iVlO g "/); g 'V1 ; Ii' 'Y\oo8
,.....,
/ \
"i' 3 I 1
_l
• \ ... / ,,)u_) \)£1)Al)O:) (1{, ~NttA=.l
EXAME NACIONAL DE SISTEMAS DIGITAIS
3
ANO: 1998
1 "F ASE / 1 aCHAMADA
120MINUTOS
RESOLIJCAO
4.1. (14 pontos)
A saida L tomara 0 valor 1 se a entrada X for igual a 1 ou 0 durante 2 impulsos de clock consecutivos, quer 0 circuito se encontre no estado inicial A ou noutro est ado qualquer. Depois, a saida mantera 0 valor 1 enquanto X se mantiver a 1 (no caso de ter la chegado com dois 1 s consecutivos em X) ou X se mantiver a 0 ( no caso de Ia ter chegado com 2 Os consecutivos em X).
4.2. (32 pontos)
Tabela de transiedes do circuito (Mealy)
Ql(t) Qo (t) X Dl Do Qdt+l) Qo (t+l) L
0 0 0 0 1 0 1 0
0 0 1 1 1 1 1 0
0 1 0 1 0 1 0 0
0 1 1 1 1 1 1 0
1 0 0 1 0 1 0 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
1 1 1 1 1 1 1 1 • As colunas Ql (t) , Q2 (t) e X correspondem as varias combinacoes e sao de preenchimento automatico.
• As colunas Ql (t+ 1) , Qo (t+ 1) e L preenchem-se de seguida tendo em atencao 0 diagram a de estados dado.
• As colunas D, e Do preenchem-se no fim, com base nas colunas ja preenchidas e sabendo-se a tabela de transicoes/excitacoes do Flip-Flop tipo D:
Qt~ Qt+1 D
0 0 0
0 1 1
1 0 0
1 1 1 A partir da tabela de transicoes do circuito vamos obter as equacoes de excitacao, mais simples, dos Flip-Flops, bern como a equacao da saida L. Para isso, vamos usar 0 metodo grafico de Karnaugh:
X X X
~: 1 &::1 GJ 9):1 y :1
<10 QO
Daqui, sai a expressao simplificada: Dl = X + QO . Ql +QO . Ql
EXAME NACIONAL DE SISTEMAS DlGITAIS
4
ANO: 1998
1"FASE / 13CHAMADA
120MINUTOS
RESOUJCAO
DO
X X X
Q1 CI I 8~ I B j 0
4>1 0 1)
(
QO QO Daqui, sai a expressao simplificada: DO = X + QO . Q1 + Q1 . QO
L -
X X X
C0i 0 0 I 0 I 0
Q" ill 0 ill 0
QO QO
- - Daqui, sai a expressao simplificada: L = X. QO • Q1 + X . QO .Q1
II
1. (18 pontos)
1- Controlo e Temporizacao de todas as accoes do microcomputador (incluindo as memorias e perifericos)
2- Realizacao de operacoes logicas e aritmeticas
3- Execucao de programaslProcessamento de dados
4- Troca de dados e instrucoes com a memoria e os perifericos de entrada e saida
2. (24 pontos)
Apos a execucao da instrucao CALL, os conteudos solicitados sao:
SP-71FFD
Razao: porque quando uma rotina e chamada (instrucao CALL), 0 SP e decrementado, ficando pois com 1FFE. Neste endereco e escrito 0 byte mais significativo do conteudo que 0 PC tinha antes da rotina ser chamada (endereco da instrucao a seguir ao CALL: 10 no nosso caso). Em seguida 0 SP e de novo decrementado, ficando pois com 1FFD, endereco onde e guardado 0 byte menos significativo do PC antes da rotina ser chamada (OD no nosso caso).
Isto acontece pois quando a rotina termina, 0 microprocessador volta ao programa principal de onde tinha saido. Tern po is de saber 0 endereco onde ir buscar a instrucao seguinte a rotina (lOOD no nosso caso, e que se guardou na pilha).
PC -7 04D5
Razao: Quando a rotina e chamada 0 PC e carregado com 0 endereco em que essa rotina se inicia, que faz parte da instrucao CALL.
Pilha -7 1FFE = 10 1FFD=OD
Como ja foi explicado a prop6sito do SP
•
ANO: 1998
3. (46 pontos)
EXAME NACIONAL DE SISTEMAS DIGITAIS
l"FASE / I"CHAMADA
RESOLIJCAO
FLUXOGRAMA
• Inicializo B com N. 0 registo B vai servir para contar 0 n° de alunos ja analisados (para saber quando devo parar)
• Inicializo C com 0.0 registo C vai servir para contar 0 numero de alunos com nota maior que 10
• Inicializo 0 par HL com endereco anterior ao inicio da tabela. o par HL vai servir para apontar para 0 dado da tabela (aluno) com que estou a trabalhar.
Decremento B
s
5
120MINUTOS
Incremento HL
Guardo (C) em lDFF
Comparo nota do aluno com 10
s
Incremento C
•
ANO: 1998
LDA IDFE MOV B,A
LXI H,IDFF
MVI C,OO
next
DCR B
JM fim
INX H
MOV A,M
CPI 10
JC next
INR C
fim
JMP next MOV A,C
STA IDFF RST 1
EXAME NACIONAL DE SISTEMAS DIGITAIS
6
1 "F ASE / 1 "CHAMADA
120MINUTOS
RESOLUCAO
PROGRAMA
Carrego 0 valor de N no Ac
Colo co esse valor de N no registo B. 0 registo B, por decrementacao posterior, vai servir-me para saber quando ja analisei todos os N alunos
Inicializo 0 par HL (apontador de dados) com 0 endereco anterior ao inicio da tabela
Inicializo 0 registo C com zero. 0 registo C vai-me servir, por incrementacao posterior,
para contar as notas superiores ou iguais a 10 valores. Decremento B
Testo se os alunos ja foram todos analisados. No caso de isso ter acontecido salto para 0 fim, se nao, continuo a analise ao aluno seguinte.
Por exemplo, se 0 numero de alunos fosse zero, logo it primeira vez que faco DCR B 0 resultado e negativo e 0 programa salta para 0 fim.
Incremento 0 par HL. A primeira, 0 par HL fica a pontar para 0 inicio da tabela (10 aluno)
Passo a nota do aluno para 0 Acumulador
Comparo essa nota com 10 val ores. Identicamente a todas as instrucoes de comparacao 0 que 0
microprocessador faz e subtrair (Ac)-IO e afectando as flags Z e Carry
Se 0 resultado dessa comparacao der origem a urn Carry e porque a nota do aluno (em Ac) e inferior a 10 e 0 microprocessador vai analisar 0 aluno seguinte. Se nao houver Carry segue para a instrucao seguinte
Como nao houve Carry, 0 microprocessador chega a esta instrucao e incrementa 0 registo C pois 0 aluno em analise teve nota superior ou igual a 10
Vai analisar outro aluno
Passa 0 conteudo de C (numero de alunos com nota superior ou igual a 10) para 0 acumulador
Guarda esse valor em IDFF, como e pedido no enunciado Paro a execucao do programa.
Luis Jeronimo (Outubro/99 )