SISTEMAS DIGITAIS (SD)

Documentos relacionados
SISTEMAS DIGITAIS (SD)

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

SISTEMAS DIGITAIS (SD)

Sistemas Digitais (SD)

Sistemas Digitais (SD)

SISTEMAS DIGITAIS (SD)

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

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

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

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

Sistemas Digitais (SD)

SISTEMAS DIGITAIS (SD)

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

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

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

Sistemas Digitais (SD) Contadores

Sistemas Digitais (SD) Memórias

Arquitectura de Computadores (ACom)

Sistemas Digitais (SD) Lógica Programável

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

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

Arquitetura de Um Processador I

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

Sistemas Digitais (SD) Lógica Programável

Arquitetura de Um Processador III

Computação e Programação

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

SISTEMAS DIGITAIS (SD)

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

Álgebra Booleana. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

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

Circuitos Aritméticos II

Introdução a Sistemas Digitais

SSC0112 Organização de Computadores Digitais I

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

Arquitectura de Computadores

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

ARITMÉTICA BINÁRIA. Adão de Melo Neto

FCA - Editora de Informática xv

Microprocessadores MICROPROCESSADORES. Unidade de Processamento. Sumário

Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs)

Circuitos Lógicos Combinacionais Aula Prática

Conjunto de Instruções (ISA) II

Arquitectura de Computadores

Arquitetura de Computadores I

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

Projeto de Circuito Combinacional

SISTEMAS DIGITAIS (SD)

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

Curso Profissional de Técnico de Gestão de Equipamentos Informáticos 10º ANO

Representação de quantidade(número) Expressão de significância posicional

Aula 9. Aritmética Binária. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Circuitos Digitais. Conteúdo. Soma de Números Binários. Soma de Números Binários. Exemplos. Exemplos. Aritmética Binária

Laboratório 1 (Trabalho sem Relatório) Semana 20 de Setembro a 24 de Setembro

Conjunto de Instruções (ISA) I

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

p-fólio Arquitectura de Computadores U.C de julho de 2018 INSTRUÇÕES

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

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

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

CALCULADORA SIMPLES COM ULA

Transcrição:

SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 3.0 - Português Aula N o 11: Título: Sumário: Circuitos combinatórios: (ULA). 2014/2015 Nuno.Roma@tecnico.ulisboa.pt

Sistemas Digitais (SD) Aula Anterior Na aula anterior: Circuitos combinatórios típicos: Somadores / Subtractores Comparadores Prof. Nuno Roma Sistemas Digitais 2014/15 2

Planeamento SEMANA TEÓRICA 1 TEÓRICA 2 PROBLEMAS/LABORATÓRIO 15/Set a 20/Set Introdução Sistemas de Numeração e Códigos 22/Set a 27/Set Álgebra de Boole Elementos de Tecnologia P0 29/Set a 4/Out Funções Lógicas Minimização de Funções Booleanas (I) L0 6/Out a 11/Out Minimização de Funções Booleanas (II) Def. Circuito Combinatório; Análise Temporal P1 13/Out a 18/Out Circuitos Combinatórios (I) Codif., MUXs, etc. Circuitos Combinatórios (II) Som., Comp., etc. L1 20/Out a 25/Out Circuitos Combinatórios (III) - ALUs Circuitos Sequenciais: Latches P2 27/Out a 1/Nov Circuitos Sequenciais: Flip-Flops Ling. de Descrição e Simulação de HW (ferramentas disponíveis no laboratório) 3/Nov a 8/Nov Caracterização Temporal Registos P3 10/Nov a 15/Nov Revisões Teste 1 Contadores L3 17/Nov a 22/Nov 24/Nov a 29/Nov 1/Dez a 6/Dez 8/Dez a 13/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) 15/Dez a 19/Dez P6 P6 L5 (2ª Parte) Prof. Nuno Roma Sistemas Digitais 2014/15 3 Sumário Tema da aula de hoje: (ULA) Bibliografia: M. Mano, C. Kime: Secções 4.5 e 9.3 G. Arroz, J. Monteiro, A. Oliveira: Secção 8.4 Prof. Nuno Roma Sistemas Digitais 2014/15 4

Circuito somador/subtractor Circuito somador/subtractor (revisão) B 3 A 3 B 2 A 2 B 1 A 1 B 0 A 0 SUBTRACT C 3 C 2 C 1 C 4 FA FA FA FA S 3 S 2 S 1 S 0 SUBTRACT = 0 S = A + B SUBTRACT = 1 S = A B Será possível realizar unidades aritméticas mais completas com um único circuito combinatório? Prof. Nuno Roma Sistemas Digitais 2014/15 5 Unidade Aritmética Unidade aritmética baseada num único circuito: A entrada G define o tipo de operação. Prof. Nuno Roma Sistemas Digitais 2014/15 6

Unidade Aritmética Unidade aritmética baseada num único circuito: G 2 G 0 Y i 00 B i 01 B i 10 1 11 0 Prof. Nuno Roma Sistemas Digitais 2014/15 7 Unidade Aritmética Unidade aritmética baseada num único circuito: G 1 G 0 C in 00 0 01 1 10 C 11 C Prof. Nuno Roma Sistemas Digitais 2014/15 8

Unidade Aritmética Unidade aritmética baseada num único circuito: G 2 G 0 Y i 00 B i 01 B i 10 1 11 0 G 1 G 0 C in 00 0 01 1 10 C 11 C G 2 G 1 G 0 Y i C in Operação 000 B i 0 R A + B Soma 001 B i 1 R A B Subtracção 010 B i C R A + B + C Soma com bit de transporte 011 B i C R A B C Subtracção com transporte negado 100 1 0 R A 1 Decremento 101 0 1 R A + 1 Incremento 110 1 C R A C Decremento, se C=0 111 0 C R A + C Incremento, se C=1 A+B+C in = A+B+C in +1-1 = (A+B+1)+C in -1 A-B = (A-B) - (1-C in ) = (A-B) - C in Borrow Prof. Nuno Roma Sistemas Digitais 2014/15 9 Unidade Aritmética Unidade aritmética baseada num único circuito: G 2 G 0 Y i 00 B i 01 B i 10 1 11 0 G 1 G 0 C in 00 0 01 1 10 C 11 C G 2 G 1 G 0 Y i C in Operação 000 B i 0 R A + B Soma 001 B i 1 R A B Subtracção 010 B i C R A + B + C Soma com bit de transporte 011 B i C R A B C Subtracção com transporte negado 100 1 0 R A 1 Decremento 101 0 1 R A + 1 Incremento 110 1 C R A C Decremento, se C=0 111 0 C R A + C Incremento, se C=1 A+B+C in = A+B+C in +1-1 = (A+B+1)+C in -1 A-B = (A-B) - (1-C in ) = (A-B) - C in Borrow Prof. Nuno Roma Sistemas Digitais 2014/15 10

Outras Operações Multiplicação A 1 1 0 1 Multiplicando B x 1 0 1 0 Multiplicador 0 0 0 0 Produto parcial 1 1 0 1 Produto parcial 0 0 0 0 Produto parcial 1 1 0 1 Produto parcial M 1 0 0 0 0 0 1 0 Resultado Prof. Nuno Roma Sistemas Digitais 2014/15 11 Outras Operações Multiplicação (representação sem sinal) Prof. Nuno Roma Sistemas Digitais 2014/15 12

Outras Operações Caso particular: multiplicação por uma potência inteira de 2 Exemplo: 6 x 4 = 24 (0 x 2 3 + 1 x 2 2 + 1 x 2 1 + 0 x 2 0 ) x 4 = 24 (0 x 2 3 + 1 x 2 2 + 1 x 2 1 + 0 x 2 0 ) x 2 2 = 24 0 x 2 5 + 1 x 2 4 + 1 x 2 3 + 0 x 2 2 + 0 x 2 1 + 0 x 2 0 = 24 Ou seja: 000110 x 4 = 011000 Deslocamento à esquerda de 2 posições A multiplicação pela k potência de 2 (i.e. 2 k ) corresponde a deslocar os bits do operando em k posições para a esquerda. Prof. Nuno Roma Sistemas Digitais 2014/15 13 Outras Operações Divisão Dividendo Divisor 1 0 0 1 0 0 1 1 0 1 0 1-0 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 0 Quociente - 0 1 0 1 0 0 1 1 0-0 1 0 1 0 0 0 1 1 1-0 1 0 1 0 0 1 0 Resto Prof. Nuno Roma Sistemas Digitais 2014/15 14

Outras Operações Divisão Não tem uma sequência fixa de operações elementares O número seleccionado de bits do dividendo em cada passo é variável + Operação pouco frequente, na maioria das aplicações Operação complexa Implementada tipicamente através de uma sequência de operações mais simples Programa Prof. Nuno Roma Sistemas Digitais 2014/15 15 Outras Operações Caso particular: divisão por uma potência inteira de 2 Exemplo: 36 4 = 9 (1 x 2 5 + 0 x 2 4 + 0 x 2 3 + 1 x 2 2 + 0 x 2 1 + 0 x 2 0 ) 4 = 9 (1 x 2 5 + 0 x 2 4 + 0 x 2 3 + 1 x 2 2 + 0 x 2 1 + 0 x 2 0 ) 2 2 = 9 (1 x 2 3 + 0 x 2 2 + 0 x 2 1 + 1 x 2 0 ) = 9 Ou seja: 100100 4 = 1001 00 Deslocamento à direita de 2 posições A divisão pela k potência de 2 (i.e. 2 k ) corresponde a deslocar os bits do operando em k posições para a direita. Prof. Nuno Roma Sistemas Digitais 2014/15 16

Circuito combinatório que implementa as operações: Aritméticas Lógicas Deslocamento Prof. Nuno Roma Sistemas Digitais 2014/15 17 Unidade Aritmética G 2 G 1 G 0 Y i C in Operação 000 B i 0 R A + B Soma 001 B i 1 R A B Subtracção 010 B i C R A + B + C Soma com bit de transporte 011 B i C R A B C Subtracção com transporte negado 100 1 0 R A 1 Decremento 101 0 1 R A + 1 Incremento 110 1 C R A C Decremento, se C=0 111 0 C R A + C Incremento, se C=1 Prof. Nuno Roma Sistemas Digitais 2014/15 18

Circuito combinatório que implementa as operações: Aritméticas Lógicas Deslocamento Prof. Nuno Roma Sistemas Digitais 2014/15 19 Unidade Lógica As operações lógicas aplicam-se individualmente a cada bit dos operandos de entrada: R A Ʌ B R A n-1 Ʌ B n-1 A n-2 Ʌ B n-2... A 0 Ʌ B 0 H 1 H 0 Operação 00 R A Complemento 01 R A Ʌ B Conjunção 10 R A V B Disjunção 11 R A B Disjunção exclusiva Prof. Nuno Roma Sistemas Digitais 2014/15 20

Circuito combinatório que implementa as operações: Aritméticas Lógicas Deslocamento Prof. Nuno Roma Sistemas Digitais 2014/15 21 Operações de deslocamento Deslocamento simples Deslocamento aritmético Rotação Rotação com transporte Prof. Nuno Roma Sistemas Digitais 2014/15 22

Unidade de deslocamento J 2 J 1 J 0 Operação 000 R SHR A Deslocamento lógico à direita 001 R SHL A Deslocamento lógico à esquerda 010 R SHRA A Deslocamento aritmético à direita 011 R SHLA A Deslocamento aritmético à esquerda 100 R ROR A Rotação à direita 101 R ROL A Rotação à esquerda 110 R RORC A Rotação à direita com transporte 111 R RORL A Rotação à esquerda com transporte Prof. Nuno Roma Sistemas Digitais 2014/15 23 Circuito combinatório que implementa as operações: Aritméticas Lógicas Deslocamento Prof. Nuno Roma Sistemas Digitais 2014/15 24

Operações da unidade lógica e aritmética S 4 S 3 S 2 S 1 S 0 00000 R A + B Soma Operação 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 A função realizada é definida por uma palavra de comando; Várias codificações possíveis. 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 2014/15 25 Bits de Estado (flags) Para além do resultado, as unidades lógicas e aritméticas disponibilizam também um conjunto de bits de estado, que reflectem o valor do resultado. Exemplos: Z activo quando o resultado corresponde ao valor zero; N activo quando o resultado corresponde a um valor negativo; P activo quando o resultado corresponde a um valor positivo; C activo quando o carry gerado aquando do cálculo do bit mais significativo do resultado é 1 ; O activo quando o resultado corresponde a uma situação de overflow. Prof. Nuno Roma Sistemas Digitais 2014/15 26

Próxima Aula Tema da Próxima Aula: Linguagens de Descrição e Simulação de Circuitos Digitais (apoio ao laboratório): Linguagens de descrição de Hardware Introdução a VHDL: o Descrição de estruturas básicas em VHDL o Exemplos: Cadeado digital Unidade aritmética Simulação de circuitos em VHDL Xilinx ISE Prof. Nuno Roma Sistemas Digitais 2014/15 27 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 2014/15 28