Escolar Documentos
Profissional Documentos
Cultura Documentos
calculadoracomULA PDF
calculadoracomULA PDF
RESUMO1
Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas
para o desenvolvimento de circuitos que executam operações aritméticas básicas. A parte experimental
inclui o projeto de uma calculadora simples que executa as operações de soma e subtração, além de
multiplicação e divisão por 2 para valores em complemento de dois, utilizando o circuito integrado 74181
(ULA de 4 bits).
1. PARTE TEÓRICA
1.1. Soma / Subtração Usando Complemento de Dois
Sabe-se que numa operação aritmética em complemento de dois, não se corrige o resultado como no
caso da notação em complemento de um. É necessário, porém, somar-se 1 ao complemento bit a bit do
número:
(Complemento de 2) = (Complemento de 1) + 1.
Numa subtração, portanto, costuma-se “forçar” um “vem-um” na coluna de bits menos significativos dos
operandos:
Exemplos:
7 - 3 = 4 4 - 6 = -2
Numa soma de dois números de mesmo sinal (positivos ou negativos), a complementação não é
necessária e, portanto, não há “vem-um” forçado.
Exemplo:
-2 + (-3) = -5
1 1 1 0 -2 (complemento de 2)
1 1 0 1 -3 (complemento de 2)
1 0 1 1 -5 (complemento de 2)
1
Esta experiência foi baseada nas experiências “Somadores binários” e “Calculadora Simples”, desenvolvidas para o Laboratório
Digital.
X Y ou Y'
4 4
SUBTR = 1
S
Figura 1.1 - Circuito de Soma / Subtração em Complemento de 2 com somador binário.
13 1101 multiplicando
11 1011 multiplicador
0000 valor inicial do produto parcial
+ 1101 soma multiplicando, bit do multiplicador é 1
1101
0110 1 desloca para a direita
+ 1101 soma multiplicando, bit do multiplicador é 1
1 0011 1
1001 11 desloca para a direita
0100 111 só desloca para a direita, bit do multiplicador é 0
+ 1101 soma multiplicando, bit do multiplicador é 1
1 0001 111
1000 1111 desloca para a direita
Embora estas operações sejam complexas, certas situações podem levar a simplificações no circuito
digital que as implementa. Uma destas situações é a da divisão por dois, onde, no caso de números
positivos sem sinal, a operação pode ser implementada apenas por um deslocamento de bits de uma
posição à direita.
Exemplos:
6 / 2 = 3 5 / 2 = 2
0 1 1 0 6 0 1 0 1 5
0 0 1 1 3 0 0 1 0 2
O mesmo pode ser aplicado para a multiplicação de números inteiros positivos por dois, onde esta
operação pode facilmente ser implementada com um deslocamento de bits de uma posição à esquerda.
A B
S
F
A operação que deve ser executada com os dados (A e B) é determinada pelos sinais de controle (S) e o
resultado é obtido na saída (F). A complexidade da ULA é proporcional à complexidade do sistema em
que será utilizada; assim, sistemas simples permitem ULAs simples, e sistemas sofisticados exigem ULAs
sofisticadas.
Uma vez estabelecido o porte do sistema, existe também o compromisso entre velocidade e preço. Por
exemplo, as calculadoras eletrônicas exigem ULAs que permitem operações complexas, porém com
velocidade de operação baixa, reduzindo-se o custo; já os computadores de grande porte exigem
velocidade de operação elevada, aumentando o custo da ULA.
Atualmente têm-se várias alternativas de circuitos integrados que incluem uma ULA. Entre elas estão o
74181, 74381 e 74LS881.
A seguir será apresentada uma descrição de uma ULA integrada, o circuito integrado 74181.
M S3 S2 S1 S 0 Cn
A3 F3
A2 F2
A1 F1
A0 F0
74181
B3 G
B2 T
B1 A=B
B0 Cn+4
A0 a A3 e B0 a B3 Entrada Dados
Modo de operação:
M Entrada M=0 - para operações aritméticas
M=1 - para operações lógicas
0 0 0 0 F = A F=A F=A+1
0 0 0 1 F = (A OR B) F = A OR B F = (A OR B) + 1
0 0 1 0 F = A⋅B F = A OR B F = A OR B + 1
0 1 0 1 F = B F = (A OR B) + A ⋅ B F = (A OR B) + A ⋅ B + 1
1 0 0 0 F = A OR B F = A + A.B F = A + A.B + 1
1 0 0 1 F = (A ⊕ B) F=A+B F=A+B+1
1 0 1 0 F=B F = A OR B + A . B F = A OR B + A . B + 1
1 1 1 0 F = A OR B F = A OR B + A F = A OR B + A + 1
As saídas G e T são os sinais "gerador de vai-um", correspondentes ao bit mais significativo e, utilizando-
se o circuito integrado 74182, look-ahead carry generator, permitem a expansão da largura da palavra a
ser manipulada.
As operações de subtração são executadas em complemento de dois (C2). Por exemplo, (-1) é
representado por (1111). As operações lógicas são executadas bit a bit. Por exemplo, se a operação AND
é aplicada às entradas A = 1011 e B = 0110, resulta F = 0010.
O resultado de uma operação de comparação é apresentado na saída A = B. Para tanto, deve-se executar
a operação A - B - 1 com Cn = 1; se as duas entradas são iguais, a saída A = B toma o valor 1. Esta saída
tem a configuração open-colector para que seja possível implementar uma função wired-and dentre duas
ou mais saídas deste tipo pertencentes a diferentes ULAs, quando se deseja expandir a largura da
palavra a ser manipulada.
A saída Cn+4 representa o sinal de vai-um do último bit da palavra. Ela pode ser usada para propagar o
vai-um para o próximo estágio quando não há preocupação com a velocidade do circuito. O sinal Cn+4
também pode ser usado em conjunto com a saída A = B para indicar as condições A>B e A<B.
2. PARTE EXPERIMENTAL
2.1. Especificação do Projeto
Projetar o circuito da Calculadora Simples com ULA, onde a figura 2.1 ilustra os sinais de entrada e saída
do circuito.
D3 D2 D1 D0
I2
I1 Calculadora
I0
Simples
com ULA
Execute
S3 S2 S1 S0
Figura 2.1 – Circuito da Calculadora Simples com ULA.
O circuito deve realizar uma função, determinada pela entrada I (3 bits), sobre o dado de entrada D
de 4 bits e o conteúdo do registrador interno A de 4 bits. A tabela 2.1 apresenta as funções a serem
implementadas. O resultado deve ser armazenado em A apenas no acionamento do sinal EXECUTE.
O circuito da Calculadora Simples com ULA deve trabalhar com valores de 4 bits em notação de
complemento de dois.
Para o projeto do circuito devem ser usados componentes básicos como portas lógicas, decodificadores,
multiplexadores, somadores binários, registradores, deslocadores e flip-flops.
a) A montagem deve ser realizada e testes iniciais devem ser planejados pelo grupo.
b) O grupo deve propor um roteiro para a demonstração do correto funcionamento deste circuito.
Perguntas:
1. Explique como a operação de multiplicação por 2 poderia ser implementado usando a ULA.
2. Mostre como outras operações (p.ex. operações lógicas) poderiam ser acrescentadas no circuito.
3. Como seria o projeto do circuito da Calculadora se ao invés de uma ULA, fosse usado um
somador binário?
3. BIBLIOGRAFIA
• FREGNI, Edson e SARAIVA, Antonio M. Engenharia do Projeto Lógico Digital: Conceitos e Prática.
Editora Edgard Blucher Ltda, 1995.
• WAKERLY, John F. Digital Design Principles & Practices. 4th edition, Prentice Hall, 2006.
• Fairchild Semiconductor. TTL Data Book. Mountain View, California, 1978.
• MIDORIKAWA, E. T. Multiplicador binário. Apostila de Laboratório Digital, versão de 2004.
• PCS/EPUSP. Somadores binários. Apostila de Laboratório Digital, 2001.
• PCS/EPUSP. Calculadora simples. Apostila de Laboratório Digital, 2008.
• Texas Instruments. TTL Logic Data Book, 1994.
• TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Digital Systems: principles and applications. 11th ed.,
Prentice-Hall, 2011.
4. MATERIAL DISPONÍVEL
• Circuitos Integrados TTL:
7400 – portas NAND de 2 entradas 7486 – portas XOR
7402 – portas NOR de 2 entradas 74157 – multiplexadores de 2 para 1
7404 – portas inversoras 74175 – registrador de 4 bits
7408 – portas AND de 2 entradas 74181 – ULA de 4 bits
7410 – portas NAND de 3 entradas 74193 – contador síncrono up/down de 4 bits
7420 – portas NAND de 4 entradas 74194 – registrador deslocador bidirecional de 4 bits
7474 – flip-flops tipo D 74195 – registrador deslocador de 4 bits
5. EQUIPAMENTOS NECESSÁRIOS
• 1 painel de montagens experimentais.
• 1 fonte de alimentação fixa, 5V ± 5%, 4A.
• 1 osciloscópio digital.
• 1 multímetro digital.
• 1 gerador de pulsos.
Histórico de Revisões
E.T.M./2003 – revisão e adaptação.
M.D.M. e E.T.M./2005 – revisão.
E.T.M./2008 – revisão.
E.T.M./2012 – versão inicial com ULA.