diagramas asm - para representar máquinas de estado

35
pcs.usp.br Diagramas ASM para representar Máquinas de Estado Glauber De Bona PCS - Departamento de Engenharia de Computação e Sistemas Digitais Escola Politécnica da Universidade de São Paulo Junho, 2020

Upload: others

Post on 29-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diagramas ASM - para representar Máquinas de Estado

pcs.usp.br

Diagramas ASMpara representar Máquinas de Estado

Glauber De Bona

PCS - Departamento de Engenharia de Computação e Sistemas DigitaisEscola Politécnica da Universidade de São Paulo

Junho, 2020

Page 2: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Agenda

1 Introdução

2 Elementos do Diagrama

3 Bloco ASM

4 Diagrama ASM

5 Diagrama de Transição e ASM

6 Exercícios

Glauber De Bona Sistemas Digitais I Junho, 2020 2/35

Page 3: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Introdução

Introdução

Glauber De Bona Sistemas Digitais I Junho, 2020 3/35

Page 4: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Unidade de Controle e Fluxo de Dados

No nível do processador, um sistemas digital é tipicamentedividido entre:

Fluxo de Dados: Arquitetura onde os dados sãomanipulados, formada por MUX, somador, ULA, Flip-Flops,registrador, contador. . .Unidade de Controle: Circuito que controla a sequência deoperações, implementa uma máquina de estados finita.

A máquina de estado da UC implementa um algoritmo, porisso é chamada de Máquina de Estado Algorítmica.

Glauber De Bona Sistemas Digitais I Junho, 2020 4/35

Page 5: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Diagrama ASM

ASM = Algorithmic State MachineDiagrama ASM: Representação gráfica(fluxograma) do algoritmo que descreve ocomportamento de um sistema digital.

Descreve uma Máquina de Estados Finita(Mealy e Moore).

Assumem-se entradas e saídas binárias.Cada diagrama ASM corresponde a umcircuito sequencial síncrono.

Equivalente a diagramas de transição, masexplicitam algoritmo.

Glauber De Bona Sistemas Digitais I Junho, 2020 5/35

Page 6: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Elementos do Diagrama

Elementos do Diagrama

Glauber De Bona Sistemas Digitais I Junho, 2020 6/35

Page 7: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Elementos do Diagrama ASM

O comportamento da máquina em um estado (saídas epróximo estado função das entradas) é definido por umbloco ASM.

Em circuito, um bloco corresponde a um período de clock.Um diagrama ASM é formado por um conjuntos de blocos,respeitando regras de composição.Cada bloco ASM é construído pela conexão dos seguinteselementos básicos: caixa de estado, caixa de decisão e caixade saída condicional.

Glauber De Bona Sistemas Digitais I Junho, 2020 7/35

Page 8: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Caixa de Estado

Representa estado da máquina, inicia um bloco ASM.Traz o nome e o código do estado, além das saídas deMoore.

Listamos dentro apenas as saídas ativas.

Glauber De Bona Sistemas Digitais I Junho, 2020 8/35

Page 9: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Caixa de Decisão

Bifurca o caminho conforme o valor de uma expressãoBoolena .Traz dentro a expressão em função das entradas damáquina.Caixa possui uma entrada e duas saídas.

Cada saída corresponde a um possível valor pra expressão (0ou 1).

Glauber De Bona Sistemas Digitais I Junho, 2020 9/35

Page 10: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Caixa de Saída Condicional

Vem sempre depois de uma caixa de decisão.Lista o nome das saídas da máquina de estado ativasnaquele caminho.

Glauber De Bona Sistemas Digitais I Junho, 2020 10/35

Page 11: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Caixa de Saída Condicional

Glauber De Bona Sistemas Digitais I Junho, 2020 11/35

Page 12: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Junção

Caminhos que conectam caixas podem se juntar.Uma junção tem 2 ou mais caminhos na entrada e umcaminho na saída.A junção permite que dois estados diferentes levem a ummesmo estado.

Glauber De Bona Sistemas Digitais I Junho, 2020 12/35

Page 13: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Bloco ASM

Bloco ASM

Glauber De Bona Sistemas Digitais I Junho, 2020 13/35

Page 14: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Bloco ASM

O bloco ASM descreve a operação da máquina em umestado, durante um período de clock.Inicia com a caixa daquele estado.Conectam-se caixas de decisão e de saída condicional.Caminhos do bloco terminam quando chegam em outroestado.O bloco diz qual o estado futuro em função das entradas.Entradas determinam quais saídas são iguais a 1, demaissão iguais a zero.Dentro do bloco, todas avaliações de expressões e ativaçõesde saídas acontecem simultaneamente.

Glauber De Bona Sistemas Digitais I Junho, 2020 14/35

Page 15: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Bloco ASM

Estado Atual: S0.Estado Futuro:

Se INICIO = 0, S0;senão S1 se Q0 = 0, senão S2

Saídas:SELECAO = 1;ENABLE = 1 sse INICIO = 1

Glauber De Bona Sistemas Digitais I Junho, 2020 15/35

Page 16: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Equivalência entre blocos ASM

Diferentes blocos ASM podem ser equivalentes.

Glauber De Bona Sistemas Digitais I Junho, 2020 16/35

Page 17: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Diagrama ASM

Diagrama ASM

Glauber De Bona Sistemas Digitais I Junho, 2020 17/35

Page 18: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Compondo um diagrama ASM

Juntando blocos ASM, temos um diagrama ASM, onde oestado inicial é marcado com uma seta.Regras de composição a serem respeitadas:

Caixas de saídas condicionais devem vir depois de caixas dedecisão.Caixas de decisão num mesmo caminho entre dois estadosdevem testar diferentes expressões.Laços (loops) devem passar por pelo menos um estado.

Glauber De Bona Sistemas Digitais I Junho, 2020 18/35

Page 19: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Diagrama ASM

A transição de estados na máquina deestados finita acompanha um caminho nodiagrama ASM.A cada momento, estamos em um blocoASM, correspondente ao estado atual.A cada tick do clock, vamos para opróximo estado, de acordo com o valordas entradas.Exemplo: O que a máquina ao lado faz?

Glauber De Bona Sistemas Digitais I Junho, 2020 19/35

Page 20: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exemplo - Máquina de Moore

Problema: projetar uma máquina deestados que detecta a sequência 1001em sua única entrada (comsobreposição).Moore: sem saídas condicionaisUma entrada, e; uma saída, z .z = 1 sse lemos 1001 em e.

Glauber De Bona Sistemas Digitais I Junho, 2020 20/35

Page 21: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exemplo - Máquina de Mealy

Mealy: com saídas condicionaisQuando chega o último 1 de 1001,z = 1 e voltamos para S1.Máquina de Moore tem more estados.

Glauber De Bona Sistemas Digitais I Junho, 2020 21/35

Page 22: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Diagrama de Transição e ASM

Diagrama de Transição e ASM

Glauber De Bona Sistemas Digitais I Junho, 2020 22/35

Page 23: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Diagramas de transição de estados e ASM

Diagramas ASM correspondem a diagramas de transição deestado.Cada caixa de estado corresponde a um nó no diagrama detransição.Os arcos de transição de estados correspondem a caminhosentre estados no diagrama ASM.

Glauber De Bona Sistemas Digitais I Junho, 2020 23/35

Page 24: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Diagramas de transição de estados e ASM

Moore: saídas rotulam estados.

Glauber De Bona Sistemas Digitais I Junho, 2020 24/35

Page 25: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Diagramas de transição de estados e ASM

Mealy: saídas condicionaisrotulam transiçõescorrespondentes.

Glauber De Bona Sistemas Digitais I Junho, 2020 25/35

Page 26: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exercícios

Exercícios

Glauber De Bona Sistemas Digitais I Junho, 2020 26/35

Page 27: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exercícios

Exercício 1: Construa um bloco ASM para o estado S1,considerando entradas x1, x2 e saída z . A saída z deve serigual a 1 se x1 = 1 e x2 = 0. O bloco sai para o estado S2,exceto se x1 = x2 = 1, quando o bloco sai para S3.

Glauber De Bona Sistemas Digitais I Junho, 2020 27/35

Page 28: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exercícios

Exercício 2: Construa o diagrama ASM de um contadorcujo módulo (4, 6 ou 8) é determinado pelas entradas x1 ex2. O contador deve ficar no estado inicial enquantox1 = x2 = 0. O módulo da contagem é determinado noestado inicial: 4 se x1 = 1 e x2 = 0; módulo 6 se x1 = 0 ex2 = 1; e módulo 8 se x1 = x2 = 1. A única saída, z , deveser igual a 1 apenas no último estado da contagem.

Glauber De Bona Sistemas Digitais I Junho, 2020 28/35

Page 29: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exercícios

Exercício 3: Construa o diagrama ASM de uma máquinaque reconheça, na sua entrada x , uma sequência de dois 1’sseguida por uma sequência de 3 bits onde exatamente umdeles é 1: 11100, 11010, 11001. Após detectar o par de 1’sconsecutivos, a máquina deve analisar os próximos 3 bits edepois voltar para o estado inicial, ativando a saída z nestatransição se detectar a sequência.

Glauber De Bona Sistemas Digitais I Junho, 2020 29/35

Page 30: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exercícios

Exercício 4: Desenhe o diagrama detransição de estados equivalente aodiagrama ASM ao lado (Moore).

Glauber De Bona Sistemas Digitais I Junho, 2020 30/35

Page 31: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exercícios

Exercício 5: Desenhe o diagrama detransição de estados equivalente aodiagrama ASM ao lado (Mealy).

Glauber De Bona Sistemas Digitais I Junho, 2020 31/35

Page 32: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exercícios

Exercício 6: Converta o diagrama de transição de estadosabaixo para o diagrama ASM equivalente (Moore).

Glauber De Bona Sistemas Digitais I Junho, 2020 32/35

Page 33: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Exercícios

Exercício 7: Converta o diagrama de transição de estadosabaixo para o diagrama ASM equivalente (Mealy).

Glauber De Bona Sistemas Digitais I Junho, 2020 33/35

Page 34: Diagramas ASM - para representar Máquinas de Estado

Obrigado!

Page 35: Diagramas ASM - para representar Máquinas de Estado

Introdução

Elementos doDiagrama

Bloco ASM

Diagrama ASM

Diagrama deTransição e ASM

Exercícios

Referências

B. Albertini.Algorithmic state machines.https://balbertini.github.io/asm-pt_BR.html#asm.

D. Givone.Digital Principles and Design.Palgrave Macmillan, 2003.

Glauber De Bona Sistemas Digitais I Junho, 2020 35/35