implementação com roms - técnico lisboa 18... · fluxograma para ilustrar os vários tipos de...

18
12/1/10 1 Mário Serafim Nunes Guilherme Silva Arroz Implementação com ROMs Mário Serafim Nunes Guilherme Silva Arroz Considerações iniciais Implementação com a estrutura básica Implementação com endereçamento explícito Implementação com endereçamento implícito 2010/2011 Sistemas Digitais - Taguspark 2

Upload: lyduong

Post on 07-Dec-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

12/1/10  

1  

Mário Serafim Nunes Guilherme Silva Arroz

Implementação com ROMs

Mário Serafim Nunes Guilherme Silva Arroz

  Considerações iniciais   Implementação com a estrutura básica   Implementação com endereçamento explícito   Implementação com endereçamento implícito

2010/2011

Sistemas Digitais - Taguspark

2

12/1/10  

2  

Mário Serafim Nunes Guilherme Silva Arroz

  Como se viu, a implementação de um circuito que concretiza uma máquina de estados pode ser feita usando portas e flip-flops a partir de diagramas de estado.

  No entanto, viu-se, também que a especificação de uma máquina de estados pode ser feita por fluxogramas em vez de diagramas de estados.

  Igualmente, a implementação pode ser feita por flip-flops ou registos e ROMs em vez de lógica discreta.

2010/2011

Sistemas Digitais - Taguspark

3

Mário Serafim Nunes Guilherme Silva Arroz

  A utilização de fluxogramas é particularmente interessante quando o número de entradas e/ou saídas da máquina é elevado.

  A utilização de ROMs é justificada a partir de uma dada complexidade de circuitos.

  As duas considerações anteriores justificam que a especificação com fluxogramas esteja muitas vezes associada à implementação com ROMs.

  Isso não é, porém, obrigatório.

2010/2011

Sistemas Digitais - Taguspark

4

12/1/10  

3  

Mário Serafim Nunes Guilherme Silva Arroz

  Uma das vantagens da implementação com ROMs é a de não ser necessário simplificar as expressões das funções, uma vez que é a sua tabela que é implementada.

  No entanto, pode chegar-se a ROMs de grande dimensão, pelo que se utilizam técnicas mistas que permitem, com um pequeno overhead diminuir significativamente a dimensão das ROMs utilizadas.

2010/2011

Sistemas Digitais - Taguspark

5

Mário Serafim Nunes Guilherme Silva Arroz

  Vai usar-se nesta aula uma máquina especificada por um fluxograma para ilustrar os vários tipos de implementação com ROMs.

  Tem 3 entradas, X1, X2 e X3 e 3 saídas Z1, Z2 e Z3.

2010/2011

Sistemas Digitais - Taguspark

6

12/1/10  

4  

Mário Serafim Nunes Guilherme Silva Arroz

  O modelo mais óbvio, denominado Estrutura básica é, como se viu atrás, o seguinte:

2010/2011

Sistemas Digitais - Taguspark

7

Mário Serafim Nunes Guilherme Silva Arroz

  No exemplo que se escolheu há seis estados que necessitam, portanto, de três flip-flops.

  Marcando as atribuições de variáveis de estado no fluxograma, resulta o fluxograma que se vê no próximo slide.

2010/2011

Sistemas Digitais - Taguspark

8

12/1/10  

5  

Mário Serafim Nunes Guilherme Silva Arroz

  Adaptando o modelo ao exemplo, ficará como se vê no próximo slide.

2010/2011

Sistemas Digitais - Taguspark

9

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

10

12/1/10  

6  

Mário Serafim Nunes Guilherme Silva Arroz

  Campos da ROM: Do ponto de vista do significado das linhas de dados da ROM, há claramente dois campos.

  O campo Estado seguinte corresponde às linhas D5 a D3 da ROM que correspondem aos estados seguintes dos flip-flops, NQ0 a NQ2

  O campo Saídas actuais corresponde às linhas D2 a D0 que correspondem às saídas Z3 a Z1.

2010/2011

Sistemas Digitais - Taguspark

11

Mário Serafim Nunes Guilherme Silva Arroz

  O conteúdo da ROM ficará então dado por uma tabela com 64 linhas (26):

2010/2011

Sistemas Digitais - Taguspark

12

Primeiras 13 linhas

Enderecos Dados

Estado Entradas Estado SaıdasEP

Q2 Q1 Q0 X3 X2 X1ES

NQ2 NQ1 NQ0 Z3 Z2 Z1

0 0 0 0 0 0 E4 1 0 0 0 0 00 0 0 0 0 1 E0 0 0 0 0 0 00 0 0 0 1 0 E4 1 0 0 0 0 00 0 0 0 1 1 E1 0 0 1 1 0 0

E00 0 0 1 0 0 E4 1 0 0 0 0 00 0 0 1 0 1 E0 0 0 0 0 0 00 0 0 1 1 0 E4 1 0 0 0 0 00 0 0 1 1 1 E1 0 0 1 1 0 0

0 0 1 0 0 0 E4 1 0 0 0 0 10 0 1 0 0 1 E4 1 0 0 0 0 10 0 1 0 1 0 E4 1 0 0 0 0 10 0 1 0 1 1 E4 1 0 0 0 0 1

E10 0 1 1 0 0 E2 0 1 0 0 0 1

· · ·

1

12/1/10  

7  

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

13

Últimas 16 linhas

Enderecos Dados

Estado Entradas Estado SaıdasEP

Q2 Q1 Q0 X3 X2 X1ES

NQ2 NQ1 NQ0 Z3 Z2 Z1

· · ·

1 0 0 0 0 0 E4 1 0 0 0 1 01 0 0 0 0 1 E4 1 0 0 0 1 01 0 0 0 1 0 E4 1 0 0 0 1 01 0 0 0 1 1 E4 1 0 0 0 1 0

E41 0 0 1 0 0 E5 1 0 1 0 1 01 0 0 1 0 1 E5 1 0 1 0 1 01 0 0 1 1 0 E5 1 0 1 0 1 01 0 0 1 1 1 E5 1 0 1 0 1 0

1 0 1 0 0 0 E3 0 1 1 0 0 11 0 1 0 0 1 E3 0 1 1 0 0 11 0 1 0 1 0 E3 0 1 1 0 0 11 0 1 0 1 1 E3 0 1 1 0 0 1

E51 0 1 1 0 0 E3 0 1 1 0 0 11 0 1 1 0 1 E3 0 1 1 0 0 11 0 1 1 1 0 E3 0 1 1 0 0 11 0 1 1 1 1 E3 0 1 1 0 0 1

1

Mário Serafim Nunes Guilherme Silva Arroz

  Para implementar esta máquina por este método é preciso um conjunto de três flip-flops eventualmente organizados em registo e uma ROM de 64 palavras de 6 bits (384 bits).

  É, portanto, uma solução elegante e económica.   Uma análise da tabela mostra que há muitas

linhas repetidas. Observando mais cuidadosamente, verifica-se que essas repetições ocorrem em linhas em cujos endereços apenas diferem os bits correspondentes às entradas.

2010/2011

Sistemas Digitais - Taguspark

14

12/1/10  

8  

Mário Serafim Nunes Guilherme Silva Arroz

  Há, portanto, um estímulo a encontrar outras estruturas usando ROMs. Seria interessante obter uma estrutura em que a ROM não tivesse as entradas da máquina ligadas ao seu barramento de endereços.

  Isso tem duas consequências: Em primeira análise, deixa de ser possível usar máquinas de Mealy.

  Em segundo lugar, há que garantir que as entradas continuam a ser tidas em conta na determinação do estado seguinte.

2010/2011

Sistemas Digitais - Taguspark

15

Mário Serafim Nunes Guilherme Silva Arroz

  Isso conduz a uma outra estrutura:

2010/2011

Sistemas Digitais - Taguspark

16

A alteração fundamental

12/1/10  

9  

Mário Serafim Nunes Guilherme Silva Arroz

  Como se pode observar cada linha da ROM corresponde agora a um estado presente.

  Para cada estado presente o circuito consulta uma e uma só entrada.

  Em função do valor dessa entrada, evolui para um de dois estados.

  Com esta abordagem, ter-se-á uma ROM mais larga (com mais bits por palavra) mas muito menos profunda (com menos palavras).

2010/2011

Sistemas Digitais - Taguspark

17

Mário Serafim Nunes Guilherme Silva Arroz

  Claro que o fluxograma que se tem vindo a usar não é exequível agora.

2010/2011

Sistemas Digitais - Taguspark

18

A máquina tem de ser de Moore

Um estado não pode “consultar” duas variáveis de entrada.

12/1/10  

10  

Mário Serafim Nunes Guilherme Silva Arroz

  É, portanto, necessário alterar o fluxograma.   Ou, mais exactamente, é necessário repensar o

problema. E cumprir, desde o princípio as regras impostas.

  No caso vertente vai-se optar por fazer uma transformação muito directa — que altera o comportamento do circuito — mas é simples de fazer.   Inclui-se novo estado onde está a saída condicional.   Inclui-se novo estado entre os dois losangos a seguir

ao estado E0.

2010/2011

Sistemas Digitais - Taguspark

19

Mário Serafim Nunes Guilherme Silva Arroz

  Novo fluxograma já com atribuição de variáveis de estado

  No próximo slide ilustra-se o modelo adaptado a este circuito

2010/2011

Sistemas Digitais - Taguspark

20

12/1/10  

11  

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

21

Mário Serafim Nunes Guilherme Silva Arroz

  Campos da ROM: Há agora 4 campos.

  O campo Teste corresponde às linhas D10 e D9 e selecciona a linha de entrada a testar

  O campo ES1 (linhas D8 a D6) que indica qual o estado seguinte se a entrada seleccionada for 1

  O campo ES0 (linhas D5 a D3) que indica qual o estado seguinte se a entrada seleccionada for 0

  O campo Saídas actuais corresponde às linhas D2 a D0 que correspondem às saídas Z3 a Z1.

2010/2011

Sistemas Digitais - Taguspark

22

12/1/10  

12  

Mário Serafim Nunes Guilherme Silva Arroz

  O conteúdo da ROM ficará agora dado por uma tabela com 8 linhas (23):

2010/2011

Sistemas Digitais - Taguspark

23

Mário Serafim Nunes Guilherme Silva Arroz

  Para implementar esta máquina é agora preciso uma ROM de 8 palavras (em vez de 64) de 11 bits (em vez de 6) (88 bits em vez de 384).

  Continua a ser necessário usar três flip-flops (poderiam ser 4 se houvesse necessidade)

  Passaram a ser também necessários 2 multiplexadores.

  Repare-se que se está a mudar de um tipo de raciocínio ligado ao projecto de hardware puro e duro, para um conjunto de metodologias próximas da programação...

2010/2011

Sistemas Digitais - Taguspark

24

12/1/10  

13  

Mário Serafim Nunes Guilherme Silva Arroz

  Avançou-se muito na diminuição das dimensões da ROM quando se passou da estrutura básica para uma arquitectura baseada no endereçamento explícito.

  Vai-se dar um passo suplementar que permitirá “encolher” um pouco a palavra da ROM e até retirar um dos multiplexadores.

2010/2011

Sistemas Digitais - Taguspark

25

Mário Serafim Nunes Guilherme Silva Arroz

  Os flip-flops que se usaram até agora, estavam estruturados como um registo. Ora acontece que, substituindo o registo por um contador se pode conseguir que este possa evoluir numa sequência de estados autonomamente.

  Se se numerarem os estados segundo uma sequência de contagem e se usar o carregamento paralelo do contador para saltar quando a sequência de contagem não pode ser respeitada, podemos suprimir um dos campos estado seguinte da ROM.

2010/2011

Sistemas Digitais - Taguspark

26

12/1/10  

14  

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

27

Mário Serafim Nunes Guilherme Silva Arroz

  Como deixou de haver necessidade de escolher entre dois endereços, o multiplexador a isso dedicado, desapareceu.

  Na estrutura, testam-se as entradas e o XNOR na saída do multiplexador permite testar as entradas seleccionadas para os seus dois níveis possíveis.

  Isso pode ser evitado colocando todas as entradas e as suas negações à entrada do multiplexador. Mas o resultado é o mesmo em termos de número de bits da palavra da ROM.

2010/2011

Sistemas Digitais - Taguspark

28

12/1/10  

15  

Mário Serafim Nunes Guilherme Silva Arroz

  É claro que agora há que refazer a atribuição de variáveis de estado para conseguir ter sequências binárias de comprimento razoável.

  Paralelamente a isso, pode-se ou não mudar os nomes dos estados.

  Opta-se por o fazer para manter clareza nas metodologias.

  O fluxograma com a alteração no nome dos estados e na atribuição de variáveis está no slide seguinte.

2010/2011

Sistemas Digitais - Taguspark

29

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

30

Repare-se que estão indicados os percursos de contagem e os locais onde há saltos.

Naturalmente podiam ser feitas opções diferentes das realizadas.

12/1/10  

16  

Mário Serafim Nunes Guilherme Silva Arroz

  O modelo apresentado tem agora que ser adaptado ao circuito que temos vindo a estudar.

2010/2011

Sistemas Digitais - Taguspark

31

Mário Serafim Nunes Guilherme Silva Arroz

  Campos da ROM: Há agora 4 campos.

  O campo Teste corresponde às linhas D5 e D4 e selecciona a linha de entrada a testar

  O campo Nível (linha D3) indica qual o nível a que a variável de entrada é testada (0 ou 1).

  O campo Estado seguinte (linhas D8 a D6) indica qual o estado seguinte se existir salto

  O campo Saídas actuais corresponde às linhas D2 a D0 que correspondem às saídas Z3 a Z1.

2010/2011

Sistemas Digitais - Taguspark

32

12/1/10  

17  

Mário Serafim Nunes Guilherme Silva Arroz

  O conteúdo da ROM continuará dado por uma tabela com 8 linhas (23):

2010/2011

Sistemas Digitais - Taguspark

33

Nunca salta (testa se 1 = 0)

Salta sempre (testa se 1 = 1)

Mário Serafim Nunes Guilherme Silva Arroz

  Continua-se com uma ROM de 8 palavras mas passa-se para palavras de 9 bits (desceu-se dos 88 bits para 72).

  Passou a usar-se um contador em vez de um registo.

  Só é necessário um multiplexador.   Está-se cada vez mais próximo de um conjunto

de metodologias próximas da programação.

2010/2011

Sistemas Digitais - Taguspark

34

12/1/10  

18  

Mário Serafim Nunes Guilherme Silva Arroz

  O caminho que se trilhou nesta aula é o caminho que, partindo da concepção de circuitos nos está a levar para um circuito que pode ser programado para executar tarefas e que, portanto, nos vai levar ao computador.

  É interessante observar como as evoluções tecnológicas se podem associar com necessidades dos utilizadores para criar novos produtos, novos processos, novos paradigmas.

2010/2011

Sistemas Digitais - Taguspark

35

Mário Serafim Nunes Guilherme Silva Arroz

  Livro recomendado, Capítulo 7   Alguns aspectos estão melhor tratados em

http://sd.tagus.ist.utl.pt/files/Folhas_v11.pdf, página 366 e seguintes.

  Existem muitos livros com capítulos sobre o assunto.

  A Internet é, como de costume, uma fonte que, explorada com espírito crítico, tem muito para dar.

2010/2011

Sistemas Digitais - Taguspark

36