Вы находитесь на странице: 1из 13

CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA ELÉTRICA

AMAURI
CARLOS CAMPANA
DIEGO CARDOSO DE ARAUJO
RAFAEL MARTIN
THIAGO ARAUJO

UNIDADE LÓGICA ARITMÉTICA


Projeto de uma Unidade Lógico-Aritmética (ULA)

Londrina
2009
AMAURI
CARLOS CAMPANA
DIEGO CARDOSO DE ARAUJO
RAFAEL MARTIN
THIAGO ARAUJO

UNIDADE LÓGICA ARITMÉTICA


Projeto de uma Unidade Lógico-Aritméticas (ULA)

Trabalho de Engenharia Elétrica apresentado à


Universidade Norte do Paraná - UNOPAR, como
requisito parcial para a obtenção de média bimestral na
disciplina de Microprocessadores e Microcontroladores.

Orientador: Edson Junior Acordi

Londrina
2009
1 INTRODUÇÃO........................................................................................................... 3
2 DISCUSSÃO..............................................................................................................4
REFERÊNCIAS..........................................................................................................12
3

1 INTRODUÇÃO

Uma unidade lógico-aritmética (ULA) é responsável pelas operações


lógicas e aritméticas básicas num processador. As operações aritméticas
tipicamente realizadas por uma ULA são adição, subtração, incremento e
decremento. Dentre as operações lógicas citam-se o E, o OU, identidade e
complemento. Lembrando que as primeiras duas operações lógicas são definidas
entre os pares de bits, cada um pertencendo a um dos operandos. Já as duas
últimas operações lógicas são definidas para os bits de (somente) um dos
operandos.
Como todas as operações aritméticas se baseiam na adição, pode-
se projetar uma ULA acrescentando-se alguns circuitos lógicos especiais às
entradas de um somador (ripple-carry ou carry lookahead). Os circuitos lógicos
usados na realização das operações lógicas às vezes recebem o nome de
extensores lógicos (EL) enquanto que aqueles usados na realização das
operações aritméticas às vezes são chamados extensores aritméticos (EA).
4

2 DISCUSSÃO

1 Extensores Lógicos

1.1 Operação AND

Operação AND, cujo operador é representado por um ponto, pode


ser aplicada a duas ou mais variáveis (que podem assumir apenas os valores
("verdadeiro" ou "falso"). A operação AND aplicada às variáveis A e B é expressa
por: A AND B = A.B.
A operação AND resulta "verdadeiro" se e apenas se os valores de
ambas as variáveis A e B assumirem o valor "verdadeiro".

Figura 1: Operação AND da ULA Projetada

1.2 Operação OR

Operação OR, cujo operador é uma adição e que também pode ser
aplicada a duas ou mais variáveis (que podem assumir apenas os valores
5

("verdadeiro" ou "falso"). A operação OR aplicada às variáveis A e B é expressa por:


A OR B = A+B
A operação OR resulta "verdadeiro" se o valor de qualquer uma das
variáveis A ou B assumir o valor "verdadeiro"

Figura 2: Operação AND da ULA Projetada

1.3 Operação NOT

A operação NOT (cujo operador pode ser uma barra horizontal sobre
o símbolo da variável), é unária, ou seja, aplicável a uma única variável. Ela é
expressa por: NOT A ou NOT B
A operação NOT inverte o valor da variável. Ela resulta "verdadeiro"
se a variável assume o valor "falso" e resulta "falso" se a variável assume o valor
"verdadeiro".

Figura 3: Operação NOT da ULA Projetada


6

1.4 Operação XOR

A operação XOR ou OR exclusivo é chamada também disjunção


exclusiva, é uma operação lógica em dois operandos que resulta em um valor lógico
verdadeiro se e somente se exatamente um dos operandos tem um valor verdadeiro.

Figura 4: Operação XOR da ULA Projetada

1.5 Circuito Lógico

Figura 5: Circuito Lógico da ULA Projetada


7

Duas entradas para seleção, sendo no caso acima, s0 e s1, duas


entradas a e b com Barramento de 4 bits e outra entrada de seleção M (do
multiplexador), com apenas uma saída de 4 bits. como todas as operações (NOT,
AND, OR e XOR) são executadas ao mesmo tempo, surge aí, a necessidade de
multiplexadores para selecionar o caminho até a saída, por isso, as entradas de
seleção, s0, s1 e M.

2 Extensores Aritméticos

2.1 Operação Soma

A B Cin S 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
Tabela 1: Circuito Somador
__ _ _
Pelo mapa de karnaught temos que: Cout = ABCin + ABCin + ABCin
+ ABCin e S = (A B) Cin

Figura 6: Circuito Aritmético Somador da ULA Projetada

2 Extensores Aritméticos
8

2.2 Operação Subtração

A B Cin Sub Cout


0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
Tabela 1: Circuito Somador
_ _
Pelo mapa de karnaught temos que: Cout = Cin(A+B) + A.B e S =
Cin (A B).

Figura 7: Circuito Aritmético Subtrator da ULA Projetada


9

2.3 Operação Multiplicação

A multiplicação binária é feita de maneira semelhante a multiplicação


com números, dessa maneira montamos esse circuito abaixo:

Figura 8: Esquema do Circuito Aritmético Multiplicador da ULA Projetada

Figura 9: Circuito Aritmético Multiplicador da ULA Projetada

Para a montagem utilizamos somador completo (SC), pois havia a


necessidade de somar o Carry anterior com a operação de soma das entradas A e
B.

2. Operação Divisão

Divisão é o reverso da multiplicação. Portanto, é um procedimento


para se saber quantas vezes um número pode ser subtraído de outro.
10

Figura 11: Circuito Aritmético Montado

3 Conclusão
11

O trabalho consistiu em projetar uma ULA e mostrar todas suas


operações, o que deu muito trabalho para fazer, houve uma certa dificuldade para
projetar a parte de divisão. Este trabalho também serviu para melhorar nossos
conhecimentos no assunto.
12

REFERÊNCIAS

< http://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica >. Acesso


em: 10 de Maio, 2009.

< http://www.fortunecity.com/bally/donegal/89/digi_aula21_05_2.htm> Acesso em:


12 de Maio, 2009.

< http://www.ime.uerj.br/professores/Mariaclicia/Oc1/Cap6_aritm.pdf> Acesso em:


12 de Maio, 2009.

Вам также может понравиться