Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Sistemas Digitais I Introduc¸a˜o Myle`ne Christine Queiroz de Farias Departamento de Engenharia Ele´trica Universidade de Bras´ılia (UnB) Bras´ılia, DF 70910-900 mylene@unb.br April 11, 2018 Aula 09: Circuitos Combinacionais Suma´rio Circuitos Combinacionais; Buffers Somadores e Subtradores; Multiplicadores e Divisores; A ULA. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 2 / 62 Circuitos Combinacionais Sistemas e Circuitos Combinacionais Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 3 / 62 Circuitos Combinacionais Circuitos lo´gicos para sistemas digitais podem ser combinacionais ou sequenciais. Circuitos Combinacionais Formado por porta lo´gicas cujas sa´ıdas em qualquer intervalo de tempo sa˜o determinadas pela combinac¸a˜o presente das entradas. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 4 / 62 Circuitos Combinacionais Circuitos Sequenciais Circuitos que empregam elementos de memo´ria ale´m de portas lo´gica. As sa´ıdas sa˜o func¸o˜es das entradas e do estado dos elementos de memo´ria as sa´ıdas dos circuitos sequencias dependem na˜o so´ do estado das entradas atuais, mas tambe´m de entradas passadas. o comportamento do circuito deve ser especificado por uma sequeˆncia de entradas variantesno tempo e estados internos. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 5 / 62 Circuitos Combinacionais Circuitos Sequenciais Circuitos que empregam elementos de memo´ria ale´m de portas lo´gica. As sa´ıdas sa˜o func¸o˜es das entradas e do estado dos elementos de memo´ria Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 6 / 62 Circuitos Combinacionais Sistemas e Circuitos Combinacionais Nu´meros bina´rios representam quantidades discretas de informac¸a˜o Essas varia´veis bina´rias sa˜o representadas por tenso˜es Essas tenso˜es sa˜o manipuladas por portas lo´gicas que executam func¸o˜es Essas func¸o˜es sa˜o expressas por meio da A´lgebra de Boole A a´lgebra de Boole pode ser usada para simplificar as func¸o˜es Computadores Computadores digitais executam diversam diversam tarefas de processamento da informac¸a˜o. Entre essas tarefas, esta˜o as operac¸o˜es aritme´ticas. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 7 / 62 Circuitos Combinacionais Sistemas e Circuitos Combinacionais Nu´meros bina´rios representam quantidades discretas de informac¸a˜o Essas varia´veis bina´rias sa˜o representadas por tenso˜es Essas tenso˜es sa˜o manipuladas por portas lo´gicas que executam func¸o˜es Essas func¸o˜es sa˜o expressas por meio da A´lgebra de Boole A a´lgebra de Boole pode ser usada para simplificar as func¸o˜es Computadores Computadores digitais executam diversam diversam tarefas de processamento da informac¸a˜o. Entre essas tarefas, esta˜o as operac¸o˜es aritme´ticas. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 7 / 62 Circuitos Combinacionais Alguns aspectos pra´ticos. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 8 / 62 Circuitos Combinacionais Fan-in Fan-out Margem de ru´ıdo Atraso de propagac¸a˜o do sinal Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 9 / 62 Circuitos Combinacionais Fan-in: Para portas-lo´gicas e´ o nu´mero de entradas de uma porta espec´ıfica definida por construc¸a˜o geralmente limitada a um ma´ximo de 4 ou 5 exemplo: 74LS08 tem 4 portas E de 2 entradas Impacto: Quando o nu´mero de varia´veis e´ maior que o nu´mero de entradas da porta lo´gica e´ necessa´rio cascatear portas-lo´gicas ou realizar trasnformac¸a˜o de func¸o˜es, etc. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 10 / 62 Circuitos Combinacionais Fan-out: Nu´mero de entradas de portas lo´gicas que podem ser conectadas a` sa´ıda de uma outra porta lo´gica Especifica a capacidade de acionamento de uma sa´ıda Se a sa´ıda estiver sobrecarregada, outras caracter´ısticas como a margem de ru´ıdo, por exemplo, sera˜o afetadas. Tipos diferentes de portas lo´gicas (TTL, CMOS etc.) sa˜o afetados por sobrecarga de diferentes modos. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 11 / 62 Circuitos Combinacionais Margem de Ru´ıdo Define quanto ru´ıdo pode ser induzido em um sinal digital sem que ele deixe de ser reconhecido como ‘0’ ou ‘1’. Diferenc¸a entre os n´ıveis ‘0’ ou ‘1’ da entrada e da sa´ıda do sinal. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 12 / 62 Circuitos Combinacionais Atraso de Propagac¸a˜o: Dispositivos reais apresentam atraso Os atrasos de propagac¸a˜o sa˜o medidos entre o instante de tempo que a entrada muda ate´ o instante de tempo que a sa´ıda leva para reagir a mudana da entrada As portas lo´gicas geralmente apresentam atraso quando a sa´ıda varia de ‘0’ para ‘1’ ou de ‘1’ para ‘0’. Nem todas as mudanas do sinal de entrada sera˜o percebidas na sa´ıda A porta lo´gica pode na˜o responder a pulsos muito finos Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 13 / 62 Circuitos Combinacionais Estado ativo do Sinal Aplica-se, geralmente, a sinais de controle para designar SE uma condic¸a˜o esta´ ATIVA (ENABLED). Estado ATIVO – sinal que indica que a ativac¸a˜o de uma condic¸a˜o ou ac¸a˜o. ATIVO em CIMA (UP) – ATIVO quando o sinal e´ ‘1’ ATIVO em BAIXO (DONW) – ATIVO quando o sinal e´ ‘0’ Pinos sem ‘c´ırculos’ indicam ativo em cima Pinos com ‘c´ırculos’ indicam ativo em baixo Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 14 / 62 Circuitos Combinacionais Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 15 / 62 Circuitos Combinacionais Projeto de um circuito combinacional Geralmente, seguem-se as seguintes etapas: 1 Descric¸a˜o do problema 2 Entrada/sa´ıda do circuito 3 Definic¸a˜o da tabela-verdade 4 Simplificac¸a˜o para cada sa´ıda 5 Desenho do circuito Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 16 / 62 Circuitos Combinacionais Exemplo 1: Em sistemas computacionais e´ frequentemente necessa´rio escolher dados de uma certa fonte, entre um conjunto de fontes dispon´ıveis: Projete um circuito que tem uma sa´ıda f que e´ exatamente a mesma que uma das entradas (x,y). Essa escolha sera´ baseada no valor de um terminal de controle (s). Se s=0 enta˜o f=x Se s=1 enta˜o f=y Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 17 / 62 Circuitos Combinacionais Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 18 / 62 Circuitos Combinacionais Projetar um circuito que soma duas entradas (x,y) e produz duas sa´ıdas (s , c) S: bit da soma x=0, y=0 ⇒ s=0 x=0, y=1 ⇒ s=1 x=1, y=0 ⇒ s=1 x=1, y=1 ⇒ s=0 C: bit “vai-um” x=0, y=0 ⇒ c=0 x=0, y=1 ⇒ c=0 x=1, y=0 ⇒ c=0 x=1, y=1 ⇒ c=1 Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 19 / 62 Buffer Um outro dipositivo Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 20 / 62 Buffer Buffer Porta lo´gica que produz f = x Tipicamente usada para acionar ou amplificar sinais Tri-State Buffer Interface: Entrada de dados, x Entrada de controle, e (enable) sa´ıda, f Funcionalidade: Se e = 1, x esta´ conectado a f Se e = 0, x esta´ desconectado de f Valores poss´ıveis da sa´ıda 0, 1, Z Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 21 / 62 Buffer Usando tri-state buffers e´ poss´ıvel conectar va´rias entradas a uma u´nica sa´ıda Usando enables pode-se controlar qual entrada esta´ conectada a sa´ıda Usando enables pode-se controlar qual entrada esta´ conectada a sa´ıda Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 22 / 62 Buffer Usando tri-state buffers e´ poss´ıvel implementar MUXs 4x1 O DECOD acionara´ apenas um dos tri-state buffers O tri-state sera´ acionado de acordo com o valor das entradas de selec¸a˜o Pode diminuir a complexidade do circuito Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 23 / 62 Circuitos Combinacionais Circuitos Somadores Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 24 / 62 Soma de nu´meros positivos A soma de dois nu´meros de 1 bit pode resultar em 4 valores distintos: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 25 / 62 Soma de nu´meros positivos Nu´meros maiores envolvem mais bits Ainda assim, os bits sa˜o adicionados aos pares Entretanto, para cada posic¸a˜o i do bit, a operac¸a˜o de adic¸a˜o deve incluir uma informaca˜o de vai-um da posic¸a˜o i − 1 Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 26 / 62 Soma de nu´meros positivos Somador Completo: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 27 / 62 Soma de nu´meros positivos Somador Completo Decomposto: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 28 / 62 Somador Ripple-Carry A operac¸a˜o de adic¸a˜o e´ iniciada no d´ıgito menos significativo e e´ feita aos pares, progredindo ate´ o d´ıgito mais significativo. Se um vai-um e´ produzido em uma posic¸a˜o i , ele sera´ adicionado aos operandos (d´ıgitos) da posic¸a˜o i + 1. Uma cadeia de somadores completos, conectados em sequeˆncia, pode executar essa operaca˜o. Essa configuraca˜o e´ chamada de somador ripple-carry, em conseqeˆncia do modo que o sinal de vai-um e´ transportado de um esta´gio para outro. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 29 / 62 Somador Ripple-Carry A operac¸a˜o de adic¸a˜o e´ iniciada no d´ıgito menos significativo e e´ feita aos pares, progredindo ate´ o d´ıgito mais significativo. Se um vai-um e´ produzido em uma posic¸a˜o i , ele sera´ adicionado aos operandos (d´ıgitos) da posic¸a˜o i + 1. Uma cadeia de somadores completos, conectados em sequeˆncia, pode executar essa operaca˜o. Essa configuraca˜o e´ chamada de somador ripple-carry, em conseqeˆncia do modo que o sinal de vai-um e´ transportado de um esta´gio para outro. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 29 / 62 Somador Ripple-Carry Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 30 / 62 Somador Ripple-Carry Cada somador completo introduz um certo atraso antes de suas sa´ıdas si and ci+1 serem va´lidas Vamos supor que o atraso de cada somador completo (esta´gio) seja dado por ∆t: O vai-um do primeiro esta´gio, c1, chega ao segundo esta´gio ∆t depois da aplicac¸a˜o das entradas x0 e y0; O vai-um do segundo esta´gio,c2, chega ao terceiro esta´gio com um atraso de 2∆t, e assim por diante; O sinal cn−1 e´ valido apo´s (n − 1) ·∆t, e a soma completa estara´ dispon´ıvel depois de um atraso de n ·∆t; O atraso, obviamente, dependera´ do tamanho do nu´mero (i.e. o nu´mero de bits do somador). Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 31 / 62 Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois Em complemento de dois, o resultado da adic¸a˜o esta´ sempre correto. Qualquer bit de vai-um, ale´m dos bits de posic¸a˜o considerados, deve ser ignorado. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 32 / 62 Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois O modo mais fa´cil de se realizar uma subtrac¸a˜o e´ tornar o subtraendo negativo e adiciona´-lo ao minuendo Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 33 / 62 Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois A operac¸a˜o de subtrac¸a˜o pode ser realizada como a operac¸a˜o de adic¸a˜o, usando o complemento de 2 do subtraendo, sem considerar o sinal dos operandos Ou seja, e´ poss´ıvel utilizar o mesmo circuito do somador para fazer soma e subtrac¸a˜o! �� ��Lembrete : complemento de 2 pode ser obtido do complemento de 1 somado ao bit 1. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 34 / 62 Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois A operac¸a˜o de subtrac¸a˜o pode ser realizada como a operac¸a˜o de adic¸a˜o, usando o complemento de 2 do subtraendo, sem considerar o sinal dos operandos Ou seja, e´ poss´ıvel utilizar o mesmo circuito do somador para fazer soma e subtrac¸a˜o!�� ��Lembrete : complemento de 2 pode ser obtido do complemento de 1 somado ao bit 1. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 34 / 62 Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois �� ��Lembrete : complemento de 2 pode ser obtido do complemento de 1 somado ao bit 1. Pode-se usar a operac¸a˜o OU-EXCLUSIVO para se obter o complemento de 1 de um nu´mero: X ⊕ 1 = X e X ⊕ 0 = X Se uma operac¸a˜o de subtrac¸a˜o for executada, o complemento de 1 do subtraendo pode ser obtido fazendo-se o XOR de cada bit do nu´mero com o bit 1. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 35 / 62 Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 36 / 62 Overflow Aritme´tico O resultado da adic¸a˜o ou da subtrac¸a˜o deve “caber” dentro dos nu´meros usados para representar os operandos; Se n bits sa˜o usados para representar os operandos (nu´meros inteiros ou negativos), enta˜o o resultado deve estar no intervalo entre 2n−1 e +2n−1 − 1; Se o resultado na˜o estiver no intervalo acima, um overflow aritme´tico ocorreu. Portanto, para assegurar a correta operac¸a˜o de um circuito aritme´tico, e´ importante detectar a poss´ıvel ocorreˆncia de um overflow. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 37 / 62 Overflow Aritme´tico O resultado da adic¸a˜o ou da subtrac¸a˜o deve “caber” dentro dos nu´meros usados para representar os operandos; Se n bits sa˜o usados para representar os operandos (nu´meros inteiros ou negativos), enta˜o o resultado deve estar no intervalo entre 2n−1 e +2n−1 − 1; Se o resultado na˜o estiver no intervalo acima, um overflow aritme´tico ocorreu. Portanto, para assegurar a correta operac¸a˜o de um circuito aritme´tico, e´ importante detectar a poss´ıvel ocorreˆncia de um overflow. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 37 / 62 Overflow Aritme´tico Para nu´meros de 4 bits, 3 bits sa˜o de significaˆncia e 1 de sinal: Se os nu´meros tiverem sinais diferentes, nenhum overflow pode ocorrer. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 38 / 62 Overflow Aritme´tico Nos exemplos anteriores, overflow foi detectado nos seguintes casos: overflow = c3 · c4 + c3 · c4 = c3 ⊕ c4 Portanto, para nu´meros de n bits: overflow = cn−1 ⊕ cn Um checador de overflow pode ser colocado no circuito somador/subtrator simplesmente adicionando-se uma porta OU-EXCLUSIVO. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 39 / 62 Overflow Aritme´tico Nos exemplos anteriores, overflow foi detectado nos seguintes casos: overflow = c3 · c4 + c3 · c4 = c3 ⊕ c4 Portanto, para nu´meros de n bits: overflow = cn−1 ⊕ cn Um checador de overflow pode ser colocado no circuito somador/subtrator simplesmente adicionando-se uma porta OU-EXCLUSIVO. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 39 / 62 Overflow Aritme´tico Nos exemplos anteriores, overflow foi detectado nos seguintes casos: overflow = c3 · c4 + c3 · c4 = c3 ⊕ c4 Portanto, para nu´meros de n bits: overflow = cn−1 ⊕ cn Um checador de overflow pode ser colocado no circuito somador/subtrator simplesmente adicionando-se uma porta OU-EXCLUSIVO. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 39 / 62 Representac¸a˜o BCD Adic¸a˜o em BCD Z = X + Y Problemas acontecem quando Z > 9 2 nu´meros BCD sa˜o necessa´rios para representar o resultado da soma (i.e. 5 + 7 = 12, e´ necessa´rio representar o 1 e o 2. Soluc¸a˜o: Se Z ≤ 9, enta˜o S = Z e vai-um = 0 Se Z > 9, enta˜o S = Z + 6 e vai-um = 1 Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 40 / 62 Representac¸a˜o BCD Adic¸a˜o em BCD – Diagrama em blocos: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 41 / 62 Representac¸a˜o BCD Adic¸a˜o em BCD – Diagrama em blocos: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 42 / 62 Representac¸a˜o em Ponto Flutuante Padronizac¸a˜o do IEEE – representac¸a˜o de precisa˜o simples (64 bits): Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 43 / 62 Representac¸a˜o em Ponto Flutuante Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 44 / 62 Representac¸a˜o em Ponto Flutuante Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 45 / 62 Multiplicac¸a˜o Uma representac¸a˜o gene´rica da multiplicac¸a˜o de nu´meros de 4 bits: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 46 / 62 Multiplicac¸a˜o Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 47 / 62 Multiplicac¸a˜o Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 48 / 62 Multiplicador 8x8 Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 49 / 62 Matriz de Somadores Completos Nu´mero de FAs e HAs? Comprimento do maior caminho? Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 50 / 62 Cadeia de Carry mais Ra´pida Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 51 / 62 Circuitos Combinacionais Unidade Lo´gica e Aritme´tica Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 52 / 62 Unidade Lo´gica e Aritme´tica ALU em Ingleˆs (Arithmetic Logic Unit) Circuito combinacional que executa um conjunto de operac¸o˜es lo´gicas e aritme´ticas Possui sinais de controle para selecionar a operac¸a˜o desejada k sinais permitem 2k operac¸o˜es Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 53 / 62 Unidade Lo´gica e Aritme´tica Parte aritme´tica: Somador em paralelo: ce´lula ba´sica da ULA Este somador soma dois nu´meros bina´rios em paralelo (todos os d´ıgitos) Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 54 / 62 Unidade Lo´gica e Aritme´tica Parte aritme´tica: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 55 / 62 Unidade Lo´gica e Aritme´tica Parte aritme´tica: Controlando o valor de Y na entrada do somador, podemos efetuar outras operac¸o˜es. Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 56 / 62 Unidade Lo´gica e Aritme´tica Parte aritme´tica: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 57 / 62 Unidade Lo´gica e Aritme´tica Parte aritme´tica: Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 58 / 62 Unidade Lo´gica e Aritme´tica Parte lgica: AND, OR, XOR, NOT Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 59 / 62 Unidade Lo´gica e Aritme´tica Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 60 / 62 Unidade Lo´gica e Aritme´tica Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 61 / 62 Unidade Lo´gica e Aritme´tica ULA executa operac¸o˜es lo´gicas e aritme´ticas: A, B: 4 bit inputs S3, S2, S1, S0: Function select M = 0: Arithmetic operations: +, M = 1: Logical operations: OR, AND Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 62 / 62
Compartilhar