Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica Digital Prof. Dr. Paulo Martins E-mail: pmartins@ft.unicamp.br Circuito Digital Opera com quantidades que só podem ser incrementadas ou decrementadas em passos finitos ou discretos. Representação de um sinal digital Circuito Analógico Opera com quantidades ou sinais que podem ter valores que variam de modo contínuo numa escala. Representação de um sinal analógico A Lógica Digital é aplicada à eletrônica dos computadores para que possam ser tomadas decisões. As decisões são baseadas na Álgebra de Boole. Os Circuitos Lógicos Digitais implementam as decisões. Eles são compostos por várias Portas Lógicas montadas por Interruptores. Interruptores Chamamos interruptor ao dispositivo ligado a um ponto de um circuito elétrico que pode assumir um dos dois estados: fechado( 1 ) ou aberto( 0 ). Quando fechado, o interruptor permite que a corrente passe através do ponto, enquanto aberto nenhuma corrente pode passar pelo ponto. Interruptores em Paralelo Sejam a e b dois interruptores ligados em paralelo. Numa ligação em paralelo, só passará corrente se pelo menos um dos interruptores estiver fechado, isto é, apresentar o estado 1. Denotaremos a ligação de dois interruptores a e b em paralelo por a + b. Interruptores em Série Sejam a e b dois interruptores ligados em série. Numa ligação em série, só passará corrente se ambos os interruptores estiverem fechados, isto é, se a = b = 1. Denotaremos a ligação de dois interruptores a e b em série por a . b ou simplesmente ab. Chave Automática Circuito chaveador com: uma fonte de alimentação um fio de controle um fio de saída Chaves Automáticas em Paralelo Chaves Automáticas em Série Portas Lógicas - Definição Uma porta lógica é um elemento do hardware, que recebe um ou mais sinais de entrada e produz um sinal de saída, cujo valor depende da lógica estabelecida para sua construção. São usadas para implementações físicas da álgebra de Boole. Representam o limite entre a engenharia de computação e a engenharia elétrica. Em geral as portas têm um atraso de propagação do sinal de 1 a 10 nanosegundos. Portas Lógicas - Exemplos O projeto e a fabricação de circuitos lógicos tornam-se mais simples se são usados apenas um ou dois tipos de porta. Portanto, é importante identificar quais conjuntos de portas lógicas são funcionalmente completos, ou seja, implementam qualquer função booleana. Portas Lógicas Funcionalmente Completas Exemplo ))()(( BNOTANDANOTNOTBORA BABA Para que as portas AND e NOT constituam um conjunto funcionalmente completo deve existir uma maneira de expressar com elas a operação OR. Circuito Inversor Circuito AND Circuito OR Simplificação de Expressões Booleanas Simplificação algébrica Mapas de Karnaugh Método de Quine-McKluskey Qualquer função booleana pode ser implementada por um circuito eletrônico, na forma de uma rede de portas lógicas. Porém, quanto mais simples for a expressão booleana menor é o número de portas requerido para implementar a função. Circuitos Lógicos Digitais Um conjunto de portas lógicas compõe um circuito lógico digital. Um computador é constituido de uma infinidade de circuitos lógicos, que executam as seguintes funções básicas: realizam operações matemáticas controlam o fluxo dos sinais armazenam dados Um circuito lógico digital pode ser Combinatório ou Sequencial. Circuito Combinatório Um circuito combinatório é definido como sendo um conjunto de portas cuja saída em qualquer instante de tempo é função somente das entradas. São chamados de circuitos "sem memória". Ele consiste de n entradas binárias e m saídas binárias (múltiplas entradas e múltiplas saídas). Tipos de Circuitos Combinatórios Multiplexadores Decodificadores Comparadores Matrizes lógicas programáveis (circuitos genéricos) Memórias ROM Deslocadores Somadores Multiplexadores Um multiplexador conecta várias entradas em uma única saída. São circuitos com 2n entradas de dados, uma saída de dados e n controles que selecionam uma das entradas de dados. Circuito Multiplexador Aplicação Um circuito multiplexado pode fazer a conversão paralelo-série de dados. Colocando-se 8 bits de dados nas linhas de entrada e fazendo com que as linhas de controle assumam seqüencialmente os valores de 000 a 111, os 8 bits presentes na entrada são colocados em série na linha de saída. Decodificadores Um decodificador é um circuito que recebe na entrada um número de n bits e os utiliza para selecionar exatamente uma de suas 2n linhas de saída. Aplicação (1/3) Um decodificador pode ser usado para fazer o endereçamento de partes de uma memória. Aplicação (2/3) Selecionar uma operação a ser realizada Aplicação (3/3) Decodificadores também podem ser usados como demultiplexador. Nesse caso eles efetuam a função inversa do multiplexador, ou seja, eles conectam uma única entrada a múltiplas saídas. Sistemas de Transmissão Multiplexado - Demultiplexador Comparadores Um circuito comparador faz a comparação de 2 palavras bit a bit. Aplicação Os circuitos comparadores são usados principalmente para execução de instruções condicionais e de loop, tais como: if while for Matriz Lógica Programável (PLA) Para cada conjunto de funções, deve ser projetado um conjunto de portas e suas conexões na pastilha. O projeto de pastilhas específicas requer muito tempo e tem um custo alto. Portanto, torna-se atrativo desenvolver pastilhas de uso geral, que possam ser facilmente adaptadas para propósitos específicos. Essa é a intenção de uma PLA. Fabricação das PLAs 1. As possíveis conexões são feitas por meio de um fusível em cada ponto de intersecção. Nesse caso, as conexões não desejadas podem ser mais tarde removidas, derretendo os fusíveis correspondentes (PLAs programáveis em campo). 2. As conexões apropriadas podem ser feitas durante a fabricação da pastilha, usando uma máscara fornecida pelo cliente para cada padrão particular de conexão. (PLAs feita sob medida). Vantagem: Permite ao projetista tentar diversas idéias diferentes, pois o tempo para implementação e alteração é muito curto. PLAs Vantagem x Desvantagens Desvantagens: (1) O circuito resultante provavelmente não é o mais eficiente porque conterá portas que podem ser desnecessárias para um projeto específico. (2) A velocidade de resposta não será a mais rápida que se pode conseguir para o projeto, pois a velocidade de chaveamento de um arranjo é uma característica da estrutura do circuito, que não pode ser modificada pelo usuário. Memórias ROM Read Only Memory É uma unidade de memória sobre a qual apenas a operação de leitura pode ser efetuada. A informação nela armazenada é permanente e é criada durante o processo de fabricação (uma vez instalados nem o programa nem os dados podem ser alterados). Portanto, uma dada entrada para a ROM sempre produz a mesma saída. Como as saídas são função apenas das entradas correntes, a ROM é, de fato, um circuito combinatório. Deslocadores Um circuito deslocador tem um conjunto de n linhas de entradas e n linhas de saída e 1 linha de controle, nesse caso n =8. Os valores colocados nas linhas de entrada são enviados para as linhas de saída deslocados de 1 bit, para a direita ou para a esquerda, dependendo do valor da linha de controle estar em 1 ou 0 respectivamente. Somadores Circuitos somadores implementam operações aritméticas. Por exemplo, a adição binária pode ser expressa em termos booleanos. A adição binária difere da álgebra booleana no fato de que o resultado inclui um termo de "vai-um". Circuito Somador Esse circuito realiza a soma de suas duas entradas A e B. Ele gera, como saída, o valor da soma e de um bit de transporte (o "vai 1" da soma). Circuitos Sequenciais Um circuito sequencial é definido como sendo um conjunto de portas cuja saída em qualquer instante é função não apenas das entradas, mas também dos estados anteriores que permanecem armazenados através dos elos de realimentação. Por isso, os circuitos seqüenciais são ditos “com memória”. Um circuito sequencial faz uso de circuitos combinatórios. Tipos de Circuitos Sequenciais Flip-flops S-R (set-reset) Flip-flops comandado por pulso de clock Flip-flops tipo D (delay) Flip-flops J-K Contadores Registradores Flip-flops 1. O flip-flop é um dispositivo biestável. Ele existe em um de dois estados estáveis e, na ausência de sinal de entrada, permanece no mesmo estado. Portanto, o flip-flop pode funcionar como uma memória de 1 bit. 2. O flip-flop tem duas saídas, que têm sempre valor complementar uma da outra. No flip-flop J-k qualquer combinação possível dos valores de entrada é válida, pois quando tanto J quanto k são iguais a 1, o valor da saída é automaticamente invertido. Para o flip-flop S-R as entradas S =1 e R = 1 não são permitidas, pois produziriam uma saída incoerente (tanto Q quanto Q’ = 0). A saída de um flip-flop S-R muda, depois de um breve atraso, em resposta a uma mudança na entrada (operação assíncrona). No flip-flop S-R com relógio as saídas são sincronizadas por um pulso de relógio. O flip-flop tipo D permite apenas uma única entrada e por isso, evita saídas incoerentes do S-R. Registradores Um registrador é um circuito digital seqüencial usado dentro da CPU para armazenar um ou mais bits de dados. Os registradores podem ser paralelos ou de deslocamento. Um registrador paralelo consiste de um conjunto de memórias de 1 bit, que podem ser lidas ou escritas simultaneamente. Ele é usado para armazenar dados. Um registrador de deslocamento aceita e/ou transfere informação serialmente. Ele pode ser usado como interface para dispositivos de E/S seriais e para implementar funções de deslocamento lógico e rotação dentro da ULA. Contadores Um contador é um registrador cujo valor é facilmente incrementado de 1 módulo a capacidade do registrador. Um registrador constituído de n flip-flops pode contar até 2n – 1. Quando o contador é incrementado além do seu valor máximo, seu valor volta para 0. Um exemplo é o contador de instruções de programa da CPU. Os contadores podem ser síncronos ou assíncronos, dependendo da sua forma de operação. Contadores assíncronos são lentos porque a saída de um flip-flop dispara uma mudança no estado do flip-flop seguinte (esse atraso é proporcional ao tamanho do contador). Contadores síncronos são mais rápidos porque o estado de todos os flip-flops é alterado simultaneamente (é o usado na CPU). Exemplos (1/3) Exemplos (2/3) Exemplos (3/3) Circuito → Expressão Tabela → Expressão → Circuito
Compartilhar