Buscar

Unidade Lógica Aritmetica (ULA)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Departamento de Ciência da Computação
Arquitetura de Processadores Digitais
ULA – Unidade Lógica e Aritmética
ALU - Arithmetic Logic Unit ou
ULA - Unidade Lógica e Aritmética
− É construída com base em portas lógicas
− No MIPS, é de 32 bits
− Realiza as operações aritméticas e lógicas do computador:
soma/subtração em complemento de 2
operação lógica AND
operação lógica OR
operação slt (set on less than, 1 se a < b)
detecção de overflow
l Decodificador: “traduz” a entrada de n bits para um outro
valor
Elementos Básicos da ULA
Elementos Básicos da ULA
S
00X
S
l Multiplexador: seletor de entradas
0
1
A
B
00
01
X0
X1
10
11
X2
X3
2x1
4x1
F F
Elementos Básicos da ULA
CarryIn
Soma
a
b
CarryOut
+
Entradas Saídas 
a b CarryIn CarryOut Soma 
0 0 0 0 0 
0 0 1 0 1 
0 1 0 0 1 
0 1 1 1 0 
Somador
CarryOut
1 0 0 0 1 
1 0 1 1 0 
1 1 0 1 0 
1 1 1 1 1 
 
 
Construindo uma ULA de 1 bit
l AND e OR de 1 bit
Construindo uma ULA de 1 bit
Operação
a
0
CarryIn
l AND
l OR
l Adição
b
Saída1
2+
CarryOut
ULA de 32 bits
adição, 
AND, 
OR CarryIn
CarryOut
ULA 0
a0
b0
CarryIna1
Resultado0
CarryIn Operação
CarryIn
CarryOut
ULA 1
a1
b1
CarryIn
ULA 31
a31
b31
Resultado1
Resultado31
Subtração
l Negativa de um dos operandos (b): inverter os bits e somar 1
l Para inverter, acrescentamos um multiplexador que escolhe entre b e a sua
negação
l Para somar 1, somamos o primeiro CarryIn (bit menos significativo)
InverteBit OperaçãoCarryIn
b 0
1
a
Saída
0
1
2+
CarryOut
NOR
slt (set on less than)
1 se rs < rt, 0 em caso contrário
l slt zera todos os bits de 1 a 31. O bit 0 (menos significativo) 
será 1 ou 0, dependendo do resultado da comparação
l Solução: mais uma entrada, Less, que é igual ao resultado
de slt para o bit nº 0 e 0 para os bits 1 a 31
slt (set on less than)
InverteBit
Operação
a
0
CarryIn
0
1
InverteBit
b 0
1
1
2+
CarryOut
3Less
Calculando slt
O bit menos significativo (bit 0) da ULA deve ser 1 se rs < rt
Calcula-se este valor subtraindo rs de rt e toma-se o bit de 
sinal:
se rs – rt < 0, então rt > rsse rs – rt < 0, então rt > rs
Utiliza-se o próprio subtrator da ULA para obter este valor, 
modificando-se o último estágio
Último Estágio da ULA
InverteBit Operação
a
0
1
CarryIn
b 0
1
Saída
1
2+
3
Overflow
Set
Overflow
Primeiro Estágio da ULA
InverteBit Operação
a
0
1
CarryIn
b 0
1
Saída
1
2+
3Less
Demais Estágios da ULA
InverteBit Operação
a
0
1
CarryIn
b 0
1
Saída
1
2+
30
ULA de 32 bits
As instruções de desvio condicional bne e beq testam se 
dois valores são iguais ou não
Para testar igualdade subtraem-se os dois operandos e 
testa-se se o resultado é zero:
Testando a igualdade
A = B se A – B = 0
Teste: operação NOR entre os bits do resultado
Igual = not(R0 or R1 or ... or R31) 
Testando a igualdade
ULA 0
a0
b0
a1
Resultado0
Operação
NegaBit
ULA 1
a1
b1
ULA 31
a31
b31
Resultado1
Resultado31
Overflow0
0
Set
Zero
ULA de 32 bits
Exemplo de Tabela de Linhas de Controle
1 bit - Ainvert
1 bit - Binvert
4 bits - operação

Outros materiais