Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

23
Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley

Transcript of Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Page 1: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Sistemas DigitaisProjeto RTL – Unidade de Execução

Prof. Wanderley

Page 2: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Introdução

Unidade de ExecuçãoResponsável pela

manipulação de dados

Unidade de ControleResponsável por gerar os sinais de controle

Page 3: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

IntroduçãoCircuito combinacional para somar 4 números Unidade de execução para

somar 1 milhão de números

Page 4: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

IntroduçãoUnidades 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

Page 5: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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

Page 6: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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

xyz

yy

xy

x

12

10

Exemplo de tipos de transferência de dados entre registros

Page 7: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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.

Page 8: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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

Page 9: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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?

Page 10: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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

3AA CBA

Page 11: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Projeto RTL• MUX para combinar múltiplas operações

3)1( AA

CBA )0(

• Necessidade de um sinal para controle do MUX

Page 12: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Projeto RTL• MUX para compartilhar recursos (unidade funcional)

• Elimina-se um somador

3)1( AA

CBA )0(

Page 13: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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 = InputSenão Reg = A + B

Page 14: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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)

Page 15: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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?

Page 16: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Projeto RTL• Métodos de Transferência de dados:

Fontes múltiplas: Controle do MUX

Page 17: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Projeto RTL• Métodos de Transferência de dados:

Destinos múltiplos: controle do registrador

Page 18: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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

Page 19: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

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...

Page 20: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Projeto RTL• Exemplo: Soma de n a 1

Page 21: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Projeto RTL• Exemplo: Soma de n a 1

Page 22: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Projeto RTL• Exemplo: Fatorial de n

Page 23: Sistemas Digitais Projeto RTL – Unidade de Execução Prof. Wanderley.

Projeto RTL• Exemplo: Fatorial de n