Você está na página 1de 21

CIRCUITOS

DIGITAIS
1
Mensagens e Sinais

1.1 Conceito
Os seres não seriam perceptíveis se não existisse entre eles uma interação. Isto quer dizer que, de alguma forma, é
necessário que ocorra um processo de comunicação para se perceber a existência dos seres.

Só existe uma única maneira de um ser interagir com outro ser. Só existe uma única maneira de um ser tomar
conhecimento da existência de outro ser:
"Alguma coisa tem que sair de um e chegar até o outro."

Essa coisa, denominada mensagem, pode ser enviada através de:


• Um sinal que caminha através de perturbações sucessivas do meio (impulsos ou ondas no meio);
• Uma parte (partícula) que sai de um ente e choca-se com outro ente;
• Choque direto de mais de um ente.

Assim, as mensagens se propagam por meio de sinais ou de partículas. Na primeira situação, um ser perturba o
meio imediatamente próximo de si (ex: ar, água, etc.), e esta perturbação (sinal) caminha até chegar ao outro ser. É
uma situação semelhante à mostrada na figura abaixo onde o estado da última bola é alterado pela ação da primeira
bola, sem que tenha ocorrido o contato desta com a última bola. O que foi comunicado veio através de um sinal.

Na comunicação por partícula, a mensagem chega através do choque da partícula emitida por um ente, com outro
ser.
choque
ENTE ENTE

4
1.2 Tipos de Sinais Considerando que a bomba queimará se for acionada sem haver água no circuito hidráulico, projete um circuito
lógico para acionar a bomba sempre que a caixa superior estiver vazia, desde que tenha água na cisterna.
Intensidade
Os sinais são caracterizados por pelo menos duas informações:
• A intensidade (grau de força com que o sinal ocorreu ou chegou); Caixa
Resposta:
• A fase (o instante em que o sinal ocorreu ou chegou); Superior

Cisterna Caixa Superior Bomba


instantes Vazia Vazia Desligada
Conforme sua intensidade, os sinais podem ser quantizados em diversos estados:
Vazia Cheia Desligada
Cheia Vazia Acionada Cisterna
• Sinais de dois estados ou binários (existe e não existe, ligado ou desligado, aceso ou apagado, quente ou frio,
Cheia Cheia Desligada
disponível ou em falta)
• Sinais de três estados ou ternários (a favor / contra / neutro)
• Sinais de n-estados
c) Considere um circuito elétrico composto de uma fonte de energia comercial (a alimentação da empresa de
distribuição de energia, p.ex., a Light), uma alimentação auxiliar (um gerador e um no-break, com bateria de
Conforme a fase os sinais podem ser classificados em:
acumulação) e um interruptor (nossas entradas ) e um sistema de computadores (nossa saída). O computador
• Síncronos – ocorrem no mesmo instante poderá operar se:
• Assíncronos – ocorrem em instantes distintos
• Houver energia disponível (se não estiver "faltando luz") em um dos circuitos de alimentação e
1.3 Exemplo Introdutório • O interruptor estiver ligado.

a) Considere um circuito elétrico composto de uma fonte de energia comercial (a alimentação da empresa de Elabore a tabela verdade que representa esse circuito lógico.
distribuição de energia, p.ex., a Light) e um interruptor (nossas entradas ) e uma lâmpada (nossa saída). A lâmpada
acenderá se - e somente se Resposta:
• Houver energia disponível (se não estiver "faltando luz") e
• O interruptor estiver ligado. Energia Alimentação Interruptor Computador
Elabore uma tabela que represente esse circuito lógico. Comercial Auxiliar
Faltando Faltando Desligado Não operando
Resposta: Faltando Faltando Ligado Não operando
Faltando Disponível Desligado Não operando
Para este exemplo, os sinais que modelam o sistema são: Faltando Disponível Ligado Operando
• Energia – pode assumir dois estados: faltando ou disponível Disponível Faltando Desligado Não operando
• Interruptor – pode assumir dois estados: desligado ou ligado Disponível Faltando Ligado Operando
• Lâmpada – pode assumir dois estados: apagada ou acesa Disponível Disponível Desligado Não operando
Disponível Disponível Ligado Operando
Assim, uma tabela seria:

Energia Interruptor Lâmpada


1.4 Definindo Estados
Faltando Desligado Apagada
Para definição do estado de um sinal, as transições são ignoradas, só a intensidade interessa para uma determinada
Faltando Ligado Apagada
fase (ou intervalo de tempo).
Disponível Desligado Apagada
• Estado-0: contraído, curto, comprimido, apagado, com luz, sem orifício (cartão)
Disponível Ligado Acesa
• Estado-1: distendido, longo, alargado, aceso, sem luz, com orifício (cartão)
b) Considere um sistema composto de duas caixas d'água (uma superior e uma cisterna).
Os circuitos normalmente utilizados na construção de computadores reconhecem dois tipos de estados, (estado 0 e
estado 1). Pelo fato de serem dois estados, estes circuitos são também chamados de binários.
• A cisterna é alimentada pela entrada de água da "rua", via empresa distribuidora (ex.: CEDAE).
• A caixa superior serve para distribuir a água, por gravidade, em todo o prédio: bicas, chuveiros, descargas
sanitárias, circuitos anti-incêndio, etc, 1.5 Sensibilidade
• A água da cisterna é impulsionada por uma bomba hidráulica através de uma tubulação que liga a cisterna à
caixa superior. Quanto distendido, curto, comprimido?

Valor Binário do Sinal Definição Faixa de Tensão


0 Falso (Low) 0 a 0,2 V
1 Verdadeiro (High) 2,5 a 5 V

A implementação dos circuitos normalmente é feita através de circuitos elétricos e, assim sendo, os dois estados (0
e 1) são reconhecidos conforme haja ou não eletricidade em determinado ponto.

5 6
Nos últimos anos, grande parte dos fabricantes têm seguido uma padronização, conhecida como padrão TTL
(Lógica Transistor-Transistor). De acordo com este padrão, o estado O é reconhecido para tensões entre - 0.5V e
0.8V, e o estado 1 para o nível de tensão entre +2 e +5.5V, para fases com duração até 10 ns.

Estado-1: Pulsos de amplitude 5V e duração de 10 ns


5V
2
10 ns Álgebra de Boole e Lógica de
1.6 Exercícios
1.6.1 Defina com suas palavras o que é um sinal analógico e um sinal digital, destacando os pontos que os
Circuitos
diferenciam.
1.6.2 Dê exemplos, do mundo real, de sinais de mais de um estado : binários, ternários e etc.
1.6.3 Determine a partir do gráfico abaixo ao lado quais sinais são síncronos e quais representam o mesmo estado.

2.1 Lógica de contatos - Dispositivos bi-estáveis


Uma lâmpada é um dispositivo que exibe o valor de sinais binários onde, "acesa" pode significar estado um e
"apagada" estado zero. Dispositivos deste tipo são chamados bi-estáveis, pois oscilam entre dois estados que não se
alteram sozinhos: sempre é preciso uma ação externa para modificá-los. Depois que são levados a qualquer um de
seus dois estados, nele permanecem e é preciso uma ação externa para levá-lo ao estado oposto. O estado não se
altera sozinho com o tempo.

Portanto, em princípio é possível se construir máquinas lógicas, que utilize a luz como sinal binário de
processamento.

X é uma variável binária (só pode assumir dois valores distintos: ou 0 ou 1)

Variável X Função L X L
0 0
1 1

2.2 Contatos em Paralelo


Representam a operação OR (OU) que é simbolizada pelo caracter: +
X
X Y L(X, Y) L
0 0 0 Y
0 1 1
1 0 1
1 1 1
L(X, Y) = X + Y

7 8
INVERSOR
2.3 Contatos em Série A X

Representam a operação AND (E) que é simbolizada pelo caracter: .

X Y L(X, Y) X Y L A X
0 1
0 0 1 1 0
0 1 0
1 0 0
1 1 0 2.7 Implementação física das Portas Lógicas
L(X, Y) = X .Y
2.7.1 Síntese Mecânica
2.4 Inversão , Negação ou Complementação Utilizando sinais mecânicos pode-se construir Gates mecânicos, conforme mostrado a seguir

Gate AND Gate OR


X
X L(X)
0 1 L
1 0

_
L=X

2.5 Circuitos Singulares


AND
Sempre aberto: 0
Sempre fechado: 1

2.6 As cinco portas lógicas


Abstraindo-se a implementação física da lógica de contatos, é fácil se definir as cinco portas lógicas que são os
principais blocos construtores do nível de lógica digital.
AND OR
A A
X X

B B 2.7.2 Síntese por fios


A B X A B X Gate OR Gate AND
0 0 0 0 0 0
0 1 0 0 1 1 α pequeno
1 0 0 1 0 1
1 1 1 1 1 1
α
NAND NOR
A A
X X

B B

A B X A B X 2.7.3 Síntese com a luz


0 0 1 0 0 1
0 1 1 0 1 0 Também é possível se construir gates que utilizem sinais luminosos. O mais simples deles é o gate OR. Este gate
1 0 1 1 0 0 deverá responder com "ACESO" se qualquer luz chegar à qualquer uma de suas entradas. A forma mais simples de
1 1 0 1 1 0 se realizar o gate OR com luz, utiliza espelhos conforme mostrado na figura abaixo:

9 10
2.7.4.2 Porta NAND
VCC
Dois transistores ligados em série:

• Se tanto V1 quanto V2 forem altos, ambos os transistores


conduzirão, e VOUT será baixo.
VOUT
• Se uma das entradas estiver em nível baixo, o transistor
correspondente abrirá, e a saída será alta.
• VOUT será baixa se e somente se, tanto V1 quanto V2 V1
estiverem altas.

O gate NOT utilizando sinais de luz é um pouco mais trabalhoso, pois envolve o fenômeno da interferência. Este
fenômeno ocorre quando dois feixes de luz que percorrem caminhos diferentes se superpõem (interferência de V2
Fraunhofer). Nesse ponto as duas ondas podem se somar (interferência construtiva) ou subtrair (interferência
destrutiva) produzindo franjas claras e escuras.

Assim se for utilizado numa das entradas do gate uma lâmpada constantemente acesa como referência e na outra
entrada um sinal luminoso qualquer (aceso ou apagado), posicionando-se a saída na região onde ocorre a 2.7.4.3 Porta NOR VCC
interferência destrutiva, pode-se obter o gate NOT. É importante observar que o tamanho do orifício de entrada e
saída devem ser da mesma ordem de grandeza do comprimento de onda de luz incidente. Dois transistores ligados em paralelo:

Como dois gates: OR e NOT pode-se montar o gate AND . É importante notar que alguns dos gates devem ser • Se qualquer entrada estiver alta, o VOUT
trabalhados para compensar as perdas de intensidade da luz devido ao processo de reflexão e refração. transistor correspondente fechará e a
saída será aterrada. V1 V2
• Se ambas as entradas estiverem baixas,
2.7.4 Síntese Eletrônica a saída permanecerá alta.

2.7.4.1 Inversor NOT


O transistor pode operar como uma chave binária muito rápida:

Um transistor bipolar em um circuito simples, conforme 2.8 A dualidade das portas


VCC
mostrado na figura ao lado, possui três conexões com o mundo
exterior: Conforme pode ser visto, um circuito AND é exatamente igual a um circuito OR quando se troca o zero pelo um e
• O coletor, o um pelo zero. Assim, quando fazemos um AND estamos simultaneamente fazendo um OR. O mesmo
• A base acontecendo com o NAND e o NOR. Uma forma se reproduz na outra.
Coletor VOUT
• O emissor.
Base O mesmo pode ser observado para as portas NAND e NOR.
VCC é uma tensão regulada externamente, tipicamente +5 volts. VIN
O resistor é necessário para limitar a corrente que passa pelo transistor. Entretanto a porta NOT não sofre alteração, de forma que os duais para circuitos lógicos são:
Emissor
• Quando a tensão de entrada VIN, está abaixo de certo valor
crítico, o transistor abre e age como uma resistência infinita, PORTAS DUAL
fazendo a saída do circuito, VOUT, adquirir um valor muito OR AND
próximo a VCC. AND OR
NOR NAND
• Quando VIN excede o valor crítico, o transistor fecha e age como um fio, fazendo VOUT ser ligado à terra (por NAND NOR
convenção, 0 volt). NOT NOT

• Quando VIN é baixo, VOUT é alto, e vice-versa. Este circuito é, portanto, um inversor convertendo um 0
lógico em um 1 lógico, e um 1 lógico em um 0 lógico. 2.9 Definição Axiomática da Álgebra de Boole
Devido à simplicidade de projeto e construção, acarretando na redução de seu custo e maior confiabilidade, os
circuitos eletrônicos (que formam os computadores digitais) são capazes de distinguir apenas dois níveis de tensão -
computadores digitais binários. Estes sinais elétricos são tensões que assumem dois diferentes valores: um valor
positivo (cerca de +3 V - três volts positivos) para representar o valor binário 1 e um valor aproximado a 0 V (zero

11 12
volt) para representar o valor binário 0. Na realidade, estes valores não são absolutos, e sim faixas de valores, com
uma margem de tolerância (entre +2.5 e +3.5 V, representando o valor binário 1, e entre 0 e + 0,5 V representando
o valor binário 0).

A lógica que permite aos computadores operar baseados nestes dois valores é chamada Álgebra de Boole, em
homenagem ao matemático inglês George Boole (1815-1864). Esta lógica, incluindo o estudo de alguns Circuitos
Lógicos elementares, é baseada em um conjunto de axiomas conforme mostrado a seguir.
3
2.10 Axiomas de Boole Funções Lógicas de Variáveis
Seja um conjunto B que contém pelo menos 2 elementos (0 e 1) e duas operações internas (. e +) sobre E, isto é: B
= { E, . , +, 0, 1}. Para este conjunto são definidos 9 axiomas (denominados axiomas de Boole) : Binárias
Associatividade : Distributividade

A1. (X +Y) + Z = X + (Y + Z) A7. X . (Y + Z) = (X . Y ) + (X . Z)


A2. (X . Y) . Z = X . (Y . Z) A8. X + (Y . Z) = (X + Y) . (X + Z)

Comutatividade : Existência de Complemento


_ _ _
A3. X + Y = Y + X A9. ∀ X ∃ X ⎜ X . X = 0 e X + X = 1
A4. X . Y = Y . X

Dos Elementos Neutros 3.1 Conceito


A5. X + 0 = 0 + X = X As funções lógicas são definidas através de:
A6. X . 1 = 1 . X = X
• Tabela da Verdade : tabela de valores da função para todas as combinações das variáveis
• Funções +, . e ¯ : qualquer função booleana pode ser escrita em função dos operadores fundamentais
• Blocos Lógicos

3.2 Funções de uma variável


1 X Fi Y = Fi(X)
Existem ao todo: 2 2 = 4 funções

X F1=Nula / Aberto F2=Identidade F3=Inversor F4= Fechado


0 0 0 1 1
1 0 1 0 1

3.3 Funções de duas variáveis


X1
Fi Y = Fi(X)
22
Existem ao todo: 2 = 16 funções X2

Variáveis Uma Saída ativa Duas Saídas ativas Três Saídas ativas 4
X1 X2 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16
Nula And Nor ⊕ Comp Nand Implic OR Unit
0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1
1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1
1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1

13 14
3.4 Funções de n variáveis 3.7 Operador NOR
Existem ao todo: 2 2 funções
n

3.7.1 Definição
As funções são tabuladas com: 2 2 linhas e 2 2 colunas
n

_
1 variável Î 2 linhas e 4 colunas NOR de uma entrada: ↓ X = X (negação pura)
2 variáveis Î 4 linhas e 16 colunas _ _ _____
3 variáveis Î 8 linhas e 64 colunas NOR de duas entradas: X ↓ Y = X . Y = X + Y
4 variáveis Î 16 linhas e 256 colunas
X1 X2 Nor NOR

0 0 1 X
X+Y X ↓ Y = X∨Y = X ∧Y X
3.5 Teorema de Morgan 0 1 0
OR Z
Y
1 0 0 Y

X + Y = X .Y 1 1 0

X .Y = X + Y 3.7.2 Propriedades
Pelo teorema de Morgan bastam dois "gates" ( AND e NOT ou OR e NOT) para se obter o terceiro "gate". Isto é • O operador NOR é comutativo: X ↓ Y = Y ↓ X
fácil de se ver, pois o teorema mostra que: • O operador NOR não é associativo: X ↓ Y ↓ Z ≠ (X ↓ Y) ↓ Z ≠ X ↓ (Y ↓ Z)

a) A inversão de X + Y reproduz X . Y com cada sinal invertido, logo tendo os "gates" OR (+) e NOT (barra) e 3.7.3 Síntese de Operadores por meio do NOR
invertendo-se os sinais X e Y, pode obter-se o "gate" AND (.).

X X
X X.Y Operador OR Operador AND
X +Y X .Y AND
OR
Y NOR X X NOR

Y X .Y = X↓Y
X X↓Y X + Y = X↓Y
Y Y
Y
Y
b) A inversão de X . Y reproduz X + Y com cada sinal invertido, logo tendo os "gates" AND (.) e NOT (barra) e
invertendo-se os sinais X e Y, pode obter-se o "gate" OR (+).
X 3.8 Operador NAND
X
X
X .Y X +Y OR
X+Y
AND
Y Y 3.8.1 Definição
_
Y NAND de uma entrada: ↑ X = X (negação pura)
_ _ _____
O teorema de Morgan formaliza o fenômeno da dualidade das portas lógicas (ver item 2.8)
NOR de duas entradas: X ↑ Y = X + Y = X . Y
NAND
X1 X2 Nand
3.6 Regras para representação das condições de Saída 0 0 1 X
X X .Y X ↑ Y = X.Y = X +Y Z
Graças ao Teorema de Morgan, pode-se concluir que existem duas formas canônicas para representação das 0 1 1 AND
1 0 1 Y Y
condições de saída:
1 1 0
a) Formas que produzem saída 1 (e portanto as demais condições produzem saída 0) ou alternativamente,
b) Formas que produzem saída 0 (e portanto as demais condições produzem saída 1).
3.8.2 Propriedades
Assim, uma forma representa as condições que produzem saída 1 (SOMA DOS MINITERMOS) , a outra
representa as condições que produzirão saída 0 (PRODUTO DOS MAXITERMOS). Essas formas são alternativas, • O operador NAND é comutativo: X ↑ Y = Y ↑ X
isto é, a expressão poderá ser encontrada aplicando-se alternativamente UMA ou OUTRA das formas. • O operador NAND não é associativo: X ↑ Y ↑ Z ≠ (X ↑ Y) ↑ Z ≠ X ↑ (Y ↑ Z)

MINITERMO - são termos somente com AND (termos PRODUTO)


MAXITERMO - são termos somente com OR (termos SOMA).

15 16
3.8.3 Síntese de Operadores por meio do NAND Assim, a aplicação do operador XOR à saída de um outro operador XOR com um dos sinais, restaura o outro sinal

Operador AND Operador OR Z Y X


0 0 0
X
X NAND 1 1 0
NAND
X X + Y = X↑Y 1 0 1
X↑Y X . Y = X↑Y 0 1 1
Y
Y
Y Z X Y
0 0 0
1 0 1
3.9 Relação entre NAND e NOR 1 1 0
0 1 1
X ↑ Y = X .Y = X + Y = X ↓ Y
Devido a essa propriedade, o operador XOR é muito usado na criptografia

3.10 Operador XOR (ou exclusivo) 3.11 Exercício


3.10.1 Definição Algoritmos de criptografia são muito utilizados em páginas de comércio eletrônico da Internet e na construção de
redes VPN (Virtual Private Network), para garantir o sigilo na comunicação entre um cliente e o servidor.
A função booleana “ou-exclusivo” (XOR) só gera uma saída ativada quando apenas uma das entradas está ativada,
isto é: Normalmente esses algoritmos usam uma chave K conhecida do cliente (ou dinamicamente transferida de um
X Y Z=X R servidor em tempo de execução) que é utilizada para criptografar o conteúdo de uma mensagem (que pode ser o
0 0 0 número do cartão de crédito do cliente, o valor da compra, o código do lojista, etc.) segundo a expressão:
0 1 1 Z = K Θ Conteúdo
1 0 1
1 1 0 O valor Z, criptografado, é enviado do cliente ao servidor onde é descriptografado com a mesma chave K segundo
a expressão:
Z=X Y Z Θ K = Conteúdo
Qual a sugestão que você daria para o operador Θ ?
3.10.2 Propriedades Resposta
A função XOR apresenta uma propriedade muito interessante quando se combina a saída Z com alguma
O operador é semelhante à função XOR, já que:
das entradas, conforme pode ser visto a seguir:
Se Z = X Y Î X Z = Y (resulta no valor original), e Y Z=X

X Z X R
0 0 0
0 1 1
1 1 0
1 0 1

Pela tabela anterior pode-se verificar que quando o XOR for aplicado em uma das variáveis X ou Y junto
com o valor do XOR das duas variáveis (X Y), o resultado reproduz uma das variáveis (no caso a
variável Y), isto é:
Se Z = X Y Î X Z = Y (resulta no valor original), e Y Z=X

Esta propriedade é extremamente útil em algoritmos de criptografia e também na computação gráfica

17 18
4
Circuitos Lógicos

4.1 Descrição dos Circuitos Básicos


De uma maneira geral, os circuitos digitais utilizados num computador podem ser de dois tipos:

(i) Circuitos Combinacionais


• FULL-ADDER
• DECODER/DEMULTIPLEXER
• COMPARER
• CONVERTER
• DATA SELECTOR/MULTIPLEXER

(ii) Circuitos Seqüenciais


• MEMORY CELL
• FLIP-FLOP
• CLOCK
• REGISTER

A base desses circuitos são os "gates": AND (.), OR (+ ) e NOT (¯)

4.2 Circuitos Combinacionais


São circuitos que realizam alguma função booleana de n variáveis
As funções sempre poderão ser escritas com os operadores OR, AND e NOT
Por razões práticas um circuito poderá ser melhor realizado (menos Gates, menos custos, mais rápido, etc.) com
uma tecnologia particular (NAND, NOR, etc.)

4.3 Comparador de Bit


Circuito tal que: Z = 1 se x = y
Z = 0 se x ≠ y

Tabela da Verdade:
X Y Z
0 0 1
0 1 0
1 0 0
1 1 1

19 20
_ _
Função Booleana: Z = (X . Y) + (X . Y)
X 4.6 Data Selector / Multiplexador
Diagrama de Blocos: AND
Y
Circuito combinacional onde a saída S depende de um controle K denominado chave. Assim, dependendo da chave
Z
OR uma das entradas será enviada à saída. A chave K seleciona qual das entradas se deseja na saída.

AND 4.6.1 Caso de 2 entradas


Tabela da Verdade:
4.4 A Soma dos Minitermos K S
0 X
É produzida construindo:
1 Y
• Um termo (uma sub-expressão) para cada linha da tabela verdade (que representa uma combinação de valores
de entrada) em que a saída é 1,
• Cada um desses termos é formado pelo PRODUTO (FUNÇÃO AND) das variáveis de entrada, sendo que:
- Quando a variável for 1, mantenha;
Função Booleana:
- Quando a variável for 0, complemente-a (função NOT). K
• A função booleana será obtida unindo-se os termos PRODUTO (ou minitermos) por uma porta OR (ou seja, S = ( X .K ) + (Y .K )
"forçando-se" a saída 1 caso qualquer minitermo resulte no valor 1). AND
X
Diagrama de Blocos: OR
S
Dessa forma, ligando os termos-produto (também chamados minitermos) pela porta OR, caso QUALQUER UM
dos minitermos seja 1 (portanto, caso qualquer uma das condições de valores de entrada que produz saída 1se
verifique), a saída pela porta OR será também 1. Ou seja, basta que se verifique qualquer uma das alternativas de AND
valores de entrada expressos em um dos minitermos, e a saída será também 1, forçada pelo OR. Caso nenhuma Y
dessas alternativas se verifique, produz-se a saída 0.
4.6.2 Caso de 4 entradas
4.5 Decodificador Tabela da Verdade:
K1 K2 S
Circuito combinacional que a cada valor do elemento de informação faz corresponder o valor 1 a uma e só uma
0 0 X1
saída.
0 1 X2
1 0 X3
Tabela da Verdade:
1 1 X4
X Y S1 S2 S3 S4
Função Booleana:
0 0 1 0 0 0
0 1 0 1 0 0 ( ) ( ) ( )
S = X 1.K1.K 2 + X 2.K1.K 2 + X 3.K1.K 2 + ( X 4.K1.K 2 )
1 0 0 0 1 0 X1 X2 X3 X4
1 1 0 0 0 1 Diagrama de Blocos: Decodificador
Funções Booleanas: AND

AND
S1 AND

S1 = X .Y
S 2 = X .Y AND
K1 S
S 3 = X .Y X AND
S2 AND OR

S 4 = X .Y
AND
Diagrama de Blocos: K2
Y AND
S3 AND

AND

AND
S4 AND

21 22
4.7 Produto dos Maxitermos 4.9 Circuito Somador (ADDER)
É produzida construindo: 4.9.1 O Half Adder
• Um termo (uma sub-expressão) para cada linha da tabela verdade (que representa uma combinação de valores
de entrada) em que a saída é 0,
• Cada um desses termos é formado pela SOMA (FUNÇÃO OR) das variáveis de entrada, sendo que: Considere a adição de 2 algarismos binários: a e b, gerando um algarismo s de saída e um algarismo c do vai 1
- Quando a variável for 0, mantenha; (carrier)
- Quando a variável for 1, complemente-a (função NOT).
• A função booleana será obtida unindo-se os termos SOMA (ou maxitermos) por uma porta AND (ou seja, a b S C a S ... saída
"forçando-se" a saída 0 caso qualquer minitermo resulte no valor 0). 0 0 0 0 Half
0 1 1 0 Adder C ... carrier (vai 1)
b
Dessa forma, ligando os termos-soma (também chamados maxitermos) pela porta AND, caso QUALQUER UM 1 0 1 0
dos minitermos seja 0 (portanto, caso qualquer uma das condições de valores de entrada que produz saída 0 se 1 1 0 1
verifique), a saída pela porta AND será também 0. Ou seja, basta que se verifique qualquer uma das alternativas de
valores de entrada 0 expressos em um dos maxitermos, e a saída será também 0, forçada pelo AND. Caso nenhuma Este circuito pode ser sintetizado com as seguintes funções:
dessas alternativas se verifique, produz-se a saída 1. S=a⊕b A B
C=a.b
Assim, o half adder é um circuito combinacional composto de dois S
elementos: um XOR (exclusive-or) e um gate AND.
4.8 Demultiplexador
C
Circuito combinacional que conforme o valor de K conecta a entrada E à uma das saídas S

Tabela da Verdade:
K1 K2 S1 S2 S3 S4 Circuito half-adder
0 0 E 0 0 0
0 1 0 E 0 0
1 0 0 0 E 0
4.9.2 O Adder
1 1 0 0 0 E
A adição de dois algarismos binários ai e bi, considerando um carrier c i anterior, é feita através de um circuito
ADDER.
Função Booleana:

(
S1 = E.K1.K 2 ) (
S 2 = E.K1.K 2 ) (
S 3 = E.K1.K 2 ) S 4 = (E.K1.K 2 )
ci
Entrada
ai bi si
Saída
ci+1 ai
0 0 0 0 0 Adder si ... saída
Diagrama de Blocos: E
Decodificador 0 0 1 1 0 bi
S1 ci+1 ... carrier (vai
AND 0 1 0 1 0 ci
AND 0 1 1 0 1
1 0 0 1 0
AND
S2 1 0 1 0 1
K1 AND 1 1 0 0 1
1 1 1 1 1
AND
S3
K2 Neste caso:
[ ] [ ( )]
AND
si = ci .(a ⊕ b ) + ci . a ⊕ b logo si = ai ⊕ bi ⊕ c i+1
S4 Ai Bi Ci
AND ci +1 = ai .bi + ai .bi .ci + bi .ai .ci
ci +1 = [ai .bi ] + [(ai ⊕ bi ).ci ]
AND Si

Ci+1

Circuito Somador (2 meio-somadores)

23 24
4.9.3 O Full Adder
Permite a adição de 2 números binários de tamanho “n”, pela utilização de circuitos ADDER
a3 b3 a2 b2 a1 b1 a0 b0
c0=0 5
ADDER ADDER ADDER ADDER
Circuitos Seqüenciais
c4 c3 c2 c1
s3 s2 s1 s0

4.10 Procedimento para Construção de Circuitos Lógicos


O mesmo comportamento (a mesma tabela da verdade) pode ser igualmente representada por qualquer das
formas canônicas. 5.1 Elemento Lógico Monoestável
Se ambas as formas canônicas produzem expressões equivalentes, como escolher qual a representação a utilizar? Circuitos seqüenciais são circuitos lógicos que não correspondem diretamente a funções booleanas porque a saída
Escolha a que resultar em menor número de termos, produzindo uma expressão mais simples. de uma porta pode estar ligada, através de outras portas, a uma entrada dessa porta, como ilustra a Figura abaixo

Por esse método, pode-se encontrar a expressão que represente qualquer tabela verdade.
B Q
Após se encontrar uma expressão que represente o comportamento esperado, é possível que não seja uma expressão OR
A
simples que possa ser construída com poucas portas lógicas. Antes de projetar o circuito, é útil SIMPLIFICAR a
expressão, de forma a possibilitar construir um circuito mais simples e portanto mais barato.
O circuito acima consiste de apenas uma porta “Ou” realimentada.
Portanto, o fluxo de procedimento será: DESCRIÇÃO VERBAL ---> TABELA VERDADE ---> FORMA
CANÔNICA ---> FUNÇÃO SIMPLIFICADA ---> CIRCUITO Se A e Q estão no nível lógico “0” Î B está também no nível lógico “0”
Se A muda para “1” Î Q irá para “1” Î B muda para “1”
Se A retorna para “0” com B ainda em “1” Î Q não muda e permanece em “1” Î Elemento guarda a saída lógica
“1” para sempre Î A porta “OU” lembrará o último “1” recebido
Assim, o circuito acima é uma unidade lógica básica com memória monoestável (só tem um estado lógico estável
que é o “1”)

O comportamento de um circuito seqüencial tem de ser especificado em função do tempo para todos os possíveis
valores das entradas e dos estados internos das memórias.

Assim, nos circuitos seqüenciais existem dispositivos que memorizam resultados, são as “unidades de memória” de
modo a que os valores das saídas num dado instante dependem também do estado desses dispositivos.

5.2 Elemento Lógico Bi-estável

OR
A

C
AND
B

No circuito da Figura acima suponhamos que A e B estão com o valor 1. Então a saída da porta “OR” é 1, e assim,
as entradas na porta “AND” são 1 e a sua saída é C = 1. Se A tiver o valor 0, o valor de C não se altera. No entanto,

25 26
se B for zero o valor de C também passa a ser 0, independentemente do valor de A. Î o circuito memorizou o sinal Na prática, os elementos de memória, são mais complexos e, em particular, tem associados um circuito de relógio
colocado em B (neste caso A = 1 funciona como um sinal “memorize B” para o circuito). que permite controlar temporalmente (sincronizar) as várias componentes dos circuitos sequenciais. Os circuitos de
relógio são elementos que apenas emitem um sinal com uma frequência bem determinada.
5.2.1 Circuito Astável ou Gerador de Onda de Relógio (CLK) As primeiras tecnologias utilizadas em memórias foram as memórias de núcleos magnéticos, hoje apenas uma
curiosidade. As memórias modernas, conforme visto, são compostas por circuitos semicondutores, com novas
Um circuito astável tem dois estados, sendo os 2 quase-estável. Sem a ajuda de um sinal de disparo externo, a
tecnologias sendo criadas a cada ano permitindo que grandes quantidades de células de memória sejam
configuração astável fará sucessivas transições de um estado quase-estável para o outro. Assim o circuito astável é
encapsuladas em pequenas pastilhas.
um oscilador e é usado como um gerador de ondas quebradas ou uma forma de onda de relógio.

5.4 Flip-Flop
É um elemento lógico biestável (possui 2 estados lógicos estáveis).
Gráfico de um sinal de relógio
Tem uma ou mais entradas e duas saídas (geralmente complementares: Q e Q ).
V1
CP1 Q1
É um circuito que permanecerá em seu último estado a menos que um sinal de entrada cause uma mudança.
CP2 Q2

Gerador de relógio (pulser)


5.5 Flip-Flop RS NAND
S
5.3 A Memória É o mais simples
Q

É a célula básica de outros Flip-Flops


A capacidade ``recordar'' dos circuitos seqüenciais permite que sejam usados na construção de unidades de Tem duas entradas: S = Set e R = Reset
memória e de registradores.
Tem duas saídas: Q e Q NAND __
Q
Uma memória de um bit é um circuito capaz de recordar ao longo do tempo o valor da sua entrada e produzir esse
valor. R

Um destes circuitos muito simples é apresentado na Figura a seguir. O circuito é controlado pela linha de entrada L
(Store), que permite a atualização do valor ``guardado'' pelo circuito. Normalmente, o valor dessa linha é 0 e o (a) Se S= 0 e R = 1 Î Q = ( S .Q) = (0.Q) = (0) = 1 Î Q=1 independente do estado anterior Î Q =0
valor da saída permanece, ao longo do tempo, sempre o mesmo.
A partir do instante em que Q = 0, a saída Q permanecerá em “1” (independente de S) Î S=1 e R=1 Î Q = 1 (o
estado anterior é conservado)
(b) Se S=1 e R = 0 Î Q = ( R.Q) = (0.Q) = (0) = 1 Î Q = ( S .Q ) = (1.1) = (1) = 0 (independente do nível lógico
de R)
A partir do instante em que Q = 0, a saída Q permanecerá em “1” (independente de R) Î S=1 e R=1 Î Q = 0 (o
“1 “ AND
estado anterior é conservado) e Q = 1
AND
RESET
Porta b (c) Se R=0 e S=0 Î Q=1 e Q =0
Inversor a
(d) Por (a) S=1 e R=1 Î Q = 1 (o estado anterior é conservado)
Por (b) S=1 e R=1 Î Q = 0 (o estado anterior é conservado)
STORE L OR Logo, se S=1 e R=1 Î Q=0 ou Q=1 (dependendo da velocidade de chaveamento):
O AND
DATA
AND Se a porta de R é mais rápida Î ela vê em suas entradas R=Q=1 Î força a saída Q =0 Î na entrada da porta de S
Porta d
Porta c
tem-se S=1 e Q =0 Î força a saída Q=1 Î Q = ( R.Q ) = (1.1) = (1) = 0 Î Q não muda
READ
É impossível se saber à priori qual porta é a mais rápida ou mais lenta Î não se pode afirmar quais serão os níveis
lógicos nas saídas Î situação indeterminada
Se L=0 e O=1 então, as entradas na porta b são ambas 1 e portanto a saída da porta d é 1, isto é, se o valor de O é 1
permanece 1. S R Q
Se o valor de L=0 e O=0, então uma das entradas da porta b é 0, o que significa que a sua saída é também 0.
Q
Assim as duas entradas da porta d são 0, produzindo um valor 0 para O. Reset 0 1 1 0 R recebe “1” Î Q vai para 1 independente de S
Se o valor de L passa a 1, então, por causa do inversor a a saída da porta b é 0. 1 1 1 0 Conserva estado anterior de Q e Q (qualquer pulso em S não tem
Se a primeira entrada da porta c é 1, então o valor da saída desta porta é o valor de I (entrada “Data”) e que será efeito na saída)
também o valor de O. Set 1 0 0 1 S recebe “1” Î Q vai para 0 independente de R
Assim, se L=1 o valor de saída do circuito é valor da entrada I. 1 1 0 1 (qualquer pulso em R não tem
Conserva estado anterior de Q e Q
Se L passar para 0, o valor de saída do circuito permanecerá esse valor. efeito na saída)
Ambos 0 0 1 1 R e S após assumirem “0” retornam a “1”
1 1 ? ? Indeterminado
Em uma montagem com portas Nor, o FF-RS manteria o estado anterior quando ambos S e R forem 0.
27 28
5.6 Flip-Flop RS com Relógio PR (Preset) e CLR (Clear) atuam independentes do relógio CLK Î podem ser acionados de modo assíncrono (sem
estar em sincronismo com o relógio)
C
S
S1
A O estado normal das entradas PR e CLR é “1”
Q
Quando CLK = 1:
Se PR = 0 e CLR = 1 Î Q = 1 e Q = 0
CLK
B __
Se PR = 1 e CLR = 0 Î Q = 0 e Q = 1
D Q
R1 Quando CLK = 1 Î tanto S quanto PR atuam como “Set” enquanto as entradas R e CLR atuam como “Reset”
R Quando CLK = 0 Î as entradas PR e CLR atuam como S e R

CLK = entrada do relógio Através das entradas PR e CLR é possível a modificação do estado do FF mesmo que CLK esteja no nível “0”
Portas A e B: formam um FF-RS
Portas C e D: permitem a passagem dos sinais S e R se CLK = 1 Mas o Flip-flop continua apresentando o problema da indeterminação

Os instantes de subidas e descidas do relógio são muito bem definidos no tempo Î O relógio serve como
referência para os demais sinais
5.8 Flip-Flop D sensível ao nível do pulso de Relógio
PR
Condições:
• As informações já devem estar presentes nas entradas S e R quando chegar o pulso do relógio
C A
• A duração do pulso do relógio deve ser suficiente para que a informação passe para as saídas Q e Q , pois a S
S1 Q
transferência de informação não é instantânea (devido aos diversos tempos de atraso e de propagação).
• As entradas S e R não variam enquanto o pulso do relógio estiver presente.
CLK
Se CLK = 0 Î S1 = R1 = 1 (independente de S e R) Î S e R estão inibidas pois não conseguem acionar o FF-RS D B
__
Se CLK = 1 Î S1 = ( S .CLK ) = (S .1) = S e R1 = ( R.CLK ) = (R.1) = R Î funciona como simples FF-RS Î R1 Q
FF-RS tem condições de armazenar as informações de S ou de R R

Vantagem: as saídas Q e Q estarão sincronizadas com o restante do circuito que use o mesmo relógio
CLR
Entradas Durante o pulso Após o pulso
S R Q Q As entradas S e R são sempre uma inversa da outra Î R = S Î Não existe mais a situação de porta mais rápida
Q Q que a outra Î Resolve a condição de indeterminação do flip-flop RS.
0 1 0 1 0 1
1 0 1 0 1 0
0 0 Conserva Estado Conserva Estado S R Q Q
1 1 1 1 Indeterminado
0 1 1 0
1 0 0 1
5.7 Flip-Flop RS com Preset, Clear e Relógio
Problema: só tem uma única entrada S (pois R é automaticamente determinado pela inversão de S)
PR

5.9 Flip-Flop JK
C A
S
S1 Q
Mestre Escravo
J Q1
S1 S2
G C Q
CLK E A
D B
__
R1 Q
CLK
R
__
Q
F B
R1 R2
H D
K Q2
CLR

29 30
V2
5V
+V Q0 Q1 Q2 Q3

Consiste de dois flip-flop RS com relógio, um denominado mestre (master) e o outro escravo (slave)
Permite duas entradas (J e K)
Resolve a condição de indeterminação do flip-flop RS V1
U1A U1B U2B U2A
S S S S
CP1 Q1 J Q J Q J Q J Q
CP _ CP _
Quando CLK = 1: CP2 Q2 K Q K Q
CP
K
_
Q
CP
K
_
Q
R R
Se J = 0 , K = 0 Î S1 = R1 = 1 e CLK = 0 Î S2 = R2 = 1 Î o Flip-flop escravo não muda Î V3 R R
0V
A informação para o escravo é passada quando o pulso do relógio retorna ao nível o (CLK = 0 Î CLK = 1) Î
Contador Binário Assíncrono Módulo 16 Crescente
Q = Qanterior e Q = Q anterior
Para que a contagem seja decrescente, basta trocar a saída Q pela Q negada na entrada de clock seguinte.
Entradas Saídas
J K Q Q 5.11 Registradores
0 0 Qanterior Q anterior
0 1 1 0 Registradores são conjuntos de flip-flops que podem ou não estar interconectados entre si, conforme mostrado
1 0 Qanterior abaixo:
Q anterior
1 1 1 1 • Registradores de Armazenamento – quando os flip-flops não estão interconectados entre si
• Registradores de Deslocamento – quando os flip-flops estão interconectados entre si

74LS76
Assim, um registrador de n-bits é um conjunto de n memórias de 1 bit. Normalmente, os registradores são de 8, 16
74LS75 74LS74
D3 __
Q3 CP1 J1 __
Q1 ou 32 bits. Numa CPU (unidade central de processamento) existem habitualmente vários registradores (fixos) para
__ K1 Q1
D2
E23
Q3
__
Q2
D1
S1
Q1
Q1 CP1 tarefas específicas ou para tarefas gerais (registradores programáveis). Nesses registradores, são efetuadas as
SD1
D1
Q2
__
Q1
R1
RD1 operações de leitura ou de escrita simultaneamente em cada um dos seus bits.
D0 Q1 CP2 J2 __
Q2
E01 __
Q0 D2 __
Q2 K2 Q2
Q0 S2
R2
Q2 CP2
SD2 Registradores são VOLÁTEIS, isto é, dependem de estar energizados para manter armazenado seu conteúdo.
RD2

Latches e Flip-Flops : CI´s: 74LS74, 74LS75 e 74LS76 Registradores são dispositivos de armazenamento temporário, localizados na CPU, extremamente rápidos, com
capacidade para apenas um dado (uma palavra). Devido a sua tecnologia de construção e por estar localizado como
parte da própria pastilha ("chip") da CPU, é muito caro. O conceito de registrador surgiu da necessidade da CPU de
5.10 Contadores armazenar temporariamente dados intermediários durante um processamento. Por exemplo, quando um dado
resultado de operação precisa ser armazenado até que o resultado de uma busca da memória esteja disponível para
São circuitos digitais que variam os seus estados, sob o comando de um clock, de acordo com a seqüência pré- com ele realizar uma nova operação.
determinada. São utilizados principalmente para contagens, geradores de palavras, divisores de freqüência, medidas
de freqüência e tempo, geradores de forma de onda, conversão de analógico para digital, sequenciamento de Máquinas RISC são geralmente construídas com um grande conjunto de registradores, de forma a trazer os dados
operações de máquinas etc. para o mais próximo possível da CPU, de forma a que o programa opere sempre sobre dados que estão em
registradores.
5.10.1 Contadores Assíncronos U7 U6
4076 74LS298
I0d S
Consistem de vários Flip-Flops conectados em série que avançam de um estado para o outro em resposta a um D3
D2
Q3
Q2 I0c CP
evento, que pode ser o clock. D1
D0
Q1
Q0
I0b
I0a Qd
I1d Qc
ED1 I1c Qb
Módulo de um contador é o número de diferentes estados de saída que este contador pode apresentar, antes de ED0 I1b
I1a
Qa
EO1
retornar ao seu estado inicial. EO0
CP
MR
Num contador constituído com n Flip-Flops pode, no máximo, ter um módulo de 2n, mas se quisermos, podemos Exemplos de registradores : 4076 e 74LS298 (72298)
fazer com que o contador não passe por todos os estados possíveis. Neste caso o módulo seria menor que 2n.

31 32
5.11.1 Registradores de Deslocamento
V5
5V
+V Q0 Q1 Q2 Q3 6
V7
5V
S
U4B
S
U4A
S
U3A
S
U3B
Sistemas Digitais Aplicados na
Computação
U5A J Q J Q J Q J Q
CP _ CP _ CP _ CP _
K Q K Q K Q K Q
R R R R
V4
5V
V6
CP1 Q1
CP2 Q2

Registrador de deslocamento de 4 bits

A cada pulso de relógio, o Registrador de Deslocamento (Shift Register) irá deslocar a informação armazenada
entre os flip-flops, da seguinte maneira:
A informação do primeiro flip-flop é passada para o segundo
A informação do segundo flip-flop é passada para o terceiro 6.1 Introdução
....................
O último flip-flop recebe a informação do penúltimo e perde a que estava nele armazenada O Objetivo deste capítulo, é mostrar de que forma os circuitos digitais, combinacionais e seqüenciais, possibilitam
a criação de uma infra-estrutura lógica e física para a construção de máquinas de processamento genéricas.
U9 U8 Serão abordados dois circuitos necessários ao funcionamento da arquitetura conceitual de Von Neuman, e que estão
74LS95 74LS96 presentes de alguma forma, nos computadores digitais. O primeiro dos circuitos a ser estudado será o Sistema de
S S MR
CP1 PE Leitura e Escrita Indexada de Dados, onde serão mostrados projetos dos subsistemas necessários para o
CP2 CP
D3 PstA QA armazenamento e recuperação de dados em memória principal. O segundo circuito é a Unidade Lógica e Aritmética
D2
D1
Q3
Q2
PstB
PstC
QB
QC (ULA ou ALU), parte integrante de qualquer unidade central de processamento (CPU), e responsável pelas
D0
DS
Q1
Q0
PstD
PstE
QD
QE operações lógicas e aritméticas necessárias durante a execução das operações pré-programadas de uma CPU.
Vale lembrar que esses sistemas mencionados, são ainda enquadrados, em parte ou em todo, na classificação
Exemplos de registradores de deslocamento: 74LS95 e 74LS96
mostrada no capítulo 4: combinacionais e seqüenciais, e portanto, requerem pleno conhecimento dos conceitos já
Dados digitais podem ser apresentados na forma série ou paralela. abordados anteriormente.
Na apresentação série, os bits individuais de uma palavra são conduzidos por um único fio e são apresentados em
seqüência temporal, um bit após o outro. 6.2 Sistema Digital para Armazenamento e Recuperação de Dados
Na apresentação paralela todos os bits da palavra são apresentados simultaneamente, usando tantos fios quantos
forem necessários. O formato série economiza circuitos. Por outro lado, o formato paralelo economiza tempo. Para entendermos de que forma podemos acessar um determinado dado, armazenado em um lugar específico da
Exemplo: determinado nível lógico leva 1µs para ser reconhecido. O formato série usaria 8µs para transmitir uma memória de um computador, temos inicialmente que definir alguns conceitos relativos à organização de
palavra de 8 bits, ao passo que o formato paralelo levaria apenas 1µs. computadores, em particular, a estrutura fundamental da memória principal (MP).
Diversas vezes é preciso passar de uma forma de apresentação para outra. O registrador de deslocamento pode ser
usado para este fim. 6.2.1 Estrutura da MP – Células e Endereços
A memória precisa ter uma organização que permita ao computador guardar e recuperar informações quando
necessário. Portanto, não basta transferir informações para a memória. É preciso ter como encontrar essa
informação mais tarde, quando ela for necessária, e para isso é preciso haver um mecanismo que registre
exatamente onde a informação foi armazenada (lembrando nossa analogia com o computador hipotético, imagine
encontrar uma informação guardada ao acaso, se nosso escaninho tivesse 1 milhão de compartimentos ...).

Em virtude desse problema, precisamos definir dois elementos necessários à estrutura organizacional de qualquer
sistema de acesso à memória principal computacional. São eles:

33 34
Célula é a unidade de armazenamento do computador. A memória principal é organizada em células. Registrador de endereço (MAR – Memory Address Register) – que contém o endereço de uma posição de
Célula é a menor unidade da memória que pode ser endereçada (não é possível buscar uma "parte" memória a que se quer gravar.
da célula) e tem um tamanho fixo (para cada máquina). As memórias são compostas de um
determinado número de células ou posições. Cada célula é composta de um determinado número de Registrador de conteúdo (MBR – Memory Buffer Register) – que contém um valor a escrever na memória ou que
bits. Todas as células de um dado computador tem o mesmo tamanho, isto é, todas as células irá conter um valor lido da memória.
daquele computador terão o mesmo número de bits.
O registrador MAR tem 2 bits, o registro MBR tem 3 bits e cada uma das posições de memória, à esquerda, também
Endereço é o “localizador” da célula, que permite identificar univocamente cada célula da memória. É tem 3 bits. Cada bit é um elemento de memória, como o exemplificado anteriormente.
utilizado pelo sistema e pelos programas para referenciar posições de memória. As células são
numeradas seqüencialmente, uma a uma, de 0 a (N-1), chamado o endereço da célula. Habitualmente, uma memória de um bit é representada por um quadrado que pode conter o valor 0 ou 1, consoante
o valor da sua linha de saída O. A esse valor chama-se também o seu conteúdo.
Assim, identificamos uma célula específica pelo seu endereço associado.
Supondo-se que o registro MAR contenha num dos elementos o valor 0 e no outro o valor 1, então a seqüência de
O tamanho em bits das células e dos endereços de uma memória, está altamente acoplada à arquitetura interna do bits 01 corresponde em binário ao endereço da posição de memória que se irá manipular.
processador em questão. Em geral o tamanho de uma célula poder ser igual aos da palavra (unidade de
processamento da CPU) e da unidade de transferência (quantidade de bits que vem e vai da MP à CPU), porém, Obs: Em publicações na língua portuguesa é comum o uso dos termos RDM (registro de dados de memória) e
por razões técnicas e de custo, são freqüentemente diferentes. REM (registro de endereço de memória) ao invés de MBR e MAR respectivamente.

6.2.2 Número de bits para representar um endereço 6.2.4.1 Esquema do Circuito de Escrita
Para uma operação de escrita, supomos que existe uma linha W tal que só se o seu valor for 1 é que a alteração da
A memória principal é constituída por posições memória (células) todas com o mesmo número de bytes (1 byte =
posição de memória é realizada.
8bits), tendo cada uma delas um endereço (valor numérico).
W
Expressão geral: MP com endereços de 0 a (N-1)
Memória
N = 2x logo: x = log2 N

(Memory Address Register)


Bit-0 1 0 0
sendo x = nº de bits para representar um endereço e N o número de endereços.
I0

Decodificador
Bit-0 Bit-1 0 0 0

MAR
6.2.3 Capacidade da Memória Principal I1
Bit-1 Bit-2 1 0 1
I2
Num computador a capacidade memória (número de posições de memória) pode variar, mas está normalmente Bit-3 0 1 1
condicionado pelo número de endereços que a CPU pode aceitar. I3

A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula.
MBR (Memory Buffer
T = capacidade da memória em bits Register)
T=NxM
N = nº de endereços ( como vimos anteriormente, N=2x sendo x = nº de bits do endereço) Bit-0 Bit-1 Bit-2
M = nº de bits de cada célula

Para encontrar a capacidade em bytes, bastaria encontrar a capacidade em bits e depois dividir por 8 (cada byte O registrador de endereço MAR está ligado a um decodificador que ativa uma das suas 2n saídas de acordo com o
contém 8 bits) ou então converter o tamanho da célula para bytes e depois multiplicar pelo número de células. valor da seqüência de n bits de entrada (no decodificador). Para o caso com n=2, o decodificador ativa uma das
suas 4 saídas, cada uma das quais está ligada a uma das posições de memória. Assim colocando-se o endereço de
O último endereço na memória é o endereço N-1 ( os endereços começam em zero e vão até N-1). memória no MAR, o sistema identifica a posição de memória que se pretende alterar.

6.2.4 Projeto Simplificado de Uma Memória O registrador de conteúdo MBR, isto é, cada um dos seus bits, está ligado com cada uma linhas de entrada I de cada
posição de memória (isto é, com cada um dos respectivos bits). No esquema, a linha com uma seta na extremidade
Para exemplificar o acesso de leitura/escrita a uma posição de memória, vamos considerar um módulo de memória - que liga o MBR a cada posição de memória - , corresponde na realidade a 3 linhas uma para cada um dos bits das
com: posições de memória.
• 4 posições de memória Î 4 endereços de memória
• Cada posição com 3 bits. Para uma posição de memória (que tem 3 bits) têm-se
• A cada posição de memória associa-se um endereço (que é um inteiro de 0 a 3). Î Serão necessários 2 bits
para representar um endereço (no caso geral, para 2n posições de memória serão necessários n bits – ver item
5.12).

Define-se os seguintes dispositivos:

35 36
De acordo com o valor correspondente às linhas de controle, são selecionadas as 3 linhas da posição de memória
cujo endereço é esse valor. Assim o conteúdo dessa posição de memória é “lido” e guardado no registro de depósito
MBR.
W
MBR (Memory Buffer
Register) Bit-0 do endereço-0
(Memory Address Register)

1 0 0
Bit-0 1 0 1 Bit-0 do endereço-1

0 0 0

Decodificador
Bit-0=1 Bit-1
Bit-0 do endereço-2
MAR

Bit-1=0 Bit-2
1 1 0 1
Bit-0 do endereço-3
0 1 1
Bit-3
Multiplexador
Decodificador
AND
AND
Memória 1 Para o
RAM 1 0 1 bit-0 do
AND MBR
Bit-0 do MAR=1
AND OR

Quando o valor de W é 1 então, considerando os circuitos dos elementos de memória e o decodificador, facilmente
se conclui que cada um dos bits da posição de memória apontada pelo MAR vai ficar com os valores dos AND
Bit-1 do MAR=1
respectivos bits do MBR. Neste caso, a posição de memória 3 (Bit-2 ativo) ficaria com a seqüência 101. AND

6.2.4.2 Esquema do Circuito de Leitura AND


AND
A leitura de um valor da memória é uma tarefa mais simples, uma vez que não se tem de alterar o estado dos
elementos de memória. Apenas, é necessário fornecer o endereço da posição de memória, como entrada, e a saída,
será a informação contida nessa posição de memória (o seu conteúdo).
Como no esquema anterior, as linha com uma seta na extremidade correspondem a 3 linhas, uma para cada bit das
posições de memória. Neste caso, a posição de memória selecionada foi a 3 (supondo numeradas de cima para
baixo) e portanto a seqüência 011 foi transferida para o registrador MBR.
W

Memória 6.2.5 Intervalo de N-Formas (N-way interleaving)


(Memory Address Register)

Bit-0
Uma abordagem interessante e de uso intensivo para aumentar a taxa de transferência de informações da MP sem a
necessidade de se aumentar o tamanho do barramento (fios conectores entre as diversas partes da cpu e os
Multiplexador
Decodificador

Bit-0 Bit-1
elementos externos a ela) é a "n-way interleaving", que consiste em conjunto de memórias de mesmo tamanho com
MAR

Bit-1 Bit-2 capacidade de operar de forma paralela.


Bit-3
Em geral, as memórias utilizadas, dentro do contexto dessa abordagem, conseguem endereçar mais endereços do
que sua quantidade nominal (214→216).

Quando, na CPU, um microprograma necessita buscar uma nova palavra, ele divide o endereço de 16 bits do nível
MBR (Memory Buffer convencional de máquina em duas partes. A parte mais direita, formada por dois bits especifica qual das memórias
Register) será usada: 0, 1, 2 ou 3. A parte mais a esquerda, formada por 14bits, especifica o endereço real da memória em
questão.
Bit-0 Bit-1 Bit-2

Após o microprograma, ter determinado qual memória usar, ele coloca os 14bits mais a esquerda do endereço
Na Figura anterior apresenta-se um esquema desse circuito. Além do registrador de endereço (MAR), do envolvido no MAR associado a memória selecionada, e inicia o processo de leitura. Enquanto o microprograma
registrador de depósito de conteúdo (MBR) e das posições de memória, é necessário um multiplexador. Este aguarda o termino da leitura, ele pode acionar a leitura de outras memórias em paralelo para buscar outros dados.
multiplexador tem:
• Uma linha de entrada para cada bit de cada uma das posições de memória ( 3 x 4 = 12) Note que as informações de endereços consecutivos k, k+1, k+2 e k+3, sempre estarão em memórias diferentes, e
• Duas linhas de entrada de controle. como resultado, ate 4 endereços (ou instruções) podem ser buscadas em paralelo. Note que este método independe
do tamanho do MBR (no exemplo 16 bits).

37 38
Memória 0 (00) 2 Memória 1 (01) 2 Memória 2 (10) 2 Memória 3 (11)2
0 Palavra 0 0 Palavra 1 0 Palavra 2 0 Palavra 3
1 Palavra 4 1 Palavra 5 1 Palavra 6 1 Palavra 7
2 Palavra 8 2 Palavra 9 2 Palavra 10 2 Palavra 11 6.3 ULA (Unidade Lógica e Aritmética)
A ULA ou ALU, pode ser vista como o coração de um processador por ser ela a responsável em realizar todas as
operações lógicas e aritméticas que constantemente ocorrem em uma maquina de von newmann.

A ULA é um circuito combinacional capaz de realizar operações elementares, que em conjunto, formam operações
complexas: soma, subtração, incremento, and, or, xor, not e etc.

Uma ULA típica possui dois barramentos de entrada de dados (X) e (Y), e um barramento de saída para os
resultados (S).

Alem dos barramentos de e/s, uma ULA também possui um barramento de controle, através do qual determina-se a
operação a ser realizada em um determinado instante, e quais linhas de saída adicionais (flags) serão acionadas para
sinalizar a ocorrência de condições especiais(e. g. carry-out, overflow, e etc)

Barramento para Entrada de Dados


16382 Palavra 65528 16382 Palavra 65529 16382 Palavra 65530 16382 Palavra 65531
16383 Palavra 65532 16383 Palavra 65533 16383 Palavra 65534 16383 Palavra 65535 X Y
14 16 14 16 14 16 14 16
MAR MBR MAR MBR MAR MBR MAR MBR

Seleção da Seleção da
Operação Operação
Campo de 2-bits seleciona ULA
uma das quatro memórias :
Endereço de 14-bits 0,1,2 ou 3

16-bit address

Quatro memórias distintas de 214 palavras cada podem ser usadas para implementar um único espaço de endereçamento de 216 palavras S
Barramento para Saída de Dados

Observação :
Apesar de uma ULA trabalhar com dois operandos, ela também pode executar operações que envolvam apenas um
operando (armazenado no acumulador). Por esta razão, o acumulador possui uma lógica adicional além da
Define-se como barramento um conjunto de fios em paralelo, realizando uma conexão elétrica cuja representando
necessária para torná-lo um registrador de uso geral como o registrador B.
em cada fio equivale a um bit. Em geral, são usados para conectar registradores entre si. Dois registradores de 16-
bits serão conectados entre si por uma barramento de 16 fios.
O registrador de flags mostra o status referente à última operação executada. Por exemplo, se o resultado da
operação for zero, um flag (Z) é setado, indicando tal situação. Outros flags possíveis são : Carry, Paridade, Sinal,
A largura de um barramento deste tipo é dito como de 16-bits, portanto, a arquitetura de um processador
overflow, e etc.
específico que determina o tamanho das palavras e dos registradores, também é determinativo quanto ao tamanho
do barramento.

39 40
Operações com Um Operando : Clear, complementação, incremento, decremento, deslocamento à esquerda,
deslocamento à direita, carga e saída de dados são exemplos de operações que ocorrme sobre um único operando.

Exemplo de Uma Operação de Complemento

Operações com Dois Operandos : Soma, Subtração, Comparação, AND, OR e XOR são exemplos de operações
que ocorrem sobre dois operandos.

Exemplo de Uma Operação de Deslocamento à Direita

Exemplo de Uma Operação de Rotação à Esquerda

41

Você também pode gostar