Baixe o app para aproveitar ainda mais
Prévia do material em texto
ISL13 - Memórias - 1 Dispositivos de MemóriaDispositivos de Memória Francisco Garcia Thelma Rodrigues ISL13 - Memórias - 2 ObjetivoObjetivo I Compreender e utilizar corretamente a terminologia associada com sistemas de memória; IDescrever a diferença entre os diversos tipos de memória; IDeterminar a capacidade de um sistema de memória a partir de suas entradas e saídas; I Combinar CI’s de memória para formar módulos com maior capacidade e/ou tamanho de palavra ISL13 - Memórias - 3 IntroduçãoIntrodução I Após o processador, os dispositivos de memória são os componentes mais importantes de um computador digital. É exatamente a capacidade de armazenar grandes quantidades de informação em seus diversos tipos de memória é que torna os sistemas digitais tão versáteis e úteis. I Existem vários termos e siglas aplicados aos dispositivos de memória. A seguir veremos o significado destas siglas. IO computador usa vários tipos diferentes de memória, dependendo da aplicação. Veremos nesta aula qual é a diferença entre os diversos tipos de memória. ISL13 - Memórias - 4 Capacidade das memóriasCapacidade das memórias I A memória mais simples que existe é a memória de um único bit, também chamada célula de memória. Esta função pode ser realizada por um flip-flop. I Uma palavra de memória consiste em um conjunto de células de memória associadas para memorizar uma palavra de vários bits. Os computadores tipicamente trabalham com tamanho de palavra de 4 a 64 bits, dependendo do seu porte. I Uma palavra de 8 bits é chamada de byte. I Tamanhos de palavras podem também ser especificados em bytes. Por exemplo, podemos dizer que um sistema trabalha com palavras de 32 bits ou 4 bytes. ISL13 - Memórias - 5 Capacidade das memóriasCapacidade das memórias I A capacidade (ou densidade) dos dispositivos de memória usados nos computadores é frequentemente especificada em termos da quantidade de palavras, ao invés da quantidade total de bits. I Assim, uma memória de 4096 palavras de 16 bits (65.536 bits) é chamada de 4096 x 16. I A designação “1k” (um quilo), quando aplicada a capacidade de uma memória, representa 1024 = 210. Portanto, a memória de 4096 x 16 = 4k x 16. I “1 M” (um mega) representa 1k vezes 1k = 1.048.576 = 220 I “1 G” (um giga) refere-se a 230 = 1.073.741.824. ISL13 - Memórias - 6 Endereços Endereços I Endereços são números que especificam a posição de uma palavra na memória. Cada palavra armazenada em um dispositivos de memória possui um endereço único. I Em um sistema digital, os endereços são sempre números binários, embora, por conveniência, números em octal, decimal ou hexadecimal sejam usados para representar o endereço. I A figura ao lado representa uma memória com 8 palavras, onde cada palavra tem um endereço específico. Palavra 0 Palavra 1 Palavra 2 Palavra 3 Palavra 4 Palavra 5 Palavra 6 Palavra 7 001 010 011 100 101 110 111 Endereços 000 ISL13 - Memórias - 7 MEMÓRIA OperaçõesOperações I Leitura ou busca é uma opera- ção na qual uma palavra armazenada em uma determi- nada posição de memória é detectada e transferida para um outro dispositivo. I Escrita ou armazenamento é uma operação na qual uma nova palavra é colocada em uma determinada posição de memória, substituindo a pala- vra previamente armazenada lá. MEMÓRIA Endereço Dados Endereço Dados ISL13 - Memórias - 8 Tempo de acessoTempo de acesso I Em uma operação de leitura, o dispositivo que quer ler o dispositivo de memória (normalmente o processador) inicialmente envia o endereço da palavra desejada e, depois disso, faz a leitura do dado. O tempo decorrido entre a memória receber uma nova entrada de endereço e o dado estar disponível na saída da memória chama-se tempo de acesso (TACC). Este tempo é um limitador da velocidade de processamento dos computadores. I Existe também um tempo de acesso para escrita, que é o tempo necessário para armazenar um dado após a memória ter sido endereçada e receber o dado. ISL13 - Memórias - 9 Tipos de memóriaTipos de memória I As memórias podem ser classificadas de acordo com vários critérios: IMemória volátil: Um tipo de memória onde os dados são perdidos quando a tensão de alimentação é removida. IMemória não volátil: Um tipo de memória que mantém os dados armazenados mesmo sem o fornecimento da tensão de alimentação. I RAM (Random-Access Memory) - Memória de acesso aleatório :Memória na qual a posição física real de uma palavra não tem efeito sobre o tempo necessário para ler ou escrever nesta posição, ou seja, o tempo de acesso independe do endereço. ISL13 - Memórias - 10 Tipos de memóriaTipos de memória I SAM (Sequencial-Access Memory) - Memória de acesso sequencial: Um tipo de memória onde o tempo de acesso não é constante, mas varia de acordo com o endereço. Neste tipo de memória, uma determinada palavra é encontrada percorrendo-se todos os endereços, sequencialmente, até que o seu endereço seja alcançado. Um exemplo para este tipo de memória é uma fita magnética, onde não se pode ir de uma posição para a outra sem passar pelas posições intermediárias. I RWM (Read/Write Memory) - Memória de leitura e escrita: Qualquer memória que possa ser lida ou escrita de maneira igualmente fácil. ISL13 - Memórias - 11 Tipos de memóriaTipos de memória I ROM (Read-Only Memory) - Memória somente de leitura: Um tipo de memória não volátil destinada a ser usada apenas para a leitura. A escrita nestas memórias não é possível ou então só pode ser feita através de uma operação especial. Estas memórias são usadas normal- mente para armazenar o programa de um computador (ou um trecho dele). Por exemplo, as rotinas de inicialização e de entrada e saída básica (BIOS) de um microcomputador são armazenadas em uma ROM. I Existem vários tipos de ROM, como será visto a seguir: ISL13 - Memórias - 12 Tipos de memória ROMTipos de memória ROM IMask-Programmed ROM ou simplesmente ROM: Os dados contidos neste tipo de memória são programados pelo fabricante do dispositivo, de acordo com as especificações do cliente. O termo máscara se refere ao processo de fabricação do circuito integrado, onde as suas diversas camadas e interligações são feitas através de um método que usa um negativo fotográfico chamado máscara. Estas memórias são produzidas por encomenda, e devido ao alto custo de produção da máscara, somente são viáveis economicamente se uma grande quantidade de uma mesma ROM é necessária. ISL13 - Memórias - 13 I PROM (Programmable ROM) - ROM programável: Este tipo de memória é fornecido sem nenhum conteúdo, e pode ser programável pelo usuário. Esta ROM contém um conjunto de fusíveis internos que podem ser seletivamente queimados em um equipamento específico, para produzir um determinado conjunto de dados armazenados na memória. Uma vez programada, este tipo de memória não pode ter os seus dados alterados. Tipos de memória ROMTipos de memória ROM ISL13 - Memórias - 14 I EPROM (Eraseable PROM) - Também chamada de UV- EPROM, é uma ROM programável e apagável: Este tipo de memória é também fornecido sem nenhum conteúdo, e pode ser programável pelo usuário em um equipamento específico. Diferentemente da PROM, a EPROM pode ser apagada (levada de volta ao estado inicial de nenhum conteúdo) através da exposição à luz ultra-violeta. Para que isto seja possível o circuito integrado tem uma janela transparente na sua parte superior. Quando uma memória EPROM é apagada, todos os seus dados são apagados, não existindo uma maneira de apagar seletivamente apenas algumas posições de memória. Tipos de memória ROMTipos de memória ROM ISL13 - Memórias- 15 I EEPROM ou E2PROM (Electricaly EPROM) - ROM programável e apagável eletricamente: Ao invés de ser apagável por luz ultra-violeta, esta tipo de memória pode ser apagável pela aplicação de um pulso elétrico. Isto faz com esta memória possa ser apagada e reprogramada sem a necessidade de se retirar o circuito integrado da placa onde está instalado. Os dados podem ser apagados apenas em um endereço determinado. Estas memórias têm a desvantagem de serem caras. Tipos de memória ROMTipos de memória ROM ISL13 - Memórias - 16 I FLASH Memories - Memórias “Flash”: Esta memória tem basicamente as mesmas características da E2PROM (apagável e programável na própria placa), porém o seu processo de fabricação permite que ela seja mais barata. Algumas memórias deste tipo só permitem o apagamento em bloco dos dados programáveis, onde todos os dados são apagados simultaneamente. Existem, no entanto, algumas memórias que permitem o apagamento por setores (por exemplo, um grupo de 512 bytes). Devido ao seu processo de fabricação, podem ser feitas com uma alta capacidade de armazenamento por circuito integrado. Tipos de memória ROMTipos de memória ROM ISL13 - Memórias - 17 Tipos de memóriaTipos de memória I Um computador possui uma memória principal e uma memória auxiliar. I A memória principal ou de trabalho é onde são armazenados as instruções e dados que o processador está utilizando no momento. É a memória mais rápida em um computador e é sempre uma memória semicondutora (circuito integrado) I A memória auxiliar é também chamada memória de massa, porque tem a capacidade de armazenar grande volume de dados externamente à memória principal. É mais lenta do que a memória principal e é sempre não volátil. Discos magnéticos e CD são dispositivos comuns de memória auxiliar. ISL13 - Memórias - 18 Tipos de memória RAMTipos de memória RAM I A memória principal de um computador é sempre do tipo RWM (de leitura e escrita) e do tipo RAM (com acesso aleatório). Esta última sigla, no entanto, é que é usada para fazer referência a estas memórias. Existem dois tipos de RAM: I SRAM - RAM estática: Neste tipo de memória, uma vez escrito em uma determinada posição, o dado permanece armazenado enquanto a memória estiver energizada. Apesar de não serem muito baratas, estas memórias podem ser extremamente rápidas (tempo de acesso muito pequeno). Algumas RAM’s estáticas podem ter um consumo de energia “stand-by” (quando não estão sendo acessadas) muito baixo, fazendo com que os dados nelas armazenados possam ser mantidos por uma pequena bateria quando o computador estiver desligado. Assim, apesar de serem voláteis, funcionam como se fossem não voláteis. ISL13 - Memórias - 19 I DRAM - RAM dinâmica: Neste tipo de memória, os dados não permanecem armazenados, mesmo com a energia presente, a não ser que sejam periodicamente reescritos na memória. Esta operação chama-se “refresh”. As RAM’s dinâmicas são mais baratas do que as estáticas e permitem uma alta capacidade de armazenamento por circuito integrado. No entanto, não são tão rápidas quanto aquelas. Devido ao seu custo e capacidade, são muito usadas nos computadores. I Algumas RAM’s dinâmicas possuem um controlador de “refresh” interno, não necessitando, portanto, que algum dispositivo externo faça esta função. Funcionam como uma memória estática e são chamadas pseudo-estáticas. Tipos de memória RAMTipos de memória RAM ISL13 - Memórias - 20 Funcionamento de uma memóriaFuncionamento de uma memória A figura abaixo mostra uma memória genérica de 32 palavras de 4 bits. Entrada de dados Saída de dados Entrada de endereços IO O0 I1 O1 I2 O2 I3 O3 A0 A1 A2 A3 A4 R/W CE Comando de leitura/escrita Habilitação da memória ISL13 - Memórias - 21 Funcionamento de uma memóriaFuncionamento de uma memória I A entrada de endereços serve para o processador ou outro dispositivo que estiver usando a memória especificar a posição de memória que vai ser lida ou escrita. De um modo geral, N entradas de endereço são necessárias para uma memória que possui uma capacidade de 2N palavras. I A entrada R/W controla qual opera- ção deve ser realizada na memória: leitura (R - Read) ou escrita (W- Write). A barra sobre W indica que a operação de escrita é realizada quando W = 0. IO O0 I1 O1 I2 O2 I3 O3 A0 A1 A2 A3 A4 R/W CE ISL13 - Memórias - 22 Funcionamento de uma memóriaFuncionamento de uma memória I A entrada de habilitação serve per- mitir o funcionamento da memória. Nenhuma operação é realizada a não ser que o dispositivo esteja habi- litado. O nome CE é a abreviatura de Chip Enable (Alguns fabricantes usam CS = Chip Select). Muitos dis- positivos têm esta entrada ativa em nível lógico baixo. Para identificar isto, uma barra de inversão deve ser colocada sobre o nome da entrada, e um círculo de inversão usado neste terminal no símbolo do dispositivo. IO O0 I1 O1 I2 O2 I3 O3 A0 A1 A2 A3 A4 R/W CE ISL13 - Memórias - 23 Funcionamento de uma memóriaFuncionamento de uma memória IOs dados que deverão ser armaze- nados na memória durante uma ope- ração de escrita deverão ser coloca- dos nos terminais de entrada de dados pelo processador. I Em uma operação de leitura, os dados lidos na memória serão disponibilizados nos terminais de saída de dados. I Algumas memórias possuem termi- nais que servem tanto para entrada quanto para saída de dados. Neste caso, o terminal funciona como saída apenas quando selecionada a operação de leitura. IO O0 I1 O1 I2 O2 I3 O3 A0 A1 A2 A3 A4 R/W CE ISL13 - Memórias - 24 Funcionamento de uma memóriaFuncionamento de uma memória CE R/W 0 1 2 29 3 0 3 1 Registradores D e c o d i f i c a d o rA0 A1 A2 A3 A4 I0 I1 I2 I3 O0 O1 O2 O3 B u f f e r B u f f e r ISL13 - Memórias - 25 I Para facilitar a decodificação em memórias de maior capacidade, os registradores podem ser organizados em uma forma matricial, em linhas e colunas. Cada registrador tem então duas entradas de habilitação, e só será habilitado quando as duas entradas, a da linha e a da coluna estiverem ativadas. I A seguir o diagrama simplificado de uma memória 32 x 4, com decodificação interna em linhas e colunas. As entradas de endereço A4 e A3 vão ao decodificador 2 x 4 de linha e as entradas A2, A1 e A0 são ligadas ao decodificador 3 x 8 das colunas. Funcionamento de uma memóriaFuncionamento de uma memória ISL13 - Memórias - 26 Funcionamento de uma memóriaFuncionamento de uma memória CE R/W 0 1 2 Registradores D e c A4 A3 A2 A1 A0 I0 I1 I2 I3 O0 O1 O2 O3 B u f f e r B u f f e r 5 2 4 2 5 2 6 2 9 3 0 3 1 6 7 D e c ISL13 - Memórias - 27 Expansão de memóriasExpansão de memórias I Memórias podem ser agrupadas para aumentar a capacidade de armazenamento. Por exemplo, duas memórias de 16 x 4 bits podem fazer um conjunto com capacidade de 16 x 8: D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 R/W CE A0 I/O0 A1 I/O1 A2 I/O2 A3 I/O3 R/W CE A0 I/O0 A1 I/O1 A2 I/O2 A3 I/O3 R/W CE ISL13 - Memórias - 28 Expansão de memóriasExpansão de memórias Neste exemplo, 4 das mesmas memórias, além de um decodi- ficador 2 x 4, foram usadas para fazer um conjunto com capacidade de 64 x 4: A0 I/O0 A1 I/O1 A2 I/O2 A3 I/O3 R/W CE A0 I/O0 A1 I/O1 A2 I/O2 A3 I/O3 R/W CE A0 I/O0 A1 I/O1 A2 I/O2 A3 I/O3 R/W CE A0 I/O0 A1 I/O1 A2 I/O2 A3 I/O3 R/W CE A0 Y0 A1 Y1 Y2 E Y3 A0 A1A2 A3 A4 A5 CE R/W D0 D1 D2 D3 ISL13 - Memórias - 29 ExercíciosExercícios 1) Uma certa memória tem capacidade de 16 x 8. Quantos bits ela tem em cada palavra? Quantas palavras estão sendo armazenadas? Quantas células esta memória contém? 2)Explique a diferença entre uma RWM e uma ROM; 3)Responda verdadeiro ou falso: Uma memória dinâmica manterá os seus dados enquanto a sua tensão de alimentação estiver presente. 4) Qual memória tem maior capacidade, uma de 1M x 32 ou uma de 2M bytes? 5)Quantas entradas de endereço deve ter uma memória de 1 M byte? 6)Quantos circuitos de 1M x 8 são necessários para fazer um total de 4M x 32? Contadores e divisores de frequência - 1 Circuitos Somadores Alberone Paiva Thelma Rodrigues Contadores e divisores de frequência - 2 Objetivos ; ; . Contadores e divisores de frequência - 3 Introdução . . . . Contadores e divisores de frequência - 4 Somador Paralelo – Diag. Blocos Contadores e divisores de frequência - 5 Somador de quatro bits completo com registradores Contadores e divisores de frequência - 6 Sinal usado para efetuar a soma Contadores e divisores de frequência - 7 Contadores e divisores de frequência - 8 Divisores de frequência Veja o circuito abaixo: T Q Q T Q Q T Q Q CLK Q0 Q1 Q2 Cada flip-flop inverte o seu estado quando sua entrada de clock tem uma transição de 1 para 0: CLK Q0 Q1 Q2 Contadores e divisores de frequência - 9 Divisores de frequência No circuito anterior, o flip-flop com a saída Q0 comuta (muda de estado) na descida de cada pulso de clock. Portanto, a forma de onda da saída Q0 tem exatamente a metade da frequência do sinal de clock. O flip-flop com a saída Q1 comuta toda vez que a saída Q0 vai de 1 para 0. A forma de onda de Q1 tem a metade da frequência de Q0 e, portanto, um quarto da frequência do sinal de clock. O flip-flop com a saída Q2 comuta cada vez que a saída Q1 passa de alto para baixo. Sua frequência é metade da frequência de Q1 e um oitavo da do sinal de clock. Contadores e divisores de frequência - 10 Divisores de frequência Se fossem acrescentados mais flip-flops no circuito anterior, ligados da mesma maneira, verificaríamos que o último flip-flop teria a frequência de clock dividida por 2N, onde N é igual ao número de flip- flops. Este circuito é chamado divisor de frequência assíncrono, pois, devido ao atraso de propagação, cada saída comuta em um instante diferente: CLK Q0 Q1 Q2 Contadores e divisores de frequência - 11 Contadores Além de funcionar como um divisor de frequências, o circuito anterior funciona também como um contador binário. Veja a sequência de estado dos flip-flops na tabela de estado abaixo: Q2 Q1 Q0 Dec. Comentário 0 0 0 0 Antes dos pulsos serem aplicados 0 0 1 1 Após o pulso número 1 0 1 0 2 Após o pulso número 2 0 1 1 3 Após o pulso número 3 1 0 0 4 Após o pulso número 4 1 0 1 5 Após o pulso número 5 1 1 0 6 Após o pulso número 6 1 1 1 7 Após o pulso número 7 0 0 0 0 Após o pulso número 8 (repete) Contadores e divisores de frequência - 12 Contadores Uma outra maneira de visualizar o funcionamento de um contador é através de um diagrama de transição de estados: 000 001 010 011 100 101 110 111 • Cada círculo representa um estado possível • As setas que ligam um círculo ao outro mostram a mudança de estado quando um pulso de clock é aplicado. Contadores e divisores de frequência - 13 T Q Q T Q Q T Q Q CLK Q0 Q1 Q2 O funcionamento seria o mesmo se fossem usados flip-flops sensíveis à borda de subida, porém com o clock de cada flip-flop ligado à saída invertida do flip- flop anterior: CLK Q0 Q1 Q2 Contadores Contadores e divisores de frequência - 14 Contadores O contador apresentado possui 8 estados possíveis (de 000 até 111), por isto ele é chamado de contador módulo 8. A sequência dos estados é crescente, e, portanto, é chamado de contador crescente. Assim, o nome completo do desse contador é: Contador assíncrono crescente de módulo 8. Podemos projetar contadores assíncronos decrescentes, usando flip-flops sensíveis à borda de subida do clock. Veja a seguir: Contadores e divisores de frequência - 15 Contadores decrescentes 111 110 101 100 011 010 001 000 T Q Q T Q Q T Q Q CLK Q0 Q1 Q2 CLK Q0 Q1 Q2 Contadores e divisores de frequência - 16 Contadores decrescentes CLK Q0 Q1 Q2 T Q Q T Q Q T Q Q CLK Q0 Q1 Q2 O mesmo circuito pode ser realizado com flip-flops sensíveis à borda de descida, porém com a entrada de clock ligada à saída invertida do flip-flop anterior: Contadores e divisores de frequência - 17 Contadores RESUMO: Flip-flops com entrada de clock sensíveis à borda de: Ligados ao Flip- flop anterior na saída: Fazem contadores assíncronos: Descida Subida Subida Descida Q Q Q Q Crescentes Crescentes Decrescentes Decrescentes Contadores e divisores de frequência - 18 Contadores Se quisermos garantir um determinado estado inicial quando o circuito é energizado, devemos utilizar as entradas assíncronas de PRESET ou CLEAR. O circuito abaixo utiliza um pulso (ativo em nível baixo) para inicializar todos os flip-flops em ZERO: +V T PR CLR Q Q T PR CLR Q Q T PR CLR Q Q CLK Q0 Q1 Q2 INICIO Contadores e divisores de frequência - 19 Contadores Normalmente com N flip-flops fazemos contador módulo 2N. Para fazer um contador com módulo qualquer, devemos utilizar as entradas assíncronas para fazê- lo voltar ao estado inicial a partir de um estado desejado. A seguir veremos um contador módulo 5, onde existem os estados 000, 001, 010, 011, 100 (de 0 a 4d). O estado 101 (5), que vem naturalmente após o estado 100 (4), força as saídas dos flip-flops para zero, através das suas entradas de CLEAR. Assim, o estado 5 dura apenas alguns nano- segundos, tempo suficiente para zerar os flip-flops. Contadores e divisores de frequência - 20 Contadores T PR CLR Q Q T PR CLR Q Q T PR CLR Q Q +V CLK Q0 Q1 Q2 CLR CLK Q0 Q1 Q2 Contadores e divisores de frequência - 21 Exercícios 1). 2). 3). 4). ISL01 -Conceitos Básicos - 1 CONCEITOS BÁSICOS Sumário Representações Numéricas Sistemas Digitais e Analógicos Circuitos Digitais Sistemas Numéricos Digitais Representações das Quantidades Binárias Transmissão Paralela e Serial Memória Computadores Digitais ISL01 -Conceitos Básicos - 2 Objetivos Diferenciar uma representação digital de uma analógica Listar as diferenças entre sistemas analógicos, digitais e híbridos Compreender as necessidades dos conversores AD e DA Identificar sinais digitais típicos Citar várias tecnologias empregadas na fabricação de circuitos digitais ISL01 -Conceitos Básicos - 3 Objetivos - Continuação Identificar um diagrama de tempo Dizer as diferenças entre uma transmissão paralela e uma serial Identificar diversos dispositivos de memória Descrever as partes principais de um computador digital e entender seu funcionamento ISL01 -Conceitos Básicos - 4 Representações Numéricas Representação Analógica Uma quantidade é representada por outra que é proporcional à primeira Ex: o velocímetro de um carro, alto-falante, termômetro de mercúrio. Característica: variam continuamente dentro de uma faixa de valores ISL01 -Conceitos Básicos - 5 Representações Numéricas Representação Digital Uma quantidade érepresentada por simbolos chamados dígitos, e não por valores proporcionais Ex: relógio digital Característica: variam em passos discretos ISL01 -Conceitos Básicos - 6 Representações Numéricas Analógica Ð Contínua Ð As leituras deixam margem à interpretação do observador Digital Ð Discreta (passo a passo) Ð Não apresentam problemas de ambiguidade ISL01 -Conceitos Básicos - 7 Vantagens das Técnicas Digitais Os sistemas digitais são mais fáceis de projetar O armazenamento de informação é fácil Precisão e exatidão são maiores As operações podem ser programadas Circuitos digitais são menos afetados por ruídos Os circuitos digitais são mais adequados à integração ISL01 -Conceitos Básicos - 8 Limitações das Técnicas Digitais O mundo real é predominantemente analógico Para utilização das técnicas digitais é necessário: Converter o “mundo real” das entradas analógicas para a forma digital Processar (ou operar) a informação digital Converter as saídas digitais de volta para o mundo real, em sua forma analógica ISL01 -Conceitos Básicos - 9 Sistema de Controle de Temperatura DISPOSITIVO DE ENTRADA CONVERSOR ANALÓGICO- DIGITAL PROCESSAMENTO DIGITAL CONVERSOR DIGITAL- ANALÓGICO CONTROLADOR TEMPERATURA (ANALÓGICO) AJUSTE DE TEMPERATURA ISL01 -Conceitos Básicos - 10 Sistemas Numéricos Digitais Sistema Decimal (base 10) Usa 10 algarismos ou dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Sistema posicional: o valor do dígito depende de sua posição (potências de 10) 103 102 101 100 10-1 10-2 10-3 2 7 4 5 , 2 1 4 MSD Virgula Decimal LSD (Dígito mais significativo) (Dígito menos significativo) Valor posicional (peso) ISL01 -Conceitos Básicos - 11 Sistemas Numéricos Digitais Sistema Binário (base 2) Usa apenas 2 algarismos ou dígitos: 0 e 1 Fácil de ser implementado nos circuitos eletrônicos Cada dígito é chamado de bit (binary digit) Assim como o sistema decimal, também é posicional 23 22 21 20 2-1 2-2 2-3 1 0 1 1 , 1 0 1 MSD Virgula Binária LSD ISL01 -Conceitos Básicos - 12 Representação das Quantidades Binárias Dispositivos que apresentam dois estados: lâmpada elétrica (acessa ou apagada) diodo / LED (conduzindo ou não conduzindo) relé (energizado ou desenergizado) transitor (saturado ou em corte) termostato (aberto ou fechado) aluno no fim do semestre (aprovado ou não aprovado) ISL01 -Conceitos Básicos - 13 Níveis Típicos de Tensões Circuitos eletrônicos digitais trabalham com sistema binário A informação é representada por tensões (ou correntes) BINÁRIO 1 BINÁRIO 0 NÃO USADO 5V 2V 0,8V 0V Volts 1 1 0 0 0 0V 4V tempo ISL01 -Conceitos Básicos - 14 Transmissão Paralela e Serial Transmissão Paralela Circuito A A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 0 1 1 0 1 Circuito B LSB MSB ISL01 -Conceitos Básicos - 15 Transmissão Paralela e Serial Transmissão Serial Circuito A A B Circuito B 0 0 1 1 1 T0 T1 T2 T3 T4 t ISL01 -Conceitos Básicos - 16 Memória Circuito com Memória Circuito sem Memória ISL01 -Conceitos Básicos - 17 Exercícios a) Quais das seguintes proposições são quantidades digitais, quais são analógicas chave de 10 posições velocidade de um automóvel temperatura grãos de areia na praia controle de volume do rádio ISL01 -Conceitos Básicos - 18 Exercícios b) Descreva a maior diferença existente entre uma quantidade digital e uma analógica. c) Quais são as principais vantagens das técnicas digitais sobre as analógicas? d) Qual é a principal limitação do uso das técnicas digitais? e) O valor exato da tensão de entrada para um circuito digital é crítico? Sistemas de numeração e códigos Prof. José Alberone M de Paiva ISL02 - Sistemas de Numeração - 2 Sistemas de Numeração e Códigos Objetivos Contar em binário, octal e hexadecimal Fazer as conversões: ) Decimal ⇔ binário ) Decimal ⇔ octal ) Decimal ⇔ hexadecimal Entender e trabalhar com os Código BCD e de Gray Compreender a necessidade do Código ASCII Descrever o método de paridade utilizado da detecção de erros de transmissão ) Binário ⇔ octal ) Binário⇔ hexadecimal ISL02 - Sistemas de Numeração - 3 No nosso dia-a-dia utilizamos o sistema numérico decimal, também chamado base 10. Este sistema possui dez símbolos diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8 e 9). Usando apenas estes dez símbolos podemos representar qualquer valor, uma vez que cada dígito de um número possui um valor (peso) diferente, de acordo com sua posição dentro do número (potências inteiras de 10): 547(10) = 5x102 + 4x101 + 7x100 = 500 + 40 + 7 Sistema Numérico Decimal ISL02 - Sistemas de Numeração - 4 Se o sistema numérico decimal fosse utilizado em sistemas eletrônicos digitais, seria necessário representar cada um dos 10 símbolos por um valor diferente de tensão, que estariam muito próximos um dos outros, o que dificultaria a sua interpretação pelos circuitos e ocasionaria erros. A mesma dificuldade nós temos em distinguir os diversos tons de cinza acima. Sistema Numérico Decimal ISL02 - Sistemas de Numeração - 5 Para evitar erros de interpretação, os sistemas digitais utilizam-se do sistema numérico binário, ou base 2. Nesse sistema, só existem dois símbolos (0 e 1), representados eletricamente por dois níveis de tensão muito diferentes entre si, o que evita erros. Dificilmente trocaríamos o preto pelo branco no quadro acima, devido à diferença de luminosidade. Sistema Numérico Binário ISL02 - Sistemas de Numeração - 6 Assim como no sistema decimal, no sistema binário o valor (peso) de cada bit depende de sua posição → potências inteiras de 2. Sistema Numérico Binário 0 1 2 3 Desta maneira, qualquer valor pode ser representado no sistema binário. Veja ao lado uma contagem em binário, onde são usados dois dígitos. Cada dígito binário é chamado de BIT (BInary digiT) 00 01 10 11 ISL02 - Sistemas de Numeração - 7 Sistema Numérico Binário O valor máximo de um número binário (inteiro) é: 2n - 1, onde n = número de bits Assim: Com 2 bits podemos representar números de 0 a 3 22 = 4 Com 4 bits podemos representar números de 0 a 15 24 = 16 Com 8 bits podemos representar números de 0 a 255 28 = 256 ISL02 - Sistemas de Numeração - 8 Conversão Binário Ð Decimal Para converter de binário para decimal, basta multiplicar cada bit pelo valor de sua posição e somar 24 23 22 21 20 Valor posicional (peso)Número a ser convertido Conversão 24 + 22 + 21 = 16 + 4 + 2 = 22 (10) Bit menos significativo Bit mais significativo 1 0 1 1 0 (2) ISL02 - Sistemas de Numeração - 9 Conversão Decimal Ð Binário Método das divisões sucessivas: 1o passo:Dividir o número decimal por 2 repetidas vezes, até que o quociente 0 seja obtido. 2o passo:Tomar os restos das divisões, de forma que o primeiro resto seja o LSB (bit menos significativo) e o último resto seja o MSB (bit mais significativo) ISL02 - Sistemas de Numeração - 10 Conversão Decimal Ð Binário 18 2 0 9 2 1 4 2 0 2 2 0 1 2 1 0 18 (10) = 10010(2)Número a ser convertido Resultado MSB LSB ISL02 - Sistemas de Numeração - 11 Todos os equipamentos eletrônicos digitais trabalham com o sistema binário de numeração. No entanto, quando vamos escrever valores grandes em binário, temos de usar um número muito grande de bits. Por exemplo: 999.999(10) = 11110100001000111111(2) No exemplo acima, um número de apenas 6 dígitos em decimalé equivalente a um número de 20 bits! Por este motivo, não costumamos escrever os valores em binário, mas sim utilizando outros dois sistemas de numeração: octal e hexadecimal Outros Sistemas de Numeração ISL02 - Sistemas de Numeração - 12 Sistema Numérico Octal No sistema octal de numeração, também chamado de base 8, existem oito símbolos (0, 1, 2, 3, 4, 5, 6, 7). Como a base desse sistema é uma potência inteira da base do sistema binário (8 = 23), a conversão se faz direto pela tabela, formando grupos de 3 bits a partir do LSB e completando com zeros à esquerda para o último grupo. Octal Binário Octal Binário 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 ISL02 - Sistemas de Numeração - 13 Conversão Octal ⇔ Binário O ÐB 607(8) = 110 000 111(2) 234(8) = 010 111 100(2) 34,5(8) = 011 100 , 101(2) B ÐO 011101(2) = 35(8) 1110011(2) = 163(8) 1011,01(2) = 13,2(8) ISL02 - Sistemas de Numeração - 14 Decimal Octal Decimal Octal 0 0 8 10 1 1 9 11 2 2 10 12 3 3 11 13 4 4 12 14 5 5 13 15 6 6 14 16 7 7 15 17 Problema: Como converter 295(10) para a base 8? E converter 135 (8) para a base 10? Conversão Decimal ⇔ Octal ISL02 - Sistemas de Numeração - 15 Conversão Decimal Ð Octal 295 (10) = 447(8)Número a ser convertido LSB 4 4 295 8 7 36 8 MSB Resultado ISL02 - Sistemas de Numeração - 16 Conversão OctalÐ Decimal 135(8) = 1x82 + 3x81 + 5x80 = 64 + 24 + 5 = 93 1523(8) = 1x83 + 5x82 + 2x81 + 3x80 = 512 + 320 + 16 + 3 = 851 ISL02 - Sistemas de Numeração - 17 Hex Binário Decimal Hex Binário Decimal 0 0000 0 8 1000 8 1 0001 1 9 1001 9 2 0010 2 A 1010 10 3 0011 3 B 1011 11 4 0100 4 C 1100 12 5 0101 5 D 1101 13 6 0110 6 E 1110 14 7 0111 7 F 1111 15 Sistema Numérico Hexadecimal No sistema hexadecimal de numeração, também chamado de base 16, existem os dezesseis símbolos abaixo, com os seus respectivos valores em binário e decimal: ISL02 - Sistemas de Numeração - 18 Conversão Binário⇔Hexadecimal 3C7 3 C 7 0011 1100 0111 1001101 0100 1101 4 D Observe que 16 é potência de 2, ou seja, 16 = 24 H Ð B B Ð H ISL02 - Sistemas de Numeração - 19 Conversão Decimal⇔Hexadecimal B1(16) = 11x161 + 1x160 = 176 + 1 = 177 3FA(16) = 3x162 + 15x161 + 10x160 = 768 + 240 + 10 = 1018 456 16 8 28 16 12 1 456 (10) = 1C8(16) ISL02 - Sistemas de Numeração - 20 Resumo DECIMAL ÷2 2n tabela 16n tabela OCTALBINÁRIOHEXADECIMAL ÷16 ÷8 8n ISL02 - Sistemas de Numeração - 21 1. Se cada dígito de um número decimal for substituído por seu equivalente binário, o resultado é o código BCD (Binary-Coded-Decimal). 2. Como o maior dígito decimal é nove, o código necessita de 4 bits para representar cada dígito. O Código BCD ISL02 - Sistemas de Numeração - 22 Tabela BCD Decimal BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 8 47 1000 0111 0100 decimal BCD Conversão Decimal ⇒ BCD Conversão BCD ⇒ Decimal 6 93 0110 0011 1001 decimal BCD ISL02 - Sistemas de Numeração - 23 Código de Gray Pertence à classe do códigos chamados de variação mínima Somente um bit muda quando de passa de uma representação para a seguinte Não está relacionado a uma regra matemática Aplicações em dispositivos de E/S e conversores A/D ISL02 - Sistemas de Numeração - 24 Tabela de Conversão Gray Decimal Binário Gray Decimal Binário Gray 0 0000 0000 8 1000 1100 1 0001 0001 9 1001 1101 2 0010 0011 10 1010 1111 3 0011 0010 11 1011 1110 4 0100 0110 12 1100 1010 5 0101 0111 13 1101 1011 6 0110 0101 14 1110 1001 7 0111 0100 15 1111 1000 ISL02 - Sistemas de Numeração - 25 Utilização do Código de Gray Para situações onde outros códigos, como o binário, podem ocasionar resultados ambíguos ou errados causados pela transição de mais de um bit ao mesmo tempo. Exemplo: Um bit de um indicador de posição em binário pode mudar de estado desalinhado em relação aos demais. Isto causa um erro de leitura. No código de Gray, isso não acontece, devido ao fato de mudar apenas um bit de cada vez. Veja o desenho na próxima página → ISL02 - Sistemas de Numeração - 26 Utilização do Código de Gray 0 1 2 3 4 5 6 7 Lâmpadas Sensores Erro 3 0 4 Binário Gray Não há possibilidade de erro, mesmo se houver um desalinhamento, pois só muda um bit de cada vez 0 1 2 3 4 5 6 7 MSB LSB ISL02 - Sistemas de Numeração - 27 Código ASCII Códigos Alfanuméricos: Necessidade dos computadores trabalhar com letras, símbolos de pontuação, caracteres especiais etc. ASCII: American Standard Code for Information Interchange Padronização de um código alfanumérico para E/S de dados em computadores Formado por 7 bits ISL02 - Sistemas de Numeração - 28 Tabela ASCII Bin 010 011 100 101 110 111 Hex 2 3 4 5 6 7 0000 0 SP 0 @ P ` p 0001 1 ! 1 A Q a q 0010 2 " 2 B R b r 0011 3 # 3 C S c s 0100 4 $ 4 D T d t 0101 5 % 5 E U e u 0110 6 & 6 F V f v 0111 7 ` 7 G W g w 1000 8 ( 8 H X h x 1001 9 ) 9 I Y i y 1010 A * : J Z j z 1011 B + ; K [ k { 1100 C , < L \ l | 1101 D - = M ] m } 1110 E . > N ^ n ~ 1111 F / ? O _ o B 3 B 2 B 1 B 0 B6B5B4 ISL02 - Sistemas de Numeração - 29 Leitura da Tabela ASCII A tem B6 B5 B4 = 100 e B3 B2 B1 B0 = 0001, portanto: o ASCII de A é: 100 0001 (41h) E o a (minúsculo) é: 110 0001 (61h) Espaço: 010 0000 (20h) ISL02 - Sistemas de Numeração - 30 Bit de Paridade Quando um dado digital é enviado de um equipamento para outro, podem ocorrer erros de transmissão. Para detectar se houve erro, é adicionado um bit de paridade aos bits transmitidos. O bit de paridade serve para detectar erros simples (a inversão de 1 bit apenas) ISL02 - Sistemas de Numeração - 31 Paridade Ímpar O bit de paridade é tal que o número total de bits “1”, incluindo o bit de paridade, é sempre ímpar. Exemplo: Caracter ASCII no. Bits 1 Bit de Paridade c 110 0011 4 1110 0011 b 110 0010 3 0110 0010 O receptor verifica o número de bits 1, que deve ser sempre ímpar. ISL02 - Sistemas de Numeração - 32 Exercícios 1) Fazer as conversões abaixo: a) 1A(16) = ?(10) b) 56(16) = ?(2) c) 11101(2) = ?(16) d) 456(10) = ?(16) e) 101011(2) = ?(10) f) 11111(2) = ?(10) g) 101(10) = ?(2) h) 56(10) = ?(2) i) 15(8) = ?(10) j) 15(8) = ?(2) k) 6741(8) = ?(16) l) 5C9D(16) = ?(2) m) 5C9D(16) = ?(8) n) 1001111011101(2) = ?(16) o) 2763(8) = ?(2) p) CA83(16) = ?(2) 2) Converter para binário, octal e hexadecimal o seu número de matrícula. ISL02 - Sistemas de Numeração - 33 3) Represente o valor decimal 178 em binário puro e em BCD. 4) Qual é a vantagem de se codificar um número decimal em BCD, quando comparada com a codificação em binário puro? Qual é a desvantagem? 5) Qual é a vantagem do cógido Gray sobre o binário puro? 6) Um computador envia a mensagem “ola” para outro computador usando o código ASCII e um bit de paridade ímpar. Quais serão os bits enviados? 7) Escreva o seu primeiro nome em ASCII (hexadecimal) Exercícios Portas Lógicas Portas lógicas e álgebra booleana Prof. José Alberone M. de Paiva ISL04 - Portas Lógicas e Álgebra Booleana - 2 Portas Lógicas aObjetivos `Desenhar o símbolo lógico e construir a tabela- verdade de cada porta básica `Entender o diagrama elétrico e escrever a expressão booleana de saída de cada porta `Desenvolver a expressão booleana para uma saída de um circuito lógico combinacional ISL04 - Portas Lógicas e Álgebra Booleana - 3 Histórico aAugustus de Morgan chegou pertoda descoberta do elo entre a lógica e a matemática. aMas foi George Boole (1854) quem reuniu tudo. aEm 1938, Shannon aplicou a nova álgebra aos circuitos de chaveamento de telefonia. aGraças ao trabalho de Shannon, os engenheiros logo perceberam que a álgebra poderia ser usada para analisar e projetar circuitos de computador. ISL04 - Portas Lógicas e Álgebra Booleana - 4 O Que São Portas aPortas são circuitos utilizados para combinar níveis lógicos digitais (0 ou 1) de uma forma específica. aÁlgebra Booleana: álgebra usada para expressar a saída em função das entradas. aNa álgebra booleana, uma expressão pode ser 0 ou 1. Para os circuitos digitais, isto significa que um sinal pode ser alto ou baixo. aPortas básicas: NOT, OR, AND, NAND e NOR. ISL04 - Portas Lógicas e Álgebra Booleana - 5 Operação OR (OU) Símbolos da porta OR: Equação: Y = A + B (Lê-se: Y é igual a A ou B) Tabela Verdade: Saída A B Y 0 0 0 0 1 1 1 0 1 1 1 1 Entradas ≥ 1AB Y Definição: O resultado é UM quando uma ou mais entradas forem iguais a UM. Obs: Pode ter 2 ou mais entradas A B Y ISL04 - Portas Lógicas e Álgebra Booleana - 6 •Diagrama elétrico equivalente: Operação OR (OU) A lâmpada L acende quando a chave A ou a chave B (ou ambas) estiverem fechadas (posição 1) 0 1 0 1 L B A + 12V ISL04 - Portas Lógicas e Álgebra Booleana - 7 Operação AND (E) Símbolos da porta AND: Equação: Y = A . B (Lê-se: Y é igual a A e B) Tabela Verdade: Saída A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Entradas & A B Y Definição: O resultado é UM somente quando todas as entradas forem iguais a UM. Obs: Pode ter 2 ou mais entradas A B Y ISL04 - Portas Lógicas e Álgebra Booleana - 8 Operação AND (E) •Diagrama elétrico equivalente: A lâmpada L acende somente quando a chave A e a chave B estiverem fechadas (posição 1) 0 1 0 1 BA + 12V L ISL04 - Portas Lógicas e Álgebra Booleana - 9 Símbolos da porta NOT:Tabela Verdade: Definição: O resultado é UM quando a entrada for ZERO e vice-versa. Operação NOT (Inversão) Equação: Y = A (Lê-se: Y é igual ao inverso de A ou Y é igual ao complemento de A) Entrada Saída A Y 0 1 1 0 A Y1 Indica inversãoObs.: Tem apenas 1 entrada A Y ISL04 - Portas Lógicas e Álgebra Booleana - 10 Múltiplas portas básicas podem ser combinadas para realizar circuitos mais complexos. Veja o exemplo abaixo: Circuitos com várias portas A A+D B C D ABC A A+D Y = ABC (A+D) ISL04 - Portas Lógicas e Álgebra Booleana - 11 Exercícios 1) Faça a tabela verdade para o circuito do exemplo anterior. Veja ao lado como montar uma tabela para preencher os resultados. Saída A B C D A ABC A+D A+D Y 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Entradas Intermediárias ISL04 - Portas Lógicas e Álgebra Booleana - 12 Exercícios 2) Encontre a equação e faça a tabela verdade para o circuito abaixo: 3) Desenhe o circuito e faça a tabela verdade para a equação: Y = (A + B)CD A B C D Y ISL04 - Portas Lógicas e Álgebra Booleana - 13 Porta NOR (NÃO OU) Símbolos da porta NOR:Tabela Verdade: Saída A B Y 0 0 1 0 1 0 1 0 0 1 1 0 Entradas Definição: É equivalente a uma porta OR com um inversor ligado a sua saída. Obs: Pode ter 2 ou mais entradas Equação: Y = A + B ≥ 1AB Y A B Y ISL04 - Portas Lógicas e Álgebra Booleana - 14 Porta NAND (NÃO E) Símbolos da porta NAND:Tabela Verdade: Saída A B Y 0 0 1 0 1 1 1 0 1 1 1 0 Entradas Definição: É equivalente a uma porta AND com um inversor ligado a sua saída. Obs: Pode ter 2 ou mais entradas & A B Y Equação: Y = A . B A B Y ISL04 - Portas Lógicas e Álgebra Booleana - 15 Porta NOR e NAND • Observe que a barra de inversão nas equações das portas NOR e NAND cobre toda a expressão. Isto significa que primeiro devemos encontrar o resultado da expressão e depois inverter o resultado. • Se resolvêssemos na ordem contrária, isto é, inverter primeiro as variáveis de entrada e depois encontrar o resultado da operação, o resultado seria diferente. • Assim: A + B ≠ A + B e A . B ≠ A . B • Faça as tabelas verdade e verifique ISL04 - Portas Lógicas e Álgebra Booleana - 16 Porta XOR (OU EXCLUSIVO) Símbolos da porta XOR:Tabela Verdade: Saída A B Y 0 0 0 0 1 1 1 0 1 1 1 0 Entradas Definição: A saída somente é igual a UM quando apenas umas das entradas for UM. Obs: Só pode ter 2 entradas =1 A B Y Equação: Y = A ⊕ B A B Y ISL04 - Portas Lógicas e Álgebra Booleana - 17 Porta XOR •Diagrama elétrico equivalente: A lâmpada L acende somente quando a chave A estiver na posição 0 e a chave B estiver na posição 1 ou então quando a chave A estiver na posição 1 e a chave B estiver na posição 0. 0 1 0 1 A B L+ 12V ISL04 - Portas Lógicas e Álgebra Booleana - 18 Porta XNOR (NÃO OU EXCLUSIVO) Símbolos da porta XNOR:Tabela Verdade: Saída A B Y 0 0 1 0 1 0 1 0 0 1 1 1 Entradas Definição: É equivalente a uma porta XOR com um inversor ligado a sua saída. Obs: Só pode ter 2 entradas Equação: Y = A ⊕ B =1 A B Y A B Y ISL04 - Portas Lógicas e Álgebra Booleana - 19 Portas XOR e XNOR Podemos verificar que: • A saída de uma porta XOR é UM sempre que as entradas forem diferentes entre si (A = 0 e B = 1 ou A = 1 e B = 0) • A saída de uma porta XNOR é UM sempre que as entradas forem iguais entre si (A = 0 e B = 0 ou A = 1 e B = 1) • A saída de uma porta XOR é UM sempre que a paridade das entradas for ÍMPAR • A saída de uma porta XNOR é UM sempre que a paridade das entradas for PAR ISL04 - Portas Lógicas e Álgebra Booleana - 20 Exercícios 4) O diagrama temporal abaixo mostra como as entradas A, B e C do circuito indicado variam com o tempo. Complete o diagrama para o ponto X e para a saída. X A B C A B C Y X Y ISL04 - Portas Lógicas e Álgebra Booleana - 21 5)Um número A é composto pelos bits A1 e A0, e um outro número B é composto pelos bits B1 e B0. Sabendo que se A = B implica que A1 = B1 e A0 = B0, projete um circuito cuja saída seja ZERO sempre que A = B. 6)Para os mesmos números A e B de dois bits cada um descritos acima, projete um circuito cuja saída seja UM sempre que a paridade de A seja IMPAR ou B seja igual a ZERO. Exercícios ISL04 - Portas Lógicas e Álgebra Booleana - 22 7) Um foguete é constituído de quatro turbinas propulsoras a saber: A, B, C e D. Sendo que as turbinas A e B são do lado esquerdo e C e D são do lado direito. A força das turbinas A e D são de 1000N e das turbinas B e C são de 300N. Projetar um circuito capaz de identificar as situações de vôo retilíneo do foguete. Sabe-se que NUNCA é acionada somente uma turbina. E também que para o vôo ser retilíneo as forças do lado direito tem que ser iguais às do lado esquerdo, caso contrário o foguete tende a fazer curva: a) tabela verdade; b) implementação do circuito. Exercícios ISL06 - Formas Canônicas - 1 FORMAS CANÔNICAS Padronização de Funções Booleanas ISL06 - Formas Canônicas - 2 Objetivos Introdução dos conceitos de soma de produtos e produto de somas Padronização de funções em minitermos e maxitermos Formas canônicas compactas Transformação de circuitos para a utilização de um só tipo do porta. ISL06 - Formas Canônicas - 3 Introdução As funções booleanas podem ser escritas de várias formas, mas algumas são mais convenientes para o proposito de simplificação e implementação com portaslógicas. Estas formas se chamam formas canônicas. Existem duas formas canônicas de nosso interesse: Soma de Produtos (minitermos) Produto de Somas (maxitermos) ISL06 - Formas Canônicas - 4 Tabela -> Equação Veja a tabela verdade ao lado. Y, que é função das variáveis A, B e C, só é um para a combinação de entradas A=0, B=1 e C=0. Se quisermos fazer um circuito que corresponda a essa tabela verdade utilizando uma porta AND, devemos inverter A e C, pois a saída de uma porta AND é UM quando todas as entradas forem UM. A equação para esse circuito será: Y = A B C Saída A B C Y 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 Entradas ISL06 - Formas Canônicas - 5 Desta maneira, a única combinação das entradas que fará a saída da porta AND ser igual a UM é A=0, B=1 e C=0. Para qualquer outra combinação o resultado será ZERO. Saída A B C Y 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 Entradas A B C 0 1 1 Y=11 0 Tabela -> Equação -> Circuito ISL06 - Formas Canônicas - 6 Tabela -> Equação Do mesmo modo, podemos escrever equações usando AND que fazem a função Y ser igual a UM para outras combinações das entradas. Essas equações serão sempre uma operação AND entre todas as variáveis, onde a variável que é ZERO em em uma combinação (linha da tabela), deverá ser invertida na equação. Veja o exemplo a seguir → ISL06 - Formas Canônicas - 7 Assim, se Y for UM apenas para a combinação 6, podemos escrever: Y = A B C Chamamos de TERMO PRODUTO estes ANDs, por analogia com a operação de multiplicação da matemática. A B C 0 0 0 0 A B C 1 0 0 1 A B C 2 0 1 0 A B C 3 0 1 1 A B C 4 1 0 0 A B C 5 1 0 1 A B C 6 1 1 0 A B C 7 1 1 1 A B C Entradas Comb. AND Termo produto ISL06 - Formas Canônicas - 8 Minitermos - Definição Este termo produto, que contém todas as variáveis de uma função, e com inversão apenas em variáveis simples, é chamado de termo mínimo, ou minitermo. Uma função de n variáveis possui 2n minitermos. Os minitermos podem ser representados pela letra m (minúsculo). Cada minitermo está relacionado a uma combinação da tabela verdade da função. Assim, representamos cada minitermo pela letra m com o número da combinação. Veja a seguir → ISL06 - Formas Canônicas - 9 Minitermos A B C 0 0 0 0 A B C m0 1 0 0 1 A B C m1 2 0 1 0 A B C m2 3 0 1 1 A B C m3 4 1 0 0 A B C m4 5 1 0 1 A B C m5 6 1 1 0 A B C m6 7 1 1 1 A B C m7 Entradas Comb. Minitermo Símbolo ISL06 - Formas Canônicas - 10 Quando uma função for UM para mais de uma combinação das entradas, podemos dizer que ela é UM para uma combinação OU para outra (OU outra, ...) Por exemplo, podemos escrever a equação para a função da tabela ao lado aplicando a função OR nos ANDs já definidos: Y = A B C + A B C Saída A B C Y 0 0 0 0 0 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 4 1 0 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 1 0 Entradas Comb. Tabela -> Equação ISL06 - Formas Canônicas - 11 Soma de Produtos - Definição Dizemos que a equação da página anterior está na forma de SOMA DE PRODUTOS, onde a soma está relacionada, por analogia, à operação OR. Podemos escrever aquela equação de uma maneira compacta: Y = m2 + m5 ou então: Y = Σ m(2, 5) Qualquer função booleana pode ser equacionada na forma de soma de produtos, tomando-se os minitermos das combinações de variáveis que fazem a função igual a UM. ISL06 - Formas Canônicas - 12 Soma de Produtos - Forma Canônica Para converter uma expressão que não esteja na forma canônica em uma na forma canônica de soma de produtos, basta acrescentar os literais que não aparecem nos termos, baseado no axioma X+X=1, como se vê no exemplo: S = A B C + A B = A B C + A B (C + C) = A B C + A B C + A B C ISL06 - Formas Canônicas - 13 Soma de Produtos - Circuito O circuito de uma equação escrita na forma de soma de produtos pode ser construído usando portas AND e portas OR, diretamente da equação. Veja abaixo o circuito para: Y = A B C + A B C C B A Y A B A B C A B C C ISL06 - Formas Canônicas - 14 Soma de Produtos - Circuito NAND/NAND Uma equação escrita na forma de soma de produtos pode ser também montado utilizando apenas portas NAND, aplicando o teorema de DeMorgan: Y = A B C + A B C = (A B C) (A B C) O uso de um só tipo de porta facilita a montagem. C B A Y A B A B C C A B C ISL06 - Formas Canônicas - 15 Soma de Produtos - Exercícios 1) Expressar a função abaixo na forma de minitermos e desenhar o circuito representado pela equação: X = f(A, B, C) = Σ m(3,6,7) 2) Coloque a expressão abaixo na sua forma canônica: Y = ABC + AB ISL06 - Formas Canônicas - 16 Outra forma de equação Quando escrevemos a equação de uma função na forma de soma de produtos, esta equação terá tantos termos produto quantos forem as combinações de entrada que fazem a função igual a UM. Por exemplo, se uma função de três variáveis possui 6 combinações de entradas que fazem a função ser igual a UM, sua equação terá seis termos produtos. Nesse exemplo, podemos diminuir o número de termos escrevendo a equação para o inverso da função, e depois aplicar o teorema de DeMorgan. → ISL06 - Formas Canônicas - 17 Y = A B C + A B C Y = A B C + A B C Y = (A B C) (A B C) Y = (A+B+C) (A+B+C) A B C Y Y 0 0 0 0 1 0 1 0 0 1 1 0 2 0 1 0 0 1 3 0 1 1 1 0 4 1 0 0 1 0 5 1 0 1 1 0 6 1 1 0 0 1 7 1 1 1 1 0 Entradas Comb. Saída Outra forma de equação ISL06 - Formas Canônicas - 18 Produto de Somas - Definição A equação da página anterior está na forma de PRODUTO DE SOMAS, onde existem dois termos soma (OR) e um produto (AND). Cada um desses termos soma, que contém todas as variáveis de uma função, e com inversão apenas em variáveis simples, é chamado de termo máximo, ou MAXITERMO. Uma função de n variáveis possui 2n maxitermos, um para cada combinação de entradas. Os maxitermos podem ser representados pela letra M (maiúsculo). ISL06 - Formas Canônicas - 19 A B C 0 0 0 0 A+B+C M0 1 0 0 1 A+B+C M1 2 0 1 0 A+B+C M2 3 0 1 1 A+B+C M3 4 1 0 0 A+B+C M4 5 1 0 1 A+B+C M5 6 1 1 0 A+B+C M6 7 1 1 1 A+B+C M7 Entradas Comb. Maxitermo Símbolo A variável que é UM na combinação de entradas deve ser invertida no maxitermo (Atenção: É o contrário do minitermo) Maxitermos ISL06 - Formas Canônicas - 20 • Podemos escrever diretamente a equação de uma função na forma de produto de somas, fazendo o produto dos maxitermos correspondentes às combinações de entrada que fazem a função igual a ZERO. Veja o exemplo da página 17. O termo (A + B + C) corresponde a combinação 2 e o termo (A + B + C) corresponde a combinação 6. • Para ambos os casos a função Y é igual a ZERO. Produto de Somas ISL06 - Formas Canônicas - 21 • Na tabela ao lado: Y = (A+B+C) (A+B+C) (A+B+C) Essa equação pode ser escrita em uma forma compactada: Y = M0 . M5 . M6 ou então usando produtório: Y = Π (0, 5, 6) Produto de Somas - Exemplo Saída A B C Y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 Entradas ISL06 - Formas Canônicas - 22 Produto de Somas - Circuito O circuito de uma equação escrita na forma de produto de somas pode ser construído usando portas OR e portas AND, diretamente da equação. Veja abaixo o circuito para: Y = (A+B+C) (A+B+C) A+B+C C B A Y A B A+B+C ISL06 - Formas Canônicas - 23 Produto de Somas - NOR/NOR Podemos aplicar o teorema de DeMorgan em uma equação escrita na forma de produto de somas de maneira a usar apenas portas NOR no seu circuito: Y = (A+B+C) (A+B+C) = (A+B+C)+ (A+B+C) C B A Y A B A+B+C A+B+C ISL06 - Formas Canônicas - 24 Exercícios 3) Escreva as equações para a tabela ao lado utilizando maxitermos (produto de somas) e minitermos (soma de produtos). Expresse essas funções usando produtório e somatório. Desenhe os circuitos usando apenas portas NOR e apenas portas NAND. Compare os dois circuitos. São equivalentes? Saída A B C Y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 Entradas ISL10 - Latches e Flip-Flops - 1 Latches e Flip-Flops •Latches SR •Flip-flop tipos D, JK e T Francisco Garcia Thelma Rodrigues ISL10 - Latches e Flip-Flops - 2 Introdução • Os circuitos lógicos considerados até o momento eram todos circuitos combinacionais, do tipo em que o nível lógico na saída em qualquer instante de tempo depende única e exclusivamente dos níveis lógicos presentes na entrada, no instante de tempo considerado. Qualquer nível lógico que tenha aparecido anteriormente na entrada do circuito não terá qualquer influência na saída atual, pelo fato de os circuitos combinacionais não possuirem memória. Os sistemas digitais são construídos usando tanto circuitos combinacionais quanto dispositivos de memória (circuitos sequenciais). ISL10 - Latches e Flip-Flops - 3 Latches • Os dispositivos digitais que possuem capacidade de memória são feitos a partir das mesmas portas lógicas estudadas atá agora. Embora por si só essas portas lógicas não possuam capacidade de armazenamento, várias portas podem ser conectadas de modo a permitir que a informação seja armazenada. • A figura ao lado mostra um elemento de memória, com duas saídas Q e Q, sendo uma o inverso da outra. Q Q Entradas Saídas ISL10 - Latches e Flip-Flops - 4 Latches SR • Um elemento de memória muito simples pode ser realizado com duas portas NAND, conforme mostrado ao lado. Este circuito é chamado LATCH. QR S Q QS R Q SET RESET Q Q 0 0 1 1 Não usado 0 1 1 0 Ativa a saída 1 0 0 1 Desativa a saída 1 1 Qa Qa Memória Entradas Saídas Ação ISL10 - Latches e Flip-Flops - 5 Latches SR • O LATCH pode ter uma entrada de habilitação: Enable SET RESET Q Q 0 X X Qa Qa 1 0 0 Qa Qa 1 0 1 0 1 Desativa a saída 1 1 0 1 0 Ativa a saída 1 1 1 1 1 Não usado Saídas Ação Entradas Memória QS R Q E ISL10 - Latches e Flip-Flops - 6 Latches tipo D • O LATCH pode, ao invés das entradas de SET e RESET, ter apenas uma entrada, chamada entrada de DADO, além da entrada de habilitação: Enable D Q Q 0 X Qa Qa Memória 1 0 0 1 1 1 1 0 Saídas Ação Entradas Transparente QD E Q E D Q ISL10 - Latches e Flip-Flops - 7 Flip-Flop’s • Como foi visto, um LATCH pode funcionar como um elemento de memória. A entrada de habilitação do latch é sensível ao nível (alto ou baixo). Isto faz com que, no latch tipo D, haja um estado transparente, onde a saída é igual à entrada. • Em muitas aplicações, a transparência é um inconveniente. • Para evitar a transparência, pode ser usado um circuito detetor de transição (também chamado detetor de borda). Este circuito habilita o latch apenas pelo tempo suficiente para que haja uma mudança no estado da saída. O circuito passa então a ser sensível a borda, ao invés de ao nível. ISL10 - Latches e Flip-Flops - 8 Flip-Flop’s • Veja abaixo o diagrama temporal de um circuito detetor de borda. Este circuito gera um pulso de pequena duração (alguns nanosegundos), quando o sinal de entrada muda do nível lógico 0 para o nível 1 (borda de subida ou positiva). Existe também o detetor de borda de descida ou negativa. Entrada Circuito detetor de borda Entrada Saída Saída ISL10 - Latches e Flip-Flops - 9 Flip-Flop’s • Quando usamos um circuito detetor de borda na entrada de habilitação de um latch, não existe mais a transparência, porque o circuito vai memorizar o estado da entrada no instante da transição. • O circuito de memória sensível à transição de um sinal é chamado de FLIP-FLOP. • A entrada sensível à borda de um FLIP-FLOP tem o nome genérico de CLOCK. Para indicar o fato da entrada ser sensível à borda, ela é desenhada com um triângulo no símbolo do circuito. Um pequeno círculo de inversão indica entrada sensível à borda de descida. ISL10 - Latches e Flip-Flops - 10 Flip-Flop’s • Existem outros circuitos, além do detetor de borda, que permitem que a entrada de clock de um flip-flop seja sensível à transição de um sinal (por exemplo o flip-flop mestre-escravo). • No entanto, o nosso objetivo é entender o funcionamento dos flip-flops como um circuito capaz de armazenar dados, sendo que não estamos interessados no seu circuito interno. • Existem vários tipos diferentes de flip-flops. A seguir veremos as suas características de funcionamento. ISL10 - Latches e Flip-Flops - 11 Flip-Flop tipo D (DATA) Clock D Q Q 0 X Qa Qa 0 0 1 1 1 0 1 X Qa Qa X Qa Qa SaídasEntradasQD Q D CLK Q Indica entrada de clock ISL10 - Latches e Flip-Flops - 12 Flip-Flop tipo JK Clock J K Q Q 0 X X Qa Qa 0 0 Qa Qa 0 1 0 1 1 0 1 0 1 1 Qa Qa 1 X X Qa Qa X X Qa Qa SaídasEntradas Inverte as saídas QJ QK ISL10 - Latches e Flip-Flops - 13 Flip-Flop tipo T (TOGGLE) Clock T Q Q 0 X Qa Qa 0 Qa Qa 1 Qa Qa 1 X Qa Qa X Qa Qa SaídasEntradasQT Q T CLK Q ISL10 - Latches e Flip-Flops - 14 • Quaisquer um dos tipos de flip-flop’s apreentados pode ter entradas que fazem a saída ir para o nível lógico 1 ou 0, independentemente da transição do clock. • Estas entradas são chamadas de assíncronas, por não dependerem do clock. • A entrada de PRESET faz com que a saída vá para UM. • A entrada de CLEAR faz com que a saída vá para ZERO. • Estas entradas podem ser ativas em nível alto ou nível baixo, e não devem ser ativadas simultaneamente. Entradas assíncronas ISL10 - Latches e Flip-Flops - 15 Entradas assíncronas PR CL Q Q 0 0 0 1 1 0 1 0 0 1 1 1 Não usado Func. Normal QD Q PR CL QT Q PR CL QJ Q PR CL K Indica ativo em zero ISL10 - Latches e Flip-Flops - 16 Exercícios 1) Complete os diagramas temporais abaixo: QS R Q A B D C A B C D ISL10 - Latches e Flip-Flops - 17 Exercícios 2) Complete os diagramas temporais abaixo: D QD Q PR CL A B C E F A B C D E F ISL10 - Latches e Flip-Flops - 18 Exercícios 3) Complete os diagramas temporais abaixo: D QJ Q PR CL A B C E F K G A B C D E F G ISL07 - Mapas de Karnaugh - 1 MAPAS DE KARNAUGHMAPAS DE KARNAUGH Técnicas de simplificação Prof. José Alberone M. Paiva ISL07 - Mapas de Karnaugh - 2 Entender a construção do Mapa de Karnaugh e sua lógica de simplificação a partir do código de Gray e do axioma Simplificar expressôes Booleanas usando o Mapa de Karnaugh Projetar e construir um circuito lógico usando o Mapa de Karnaugh para implementar uma determinada tabela-verdade xx + ObjetivosObjetivos ISL07 - Mapas de Karnaugh - 3 Simplificação por Expressões Simplificação por Expressões BooleanasBooleanas Observe a lógica de simplificação do axioma e a lógica do código de Gray, mostrada na tabela verdade. As setas mostram termos em que muda o estado de apenas uma variável. 1XX =+ A B C 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 Entradas Minitermos CBA CBA CBA CBA CBA CBA CBA CBA ISL07 - Mapas de Karnaugh - 4 Simplificação por Expressões Simplificação por Expressões BooleanasBooleanas São chamados adjacentes, os minitermosque variam apenas uma variável entre si. Exemplo: Portanto, formando um conjunto de dois minitermos ou maxitermos adjacentes, pode-se eliminar a variável que muda. Exemplo: CB A CBA + ( ) bcZ aabcZ abcbcaZ = += += ISL07 - Mapas de Karnaugh - 5 Simplificação por Expressões Simplificação por Expressões BooleanasBooleanas Exemplo: Observe que o minitermo abc foi duplicado para permitir a simplificação, usando-se o axioma: A + A = A. ) )(( acbcZ abccbaabcbcaZ abcabccbabcaZ abccbabcaZ += +++= +++= ++= ISL07 - Mapas de Karnaugh - 6 Formando agora um conjunto com quatro minitermos ou maxitermos adjacentes, obtém-se a eliminação de duas variáveis, conforme o exemplo abaixo: Exemplo: ) )(( ( ) ( ) ( ) bccbbccbZ aabcaacbZ bcaabccabcbaZ abccabbcacbaZ =+=+= +++= +++= +++= Simplificação por Expressões Simplificação por Expressões BooleanasBooleanas ISL07 - Mapas de Karnaugh - 7 ConclusãoConclusão Quanto mais complexa é a expressão booleana a ser implementada, mais complexo é o circuito lógico obtido. Portanto, a simplificação da expressão booleana antes da implementação em portas lógicas é fundamental para reduzir os custos de implementação. Porém, a simplificação algébrica é muito complexa e, freqüentemente, por aplicação inadequada, não conduz a uma simplificação máxima. Portanto, um outro mPortanto, um outro méétodo de simplificatodo de simplificaçção ão éé inserido: inserido: o mapa de o mapa de KarnaughKarnaugh.. ISL07 - Mapas de Karnaugh - 8 Mapa de Mapa de KarnaughKarnaugh O princípio da simplificação por mapas de Karnaugh é o mesmo utilizado nas simplificações algébricas usando os axiomas booleanos. Dois minitermos que possuem apenas uma variável diferente (uma negada e a outra não) podem ser simplificados. O mapa é uma matriz onde as linhas e as colunas representam o código binário de Gray. Cada posição do mapa de Karnaugh é equivalente a uma posição da tabela verdade Tabela→ valores da função em uma coluna Mapa → valores da função em um plano ISL07 - Mapas de Karnaugh - 9 Mapa de Mapa de KarnaughKarnaugh O exemplo abaixo mostra mapas de Karnaugh para três e quatro variáveis. As linhas e as colunas representam o código binário de Gray. 10110100 10 11 01 00 AB CD10110100 1 0 AB C ISL07 - Mapas de Karnaugh - 10 Preenchendo o Mapa de Preenchendo o Mapa de KarnaughKarnaugh 0 1 10 1 0 11 0 0 01 1 0 00 1 0 AB C Saída A B C Y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 Entradas • Cada valor da função na tabela deve ser transferido para a posição correspondente no mapa: ISL07 - Mapas de Karnaugh - 11 AlgorítmoAlgorítmo do Mapa de do Mapa de KarnaughKarnaugh Identificar os “1s” ou “0s” que não são adjacentes a nenhum outro, também chamados primos implicantes. Marcá-los. Identificar os “1s” ou “0s” que são adjacentes de apenas um outro, e agrupá-los com o maior número de termos. Todo termo deve ser usado pelo menos uma vez. ISL07 - Mapas de Karnaugh - 12 AlgorítmoAlgorítmo do Mapa de do Mapa de KarnaughKarnaugh Formar os maiores grupos possíveis de “1s” ou “0s” adjacentes e marcá-los. O número de termos em um grupo deve ser potência de 2 (2N) : octetos: oito “1s” ou “0s” adjacentes quadras: quatro “1s” ou “0s” adjacentes pares: dois “1s” ou “0s” adjacentes O mapa deve conter o menor número de grupos possível. A condição de existência de um grupo é que pelo menos um termo só pertença a ele. ISL07 - Mapas de Karnaugh - 13 ExemploExemplo Saída A B C Y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 Entradas Simplificando algebricamente: ABY C)CAB(Y ABCCABY = += += ISL07 - Mapas de Karnaugh - 14 ExemploExemplo Saída A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 Entradas Simplificando pelo mapa: ABY = 0 0 10 1 1 11 0 0 01 0 0 00 1 0 AB C ISL07 - Mapas de Karnaugh - 15 Exemplos com 3 variáveisExemplos com 3 variáveis CAY = 0 0 10 0 0 11 0 1 01 0 1 00 1 0 AB C BACAY += CBAY += CABY += 0 0 10 0 0 11 1 1 01 0 1 00 1 0 AB C 1 1 10 1 0 11 0 0 01 1 1 00 1 0 AB C 0 0 10 0 1 11 1 1 01 1 1 00 1 0 AB C ISL07 - Mapas de Karnaugh - 16 Exemplos com 4 variáveisExemplos com 4 variáveis DCY =CBAY = 0 0 0 0 10 0 0 1 1 11 0 0 0 0 01 0 0 0 0 00 10 11 01 00 AB CD 0 0 1 0 10 0 0 1 0 11 0 0 1 0 01 0 0 1 0 00 10 11 01 00 AB CD ISL07 - Mapas de Karnaugh - 17 Exemplos com 4 variáveisExemplos com 4 variáveis CAY =CBAY += 0 0 0 0 10 0 0 1 1 11 1 1 1 1 01 1 1 1 1 00 10 11 01 00 AB CD 0 0 0 0 10 0 0 0 0 11 0 0 1 1 01 0 0 1 1 00 10 11 01 00 AB CD ISL07 - Mapas de Karnaugh - 18 Exemplos com 4 variáveisExemplos com 4 variáveis ( ) ( )DACAY ++=( ) ( )( )DCBCABAY ++++= 0 1 1 0 10 0 1 1 0 11 1 1 0 0 01 1 1 0 0 00 10 11 01 00 AB CD00 1 1 1 1 10 1 1 0 1 11 0 0 0 1 01 0 0 0 0 10 11 01 00 AB CD ISL07 - Mapas de Karnaugh - 19 VariVariáávelvel DonDon´´t Caret Care O conceito don’t care é introduzido porque nem todas as combinações das variáveis binárias de entrada correspondem a situações reais e possíveis. Na tabela verdade e no mapa de Karnaugh, marcamos essas combinações com um X. Como resultado de uma função, esse X pode ser usado com UM ou como ZERO, de acordo com o necessário para a maior simplificação. ISL07 - Mapas de Karnaugh - 20 VariVariáávelvel DonDon´´t Care t Care -- Um Um exemploexemplo Projetar um alarme para tocar quando o computador estiver ligado mas um de seus ventiladores (cooler) estiver quebrado A = Computador ligado/desligado B = Ventilador da Fonte C = Ventilador da CPU Y = AB + AC Saída A B C Y 0 X X 0 1 0 0 1 1 1 X 0 1 X 1 1 Entradas 1 0 10 1 1 11 0 0 01 0 0 00 1 0 AB C ISL07 - Mapas de Karnaugh - 21 DonDon´´t care em t care em umauma funfunççãoão Um elevador possui três sensores, A, B e C, para indicar a sua posição no 1o, 2o e 3o andar, respectivamente. Projetar um circuito para converter a sua posição para um número binário, com dois bits P1 e P0. O resultado para posições intermediárias ou inexistentes não interessa. Veja os mapas a seguir. A B C P1 P0 0 0 0 X X 0 0 1 0 1 0 1 0 1 0 0 1 1 X X 1 0 0 1 1 1 0 1 X X 1 1 0 X X 1 1 1 X X Entradas Saídas ISL07 - Mapas de Karnaugh - 22 DonDon´´t care em t care em umauma funfunççãoão A B C P1 P0 0 0 0 X X 0 0 1 0 1 0 1 0 1 0 0 1 1 X X 1 0 0 1 1 1 0 1 X X 1 1 0 X X 1 1 1 X X Entradas Saídas X 1 10 X X 11 X 0 01 1 X 00 1 0 AB C X 1 10 X X 11 X 1 01 0 X 00 1 0 AB C P0 P1 BP0 = CP1= ISL07 - Mapas de Karnaugh - 23 1) Qual é a equação do mapa de Karnaugh abaixo: a) b) 00 1 0 0 1 10 0 1 1 0 11 0 1 1 0 01 1 0 0 1 10 11 01 00 AB CD 00 0 10 0 10 0 1 1 1 11 1 1 1 0 01 0 0 1 0 10 11 01 00 AB CD ExercExercíícioscios ISL07 - Mapas de Karnaugh - 24 2) Projetar um circuito para implementar a tabela- verdade ao lado, usando apenas NAND de 2 entradas: a) Usando axiomas b) Usando mapa de Karnaugh Saída A B C Y 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 Entradas ExercExercíícioscios ISL07 - Mapas de Karnaugh - 25 2) Projetar um circuito para implementar a tabela- verdade ao lado, usando apenas NOR de 2 entradas: a) Usando axiomas b) Usando mapa de Karnaugh Saída A B C Y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 Entradas ExercExercíícioscios ISL07 - Mapas de Karnaugh - 26 Exercícios para trazer na próxima aula 4. Ache a equação simplificada de: Z = f(A,B,C,D) = ∑ (0,3,4,5,6,7,11,12,13,14,15) 5. Um sistema lógico de um aeroporto deve tocar uma campainha para que seja anunciado cada vôo. Sabe-se que sai um vôo doméstico de 3 em 3 horas a partir das 3:00h; e um vôo internacional de 4 em 4 horas a partir de 2:00h. O sistema lógico dispõe de um relógio digital de 12 horas que marca as horas em binário. Projetar o sistema lógico. O projeto deve ser o mais simplificado possível e ter: a) Tabela verdade b) Simplificação usando mapa de Karnaugh c) Implementação usando portas NAND. Operações Matemáticas Prof. Francisco Garcia Profa. Thelma Rodrigues Operações Matemáticas - 2 Operações matemáticas Objetivos • Fazer soma e subtração de números binários; • Representar números binários em complemento de 1 e complemento de 2; • Representar números binários com sinal utilizando complemento de 2; • Determinar os limites máximos positivo e negativo representados por uma palavra digital. Operações Matemáticas - 3 Adição binária Na adição de dois números de 1 bit cada, temos três resultados possíveis: 0 + 0 = 0 0 + 1 = 1 + 0 = 1 1 + 1 = 10 = zero e vai um (carry) Operações Matemáticas - 4 Na adição de dois números com vários bits, o “vai um” de uma posição é somado à posição seguinte. Assim, temos a soma de três bits: 0 + 0 + 0 = 0 0 + 0 + 1 = 0 + 1 + 0 = 1 + 0 + 0 = 1 0 + 1 + 1 = 1 + 0 + 1 = 1 + 1 + 0 = 10 1 + 1 + 1 = 11 = um e vai um (carry) Adição binária Operações Matemáticas - 5 Exemplo 1001 (9d) + 1111 (15d) (passo-a-passo): 1001 + 1111 10 1 1001 + 1111 100 1 1001 + 1111 1000 1 1001 + 1111 11000 (24d) Adição binária Operações Matemáticas - 6 Adição hexadecimal Exemplo F83B + 01C7 (passo-a-passo): F83B + 01C7 12 1 F83B + 01C7 102 1 F83B + 01C7 0A02 0 F83B + 01C7 0FA02 Operações Matemáticas - 7 Números com sinal Sistema sinal-magnitude: bit de sinal mais os bits de magnitude representando o verdadeiro valor binário. = + 52 = – 52 Magnitude 0 0 01 1 01 0 Bit de Sinal + 1 0 01 1 01 0 Bit de Sinal - Operações Matemáticas - 8 Calculadoras e computadores não utilizam o sistema sinal-magnitude que é direto devido à complexidade de implementação. Calculadoras e computadores utilizam o sistema de complemento de 2 para representação de números binários com sinal. Números com sinal Antes de apresentarmos o sistema, devemos ver como são formados os complementos de 1 e 2. Operações Matemáticas - 9 Representação obtida substituindo-se cada 0 por 1 e cada 1 por 0. Número binário em complemento de 1 Número binário original Complemento de 1 1 0 01 1 01 0 0 1 10 0 10 1 Obs.: Para fazermos o complemento de um número, precisamos saber quantos bits tem a sua palavra, e inverter todos os bits, inclusive os zeros à esquerda. Operações Matemáticas - 10 Obtido tomando-se o complemento de 1 e adicionando-se 1 a esse número complementado. Complemento de 2 Número binário em complemento de 1 Número binário original 0 0 01 1 01 0 1 1 10 0 10 1 Número binário em complemento de 1 + 1 1 1 10 0 01 0 Operações Matemáticas - 11 Representação de sinais em complemento de 2 ♦Número positivo: magnitude na forma binária direta; bit de sinal 0 = + 520 0 01 1 01 0 ♦Número negativo: magnitude em complemento de 2; bit de sinal 1 1 1 10 0 01 0 = – 52 Operações Matemáticas - 12 Representação de sinais em complemento de 2 ♦Valores decimais para números binários com oito bits = um byte. 0000 0000 b = 0d0000 0001 b = 1d......0111 1111 b = 127d1000 0000 b = 128d ......1111 1110 b = 254d1111 1111 b = 255d 0000 0000 b = 0d0000 0001 b = 1d......0111 1111 b = 127d1000 0000 b = -128d ......1111 1110 b = -2d1111 1111 b = -1d Sem sinal (0 a 255d) Com sinal (-128d a 127d) Operações Matemáticas - 13 ♦Caso I: Dois números positivos + 910 + 410 Observe que todas as parcelas devem ser escritas com o mesmo número de bits. ( 1a parcela ) ( 2a parcela ) +1310 ( soma ) 1 0 0 10 0 1 0 00 1 1 0 10 Bits de sinal Adição no sistema de C2 Operações Matemáticas - 14 ♦Caso II: Um no positivo e outro menor e negativo + 910 – 410 ( 1a parcela ) ( 2a parcela ) +510 ( soma ) 1 0 0 10 1 1 0 01 0 1 0 10 Esse carry é desconsiderado Bits de sinal 1 Adição no sistema de C2 Operações Matemáticas - 15 ♦Caso III: Um no positivo e outro maior e negativo – 910 + 410 ( 1a parcela ) ( 2a parcela ) – 510 ( soma ) Bits de sinal 0 1 1 11 0 1 0 00 1 0 1 11 Bit de sinal negativo Adição no sistema de C2 Operações Matemáticas - 16 ♦Caso IV: Dois nos negativos – 910 ( 1 a parcela ) ( 2a parcela ) – 1310 ( soma ) 0 1 1 11 0 0 1 11 Bit de sinal negativo – 410 1 1 0 01 Esse carry é desconsiderado 1 Bits de sinal Adição no sistema de C2 Operações Matemáticas - 17 ♦Caso V: Dois nos de mesma magnitude mas com sinais contrários – 910 ( 1 a parcela ) ( 2a parcela ) 010 ( soma ) 0 1 1 11 0 0 0 00 + 910 1 0 0 10 Esse carry é desconsiderado 1 Bits de sinal Adição no sistema de C2 Operações Matemáticas - 18 • Para subtrair um número binário (o subtraendo) de um outro número binário (o minuendo) usamos o seguinte procedimento: 1) Negue o subtraendo (complemento de 2) 2) Adicione o resultado obtido no passo 1 ao minuendo. • O resultado obtido será a diferença entre o subtraendo e o minuendo. Subtração no sistema de C2 Operações Matemáticas - 19 “Overflow” aritmético ♦Quando o resultado ultrapassa o no de bits da palavra + 910 ( 1 a parcela ) ( 2a parcela ) – 1510 ( soma ) 1 0 0 10 0 0 0 11 + 810 1 0 0 00 Magnitude incorreta Bits de sinal Sinal incorreto Operações Matemáticas - 20 1)Adicione os seguintes números decimais, em binário (passo-a-passo), usando 5 bits: a) +7 e -12 b) +4 e +8 c) -3 e -11 d) +10 e + 11 2)Qual é o maior número positivo e o maior número negativo que se pode representar com um número binário de 7 bits (ao todo)? 3)Qual é o maior número positivo e o maior número negativo que se pode representar com um número hexadecimal de 4 dígitos? Exercícios Teoremas da Álgebra Booleana Prof. José Alberone Menezes de Paiva ISL05 - Teoremas da Álgebra Booleana - 2 Álgebra Booleana • Objetivos • Desenvolver a expressão booleana para uma saída de um circuito lógico combinacional • Usar a álgebra boolena para simplificar expressões • Usar os teoreams DeMorgan para mudar a forma de expressão booleana • Utilizar as portas lógicas universais (NAND ou NOR) para implementar um circuito representado por uma expressão booleana. ISL05 - Teoremas da Álgebra
Compartilhar