Você está na página 1de 60

SSC0112

Organização de
Computadores Digitais I
4ª Aula – Revisão de Lógica Digital

Profa. Sarita Mazzini Bruschi


sarita@icmc.usp.br
Aula ministrada por Prof. Paulo Sergio Lopes de Souza

1
Revisão de Lógica Digital
• Lógica Digital
– Base da organização de computadores
• Base do sistema hierárquico
• Abaixo da lógica digital estão os dispositivos eletrônicos
– Princípio: opera com 1 e 0 ou “alto” e “baixo”
• Necessária uma abstração para representar a informação
• 1 e 0 são chamados complemento ou inverso um do outro
– Componentes básicos: portas lógicas
• Bloco fundamental de construção de circuitos lógicos digitais

2
Revisão de Lógica Digital
• Álgebra de Boole
– Fundamentação matemática para a lógica digital
– George Boole (1815-1864)
• Matemático Inglês que criou a Álgebra de Boole em 1854
• As variáveis podiam ser 1 ou 0
• Operações básicas: AND, OR, e NOT
• Claude Elwood Shannon usa Álgebra de Boole em 1938
– Assistente de pesquisa do MIT
– Solução de problemas no projeto de circuitos de telefonia de relés
• Técnicas estendidas à computação permitem
– descrição, análise e simplificação de um circuito

3
Porta lógica AND ou E
• Representação algébrica:
– S = A . B ou S = A ^ B ou S = A e B
• Representação gráfica:
A S=A^B
B

• Comportamento
– S terá o valor 1 se ambos os valores de A e B forem também 1

• Tabela Verdade A B A.B


0 0 0
0 1 0
1 0 0
1 1 1
4
Porta lógica OR ou OU
• Representação algébrica:
– S = A + B ou S = A v B ou S = A ou B
• Representação gráfica:
A S= AvB
B

• Comportamento
– S terá o valor 1 se pelo menos um valor de A ou B for 1

• Tabela Verdade A B A+B


0 0 0
0 1 1
1 0 1
1 1 1
5
Porta lógica NOT ou NÃO
• Representação algébrica:
– S = A’ ou S = A ou S = NÃO A
• Representação gráfica:
S = A’ antes de outro bloco lógico
A

• Comportamento
– S terá o valor 1 se A for 0, e 0 se A for 1.
– S terá o complemento de A

• Tabela Verdade
A A’
0 1
1 0

6
Porta lógica NAND ou NE ou NÃO E
• Representação algébrica:
– S = A . B ou S = A ^ B ou S = A e B
• Representação gráfica:
A S=A^B A S=A^B
B B

• Comportamento
– S terá o valor 1 se pelo menos 1 dos valores de A ou B for 0
– É a negação da porta AND

A B A.B
• Tabela Verdade 0 0 1
0 1 1
1 0 1
1 1 0
7
Porta lógica NOR ou NOU ou NÃO OU
• Representação algébrica:
– S = A + B ou S = A v B ou S = A ou B
• Representação gráfica:
A S= AvB A S= AvB
B B

• Comportamento
– S terá o valor 1 se ambos os valores de A e B forem 0
– É a negação da porta OR

A B A+B
• Tabela Verdade
0 0 1
0 1 0
1 0 0
1 1 0
8
Porta lógica XOR ou OU EXCLUSIVO
• Representação algébrica:
– S=AB
• Representação gráfica:
A S= A  B

• Comportamento
– S terá o valor 1 se e somente se A e B tiverem valores diferentes

• Tabela Verdade A B A B
0 0 0
0 1 1
1 0 1
1 1 0
9
Circuitos Lógicos
• Circuitos Combinatórios
– Interconexão de portas lógicas onde o sinal de saída é, em qualquer instante,
função apenas de sinais de entrada
– Ex.: ULA, multiplexador, decodificador
• Circuitos Seqüenciais
– Interconexão de portas lógicas onde o sinal de saída depende também dos sinais
anteriores de entrada
– Ex.: Memória RAM e registradores
• Como representar o comportamento dos circuitos:
– Expressão Booleana
– Tabela Verdade
– Símbolo gráficos

10
Expressões booleanas obtidas de circuitos lógicos
• Ocorre a substituição direta dos símbolos gráficos pelas
representações algébricas
A A.B
S=A.B+C
B
C

• Resultado: S = A . B + C

11
Circuitos lógicos obtidos de expressões booleanas
• Ocorre a substituição direta das representações algébricas
pelos símbolos gráficos
• ex: S = (A + B) . C . (B + D)

A A+B
B
S = (A + B) . C . (B + D)
C
D B+D

12
Tabelas verdade obtidas a partir de expressões
booleanas
• Passos para a construção da tabela verdade
1) montar quadro de possibilidades
2) montar colunas para os vários membros da expressão
3) preencher colunas com os resultados
A B C A.B A.B+C
4) montar coluna para o resultado final
0 0 0 0 0
5) preencher coluna com os resultados finais
0 0 1 0 1
• Ex.: S = A . B + C
0 1 0 0 0
0 1 1 0 1
1 0 0 0 0
1 0 1 0 1
1 1 0 1 1
1 1 1 1 1
13
Expressões booleanas obtidas de tabelas verdade
• Passos para a construção da expressão booleana
1) verificar todas as ocorrências de 1 no resultado final
2) identificar padrão de entradas para esses casos, conectando-os com uma porta AND
3) somar as ocorrências com o resultado 1 através de uma porta OR
Ex: S= A' . B'. C' + A' . B . C' + A . B . C' + A . B . C
A B C S
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
14
Circuito Integrado com 4 portas lógicas

15
Circuitos Combinacionais
• Multiplexadores (MUX)
– Circuito com 2n linhas de entrada, n linhas de controle e 1 saída
– Seleciona uma única saída a partir de várias entradas, sendo a
entrada escolhida “direcionada” para a saída

16
Multiplexador

S2 S1
S2 S1 F
0 0 D0
0 1 D1
1 0 D2
D0
1 1 D3

D1
F
D0
D1 MUX D2
F
D2 4-para-1
D3
D3

S2 S1
17
Multiplexador - Aplicação
• Controle e roteamento de sinais
• Exemplo: carregamento do valor do PC (contador de
programa), que pode vir de diferentes fontes:
– De um contador binário (próxima instrução)
– Do registrador de instrução (instrução de desvio)
– Da saída da ULA (instrução de desvio utiliza modo de endereçamento
por deslocamento)

18
Multiplexador – Aplicação

C0 IR0 ULA0 C1 IR1 ULA1 C15 IR15 ULA15

S2 S2 S2
S1
MUX 4-para-1
S1
MUX 4-para-1 ... S1
MUX 4-para-1

PC0 PC1 PC15

19
Demultiplexador
• Realiza a operação inversa do multiplexador
• A partir de uma única entrada, distribuí essa entrada para
várias saídas

20
Demultiplexador

21
Demultiplexador
SELEÇÃO SAÍDA
S2 S1 S0 O7 O6 O5 O4 O3 O2 O1 O0
0 0 0 0 0 0 0 0 0 0 I
0 0 1 0 0 0 0 0 0 I 0
0 1 0 0 0 0 0 0 I 0 0
0 1 1 0 0 0 0 I 0 0 0
1 0 0 0 0 0 I 0 0 0 0
1 0 1 0 0 I 0 0 0 0 0
1 1 0 0 I 0 0 0 0 0 0
1 1 1 I 0 0 0 0 0 0 0

22
Decodificador
• Circuito com n linhas de entrada e 2n linhas de saída
• A combinação das n linhas de entrada são utilizadas para, a
cada instante, selecionar (habilitar para 1) somente uma das 2n
saídas

23
Decodificador

24
Decodificador

A B C D0 D1 D2 D3 D4 D5 D6 D7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 11 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1

25
Decodificadores - Aplicação

26
Codificadores
• Circuito digital oposto do Decodificador
• Possui um conjunto de linhas de entrada, sendo que somente
uma delas pode estar ativada em determinado instante de
tempo, produzindo uma saída que é um código de n bits,
dependendo da entrada que estiver ativada

27
Codificadores

28
Comparadores
• Circuito que compara duas entradas
• Baseado na porta lógica XOR, que produz 0 caso as entradas
sejam iguais e 1 caso sejam diferentes
• Exemplo: comparador de 4 bits que resulta 1 se as entradas
são iguais e 0 caso contrário

29
Comparadores

30
Matriz de lógica programável
• Programable Logic Array – PLA
• Pastilhas de uso geral que podem ser facilmente programadas
para propósitos específicos
• Baseada no fato de que qualquer função booleana pode ser
expressa na forma de uma soma de produtos

31
Matriz de lógica programável

32
33
Shifters - Deslocadores
• Circuito que tem n linhas de entrada e n linhas de saída
• A saída é a entrada deslocada de 1 bit
• Uma linha de controle determina a direção do deslocamento (0
para a esquerda e 1 para a direita)

34
Shifters - Deslocadores

35
Adders - Somadores
• Não existe computador sem circuitos que executem operações
aritméticas
• Somador: duas entradas e duas saídas (soma e carry)

36
Adders - Somadores
• Circuito meio somador

37
Adders - Somadores
• Circuito meio somador realiza somente a soma de bits menos
significativos mas não pode ser utilizado para os outros bits
pois não considera o “vai um” que vem do dígito da direita
• Circuitos somadores completos: três entradas e duas saídas

38
Adders - Somadores
• Circuito somador completo
• Tabela verdade
Cin A B Soma Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

39
Adders - Somadores

40
Adders - Somadores
• Somador de 4 bits

41
Adders - Somadores
• Somador de 32 bits a partir de um somador de 8 bits

42
Circuitos Sequenciais
• A memória é também um elemento essencial para a
construção de um computador
• Nos circuitos sequenciais os valores de saída dependem, além
dos valores de entrada, de valores anteriores

43
Flip-Flop
• Forma mais simples de um circuito seqüencial
– Dispositivo biestável: existe em um de dois estados estáveis e na
ausência de valores de entrada permanece nesse estado (memória
de 1 bit)
– Tem duas saídas complementares, normalmente denotadas por Q e
Q

44
Flip-Flop S-R
• Duas entradas: S (set) e R (reset)
• Duas saída: Q e Q
• Construção através de duas portas NOR

45
Flip-Flop S-R
• Tabela característica e tabela característica simplificada:

46
Flip-Flop S-R com relógio
• Como a saída e um flip-flop S-R muda após um atraso e, como
os eventos de um computador são sincronizados, é necessário
que as entradas S e R somente sejam habilitadas quando
ocorre um pulso de relógio

47
Flip-Flop S-R com relógio

48
Flip-Flop tipo D
• No flip-flop tipo S-R, a condição S=R=1 deve ser evitada
• Para solucionar esse problema, o flip-flop tipo D é
implementado com somente uma entrada (D)

49
Flip-Flop tipo D

50
Flip-Flop J-K
• Assim como o S-R, o flip-flop J-K possui duas entradas, no
entanto qualquer combinação possível de entrada é válida
• J=K=0 – mantém a saída anterior
• J=1 e K=0 – saída = 1
• J=0 e K=1 – saída = 0
• J=K=1 – saída anterior invertida

51
Flip-Flop J-K

52
Flip-Flop - Resumo

53
Registradores
• Exemplo do uso de flip-flops
• Circuito digital utilizado dentro da CPU para armazenar um ou
mais bits de dados
• Dois tipos:
– Registradores paralelos
– Registradores de deslocamento

54
Registradores paralelos
• Conjunto de memórias de 1 bit que podem ser
lidas ou escritas simultaneamente

55
Registrador de deslocamento
• Um registrador de deslocamento aceita e/ou transfere
informação serialmente
• Podem ser utilizados como interface para dispositivos de E/S
seriais e também dentro da ULA, para implementar funções de
deslocamento lógico e rotação

56
Registrador de deslocamento

57
Contadores
• Um contador é um registrador cujo valor é incrementado de 1
módulo a capacidade do registrador
• Um registrador com n flip-flops pode contar até 2n – 1
• Quando o contador chega no valor limite, volta para 0

58
Contadores
• Podem ser:
– Assíncronos
• São mais lentos pois a saída de um flip-flop dispara uma mudança no flip-flop
seguinte
– Síncronos
• O estado de todos os flip-flops são alterados simultaneamente

59
Referências
• Stallings – apêndice A (edições anteriores a 8a. edição)

• Patterson e Henessy – apêndice B

• Parhami – capítulos 1 e 2

• Monteiro – apêndice B

• Tanenbaum – capítulo 3

60

Você também pode gostar