Baixe o app para aproveitar ainda mais
Prévia do material em texto
Organização e Arquitetura de Computadores Portas Lógicas Prof. Wanderson Senra Michel wanderson.senra@udf.edu.br Histórico • A lógica é a base da eletrônica digital e da informática. Esta surgiu na Grécia antiga com a contribuição de três filósofos: Sócrates, Platão e Aristóteles. Sócrates não deixou seus ensinamentos por escrito. –Platão (seguidor de Sócrates) escreveu vários de seus diálogos e desenvolveu sua filosofia abrangendo a ética, a política e o conhecimento, tendo como princípio o método da investigação. Continuação –Aristóteles, baseado nos diálogos escritos por Platão, observou que a linguagem deve ter uma estrutura lógica, para que leve, necessariamente, a uma verdade. –Pelo método de investigação de Sócrates, se duas verdades são alcançadas individualmente, ao juntá-las tem-se uma única verdade. Álgebra Booleana • Claude Shannon (1916-2001) ±1938: Tese de mestrado: A Symbolic Analysis of Relay and Switching Circuits Aplicação da álgebra booleana ao estudo e projeto de circuitos • George Boole (1815-1864) 1848: The Calculus of Logic Aplicação da matemática às operações mentais do raciocínio humano - definição da “álgebra booleana” Álgebra Booleana • Conjunto de Operações: - Complementação - Multiplicação lógica - Adição lógica • Conjunto de valores: {Falso, Verdadeiro} - raciocínio humano {Desligado, Ligado} - circuitos de chaveamento {0, 1} - sistema binário {0V, +5V} - eletrônica digital Conceitos de Lógica Digital Computador digital: é uma máquina projetada para armazenar e manipular informações representadas apenas por algarismos ou dígitos e que só podem assumir dois valores distintos (binários), 0 e 1, razão por que é chamado “máquina digital binária“. Internamente a informação pode ser trabalhada por sinais elétricos, campo magnético ou sinais óticos. Para exemplificar um sinal elétrico temos: o bit 0 recebendo uma carga entre 0 e 1V e o bit 1 recebendo a carga entre 2 e 4V. Porta (gate): É um elemento de hardware, mais precisamente um circuito eletrônico, que recebe um ou mais sinais de entrada e produz um sinal de saída, cujo valor depende do tipo de regra lógica existente no elemento. Porta lógica: Em qualquer sistema digital, a unidade básica construtiva é o elemento denominado “Porta lógica” • Todas as complexas operações de um computador digital acabam sendo combinações de simples operações aritméticas e lógicas básicas: somar bits, comparar bits, mover bits. Estas operações são fisicamente realizadas por circuitos eletrônicos, chamados circuitos lógicos ou portas lógicas. • Computadores digitais (binários) são construídos com esses circuitos eletrônicos. Conceitos de Lógica Digital Operadores Lógicos • Os Operadores Lógicos ou Funções Lógicas são: • E (AND) - uma sentença é verdadeira SE - e somente SE - todos os termos forem verdadeiros. • OU (OR) - uma sentença resulta verdadeira se QUALQUER UM dos termos for verdadeiro. • NÃO (NOT) - este operador INVERTE um termo. Os operadores lógicos são representados por: ___ • NOT --> (uma barra horizontal sobre o termo a ser invertido ou negado) • E ------> . (um ponto, como se fosse uma multiplicação ou um “x”) • OU ----> + (o sinal de soma) Tabela Verdade • São tabelas que representam todas as possíveis combinações das variáveis de entrada de uma função e os seus respectivos valores de saída. • A seguir, apresentamos as funções básicas e suas representações em tabelas verdade (tabela da verdade). Portas lógicas AND (E) A B S 0 0 0 0 1 0 1 0 0 1 1 1 S = A x B ou S = A . B ou S = AB & Símbolo antigo Expressão da função Tabela verdade A B S Símbolo novo + _A B S Analogia da porta lógica AND com um circuito elétrico: • Quando as duas entradas (A e B) são zero (interruptores desligados) a saída (S) também é zero (lâmpada apagada). • Quando uma só das entradas é 1 (um só interruptor ligado) a saída (S) é zero (lâmpada apagada). • Quando as duas entradas (A e B) são 1 (os dois interruptores ligados) a saída (S) também é 1 (lâmpada acesa). • Pode-se estender esse conceito para n variáveis booleanas. • Lê-se S é igual a A E B. • CONCLUSÃO: Só temos o nível lógico 1 na saída quando todas as entradas forem 1 (neste caso, A e B) Portas lógicas OR (ou) A B S 0 0 0 0 1 1 1 0 1 1 1 1 S = A + B Símbolo antigo Expressão da função Tabela verdadeSímbolo novo Analogia da porta lógica OR com um circuito elétrico: • Quando as duas entradas (A e B) são zero (interruptores desligados) a saída (S) também é zero (lâmpada apagada). • Quando uma só das entradas é 1 (um só interruptor ligado) a saída (S) é um (lâmpada acesa). ≥ 1 A B S + _ A B S • Quando as duas entradas (A e B) são 1 (os dois interruptores ligados) a saída (S) também é 1 (lâmpada acesa). • Lê-se S é igual a A OU B. • CONCLUSÃO: Só temos o nível lógico 0 na saída quando todas as entradas forem 0. Portas lógicas NOT (negação) A S 0 1 1 0 Símbolo antigo Expressão da função Tabela verdadeSímbolo novo S = A 1 A S • O nível lógico da saída (S) é a negação do nível lógico da entrada (A). • Lê-se S é igual a A BARRADO ou NÃO A • Também poderá ser representado por: X X’ Exemplo 1 Chave Automática Vamos imaginar um circuito chaveador com as seguintes entradas: - uma fonte de alimentação (fornece energia para o circuito) - um fio de controle (comanda a operação do circuito) - um fio de saída (conduz o resultado) • No desenho, a chave permanece aberta enquanto o sinal C no fio de controle for 0 (ou Falso). Enquanto não houver um sinal (sinal 1 ou Verdadeiro) no fio de controle, que mude a posição da chave, o sinal no fio de saída S será 0 (ou Falso). • Quando for aplicado um sinal (sinal 1 ou Verdadeiro) ao fio de controle, a chave muda de posição, tendo como resultado que o sinal na saída será então 1 (ou Verdadeiro). A posição da chave se manterá enquanto não ocorrer um novo sinal na entrada. Chave Automática 2 chaves Automáticas em SÉRIE Qual é o Símbolo Esquemático? 2 chaves Automáticas em SÉRIE • A lâmpada acenderia SE - e somente se - as DUAS chaves estivessem na posição LIGADO (ou verdadeiro), o que seria conseguido com as duas entradas A e B em estado 1 (Verdadeiro). • Substituindo CORRENTE (ou chave ligada) por 1 e AUSÊNCIA DE CORRENTE (ou chave desligada) por 0, como ficaria nossa tabela verdade para LÂMPADA LIGADA = 1 e LÂMPADA DESLIGADA = 0? Situações possíveis • Dá para reconhecer a nossa já familiar FUNÇÃO E? • O circuito mostrado anteriormente implementa a função E, o qual é chamado de PORTA E. A B L 0 0 0 0 1 0 1 0 0 1 1 1 2 chaves Automáticas em SÉRIE Exemplo de circuito com porta lógica E: • Uma campainha que toca (saída) se o motorista der a partida no motor do carro (entrada) sem estar com o cinto de segurança afivelado (entrada). • Se a ignição for ACIONADA (1) e o cinto estiver DESAFIVELADO (1), a campainha é ACIONADA (1). Caso contrário, a campainha não toca. Ignição Cinto Desafivelado Campainha 0 0 0 0 1 0 1 0 0 1 1 1 TABELA VERDADE Solução: Porta AND 2 chaves automáticas em PARALELO Qual é o Símbolo Esquemático? • A lâmpada acenderia SE QUALQUER UMA DAS CHAVES estivesse na posição LIGADO (ou verdadeiro), o que seria conseguido com uma das duas entradas A ou B em estado 1 (Verdadeiro). • Substituindo CORRENTE (ou chave ligada) por 1 e AUSÊNCIA DE CORRENTE (ou chave desligada) por 0, como ficaria nossa tabela verdade para LÂMPADA LIGADA = 1 e LÂMPADA DESLIGADA = 0? 2 chaves automáticas em PARALELO • E agora, dá para reconhecer a nossajá familiar FUNÇÃO OU? • O circuito mostrado anteriormente implementa a função OU, o qual é chamado de PORTA OU A B L 0 0 0 0 1 1 1 0 1 1 1 1 2 chaves automáticas em PARALELO Situações possíveis Exemplo de circuitos utilizando porta lógica OU: • Detector de incêndio com vários sensores (entradas) e uma campainha para alarme (saída). • Se QUALQUER UM dos sensores for acionado (significando que um dos sensores detectou sinal de incêndio), a campainha é ACIONADA. Sensor 1 Sensor 2 Campainha 0 0 0 0 1 1 1 0 1 1 1 1 TABELA VERDADE Solução: Porta OR Precedência das Operações 1 - ( ) 2 - NOT 3 - AND 4 - OR Exemplos: A . B + C ′ (A . B + C )′ A . (B + C )′ A . (B + C ′) Expressões Booleanas x Circuitos A + B . C’ A B C C’ B.C’ A+B.C’ 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Construção da tabela-verdade - considerar a precedência! Exercício: - Desenhar o circuito - Construir a tabela-verdade Exercício: fazer tabela-verdade A B C C’ A.B A.B+C’ 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 - ( ) 2 - NOT 3 - AND 4 - OR Exemplos: A . B + C′ (A . B + C)′ A . (B + C)′ A . (B + C′) Efeito da Precedência das Operações Exercício: fazer a tabela-verdade A B C A.B A.B+C (A.B+C)’ 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Efeito da Precedência das Operações 1 - ( ) 2 - NOT 3 - AND 4 - OR Exemplos: A . B + C′ (A . B + C)′ A . (B + C)′ A . (B + C′) Exercício: fazer a tabela-verdade A B C B+C (B+C)’ A.(B+C)’ 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Efeito da Precedência das Operações 1 - ( ) 2 - NOT 3 - AND 4 - OR Exemplos: A . B + C ′ (A . B + C)′ A . (B + C)′ A . (B + C′) Exercício: fazer a tabela-verdade A B C C’ B+C’ A.(B+C’) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 - ( ) 2 - NOT 3 - AND 4 - OR Exemplos: A . B + C′ (A . B + C)′ A . (B + C)′ A . (B + C′) Efeito da Precedência das Operações A B C A.B+C’ (A.B+C)’ A.(B+C)’ A.(B+C’) 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 1 - ( ) 2 - NOT 3 - AND 4 - OR Exemplos: A . B + C ′ (A . B + C)′ A . (B + C)′ A . (B + C′) Comparando as saídas dos quatro circuitos: Efeito da Precedência das Operações Exercício: fazer a tabela-verdade A B A’ B’ A’+B’ B.(A’+B’) A+B.(A’+B’) 0 0 0 1 1 0 1 1 Expressões Booleanas x Circuitos A + B . (A’ + B’) Conclusão: o mesmo resultado pode ser obtido apenas com A+B Conceito importante: “minimizar” a expressão booleana Exercício: Desenhar o circuito Correspondência entre expressões, circuitos e tabela verdade • Todo circuito lógico executa uma expressão booleana • Um circuito, por mais complexo que seja, é composto pela interligação dos blocos lógicos básicos • Veremos, a seguir, como obter as expressões booleanas geradas por um circuito lógico Correspondência entre expressões, circuitos e tabela verdade • Seja o circuito: Correspondência entre expressões, circuitos e tabela verdade • Vamos dividi-lo em duas partes (1) e (2) – No circuito (1), a saída S1 contém o produto A.B, já que o bloco é uma porta E – Portanto, S1 = A.B Correspondência entre expressões, circuitos e tabela verdade • No circuito (2), note que a saída S1 é utilizada como uma das entradas da porta OU • A outra entrada da porta OU corresponde à variável C, o que nos leva à: – S = S1 + C Correspondência entre expressões, circuitos e tabela verdade • Para obter a expressão final em relação às entradas A, B e C basta substituir a expressão S1 na expressão de S, ou seja: – (1) S1 = A.B – (2) S = S1 + C – Obtém-se S = S1 + C = (A.B) + C Correspondência entre expressões, circuitos e tabela verdade • Portanto, a expressão que o circuito executa é: – S = (A.B) + C = A.B + C Exercício Exercício - Solução Circuitos gerados por expressões booleanas • Até o momento, vimos como obter uma expressão característica a partir de um circuito • Também é possível obter um circuito lógico, dada uma expressão booleana • Nesse caso, como na aritmética elementar, parênteses têm maior prioridade, seguidos pela multiplicação (função E) e, por último, pela soma (função OU) Circuitos gerados por expressões booleanas Circuitos gerados por expressões booleanas Circuitos gerados por expressões booleanas Circuitos gerados por expressões booleanas Exercício • Desenhe o circuito lógico que executa a seguinte expressão booleana: • S = (A.B.C) + (A+B).C Exercício - Solução A B S 0 0 1 0 1 1 1 0 1 1 1 0 Símbolo antigo Expressão da função Tabela verdadeSímbolo novo Porta lógica NAND (não e) & S = (A . B) A B S Negação A porta lógica NAND é uma porta lógica AND com a saída negada. Podemos observar que os níveis lógicos da saída (S) da tabela de verdade NAND é a negação dos níveis lógicos da saída (S) da tabela de verdade AND. Lê-se S é igual a A E B BARRA. Símbolo Esquemático Não é possível exibir esta imagem no momento. Porta lógica NOR (não ou) A B S 0 0 1 0 1 0 1 0 0 1 1 0 Símbolo antigo Expressão da função Tabela verdadeSímbolo novo S = (A + B) A porta lógica NOR é uma porta lógica OR com a saída negada. Podemos observar que os níveis lógicos da saída (S) da tabela de verdade NOR é a negação dos níveis lógicos da saída (S) da tabela de verdade OR. Lê-se S é igual a A OU B BARRA. ≥ 1 A B S Negação Símbolo Esquemático Não é possível exibir esta imagem no momento. Exemplo 6 Quadro Resumo Exercício Exercício - Solução Exercício • Desenhe o circuito lógico que executa a seguinte expressão booleana: • S = (A.B + C.D)’ Exercício - Solução Obtenha as Expressões Booleanas Porta lógica eXclusive OR (OU exclusivo - XOR) A B S 0 0 0 0 1 1 1 0 1 1 1 0 Símbolo antigo Expressão da função Tabela verdadeSímbolo novo S = A ⊕ B = 1 A B S A saída é 1 se uma entrada é 1 ou a outra entrada é 1, mas não ambas. De outro modo: o valor da saída (S) é 1 se as entradas (A ou B) são diferentes e 0 se são iguais. Lê-se S é igual a A OU EXCLUSIVO B. O circuito OU EXCLUSIVO só pode ter 2 variáveis de entrada. Símbolo Esquemático Não é possível exibir esta imagem no momento. Exemplo 2 Exemplo 3 Exemplo 4 Porta lógica eXclusive NOR (NÃO OU exclusivo - XNOR) A B S 0 0 1 0 1 0 1 0 0 1 1 1 Símbolo antigo Expressão da função Tabela verdadeSímbolo novo = 1 A B S S = A ⊕ B OU S = A B A porta lógica abreviadamente designada por EX-NOR é uma porta lógica EX-OR com a saída negada. Podemos observar que os níveis lógicos da saída (S) da tabela de verdade EX-NOR é a negação dos níveis lógicos da saída (S) da tabela de verdade EX-OR. Lê-se S é igual a A COINCIDÊNCIA B. As funções OU EXCLUSIVO e COINCIDÊNCIA são complementares. Negação Símbolo Esquemático Não é possível exibir esta imagem no momento. Exemplos de Portas Lógicas Exemplo 5 - Multiplexador Exemplo 6 - Decodificador Exemplo 7 – UCP Elementar Portas Lógicas – Quadro Resumo Portas Lógicas – Quadro Resumo Portas Lógicas – Quadro Resumo Organização e Arquitetura de Computadores Introdução a Circuitos Digitais Prof. Wanderson Senra Michel wanderson.senra@udf.edu.br Introdução • O processo de concepção de um produto (chip) é muito demorado, requer: • Tempo Meses e até anos para desenvolver um produto; • Esforço Grande grupo de engenheiros dedicado inteiramente em desenvolver a arquitetura, implementar e verificar o produto;• Dinheiro Milhões de dólares. Partição de Projeto • Para lidar com a alta complexidade, o projeto de CIs é particionado em etapas segundo o fluxo de projeto. • Outra técnica utilizada é o projeto hierárquico. • O sistema é particionado em unidades, que são divididas em blocos funcionais, que contém células, que são formadas por transistores. • Cada nível da hierarquia é chamado de nível de abstração. Partição de Projeto � Cada nível mais alto esconde mais detalhes do projeto. � Muitas das etapas de projeto são automatizadas e realizadas por ferramentas. � Cabe ao projetista conhecer bem o que a ferramenta faz para atingir os requisitos do projeto. Partição de Projeto Fluxo Básico � Em alto nível de abstração, quais tarefas são necessárias para desenvolver um chip, partindo da ideia. • Implementação: transformar a concepção da ideia ou especificação para representações de hardware físico e lógico; • Verificação: garantir a funcionalidade, o tempo e a integridade das mudanças do design através de todo o processo de concepção do hardware; Implementação � Representações em uma implementação de chip: � Especificação: textual, gráfica ou representação de software do comportamento e objetivos do design; � Microarquitetura: textual, gráfica ou representação de software da implementação inicial da especificação; � RTL (Resistor Transistor Lógico): descrição de hardware do design a ser implementado; Implementação � Representações em uma implementação de chip: � Portas sintetizadas: representação lógica do design depois do mapeamento lógico discreto; � Placed/Routed gates (Portas posicionadas/roteadas): representação física e lógica do design depois de ser desenvolvido as etapas de placed/routed. � GDSII (Graphic Data System): representação física do design antes do tapeout; Implementação � Representações em uma implementação de chip: � Designer: arquitetura do chip desenvolvida em nível de blocos pelo grupo de engenheiros; � Síntese lógica: processo de tradução do RTL para lógica discreta; � Place/Route: processo de implementação física da lógica discreta; Verificação � Várias etapas são necessárias na verificação de um chip: � Simulação de Sistemas: simulação do comportamento ou nível de sistema; � Simulação Lógica: simulação em nível de RTL; � Simulação em nível de portas: simulação de lógica discreta; Verificação � Várias etapas são necessárias na verificação de um chip: � Verificação Física: checagem de regras de implementação e verificação layout vs. esquemático; � Verificação Formal: checagem de equivalência lógica; � Timing signoff: StaticTiming Analysis (Mecanismo de verificação temporal); Fluxo de Implementação e Verificação Importância do RTL � RTL é a principal etapa do fluxo: � Busca fazer uma descrição estrutural da especificação e da microarquitetura; � A maioria dos RTLs são criados manualmente por engenheiros de projetos experientes e qualificados; � A qualidade do RTL é diretamente proporcional aos custos do projeto; Desafios �Design: � Tamanho e Complexidade: divisão de um projeto com milhões de portas lógicas entre os membros da equipe, módulos e interfaces; � Power: requisito de consumo devem ser considerados num projeto de design; Desafios � Verificação: � Tamanho e complexidade: design grandes e complexos, requerem sofisticadas estratégias de verificação; � Testbenches: engenheiros devem criar ambientes de verificação que consiga abranger todas as funcionalidades do sistema; Desafios � Verificação: � Corner cases/casos específicos: engenheiros devem entender o comportamento do sistema completo, incluindo todas as exceções. Essas exceções são os casos específicos; � Design dirigido a testes: engenheiros devem projetar o design considerando a estratégia de teste no final do produto; Desafios � Implementação: � Tamanho e complexidade: quanto maior o sistema, mais longo será o tempo de implementação; � Consumo: engenheiros devem abordar técnicas específicas com estratégias bem sofisticadas para garantir requisitos de consumo; Desafios � Implementação: � Tempo e Requisitos de Projeto: com o avanço das tecnologias de processo, está cada dia mais difícil convergir requisitos de tempo com as regras de projeto; � Rendimento (Yield): influencia diretamente no tempo de implementação do projeto; Sumário � Desafios: � Existem muitos desafios que devem ser analisados antes e durante um projeto de chip, tanto nas áreas de projeto e verificação, quanto na área de implementação; � Em todas as etapas, tamanho e complexidades são os principais desafios de um projeto de circuito integrado atual.
Compartilhar