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

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

Unidades de Execução e de Controle Sistemas Digitais.

Apresentações semelhantes


Apresentação em tema: "Unidades de Execução e de Controle Sistemas Digitais."— Transcrição da apresentação:

1 Unidades de Execução e de Controle Sistemas Digitais

2 Introdução Até agora vimos os módulos básicos que permitem realizar operações simples Realizar operações de dados mais complexas ou que envolvem múltiplos passos Unidade de Execução Responsável pela manipulação de dados Unidade de Controle Responsável por gerar os sinais de controle

3 Introdução Até agora vimos os módulos básicos que permitem realizar operações simples Realizar operações de dados mais complexas ou que envolvem múltiplos passos Unidade de Execução Responsável pela manipulação de dados Unidade de Controle Responsável por gerar os sinais de controle

4 Introdução Circuito combinacional para somar 4 números Unidade de execução para somar 1 milhão de números

5 Introdução Unidades de execução são compostas por: Unidades funcionais tais como, somadores, deslocamentos, multiplicadores, ALUs e comparadores Elementos para armazenagem de dados tais como, registradores e memórias Elementos para transferência de dados tais como, barramentos, multiplexadores e buffers tri-states

6 Projeto RTL Projetos de Unidades de Execução podem também ser referidos como projetos RTL Projetos RTL (do inglês, Register-Transfer Level) são a origem do desenvolvimento de sistemas digitais integrados, tais como microcontroladores e microprocessadores Embora seja um projeto de hardware, sua descrição é feita através de linguagens de descrição de hardware, ou seja, via software Linguagens mais utilizadas são o VHDL e o Verilog

7 Projeto RTL Consiste em manipular adequadamente os dados, tendo o registro como um importante elemento de armazenamento de dados Um dado pode sofrer infinitas manipulações, sendo que a cada manipulação ele poderá ser armazenado em um ou outro registrador Exemplo de tipos de transferência de dados entre registros

8 Projeto RTL As manipulações são feitas por unidades funcionais Unidades funcionais típicas + ALU Somador: uma unidade básica que permite a realização de operações de soma e subtração ALU, do inglês Arithmetic Logic Unit: realiza as operações aritméticas e operações lógicas como, negação, OU, E, etc.

9 Projeto RTL Dá-se o nome de operação de transferência entre registros à sequência: Leitura de dado em registro Modificação do dado lido Escrita de dado em registro Cada operação da sequência descrita deve ser completada dentro de um ciclo de clock Logo, cada operação equivale a um estado de uma máquina de estado finito Uma unidade funcional pode ser utilizada somente uma vez a cada clock, mas pode ser utilizada novamente no clock seguinte

10 Projeto RTL Processo de Projeto RTL Que tipos de registradores usar (tamanho e operações possíveis) e quantos usar? Que tipos de unidades funcionais usar (somador ou ALU) e quantas usar? Alguma unidade funcional pode ser compartilhada? (otimização de recursos) Como organizar os registradores e as unidades funcionais?

11 Projeto RTL Exemplos: registradores de 8 bits (0 a 255)

12 Projeto RTL MUX para combinar múltiplas operações Necessidade de um sinal para controle do MUX

13 Projeto RTL MUX para compartilhar recursos (unidade funcional) Elimina-se um somador

14 Projeto RTL Compartilhamento de registro: se duas variáreis não são usadas ao mesmo tempo, então elas podem compartilhar o mesmo registro. Exemplo: Se (condição) então Reg = Input Senão Reg = A + B

15 Projeto RTL Detalhes sobre o reuso de unidades funcionais. Considere as funções: a = b + c d = e + f Projeto 1: Projeto 2: (reuso de somador)

16 Projeto RTL Detalhes sobre o reuso de unidades funcionais Projeto 1: Ambas as operações são realizadas em 1 ciclo de clock; Mais rápido; Menos complexo; Mais recursos. Projeto 2: As operações são realizadas de forma sequencial, ou seja, em 2 ciclos de clock; Mais lento; Mais complexo (adiciona um sinal de controle dos MUXs); Menos recursos.

17 Projeto RTL Métodos de Transferência de dados: Fontes múltiplas: Controle do MUX

18 Projeto RTL Métodos de Transferência de dados: Destinos múltiplos: controle do registrador

19 Projeto RTL Métodos de Transferência de dados: Barramento Tri-State (fontes múltiplas e destinos múltiplos) Apenas uma fonte pode acessar o barramento por vez (evitar conflito de dados) Controle feito a partir de buffers tri-state Os destinos estão diretamente conectados ao barramento

20 Projeto RTL Sinais de Status São testes condicionais extremamente úteis à unidade de controle para geração do próximo estado de execução. Cada teste condicional de um algoritmo representa um sinal de status. Exemplo 1: Se (A=0) então...Exemplo 2: Se (A é par) então...

21 Projeto RTL Exemplo: Soma de n a 1

22 Projeto RTL Exemplo: Soma de n a 1

23 Projeto RTL Exemplo: Fatorial de n

24 Projeto RTL Exemplo: Fatorial de n

25 Unidade de Controle É uma máquina de estado finito!

26 Unidade de Controle Os sinais de controle são usados para: Controle de mux; Comandos de registradores (armazenamento, set, reset, deslocamentos de dados, etc.); Comando de escrita em barramento tri-state; Controle de ALU (seleção de operações lógicas/aritméticas).

27 Unidade de Controle Os sinais de status são usados pela unidade de controle para determinação do próximo estado. Os sinais de saída de controle são usados para comunicação com dispositivos externos, indicando que o dado processado é válido. Os sinais de entrada de controle são sinais vindos de dispositivos externos para inicialização, reset, etc.

28 Construção da Unidade de Controle Máquina de Moore ou Máquina de Mealy Estado da máquina muda a cada período de clock Entrada da máquina são sinais de entrada de controle e sinais de status Saída da máquina são sinais de controle e/ou sinais de saída de controle

29 Unidade de Controle – Exemplo 1 Contador de Década Unidade de Execução Sinais de Controle Sinal de Status

30 Unidade de Controle – Exemplo 1 Contador de Década

31 Unidade de Controle – Exemplo 1 Contador de Década Diagrama de Estados

32 Unidade de Controle – Exemplo 1 Diagrama de Estados Implementação usando flip-flop D Tabela de Próximo Estado

33 Unidade de Controle – Exemplo 1 Sinais de Excitação Implementação usando flip-flop D

34 Unidade de Controle – Exemplo 1 Sinais de Saída Tabela de Saída (Sinais de Controle)

35 Unidade de Controle – Exemplo 1 Circuito da Unidade de Controle Sinal de entrada de controle

36 Unidade de Controle – Exemplo 2 Algoritmo Unidade de Execução Sinais de Controle

37 Unidade de Controle – Exemplo 2 Máquina de EstadosSinais de Controle INCORRETO O sinal ALoad deve ser setado um período de clock antes da comparação!

38 Unidade de Controle – Exemplo 2 Máquina de EstadosSinais de Controle Tabela de Próximo Estado

39 Unidade de Controle – Exemplo 2 Implementação com Flip-Flop D Sinais de Excitação Tabela de Próximo Estado

40 Unidade de Controle – Exemplo 2 Sinais de Controle Tabela de Saída (Sinais de Controle)

41 Unidade de Controle – Exemplo 2

42 Unidade de Controle – Exemplo 3 Controlador para Teclado PS/2 Transmissão serial do código 4E (0100 1110)

43 Unidade de Controle – Exemplo 3 Controlador para Teclado PS/2 Transmissão serial do código 4E (0100 1110) Máquina de Estados (Contador síncrono de 0 a 10)

44 Unidade de Controle – Exemplo 3 Controlador para Teclado PS/2 Tabela de Estados Máquina de Estados Sinais de Excitação

45 Unidade de Controle – Exemplo 3 Controlador para Teclado PS/2 Tabela de Saída Sinais de Saída

46 Unidade de Controle – Exemplo 3 Controlador para Teclado PS/2

47 Unidade de Controle – Exemplo 3 Controlador para Teclado PS/2

48 Unidade de Controle – Exemplo 3 Descrição VHDL do Controlador para Teclado PS/2

49 Unidade de Controle – Exemplo 3 Descrição VHDL do Controlador para Teclado PS/2

50 Unidade de Controle – Exemplo 3 Descrição VHDL do Controlador para Teclado PS/2


Carregar ppt "Unidades de Execução e de Controle Sistemas Digitais."

Apresentações semelhantes


Anúncios Google