Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAnasofia Clara Alterado mais de 10 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.