SISTEMAS DIGITAIS (SD)

Documentos relacionados
Sistemas Digitais (SD)

Sistemas Digitais (SD)

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

INSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom)

Sistemas Digitais (SD) Unidade Lógica e Aritmética

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Microprograma

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo

Sistemas Digitais (SD)

Sistemas Digitais (SD) Síntese de Circuitos Sequenciais: Definições

SISTEMAS DIGITAIS (SD)

Arquitectura de Computadores (ACom)

SISTEMAS DIGITAIS (SD)

Sistemas Digitais (SD) Circuitos combinatórios: somadores, subtractores e comparadores

Sistemas Digitais (SD) Contadores

Sistemas Digitais (SD) Memórias

Sistemas Digitais (SD) Lógica Programável

SISTEMAS DIGITAIS (SD)

Sistemas Digitais (SD) Minimização de Funções Booleanas

Sistemas Digitais (SD) Lógica Programável

Arquitetura de Um Processador I

Arquitetura de Um Processador III

Arquitectura de Computadores

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

FCA - Editora de Informática xv

Microprocessadores MICROPROCESSADORES. Unidade de Processamento. Sumário

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

Sistemas Digitais (SD) Sistemas de Numeração e Códigos

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

SISTEMAS DIGITAIS (SD)

Conjunto de Instruções (ISA) I

Sistemas Digitais (SD) Elementos de Tecnologia Funções Lógicas

SSC0112 Organização de Computadores Digitais I

REFERENCIAIS DO CURSO CERTIFICADO DE NÍVEL 4 ELECTRÓNICA DIGITAL (75 H)

Arquitetura e Organização de Computadores

Sistemas Digitais Sequenciamento e Controle ASM Algorithmic State Machine

Unidade de Controle. UC - Introdução

Arquitetura e Organização de Computadores

Conjunto de Instruções (ISA) II

Sistemas Digitais LETI, LEE (2014/15 1º Sem.)

Sistemas Digitais LETI, LEE (2016/17 1º Sem.)

Sistemas Digitais (SD) Circuitos combinatórios: descodificadores, codificadores, multiplexers e demultiplexers

A utilização de elementos de memória como as ROM s permitem realizar a implementção de circuitos combinatórios: ROM Dados = OUT S

Introdução a Sistemas Digitais

Circuitos sequenciais síncronos

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Sistemas Digitais. Planificação das aulas teóricas e aulas práticas Ano Lectivo 2005/ 2006

Circuitos Aritméticos II

Computador Cleópatra

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

Eletrónica Digital. Fundamentos e Projeto. Acxcro MANUEL RAPOSO AMARAL. EDIÇÕES SíLABO

SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Sistemas Digitais. Linguagem Verilog. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Transcrição:

SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 2.0 - Português Aula N o 23: Título: Sumário: Máquinas de Estado Microprogramadas: Circuitos de Controlo, Transferência e Processamento de Dados Circuitos de, transferência e processamento de dados; Exemplo de uma arquitectura simples de um processador. 2013/2014 Nuno.Roma@tecnico.ulisboa.pt

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuitos de Controlo, Transferência e Processamento de Dados Entradas de Saídas de Unidade de Palavra de Bits de estado (flags) Unidade de processamento Resultados Operandos Aula Anterior Na aula anterior: Projecto de máquinas de estados microprogramadas: com endereçamento explícito com endereçamento implícito Exemplos Prof. Nuno Roma Sistemas Digitais 2013/14 2

Plano SEMANA TEÓRICA 1 TEÓRICA 2 PROBLEMAS/LABORATÓRIO 16/Set a 21/Set Introdução Sistemas de Numeração e Códigos 23/Set a 28/Set Álgebra de Boole Elementos de Tecnologia P0 30/Set a 5/Out Funções Lógicas Minimização de Funções Booleanas (I) L0 7/Out a 12/Out Minimização de Funções Booleanas (II) Def. Circuito Combinatório; Análise Temporal P1 14/Out a 19/Out Circuitos Combinatórios (I) Codif., MUXs, etc. Circuitos Combinatórios (II) Som., Comp., etc. L1 21/Out a 26/Out Circuitos Combinatórios (III) - ALUs Circuitos Sequenciais: Latches P2 28/Out a 2/Nov Circuitos Sequenciais: Flip-Flops Ling. de Descrição e Simulação de HW (ferramentas disponíveis no laboratório) 4/Nov a 9/Nov Caracterização Temporal Registos P3 11/Nov a 16/Nov Revisões Teste 1 Contadores L3 18/Nov a 23/Nov 25/Nov a 30/Nov 2/Dez a 7/Dez 9/Dez a 14/Dez Síntese de Circuitos Sequenciais: Definições Síntese de Circuitos Sequenciais: Síntese com Contadores Máq. Estado Microprogramadas: Circuito de Dados e Circuito de Controlo Circuitos de Controlo, Transferência e Processamento de Dados de um Processador Síntese de Circuitos Sequenciais: Minimização do número de estados Memórias Máq. Estado Microprogramadas: Microprograma Lógica Programável L2 P4 L4 P5 L5 (1ª Parte) 16/Dez a 20/Dez P6 P6 L5 (2ª Parte) Prof. Nuno Roma Sistemas Digitais 2013/14 3 Sumário Tema da aula de hoje: Circuitos de, transferência e processamento de dados Exemplo de uma arquitectura simples de um processador Bibliografia: M. Mano, C. Kime: Capítulo 7 G. Arroz, J. Monteiro, A. Oliveira: Secções 8.2 a 8.3 Prof. Nuno Roma Sistemas Digitais 2013/14 4

Circuito de Dados e Circuito de Controlo Circuito de Dados e Circuito de Controlo (Revisão) Os sistemas digitais com alguma complexidade tornam-se difíceis de projectar como vulgares máquinas sequenciais síncronas, porque: Diagramas de estados / tabela de estados de grande dimensão Elevado número de: o Entradas, o Saídas, o Estados. Solução: organizar esses sistemas hierarquicamente, estabelecendo uma divisão entre: circuito de dados - dá suporte ao fluxo e à manipulação de dados; circuito de - controla o circuito de dados. Prof. Nuno Roma Sistemas Digitais 2013/14 5 Unidade de Processamento e Unidade de Processamento e Entradas de Saídas de Unidade de Palavra de Bits de estado (flags) Unidade de processamento Resultados Operandos A partir de um certo nível de complexidade, os circuitos digitais podem ser divididos em dois módulos distintos: Circuito de dados ou unidade de processamento ou datapath; Circuito de ou unidade de Prof. Nuno Roma Sistemas Digitais 2013/14 6

Unidade de Processamento e Unidade de Processamento e Entradas de Saídas de Unidade de Palavra de Bits de estado (flags) Unidade de processamento Resultados Operandos A unidade de processamento processa a informação útil do sistema e é tipicamente constituída por um conjunto de módulos combinatórios (ex: ALU) e elementos de memória (ex: banco de registos, memória RAM, etc.). Sobre a informação contida nos elementos de memória (ex: registo), podem ser realizadas operações cujo resultado pode ser guardado no mesmo registo, noutro registo ou mesmo numa posição de memória. Prof. Nuno Roma Sistemas Digitais 2013/14 7 Unidade de Processamento e Unidade de Processamento e Entradas de Saídas de Unidade de Palavra de Bits de estado (flags) Unidade de processamento Resultados Operandos A unidade de é responsável por gerar os sinais de (palavra de ) que sequenciam as operações básicas do circuito de dados a cada ciclo de relógio, de modo a que o sistema realize operações complexas. Têm dois tipos de entradas: Entradas de, que controlam o funcionamento do sistema; Bits de estado, provenientes do circuito de dados, com informação referente à última operação realizada pelo circuito de dados. Prof. Nuno Roma Sistemas Digitais 2013/14 8

Exemplo Pseudo-Código Maior_Divisor_Comum (X,Y) Enquanto (Y 0) { se X Y então X = X Y se não, troca X com Y } Resultado em X Sugestão: verifique, através de um par de inteiros (ex: 54 e 36) que o resultado é o esperado. Prof. Nuno Roma Sistemas Digitais 2013/14 9 Exemplo Pseudo-Código Unidade de Processamento Maior_Divisor_Comum (X,Y) Enquanto (Y 0) { se X Y então X = X Y se não, troca X com Y } Resultado em X Prof. Nuno Roma Sistemas Digitais 2013/14 10

Exemplo Unidade de Processamento Exemplo: mdc(54,36) Prof. Nuno Roma Sistemas Digitais 2013/14 11 Exemplo Fluxograma Unidade de Processamento Controlo? Prof. Nuno Roma Sistemas Digitais 2013/14 12

Exemplo Fluxograma Prof. Nuno Roma Sistemas Digitais 2013/14 13 Exemplo : Unidade de Processamento: Prof. Nuno Roma Sistemas Digitais 2013/14 14

Problema: A síntese de circuitos de processamento e de para a realização de operações complexas, com muitos estados e variáveis de entrada, torna-se complexa, trabalhosa e pouco eficiente Esforço de desenvolvimento/implementação insustentável Alternativa: Utilização de unidades de processamento genéricas e não dedicadas à aplicação; Utilização de unidades de microprogramadas. Prof. Nuno Roma Sistemas Digitais 2013/14 15 Unidade de Processamento e Unidade de Processamento Genérica Prof. Nuno Roma Sistemas Digitais 2013/14 16

Unidade de Processamento e Unidade de Processamento Genérica Banco de Registos 16 D 3 R/W C SelA R0 R1 R2 R3 R4 R5 R6 R7 1001110110011101 1011001110110011 0111011001110110 0110011101100111 1101100111011001 1100111011001110 1001110110011101 0111011001110110 A B SelD 3 SelB 3 16 16 Prof. Nuno Roma Sistemas Digitais 2013/14 17 Unidade de Processamento e Unidade de Processamento Genérica Unidade Lógica e Aritmética (ULA) Prof. Nuno Roma Sistemas Digitais 2013/14 18

Unidade Lógica e Aritmética Operações da unidade lógica e aritmética A função realizada é definida por uma palavra de comando; Várias codificações possíveis. S 4 S 3 S 2 S 1 S 0 Operação 00000 R A + B Soma 00001 R A B Subtracção 00010 R A + B + C Soma com bit de transporte 00011 R A B C Subtracção com transporte negado 00100 R A 1 Decremento 00101 R A + 1 Incremento 00110 R A C Decremento, se C=0 00111 R A + C Incremento, se C=1 01-00 R A Complemento 01-01 R A Ʌ B Conjunção 01-10 R A V B Disjunção 01-11 R A B Disjunção exclusiva 10000 R SHR A Deslocamento lógico à direita 10001 R SHL A Deslocamento lógico à esquerda 10010 R SHRA A Deslocamento aritmético à direita 10011 R SHLA A Deslocamento aritmético à esquerda 10100 R ROR A Rotação à direita 10101 R ROL A Rotação à esquerda 10110 R RORC A Rotação à direita com transporte 10111 R RORL A Rotação à esquerda com transporte 11--- R A Transferência Prof. Nuno Roma Sistemas Digitais 2013/14 19 Unidade de Processamento e Unidade de Processamento Genérica Prof. Nuno Roma Sistemas Digitais 2013/14 20

Unidade de Processamento e Microprogramada Características: As saídas dependem apenas do estado actual Máquina de Moore Em cada estado apenas é testada uma variável de entrada; Como resultado de cada teste numa variável de entrada, o controlador poderá saltar para um estado arbitrário (se o teste for verdadeiro) ou transitar para o estado seguinte (se o teste for falso) Prof. Nuno Roma Sistemas Digitais 2013/14 21 Unidade de Processamento e Microprogramada Prof. Nuno Roma Sistemas Digitais 2013/14 22

Unidade de Processamento e Microprogramada O bloco combinatório pode ser realizado utilizando uma ROM com um número de linhas igual ao número de estados e com tantas saídas quantas as necessárias para gerar as variáveis de saída do bloco combinatório. Prof. Nuno Roma Sistemas Digitais 2013/14 23 Unidade de Processamento e Microprogramada Prof. Nuno Roma Sistemas Digitais 2013/14 24

Unidade de Processamento e Microprogramada Cada palavra da ROM deverá conter os seguintes campos: NS PO TV CT Next State (NS) - especifica o próximo estado, para onde o controlador deverá saltar se o teste efectuado tiver resultado positivo; Primary Output (PO) - valores pretendidos para as variáveis de saída; Test Variable (TV) - indica a variável que deverá ser testada; Complement Test (CT) - indica se o salto deverá ocorrer quando a variável de teste está a 1 ou a 0. Prof. Nuno Roma Sistemas Digitais 2013/14 25 Unidade de Processamento e Microprogramada Exemplo: Prof. Nuno Roma Sistemas Digitais 2013/14 26

Unidade de Processamento e Microprogramada Cada palavra da ROM deverá conter os seguintes campos: NS PO TV CT Ao conjunto de campos que especificam o funcionamento do controlador chama-se microinstrução; Ao conjunto de microinstruções chama-se microprograma. Prof. Nuno Roma Sistemas Digitais 2013/14 27 Exemplo Unidade de Processamento Dedicada Unidade de Processamento Genérica Prof. Nuno Roma Sistemas Digitais 2013/14 28

Exemplo Fluxograma Descrição em linguagem RTL: Dados de entrada: R1, R2 Resultado: R2 (R3 = registo temporário) Prof. Nuno Roma Sistemas Digitais 2013/14 29 Exemplo Microprogamação: 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ES0 ES1 SEL fim Operação ULA Reg A Reg B dest R/W 5 estados 3 bits para codificar os endereços de Como T1 pode ter 3 estados seguintes diferentes (um deles é incremental): 2 campos para endereço seguinte ES0 e ES1 2 bits para decidir entre os 3 estados seguintes possíveis Condições de salto: inicio, em T0 flags Z e N da ALU, em T1 estado seguinte, em T2 e T3 salto incondicional, em T4 2 bits de (Sel) 1 bit para saída de (fim) Prof. Nuno Roma Sistemas Digitais 2013/14 30

Exemplo : R/W Control Address Register (CAR) MUX S: Sel = 00 CAR ES0 Sel = 01 CAR CAR + 1 Sel = 10 CAR ES0, se início = 0 CAR CAR + 1, se início = 1 Sel = 11 CAR ES0, se NZ = 00 CAR ES1, se NZ = 01 CAR CAR + 1, se NZ = 10 Prof. Nuno Roma Sistemas Digitais 2013/14 31 Exemplo R/W End. ES0 ES1 SEL fim Op. ULA reg. A reg. B reg. R/W dest. 0 000 XXX 10 1 XXXXX XX XX XX 1 1 001 000 11 0 00001 01 10 01 0 2 XXX XXX 01 0 00000 01 10 11 0 3 XXX XXX 01 0 11000 10 XX 01 0 4 001 XXX 00 0 11000 11 XX 10 0 Prof. Nuno Roma Sistemas Digitais 2013/14 32

Exemplo Especificação da ROM: End. ES0 ES1 SEL fim Op. ULA reg. A reg. B reg. R/W dest. 0 000 XXX 10 1 XXXXX XX XX XX 1 1 001 000 11 0 00001 01 10 01 0 2 XXX XXX 01 0 00000 01 10 11 0 3 XXX XXX 01 0 11000 10 XX 01 0 4 001 XXX 00 0 11000 11 XX 10 0 End. ROM 0h 000000101000000000001 1h 001000110000010110010 2h 000000010000000110110 3h 000000010110001000010 4h 001000000110001100100 Dimensão da ROM: 5 endereços, palavras de 21 bits 105 bits Prof. Nuno Roma Sistemas Digitais 2013/14 33 Próxima Aula Tema da Próxima Aula: Lógica programável: ROM PLA PAL FPGA Linguagens de descrição de hardware VHDL Prof. Nuno Roma Sistemas Digitais 2013/14 34

Agradecimentos Algumas páginas desta apresentação resultam da compilação de várias contribuições produzidas por: Guilherme Arroz Horácio Neto Nuno Horta Pedro Tomás Prof. Nuno Roma Sistemas Digitais 2013/14 35