A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados Frequently, presenters must deliver material of.

Apresentações semelhantes


Apresentação em tema: "Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados Frequently, presenters must deliver material of."— Transcrição da apresentação:

1 Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados Frequently, presenters must deliver material of a technical nature to an audience unfamiliar with the topic or vocabulary. The material may be complex or heavy with detail. To present technical material effectively, use the following guidelines from Dale Carnegie Training®. Consider the amount of time available and prepare to organize your material. Narrow your topic. Divide your presentation into clear segments. Follow a logical progression. Maintain your focus throughout. Close the presentation with a summary, repetition of the key steps, or a logical conclusion. Keep your audience in mind at all times. For example, be sure data is clear and information is relevant. Keep the level of detail and vocabulary appropriate for the audience. Use visuals to support key points or steps. Keep alert to the needs of your listeners, and you will have a more receptive audience.

2 Projecto de Sistemas Digitais
No projecto de Sistemas Digitais é possível encontrar sistemas simples e sistemas mais complexos Projecto de sistemas simples: Combinatórios Tabelas e Mapas de Karnaugh Tabelas e Multiplexeres Tabelas e ROMs (Read Only Memories) Tabelas e PLDs (Programable Logic Devices) Sequenciais Modelos de Moore e Mealy; Implementação com recurso a FFs ou registos e a lógica combinatória Projecto de sistemas mais complexos: Divisão entre um circuito que dá suporte ao fluxo e manipulação de dados, e um circuito que controla esse circuito de dados Uke2003 Sistemas Digitais

3 Circuito de Controlo/Circuito de Dados
Dados de entrada Ordens e condicionantes do exterior O circuito controlado é constituído por um conjunto de módulos simples que podem incluir: Registos Contadores Multiplexeres Somadores Comparadores Memórias Algumas portas lógicas O circuito de controlo é um sistema sequencial síncrono (Máquina de Moore ou de Mealy) Acções a desencadear Circuito com armazenamento Controlo de dados e seu processamento Informação sobre o estado Informação para o exterior Dados de saída Uke2003 Sistemas Digitais

4 Exemplo: Controlo do parque de estacionamento do Pav
Exemplo: Controlo do parque de estacionamento do Pav. de Civil no IST-Alameda Como a rua de acesso é estreita, só pode circular nela um veículo de cada vez Quando o parque está cheio não podem entrar carros Detector Porta Sentido do tráfego Existem 4 detectores e 3 portas que controlam o acesso ao parque de estacionamento Uke2003 Sistemas Digitais

5 Parque de Civil (cont.) Porta 1 Detector 1 Porta 2 Detector 2 Porta 3
A saída é detectada pela presença em D3. Se não há entrada em curso, a cancela P3 abre e só fechará quando o carro a atravessar e sair de D4. Quando o carro chega a D2, abre-se P2 enquanto o carro estiver sobre D2. Nessa altura haverá mais um lugar de estacionamento A entrada começa quando um carro chega a D1. Se houver lugar, e se não há saída em curso, a porta P1 abre e asim fica enquanto o carro for detectado por D1. Quando o carro chega a D4 a cancela P3 é aberta e o carro entra. Durante essa fase, deve ser anotado que existe um lugar a menos no estacionamento. Após deixar D4, a cancela P3 fecha Uke2003 Sistemas Digitais

6 Parque de Civil (cont.): Circuito de Dados
Porta 1 Porta 2 Porta 3 Detector 3 Detector 2 Detector 1 Detector 4 O circuito de dados do sistema que se pretende projectar é muito simples, pois a única informação relevante para o funcionamento correcto do circuito é se existem ou não lugares no parque Assim, o circuito de dados poderá ser implementado por um contador UP/DOWN que guarda o número de carros no parque e que indica se o parque está cheio: Uke2003 Sistemas Digitais

7 Parque de Civil (cont.): Circuito de Dados e Circuito de Controlo
O circuito de Controlo será um circuito sequencial que a partir da informação dos detectores e da existência de lugares no parque, deverá controlar a sequência de abertura das portas e o incremento/decremento do contador Teremos assim o seguinte modelo para o sistema: Contador Controlo CP UP CP DOWN Cheio D1 D2 D3 D4 P1 P2 P3 De notar que no circuito de dados deste sistema não existem nem dados de saída, nem dados de entrada Esses dados, a existirem, poderiam ser, por exemplo, o número de lugares vagos (dado de saída) e o número máximo de lugares que poderia ser variável (dado de entrada) Uke2003 Sistemas Digitais

8 Parque de Civil (cont.): Circuito de Controlo
A especificação do Circuito de Controlo para este sistema poderia ser feita através de um diagrama de estados No entanto, o Circuito de Controlo de controlo possui 5 entradas (D1 a D4, e Cheio), e 5 saídas (P1 a P3, CP_UP e CP_DOWN), pelo que o diagrama ficaria bem confuso... D1 D2 D3 D4 A solução será especificar o circuito através de um Fluxograma, ou Máquina de Estados (ASM – Algorithmic State Machine) CP UP CP DOWN Contador Controlo Cheio P1 P2 P3 Uke2003 Sistemas Digitais

9 Parque de Civil (cont.): Fluxograma (ASM) do Circuito de Controlo
Uke2003 Sistemas Digitais

10 Fluxogramas (ASMs) – Estados e Saídas
Representação de saídas: Em A, ALFA_H está a High e BETA_L está a High, mas só ALFA é representada, pois é a única activa No estado B, ambas estão a Low... Uke2003 Sistemas Digitais

11 Fluxogramas (ASMs) - Entradas
Uke2003 Sistemas Digitais

12 Fluxogramas (ASMs) – Saídas Condicionadas (do tipo Mealy)
Uke2003 Sistemas Digitais

13 Fluxogramas (ASMs) – Representação de saltos em fluxogramas longos
Uke2003 Sistemas Digitais

14 Fluxogramas (ASMs) – Exemplos
Uke2003 Sistemas Digitais

15 Fluxogramas (ASMs) – Exemplos
Como se explica que de uma máquina de Mealy se tenha chegado a um fluxograma com uma saída de Moore? Uke2003 Sistemas Digitais

16 Implementação de um Circuito de Controlo explicitado por ASM
A implementação de um Circuito de Controlo pode ser feita através de vários métodos: Síntese clássica 1 Flip-Flop por Estado (codificação “One Hot”) Implementação microprogramada com ROM (Read Only Memory) Endereçamento Explícito Endereçamento Implícito Uke2003 Sistemas Digitais

17 Implementação através de Síntese Clássica
A implementação de um Circuito de Controlo através do método de síntese de circuitos sequenciais síncronos é possível desde que o ASM seja simples Basta obter a tabela de transições a partir do fluxograma, e a partir daí aplica-se o método estudado anteriormente O principal obstáculo quando o ASM tem uma certa dimensão consiste na complexidade que o método implica: Por exemplo, no problema do Parque de Estacionamento de Civil, temos 8 estados, 5 entradas e 5 saídas, o que leva a que as tabelas de estado seguinte tenham 25=32 colunas(!!!), e a que os mapas de Karnaugh para as entradas dos Flip-Flops tenham 5+3 = 8 variáveis! Uke2003 Sistemas Digitais

18 Implementação com 1 FF por estado
Mais uma vez recorre-se ao método estudado anteriormente. As grandes vantagens deste método são: Permite uma realização directa a partir do fluxograma; A sua complexidade não aumenta exponencialmente com a dimensão da ASM Estes vantagens devem-se ao facto de este método não obrigar a uma visão “global” do circuito a implementar durante a fase de concepção Recorde-se que neste tipo de implementação cada estado é representado por um FF, e que em cada instante só um FF está a High, estando os restantes obrigatoriamente a Low Apesar de necessitar de mais FF, a lógica de estado seguinte vem muito simplificada e, sobretudo, a metodologia de projecto é muito mais simples Uke2003 Sistemas Digitais

19 Implementação com 1 FF por estado (II)
Transição incondicional entre estados Equações: CP 1D C1 A B SEQ_H SEQ_L Uke2003 Sistemas Digitais

20 Implementação com 1 FF por estado (III)
Transição condicional entre estados Equações: & 1 1D C1 x CP A C B SEQ_H Uke2003 Sistemas Digitais

21 Implementação com 1 FF por estado (IV)
Convergência de ramos Estado A Estado B Estado C Equações: Uke2003 Sistemas Digitais

22 Implementação com 1 FF por estado (V) - Exemplo
A_H B_H C_H & 1 E1_H DA_H DB_H DC_H CLOCK_H ≥1 E0_H X_H Y_H DA = B + C E0 X = A E1 DB = A E1 Y = C DC = A E1 + C E0 Uke2003 Sistemas Digitais

23 Implementação de ASM com ROMs (ou Microprogramada)
O maior problema dos métodos apresentados anteriormente reside na grande quantidade de lógica combinatória necessária para as funções de entrada dos FF A utilização de circuitos combinatórios típicos em substituição das portas lógicas melhora esta situação, mas continua a não ser uma solução satisfatória Uma solução bastante melhor será a utilização de ROMs (Read Only Memories): Apesar de uma ROM ser um circuito com efeito de “memória”, i.e., supostamente um circuito sequencial, esta pode ser utilizada de forma bastante eficiente para implementação de funções combinatórias As memórias serão estudadas de forma detalhada nas próximas aulas, mas para já é conveniente introduzir as ROMs como circuitos que permitem implementar funções combinatórias Uke2003 Sistemas Digitais

24 Utilização de ROMs para implementação de circuitos combinatórios
Uma ROM é um dispositivo lógico que tem como entradas um conjunto de linhas de endereço (Am,Am-1,...,A1,A0), e como saídas, um conjunto de linhas de dados (Dn,Dn-1,...,D1,D0) A dimensão do barramento de dados e do barramento de endereços é variável Quando vista como um dispositivo que permite implementar circuitos combinatórios, uma ROM de 2 bits de endereço e 1 bit de dados, pode ser representada com o seguinte modelo: De notar que os bits b3, b2, b1 e b0, não são entradas exteriores da ROM, mas sim valores binários pré-definidos que não podem ser alterados em tempo real Uke2003 Sistemas Digitais

25 Utilização de ROMs para implementação de circuitos combinatórios (II)
Se assumirmos que na ROM se pré-definiu que: b3=0, b2=1, b1=1 e b0=0, então a saída D0 passa a assumir a função XOR; b3=0, b2=1, b1=1 e b0=1, então a saída D0 passa a assumir a função OR; ...e assim sucessivamente para qualquer função possível de definir com 4 bits Ou seja, é possível implementar qualquer função de 4 bits a partir de uma ROM de 2 bits de endereço e 1 bit de dados Uke2003 Sistemas Digitais

26 Utilização de ROMs para implementação de circuitos combinatórios (III)
Numa ROM com n bits de dados, é possível definir n funções combinatórias diferentes Se essa ROM possuir m bits de endereço, então será possível definir n funções combinatórias de m bits Resumindo, uma ROM pode ser encarada como um dispositivo extremamente versátil e prático para implementar funções combinatórias Simbologia de uma ROM de 5 linhas de endereço e 8 linhas de dados (32x8): Com esta ROM é possível implementar 8 funções de 5 variáveis Para isso basta que, de alguma forma que será indicada posteriormente, se consigam pré-definir os 8 conjuntos de 25=32 bits indicados como bx no modelo anterior Normalmente, o conteúdo de uma ROM é apresentado sob a forma de uma tabela de 2m linhas e n colunas Uke2003 Sistemas Digitais

27 Implementação de ASMs com ROMs (I)
A implementação de ASM com recurso a uma ROM pode ser realizada com a seguinte estrutura: 1D C1 ... ROM Entradas Saídas C L OCK_H ESTADO LÓGICA COMBINATÓRIA Endereços da ROM Saídas de dados da ROM Uke2003 Sistemas Digitais

28 Implementação com ROMs (II)
Exemplo: Temos 3 estados: A, B e C e, portanto, podemos usar 2 variáveis de estado Q1 e Q0. Temos duas variáveis de entrada, E0 e E1. Temos duas funções de saída, X, de Mealy e Y de Moore O diagrama de blocos fica: Uke2003 Sistemas Digitais

29 Implementação com ROMs (III)
Exemplo (cont) Estado Q1Q0 A 0 0 B 0 1 C 1 0 Utilizemos a seguinte atribuição de estados: O conteúdo da ROM será definido pela seguinte tabela: ENDEREÇO CONTEÚDO da ROM Significado das Linhas Q1 Q0 E1 E0 FD1 FD2 Y X Linhas da ROM A3 A2 A1 A0 D3 D2 D1 D0 Estado A 1 B C No estado C, com E1=0 e E0=0, continuo no estado C (10), e as saídas são Y=1, X=0 No estado C, com E1=1 e E0=1, vou para o estado A (00), e as saídas são Y=1, X=0 Uke2003 Sistemas Digitais

30 Implementação com ROMs (IV)
Exemplo (cont) Repare-se que o conteúdo da ROM em cada endereço pode ser dividido em dois campos distintos, o Estado Seguinte e as Saídas Estado Seguinte Saídas ENDEREÇO Significado das Linhas Q1 Q0 E1 E0 FD1 FD2 Y X Linhas da ROM A3 A2 A1 A0 D3 D2 D1 D0 Estado A 1 B C Uke2003 Sistemas Digitais

31 Implementação com ROMs (II)
Exemplo: Temos 3 estados: A, B e C e, portanto, podemos usar 2 variáveis de estado Q1 e Q0. Temos duas variáveis de entrada, E0 e E1. Temos duas funções de saída, X, de Mealy e Y de Moore O diagrama de blocos fica: Uke2003 Sistemas Digitais

32 Implementação com ROMs (V)
A dimensão da ROM necessária para implementar este exemplo seria bastante aceitável: 4 linhas de endereço 4 linhas de saída (ou dados) Ou seja, teríamos uma ROM de 16x4 bits, o que é uma ROM bastante pequena No entanto, para um problema como o do Parque de Estacionamento de Civil, a ROM necessária já teria dimensões substancialmente maiores: 8 linhas de endereço (5 Entradas + 3 Estado Presente) 8 linhas de saída (3 Estado Seguinte + 5 Saídas) Ou seja, teríamos uma ROM de 256x8 bits, o que não levantando um “grande” problema já seria mais complicada de programar Mais uma vez, e à semelhança da síntese clássica, o aumento do número de entradas, causa um aumento exponencial na dimensão da ROM, o que causa sérios problemas em circuitos reais com elevado número de entradas Felizmente, existem formas de resolver o problema... Uke2003 Sistemas Digitais

33 Implementação com ROMs: Endereçamento Explícito
Existem várias soluções. Uma delas consiste em eliminar as variáveis de entrada do barramento de endereços A estrutura criada por esta solução diz-se que utiliza Endereçamento Explícito Dado que as Entradas são essenciais ao funcionamento da máquina, é necessário tomar várias medidas que as envolvem directamente: Eliminar a acção das Entradas nas Saídas, ou seja, transformando o circuito de Mealy num circuito de Moore Limitar a sua acção na mudança de estado da máquina de forma que, de cada estado actual só se possa passar para um de dois estados seguintes (incluindo eventualmente o próprio estado) – ou seja em cada estado só se pode testar no máximo uma variável de entrada Uke2003 Sistemas Digitais

34 Implementação com ROMs: Endereçamento Explícito (II)
A estrutura de uma implementação por ROM com Endereçamento Explícito é a seguinte O MUX 2 escolhe para qual dos 2 Estados Seguintes possíveis o circuito irá O número de linhas de Endereço da ROM é dada pelo nº de FF (e se existem N Estados, são necessários log2N Flip-Flops), ou seja eliminaram-se as Entradas O barramento Teste permite seleccionar qual das Entradas se pretende testar no Estado Actual (só se testa no máximo uma Entrada em cada Estado) Uke2003 Sistemas Digitais

35 Endereçamento Explícito - Exemplo
Apliquemos o Endereçamento Explícito ao exemplo anterior É necessário eliminar as saídas condicionadas (X), e garantir que em cada Estado só se testa no máximo uma variável de Entrada de forma a que só se possa saltar para um de 2 estados (neste exemplo tal não é necessário) Suponhamos que neste caso a saída X pode ser incluída no Estado B Bastam 2 FF para representar o Estado, pelo que a ROM só terá 2 linhas de endereço A estrutura será a seguinte: Uke2003 Sistemas Digitais

36 Endereçamento Explícito – Exemplo (II)
O conteúdo da ROM passa a ser o seguinte: Estado Seguinte se Teste for Falso Endereço Saídas Teste a E0 ou a E1 Estado Seguinte se Teste for Verdadeiro A B C Y_H X_H E1 E0 1 Uke2003 Sistemas Digitais

37 Endereçamento Explícito – Exemplo (III)
Quando se opta pelo endereçamento explícito, a ROM passa a ter 4 palavras de 7 bits em vez de 16 palavras de 4 bits Este ganho é feito à custa de 2 MUX adicionais. Pode não parecer muito neste exemplo, mas para sistemas em que o número de entradas é elevado, o ganho torna-se extremamente importante Veja-se o exemplo do parque de estacionamento: Dado que todas as saídas são de Moore não é necessário alterá-las É necessário acrescentar vários estados adicionais para que só uma variável seja testada de cada vez O fluxograma passará a ser o indicado no slide seguinte. De notar as seguintes modificações: Passamos a necessitar de 4 FFs, dado que o número de estados passou de 8 para 11 A codificação de estados é apresentada no slide seguinte, e é arbitrária, à excepção da atribuição do estado inicial, que por facilidades de inicialização é conveniente ser o 0000 (mas podia não ser...) Uke2003 Sistemas Digitais

38 Retomemos o exemplo do Parque de Civil
Retomemos o exemplo do Parque de Civil. No slide seguinte estão as modificações necessárias no fluxograma. P1 P2 P3 D4 D2 D1 D3 Uke2003 Sistemas Digitais

39 Uke2003 Sistemas Digitais

40 Endereçamento Explícito – Exemplo (IV)
Uke2003 Sistemas Digitais

41 Endereçamento Explícito – Exemplo (V)
A estrutura passa a ser a seguinte: 5 saídas 3 variáveis (necessárias para seleccionar 5 entradas) 4 FF (necessários para codificar 11 estados), logo 4 linhas de endereço 5 entradas A ROM passará a ter 24=16 linhas de =16 bits, i.e., 16x16 Sem endereçamento explícito necessitariamos de uma ROM de 256x8, ou seja, uma ROM 16 vezes maior Uke2003 Sistemas Digitais

42 Endereçamento Explícito – Exemplo (VI)
O conteúdo da ROM (16x16) será o seguinte: 3 variáveis de teste que codificam 5 entradas 4 bits do Estado Seguinte se oTeste for Falso 4 bits do Estado Seguinte se o Teste for Verdadeiro 5 saídas Uke2003 Sistemas Digitais

43 Endereçamento Implícito
Uma variante da estrutura apresentada, chamada endereçamento implícito, permite reduzir ainda mais a dimensão da ROM Esta variante será estudada em Arquitectura de Computadores Uke2003 Sistemas Digitais


Carregar ppt "Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados Frequently, presenters must deliver material of."

Apresentações semelhantes


Anúncios Google