Beruflich Dokumente
Kultur Dokumente
Universidade Federal de Pelotas Centro de Desenvolvimento Tecnolgico Mestrado em Computao Disciplina de Arquitetura e Projeto de Computadores
Circuito Seqencial
Entradas Sadas
Circuito Combinacional
Estado Atual Prximo Estado
Elementos de Memria
Relgio
Mquina de Estados MOORE uma mquina de estados (circuito seqencial) em que as sadas do sistema so funo somente do estado do sistema. O sistema digital possui sinais de entrada, e as sadas do sistema no utilizam os sinais de entrada para determinar a sada do sistema. Na mquina de estados MOORE as sadas no se alteram com a mudana dos estados. Exemplo:
S0/0 0
S1/1
S2/1
1 S3/0
Estado Corrente S0 S1 S2 S3
Sada (Z) 0 1 1 0
Entradas X
Clock
D1
Q Sadas Z
FF1
f: S x I
S
D2 Q
h: S
FF2
Projeto da mquina de estados Moore (Lgica de Prximo Estado): Tabela Verdade I: Entradas Estado Entrada Corrente X S0 0 S0 1 S1 0 S1 1 S2 0 S2 1 S3 0 S3 1 Sadas Prximo Estado
X 0 1 0 1 0 1 0 1
Q1t
00
01
11
10
0 1
Q1t
Q0t X
00
01
11
10
0 1
Circuitos:
Projeto da mquina de estados Moore (Lgica de Sada): Tabela Verdade I: Entradas Estado Corrente S0 S1 S2 S3 Tabela Verdade II: Estado Corrente Q1t Q0t 0 0 0 1 1 0 1 1 Circuito: Sada Z Z Sadas Sada Z
Mquina de Estados MEALY definida como uma mquina de estados em que as sadas do sistema so funo do sinal ou sinais de entrada e o estado do sistema. As sadas do sistema so alteradas quando acontece a mudana do estado atual do sistema, mudana das entradas, ou tambm quando acontece a mudana de ambas, nas entradas e o estado do sistema. Exemplo:
0/0
S0 0/0 1/1
S1
1/0
S2
0/1
1/1 S3
1/0
0/0
Estado Corrente S0 S1 S2 S3
Entradas X
Clock
D1
Q Sadas Z
FF1
f: S x I
S
D2 Q
h: S x I
FF2
Projeto da mquina de estados Mealy (Lgica de Prximo Estado): Tabela Verdade I: Entradas Estado Entrada Corrente X S0 0 S0 1 S1 0 S1 1 S2 0 S2 1 S3 0 S3 1 Sadas Prximo Estado
X 0 1 0 1 0 1 0 1
Q1t
00
01
11
10
0 1
Q1t
Q0t X
00
01
11
10
0 1
Circuitos:
Projeto da mquina de estados Mealy (Lgica de Sada): Tabela Verdade I: Entradas Estado Entrada Corrente X S0 0 S0 1 S1 0 S1 1 S2 0 S2 1 S3 0 S3 1 Tabela Verdade II: Entradas Estado Corrente Entrada Q1t Q0t X 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Q0t X
Sadas Sada Z
Sadas Sada Z
Q1t
00
01
11
10
0 1
Circuito:
10
Exerccio 1: A empresa de refrigerantes CACO-LACO deseja projetar um circuito que realize o controle de venda de 1 lata de refrigerante na sua mquina de refrigerantes. Para isto o empresa o contratou, voc como projetista-chefe do projeto deve especificar (desenhar) o diagrama de uma mquina estados finitos (FSM) que realize o controle da entrada de moedas na mquina. Se entrar o valor correto a latinha deve sair da mquina, caso contrrio, deve voltar para o estado inicial e devolver as moedas. Sabese que o preo do refrigerante um real, e tambm que a mquina somente aceita moedas de 1 real, 50 centavos e 25 centavos. Porm, a mquina pode aceitar qualquer seqencia de moedas. Sendo assim: Desenhe o diagrama da mquina de estados que realiza esta operao. Esta mquina Moore ou Mealy ? Por qu ?
Exerccio 2: Construa a diagrama de estados de uma mquina de estados finitos (FSM que realize o controle de um elevador. O elevador dever respeitar a seguinte especificao: Se o elevador est parado e o andar requisitado igual ao andar corrente , ento o elevador continua parado. Se o elevador est parado e o andar requisitado menor que o andar corrente, ento o elevador deve descer para o andar desejado. Se o elevador est parado e o andar requisitado maior que o andar corrente, ento o elevador deve subir para o andar desejado.
Sendo assim: Desenhe o diagrama da mquina de estados que realiza esta operao. Esta mquina Moore ou Mealy ? Por qu ?
11
Palavras de controle:
12
Diagrama de estados:
13
Projeto da Lgica de Prximo Estado: Codificando os estados (a partir do diagrama de estados): 8 estados 3 bits de estado (3 flip-flops) Estado S0 S1 S2 S3 S4 S5 S6 S7 Tabela Verdade I: Entradas Incio Sada Prximo Estado Q2 Q1 Q0
Igual
14
Q2
Q1 Q0
00
01
11
10
0 1
Q0 Igual Q2 Q1 00
01
11
10
00 01 11 10
Incio Igual Q1 Q0
Q2 = 0
Q2 = 1
00
01
11
10
00
01
11
10
00 01 11 10
15
DA
DA1 DA0 AA2
AA
AA1 AA0 BA2
BA
BA1 BA0
MB
MB FS4 FS3
FS
FS2 FS1 FS0
MD RW
MD RW
S0 S1 S2 S3 S4 S5 S6 S7
Q2
Q1 Q0
00
01
11
10
Q2
Q1 Q0
00
01
11
10
0 1
0 1
16
Q2
Q1 Q0
00
01
11
10
Q2
Q1 Q0
00
01
11
10
0 1
0 1
Q2
Q1 Q0
00
01
11
10
Q2
Q1 Q0
00
01
11
10
0 1
0 1
Q2
Q1 Q0
00
01
11
10
Q2
Q1 Q0
00
01
11
10
0 1
0 1
Q2
Q1 Q0
00
01
11
10
Q2
Q1 Q0
00
01
11
10
0 1
0 1
17
Q2
Q1 Q0
00
01
11
10
Q2
Q1 Q0
00
01
11
10
0 1
0 1
Q2
Q1 Q0
00
01
11
10
Q2
Q1 Q0
00
01
11
10
0 1
0 1
Q2
Q1 Q0
00
01
11
10
Q2
Q1 Q0
00
01
11
10
0 1
0 1
Q2
Q1 Q0
00
01
11
10
0 1
18
Controle Hardwired Na implementao Hardwired, a unidade de controle essencialmente um circuito combinacional. Os seus sinais de entrada so transformados em um conjunto de sinais de sada, que so sinais de controle. Para definir a implementao hardwired de uma unidade de controle, basta definir a lgica interna de controle que produz os sinais de controle de sada em funo dos sinais de entrada. Essencialmente, o que devemos fazer , para cada sinal de controle, derivar uma expresso boolena do sinal como funo das entradas. Porm, devemos saber que para um processador moderno e complexo, o n;mero de equaes booleanas para definir a unidade de controle muito grande. A tarefa de implementar o circuito combinacional que satisfaz todas as equaes torna-se extremamente difcil. Alternativamente, uma outra abordagem conhecida como microprogramada oferece, comparativamente, uma abordagem mais simples, mais estruturada e muito mais flexvel para projetos complexos.
Controle Microprogramado A unidade de controle com os seus valores binrios de controle armazenados como palavras em memria chamado um controle microprogramado. Cada palavra na memria de controle contm uma microinstruo que especifica uma ou mais microoperaes para o sistema. Uma seqncia de microinstrues constitui um microprograma ou firmware. O microprograma geralmente fixado em tempo de projeto e usualmente armazenado em uma ROM. A microprogramao envolve colocar algumas representaes de combinaes de valores de variveis em palavras de uma ROM para ser utilizado pelo resto da unidade de controle atravs de sucessivas operaes de leitura. O contedo da ROM 19
em um dado endereo especifica a microoperao que dever ser executada tanto no bloco operativo como bloco de controle.
Innstruction Register
Sequencial Logic
Control Memory
Control Logic
Microarquitetura do Bloco de Controle O conjunto de microoperaes est armazenado na memria de controle; O registrador de controle de endereo (control address register) contm o endereo da prxima microinstruo que deve ser lida; Quando uma microinstruo lida da memria de controle, transferida para o registrador de sada (control buffer register).
20
Sequencial Logic
read
Control Memory
O bloco de controle funciona como o seguinte: 1. Executa uma instruo, a unidade de lgica de sequenciamento envia o comando READ para a memria de controle; 2. A palavra que possui o endereo especificada no control address register e lida no control buffer register; 3. O contedo do control buffer register gera os sinais de controle e a prxima informao de endereo para a unidade de lgica de sequenciamento; 4. A unidade de lgica de sequenciamento carrega o novo endereo no control address register baseado nas informaes de prximo endereo do control buffer register e flags da ALU. Vantagem Simplifica o projeto da unidade de controle.
OBSERVAES: A microprogramao a tcnica dominante nas mquinas CISC. O controle hardwired utilizado nos porcessadores RISC, devido ao seu formato de instrues simples. 21
Bibliografia Bsica
MANO, M. Morris e KIME, Charles R. Logic and Computer Design Fundamentals. Upper Saddle River, New Jersey: Prentice Hall, 1997. GAJSKI, D. Principles of Digital Design. New York: Prentice-Hall, 1997.
22