Buscar

Organização de computadores- Aula 02

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.

Continue navegando