Capítulo VI Circuitos Aritméticos



Documentos relacionados
7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014

Capítulo V Sistemas Numéricos

Figura 1 - Somador para dois números de 4 bits com extensores lógicos (EL) e Aritméticos(EA).

Circuitos Aritméticos

Aritmética Computacional. Prof. Leonardo Barreto Campos 1

Sistemas Numéricos. Tiago Alves de Oliveira

BC-0504 Natureza da Informação

Módulos Combinatórios

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Câmpus Ponta Grossa. Coordenação do Curso Superior de Tecnologia em. Automação Industrial

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos.

CRONÔMETRO DIGITAL PROJETO

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

=...= 1,0 = 1,00 = 1,000...

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

5. O Mapa de Karnaugh

Capítulo 6. Aritmética Computacional. 6.1 Números com Sinal e Números sem Sinal

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA RELÓGIO DIGITAL -MONTAGEM COM CONTADOR COMERCIAL

Sistemas Digitais. Circuitos Aritméticos. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)

SOMADORES E SUBTRATORES

Multiplicador Binário com Sinal

Arquitetura de Computadores I

ÁLGEBRA BOOLEANA- LÓGICA DIGITAL

FRAÇÃO Definição e Operações

Detecção de erros de comunicação de dados CRC

Prof. Leonardo Augusto Casillo

ELETRÔNICA DIGITAL 1

Parte # 3 - Circuitos Combinatórios

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

Arquitetura de Computadores. Tiago Alves de Oliveira

OPERAÇÕES FUNDAMENTAIS

Representações de caracteres

Projetos de Decodificadores

Introdução a Tecnologia da Informação

FLIP FLOPS. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos M-1113A

a) 2 b) 3 c) 4 d) 5 e) 6

TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS

Relatório de Prática no LABORATORIO

Organização de Computadores

Determinantes. Matemática Prof. Mauricio José

Simplificação por mapa de Karnaugh

3. Códigos Numérico e Operações Aritméticas Representação de informação Códigos numéricos Representação de um

Simplificação de Expressões Booleanas e Circuitos Lógicos

Somadores Binários E.T.M./2005 (revisão)

Circuitos Lógicos Capítulo 2 Sistema de Numeração e Códigos

RACIOCÍNIO LÓGICO QUANTITATIVO

SOLUÇÕES N item a) O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2.

Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos:

Caminho de Dados e Controle. Prof. Leonardo Barreto Campos 1

Representação de Circuitos Lógicos

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.

Sistemas Digitais Ficha Prática Nº 7

Introdução. Display de sete segmentos

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

SOMADORES E SUBTRATORES

INTEGRAIS INTEGRAL INDEFINIDA

APOSTILA DE ELETRÔNICA DIGITAL II

Capítulo 6 Aritmética Digital: Operações e Circuitos

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Operações Aritméticas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Álgebra Linear Computacional

Laboratório de Circuitos Digitais 1

FRAÇÃO. Número de partes pintadas 3 e números de partes em foi dividida a figura 5

Unidade 10 Análise combinatória. Introdução Princípio Fundamental da contagem Fatorial

Pelo que foi exposto no teorema de Carnot, obteve-se a seguinte relação:

Disciplina de Laboratório de Elementos de Lógica Digital I SSC-0111

Montagem, testes, depuração e documentação de circuitos digitais

Aula 6 Propagação de erros

Organização e Arquitetura de Computadores I

Potenciação e radiciação

UNIMINAS Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: Sinal do expoente: -(na realidade, háh

Frações significa a:b, sendo a e b números naturais e b diferente de zero. Chamamos: de fração; a de numerador; b de denominador.

Informática Aplicada

Aula 5: determinação e simplificação de expressões lógicas

Somando os termos de uma progressão aritmética

Nesta aula vamos rever operações com frações,

Somador completo Para melhor compreensão, vamos analisar o caso da soma Assim temos:

III. Representações das portas lógicas (recordação): Figura 1: Símbolos padronizados e alternativos para várias portas lógicas e para o inversor 2

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina.

Arquitetura FPU: Implementação MIPS32. Guilherme Fernandes Raphanelli Diogo D. Fonseca dos Santos

Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal

Um pouco da História dos Logaritmos

Anterior Sumário Próximo MATRIZES, DETERMINANTES E SISTEMAS

Lista de Exercícios - Subtração

Q(A, B, C) =A.B.C + A.B.C + A.B.C + A.B.C + A.B.C + A.B.C. m(1, 2, 3, 6) T (A, B, C, D) =A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.

Experiência 1 Medidas: Leitura de instrumentos:

12 de Março de Aula 5

Arquitetura e Organização de Computadores

Algoritmo da raiz quadrada

Bases Matemáticas. Daniel Miranda de maio de sala Bloco B página: daniel.miranda

entre a entrada e a saída, resultado que à primeira vista poderia parecer destituído de aplicação prática.

Índice. 1.2 Sistemas Numéricos em uma Base B Qualquer

Eletrônica Digital. Projeto de Circuitos Combinacionais. Alex Vidigal Bastos

POTENCIAÇÂO. A potenciação é uma forma de representar uma multiplicação de fatores iguais.

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

Equipe de Matemática MATEMÁTICA

Transcrição:

Capítulo VI Circuitos Aritméticos Introdução No capítulo anterior estudamos a soma e subtração de números binários. Neste capítulo estudaremos como as operações aritméticas de soma e subtração entre números binários podem ser implementadas através da combinação de funções lógicas. Quando reunidas em um único CI, estas funções lógicas aritméticas constituem uma Unidade Lógica e Arimética (ULA). Uma ULA é um bloco funcional fundamental em um microprocessador. Meio Somador Conforme vimos no Capítulo V as regras básicas para adição binária são: 0 + 0 = 0 0 + = + 0 = + = 0 O no resultado é o vai-um (carry) gerado por ter sido esgotado a capacidade de contagem. O carry deve ser acrescentado à soma dos bits imediatamente mais significativos à esquerda daqueles que deram origem ao carry. Estas operações são realizadas por um circuito lógico denominado Meio-Somador (half adder). Um meio-somador recebe dois bits de entrada A e B e produz dois bits de = A + B C, conforme mostram as saída: o bit de soma Σ e o bit de carry out Figuras e e a Tabela a seguir: Figura : Símbolo lógico de um meio-somador.

Tabela : Tabela Verdade de um meio-somador. Figura : Diagrama lógico de um meio-somador. 3 Somador Inteiro Um Somador Inteiro (full-adder) recebe 3 bits de entrada A, B, e C in (o último correspondendo a eventual carry gerado na operação com bits menos significativos) e produz dois bits de saída: o bit de soma Σ = A + B e o bit de carry C, conforme mostram as Figuras 3 a 5 e a Tabela a seguir: out Figura 3: Símbolo lógico de um somador inteiro.

Tabela : Tabela Verdade de um somador inteiro. Note que a tabela obedece as regras para soma binária com carry, estudada no capítulo anterior. Figura 4: (a) Lógica necessária para formar a soma dos bits de entrada A e B com o carry de entrada C. (b) Diagrama lógico do somador inteiro, composto in pelos meio-somadores I e II, o qual implementa a Tabela (verifique). 3

Figura 5: (a) Diagrama lógico alternativo representando um somador inteiro implementado a partir de meio-somadores. (b) Símbolo lógico do somador inteiro resultante. Exemplo : Determine as saídas Σ e somador inteiro mostrado na Figura 6. C out para as situações de entrada do Figura 6: Somador inteiro com situações de entrada distintas. Solução: (a) Σ = + 0 + 0 = com carry C out = 0 (b) Σ = + + 0 = 0 com carry C out = (c) Σ = + 0 + = 0 com carry C out = 4

4 Somadores de Palavras Binárias Para somar palavras binárias de N bits é necessário colocar em paralelo N somadores inteiros, conforme mostram as Figuras 7,8 e 9: Figura 7: Somador para palavras binárias de bits. Figura 8: Soma dos números 0 e 0 através de um somador de 3 bits. 5

Figura 9: Somador para palavras binárias de 4 bits. (a) Diagrama de blocos (b) Símbolo lógico. A tabela verdade para o n -ésimo somador inteiro de um somador de palavras binárias de N bits é: 6

Tabela 3: Tabela Verdade para o n -ésimo somador inteiro de um somador de palavras binárias de N. Note que a tabela é idêntica à Tabela. 5 Somadores Ripple Carry Somadores Look-ahead Carry O somador mostrado na Figura 9(a) é um somador do tipo Ripple Carry, o qual maneja os bits de carry da mesma maneira que efetuamos em uma soma manual: Ou seja, C 4 não será determinado antes que cada coluna tenha sido formada. Note que cada coluna representa a ação do respectivo somador inteiro na Figura 9(a). Isto significa que o Tempo de Propagação (já estudado no Capítulo IV) das portas será acumulado, atrasando a determinação de C 4. É dito que o bit de carry fica ondulando entre os somadores inteiros (daí o nome ripple ondulação) e, portanto, atrasa a definição do resultado da soma. Para evitar este efeito de atraso, um somador Look-Ahead Carry efetua a operação de adição obtendo o bit de carry diretamente a partir dos bits de entrada, sem precisar a definição dos bits de saída de cada somador inteiro: 7

Figura 0: Somador Look-Ahead Carry para palavras binárias de 4 bits. As portas no interior do retângulo cinza são as responsáveis pela obtenção do bits de carry diretamente a partir dos bits de entrada. 8

Figura : Operação do somador Look-Ahead Carry para palavras binárias de 4 bits. É mostrado os valores lógicos gerados no circuito quando são somados os números 00 = 90 e 00 = 0 0, com um carry prévio C = 0. 9

6 Implementação em MSI (Medium Scale Integration) A Figura a seguir mostra os diagramas de dois CIs MSI para a implementação da função somador Look-Ahead Carry para palavras de 4 bits: Figura : TTL 7483 e TTL 7483, somadores Look-Ahead Carry para palavras binárias de 4 bits. (a) Pinagem (b) Diagrama lógico. Ambos os CIs são funcionalmente idênticos, diferindo apenas na pinagem. A Tabela 4 mostra os Tempos de Propagação destes somadores: Tabela 4: Tempos de Propagação dos CIs TTL 7483 e 7483 - somadores Look-Ahead Carry para palavras de 4 bits. 0

7 Operação em Cascata de Somadores Figura 3: (a) Operação em cascata de somadores de 4 bits para formar um somador de 8 bits. (b) Operação em cascata de somadores de 4 bits para formar um somador de 6 bits. 8 Somador/Subtrator Estudamos no Capítulo V que a subtração binárias A e B é executada atarvés da operação + {} onde C {} é o II operador denominado Complemento de. A operação C {} é equivalente a acrescentar o sinal ao número binário. A B entre duas palavras II II A C B

II Vimos que a operação {} B II I I dada por C {} B = C {} B +, onde {} B C efetuada sobre uma palavra binária B é C é a operação de inversão (NOT) do valor lógico de cada bit da palavra binária B (operação conhecida como Complemento de ). Por exemplo, a diferença = 000 = B é dada por: 4 0 A B = A + C II Que resulta em: prosseguindo: A B entre os números = 00 = 60 A e I I {} B = A + C {} B + = 00 + C { 000} + = 00 +0+ descartar o carry 0 + 0 0 0 0 0 + 0 0 0 0 () 0 0 0 = 0 (4) Vimos também que, alternativamente, podemos implementar a operação {} B II C através do seguinte procedimento: Efetuamos a leitura da palavra binária B da direita para a esquerda até encontrarmos o primeiro e a seguir invertemos o valor lógico de todos os bits à esquerda do primeiro. Por exemplo, supondo que queremos achar o Complemento de do número binário A = 00 = 0 através da técnica descrita no parágrafo anterior II C 00 =. obtemos diretamente { } 000 Portanto, a operação II operação A + C {} B, conforme mostra a Figura 4: A B pode ser efetuada em um somador através

Figura 4: Se = 0 Controle, é executada a operação A + B conforme discutido em parágrafos anteriores, sendo A e B números de 4 bits. Se Controle = então é executada a operação A B através de II II I A + C {} B = A + C {} B = A + C {} B +. Note que quando Controle = as I portas XOR -4 efetuam a operação C {} B. Note também que nesta situação II I C B = C B + C o Complemento de de B é efetuado através de {} {} 0 = 0 Controle = C., onde O circuito completo de um Somador/Subtrator para palavras de 4 bits é obtido quando definimos o modo em que o circuito irá administrar as situações de ) overflow e ) resultado negativo. Para tanto, vamos experimentalmente fazer operações entre números de 4 bits que gerem as situações ) e ), procurando inferir a lógica da operação: 3

A B = 9 0 5 = 4 Figura 5: (a) Operação 0 0. Note que quando o carry C = significa que os 4 bits do resultado representam um número positivo. 4 A B = 5. Note que quando o carry = 0 0 9 = 4 (b) Operação 0 0 significa que os 4 bits do resultado representam um número negativo, e que, para obtermos a magnitude deste número de 4 bits basta efetuar o Complemento de do resultado (em verde na figura). C 4 A B = 5 0 = 3 Figura 6: (a) Operação 0 0. Note que quando o carry C = significa que os 4 bits do resultado representam um número positivo. 4 A B =. Note que quando o carry = 0 0 5 = 3 (b) Operação 0 0 significa que os 4 bits do resultado representam um número negativo, e que, apesar de ter ocorrido overflow na aritmética de 4 bits em Complemento de, para obtermos a magnitude deste número de 4 bits basta efetuar o Complemento de do resultado (em verde na figura). C 4 4

Portanto, as Figuras 5 e 6 sugerem o seguinte circuito sinalizador para resultado negativo: Figura 7: Se Controle = (operação A B ) e se simultaneamente C = 0 (resultado negativo) o LED acende, indicando um número negativo. 4 Vimos na análise da Figura 6 que quando o carry 4 = 0 C os 4 bits do resultado representam um número negativo e que para obtermos a magnitude deste número de 4 bits basta efetuar o Complemento de do resultado, independentemente de ter ocorrido overflow ou não. Portanto a Figura 6 sugere o seguinte circuito para obtenção da magnitude do resultado de 4 bits (o sinal é indicado pelo LED da Figura 7): 5

Figura 8: Circuito para obtenção da magnitude do resultado de 4 bits do CI 7483 através da operação Complemento de efetuada pelas portas XOR 5-8 em conjunto com o CI 7483. Tendo definido o modo em que o circuito Somador/Subtrator administra as situações de overflow e resultado negativo, o circuito completo fica sendo: 6

Figura 9: Circuito completo do Somador/Subtrator de palavras de 4 bits em aritmética Complemento de. Exemplo : Determine o valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 9, bem como o estado do LED, quando a operação efetuada é A + B = 50 + 90 = 40. Solução: 7

Figura 0: Valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 9 quando a operação efetuada é A + B = 50 + 90 = 40. Exemplo 3: Determine o valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 9, bem como o estado do LED, quando a operação efetuada é A B = 90 50 = 40. Solução: 8

Figura : Valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 9 quando a operação efetuada é A B = 90 50 = 40. Exemplo 4: Determine o valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 9, bem como o estado do LED, quando a operação efetuada é A B = 50 90 = 40. Solução: 9

Figura : Valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 9 quando a operação efetuada é A B = 50 90 = 40. 9 Somador BCD Estudamos no Capítulo III que o código BCD (Binary Coded Decimal) expressa cada dígito de um número decimal por uma palavra binária de 4 bits (Nibble) no formato b 3 b b b0 através da relação: 3 0 NúmeroDeci mal = b + b + b + b resultado desta relação. 3 0. A Tabela 5 mostra o 0

Tabela 5: Tabela para conversão de um nibble BCD em um algarismo decimal. Note que existem 6 nibbles inválidos na contagem da tabela, porque com 4 bits é possível contar de 0 a 5 mas o código BCD só representa algarismos decimais de 0 a 9. Por exemplo, o número binário 000000 codificado em BCD, quando convertido para decimal resulta em 00 0 000 5 7 8 Quando efetuamos a soma de dois números binários A e B codificados em BCD é necessário levar em consideração a existência dos 6 nibbles inválidos mostrados na Tabela 5. Consideremos os seguintes exemplos:

+ B = 30 + 50 = 80 A efetuado em um somador BCD resulta Note que não ocorre overflow na aritmética BCD (8 está dentro da faixa 0-9) e portanto o nibble resultante é um número BCD válido. + B = 80 + 50 = 30 A efetuados em um somador BCD resulta Ocorre overflow na aritmética BCD (3 está fora da faixa 0-9) e portanto o nibble resultante é um número BCD inválido. Daí, é necessário somar 6 ao resultado para compensar a contagem dos 6 nibbles inválidos da Tabela 5: Note que, após a soma de 6 ao nibble inválido, o novo resultado expressa corretamente 000 00 =30 em BCD. + B = 80 + 90 = 70 A efetuados em um somador BCD resulta

Ocorre overflow na aritmética BCD (7 está fora da faixa 0-9) e portanto o nibble resultante é um número BCD inválido. Observe que ocorreu um carry C = nesta operação. 4 Somando 6 ao resultado: Note que, após a soma de 6 ao nibble inválido, o novo resultado expressa corretamente 000 0 =70 em BCD. Os exemplos anteriores mostram que é necessário somar 6 ao resultado da operação A + B quando:! Ocorre um carry = OU C no resultado da operação A + B 4! O resultado da operação A + B é um dos 6 nibbles inválidos da Tabela 5. Mas, a análise da Tabela 5 mostra que os 6 nibbles inválidos ou são da forma ou são da forma 3 3 X não havendo nenhuma outra possibilidade para sua representação. Lembre que X representa valor lógico irrelevante (don t care). X 0 X 0 X Portanto é necessário somar 6 ao resultado da operação somente quando:! Ocorre um carry = OU! O resultado da operação A + B C no resultado da operação A + B 4 é da forma A + B em BCD 3

OU! O resultado da operação A + B 3 3 X é da forma X A discussão nos parágrafos anteriores sugere o seguinte circuito para efetuar a soma BCD: 0 X 0 X Figura 3: Circuito Somador BCD para palavras de 4 bits. Exemplo 5: Determine o valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 3 quando a operação efetuada é A + B = 9 + 3 =. Solução: 0 0 0 4

Figura 4: Valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 3 quando a operação efetuada é A + B = 90 + 30 = 0. Exemplo 6: Determine o valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 3 quando a operação efetuada é A + B = 9 + 7 =. Solução: 0 0 60 5

Figura 5: Valor lógico em cada entrada/saída das portas e dos CIs 7483 na Figura 3 quando a operação efetuada é A + B = 90 + 70 = 60. 0 Unidade Lógica e Aritmética (ULA) O CI TTL 748 é uma implementação MSI de uma ULA, conforme mostram as Figuras 6 e 7: 6

Figura 6: Diagrama de pinagem do TTL 748. S0 S3 selecionam a operação a ser feita entre os dois números binários A e B de 4 bits, conforme a Figura 7. O resultado é colocado em F0 F3. C n é o carry de entrada e C é o carry de saída. M = seleciona o modo lógico e M = 0 seleciona o n+4 modo aritmético. 7

Figura 7: Tabela de funções do TTL 748. Um resultado negativo das operações aritméticas é representado em Complemento de. Multiplicação e Divisão Embora existam implementações em circuitos integrados de circuitos multiplicadores e divisores, estes raramente são utilizados. Isto porque, na grande maioria das vezes, as operações de multiplicação e divisão são implementadas através de uma rotina em linguagem Assembly executada em um microprocesador. 8