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

Slides:



Advertisements
Apresentações semelhantes
Flip-Flops e Dispositivos Correlatos
Advertisements

Organização de Computadores I
Máquinas de Estado Sistemas Digitais.
Sistemas Digitais Projeto RTL – Unidade de Controle
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Barramentos Introdução.
Entrada e Saída Introdução.
Técnicas para operações E/S
Arquitetura de Computadores
VISÃO GERAL Profa. Fernanda Denardin Walker
Unidade Lógica e Aritmética Introdução à Ciência da Computação
Sistemas Digitais Projeto RTL – Unidade de Execução
Introdução aos Sistemas Digitais
Arquitetura dos Microprocessadores 8086 e 8088
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
MC542 Organização de Computadores Teoria e Prática
Introdução à Informática
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Análise de Circuitos Sequenciais Síncronos
Registradores de deslocamento (Shift Register)
Registradores de deslocamento (Shift Register)
Hardware Description Language (HDL)
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
1. Circuitos seqüenciais - conceito 2. Flip-flops 3. Registradores 4
Circuitos combinatórios
Processadores – Aula 3 Professor: André Luis Meneses Silva
Arquitetura de Computadores
Arquitetura de Computadores
Técnica de modelagem de Máquina de Estados em VHDL
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
Engenharia de Software para Computação Embarcada
Representação de Instruções
Fundamentos de Circuitos Sequenciais Modelos de Mealy e Moore
Circuitos Seqüenciais
Unidade Central de Processamento UCP
Organização de Computadores
Sistemas Operacionais I
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Unidade Central De Processamento: Processador
POLIMIG Curso Técnico em Informática Disciplina: Hardware
Sistemas Operacionais
Organização e Arquitetura de Computadores
UNIDADE LÓGICA ARITMÉTICA (ULA)
Organização e Arquitetura de Computadores
Aplicações com flip-flops
Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc.
Tudo sobre o Processador
Parte 3 Seção de Dados e Unidade de Controle
Curso: Sistemas de Informação Tópico 5
VERILOG Monitoria Infra-Estrutura de Hardware Álvaro João – ajss Húgaro Bernardino – hbb Fred Rabelo - ferrf Leonardo Leandro – lsl2 Jéssica de.
UNIDADE LÓGICA ARITMÉTICA (ULA)
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Introdução à Computação Componentes Básicos dos Computadores
Funcionamento interno do computador
Eletrônica Digital II ELT013
Arquitetura de computadores
Introdução à Computação
Diagrama em blocos: Hardware de Computadores
FLIP-FLOPs.
Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM)
Sistemas Digitais Aula 10 GRECO-CIN-UFPE.
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
Cap. V – Análise e Síntese de Circuitos Sequenciais Síncronos
Lei de Moore O número de transistores num circuito integrado duplica todos os 18 meses. Isto é extremamente relevante porque... as gates são feitas a partir.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Lógica Programável e VHDL
Transcrição da apresentação:

Unidades de Execução e de Controle Sistemas Digitais

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

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

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

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

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

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

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.

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

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?

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

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

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

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

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)

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.

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

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

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

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

Projeto RTL Exemplo: Soma de n a 1

Projeto RTL Exemplo: Soma de n a 1

Projeto RTL Exemplo: Fatorial de n

Projeto RTL Exemplo: Fatorial de n

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

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

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.

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

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

Unidade de Controle – Exemplo 1 Contador de Década

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

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

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

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

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

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

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!

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

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

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

Unidade de Controle – Exemplo 2

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

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

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

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

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

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

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

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

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