SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Universidade Federal de Pelotas
Instituto de Física e Matemática
Departamento de Matemática, Estatística e Computação
Bacharelado em Ciência da Computação
Técnicas Digitais
Prof. José Luís Güntzel guntzel@ufpel.edu.br – semestre 2003/1
Projeto de uma Unidade Lógico-Aritmética (ULA)
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. Note 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). A figura 1 mostra um somador
para dois números de 4 bits (A e B) com os extensores lógicos e aritméticos acoplados às suas
entradas. Note que cada extensor recebe como entrada somente um dos bits de cada número (A e
B).
Figura 1 - Somador para dois números de 4 bits com extensores lógicos (EL) e aritméticos(EA).
Suponha que se deseje projetar uma ULA capaz de realizar 4 operações lógicas e 4 operação
aritméticas. Assim, estaremos usando os seguintes sinais de controle: M, S0 e S1. Se M=0, as
variáveis S1 e S0 selecionam uma dentre as 4 operações lógicas disponíveis. Se M=1, S1 e S0
selecionam uma dentre as 4 operações aritméticas. A tabela 1 mostra as operações desejadas bem
como os assinalamentos das variáveis M, S1 e S0 que selecionam cada uma das 8 operações
disponíveis.
SC
EL EA
x0 y0
f0
c1
b0a0
c0SC
EL EA
x1 y1
f1
c2
b1a1
SC
EL EA
x2 y2
f2
c3
b2a2
SC
EL EA
x3 y3
f3
c4
b3a3
SC
EL EA
x0 y0
f0
c1
b0a0
c0SC
EL EA
x1 y1
f1
c2
b1a1
SC
EL EA
x2 y2
f2
c3
b2a2
SC
EL EA
x3 y3
f3
c4
b3a3
Tabela 1 - Operações desejadas para a ULA a ser projetada.
M S1 S0 nome da função F X Y C0
0 0 0 complementa A’ A’ 0 0
0 0 1 E A E B A E B 0 0
0 1 0 identidade A A 0 0
0 1 1 OU A OU B A OU B 0 0
1 0 0 decrementa A-1 A todos 1s 0
1 0 1 soma A+B A B 0
1 1 0 subtrai A+B’+1 A B’ 1
1 1 1 incrementa A+1 A todos 0s 1
O ponto de partida para o projeto da ULA em questão será o somador de 4 bits, cujas entradas
estaremos denominando X (x3, x2, x1, x0) e Y (y3, y2, y1, y0), além da entrada c0. A saída do
somador será denominada F (f3, f2, f1, f0) e coincide com a saída da ULA. Por outro lado, a ULA a
ser projetada recebe como entrada dois números de 4 bits, os quais estaremos denominando A (a3,
a2, a1, a0) e B (b3, b2, b1, b0).
O projeto em questão será dividido em duas partes: projeto dos extensores aritméticos e
projeto dos extensores lógicos. Os extensores aritméticos devem realizar as operações aritméticas,
sendo utilizados ao se fazer M=1. Examinando a tabela 1 nota-se que para as situações em que M=1
a entrada X do somador deve receber o valor A (sempre), enquanto que a entrada Y recebe 1s, B, B’
ou 0s, conforme for a combinação de S1 e S0. Portanto, cada extensor aritmético irá operar sobre
um bit de B, de modo a gerar o resultado conforme mostrado na coluna Y da tabela 1. Além disso,
deve-se notar que quando a operação solicitada corresponder a uma operação lógica (M=0), Y deve
valer 0 (ou seja, todos os bits de Y devem ser iguais a zero). A partir deste detalhamento, pode-se
montar a tabela-verdade para o circuito de um extensor aritmético (tabela 2), da qual deriva-se o
mapa de Karnaugh (tabela 3) que nos conduz à equação simplificada.
Tabela 2 – Tabela-verdade para o extensor aritmético.
S1 S0 bi yi
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
Tabela 3 – Mapa de Karnaugh para o extensor aritmético.
S1S0
bi
00 01 11 10
0 1 0 0 1
1 1 1 0 0
A equação minimizada, obtida a partir do mapa de Karnaugh será yi = S1’.bi + S0’.bi’. Note
que, para efeitos de simplificação, omitiu-se a variável de entrada M. No entanto, tal variável deve
estar presente. Para tanto, observamos na tabela 1 que sempre que M=1 a operação selecionada é do
tipo aritmética. Por outro lado, se M=0, Y=0, ou seja, cada bit de Y deve valer zero. Assim, deve-se
fazer o E entre M e cada produto da equação anterior, o que conduz a seguinte equação: yi =
M.S1’.bi + M.S0’.bi’. A figura que segue mostra o circuito lógico referente a essa equação, o que
corresponde ao extensor aritmético.
Figura 2 – Circuito de um extensor aritmético (EA).
Passemos agora ao projeto dos extensores lógicos. Analisando-se a tabela 1, nota-se que Y=0
e c0=0 quando M=0. Estas condições são conseqüência do fato de se ter definido que todas as
operações lógicas são executadas exclusivamente pelos extensores lógicos, de modo que o somador
não é utilizado quando M=0. Porém, como X (que corresponde às saídas dos extensores lógicos)
entra no somador, será necessário fazer Y=0 e c0=0 de modo a permitir que X passe pelo somador
sem ser alterado (F=X). Deve-se notar ainda que quando M=1, X=A. As condições descritas neste
parágrafo podem ser transcritas para a tabela-verdade que segue, a qual permite determinar uma
expressão lógica para X em função de M, S1, S0, A e B.
Tabela 4 – Tabela-verdade para o extensor lógico.
M S1 S0 xi
0 0 0 ai’
0 0 1 ai.bi
0 1 0 ai
0 1 1 ai+bi
1 ? ? ai
Tabela 5 – Mapa de Karnaugh para o extensor aritmético.
M=0 M=1
S1S0
ai bi
00 01 11 10 00 01 11 10
00 1
01 1 1
11 1 1 1 1 1 1 1
10 1 1 1 1 1 1
S0
S1
M
bi
yi
EA
S0
S1
M
bi
yi
EA
A partir do mapa de Karnaugh mostrado pela tabela 5 chega-se a seguinte expressão
minimizada para xi: xi = M’.S1’.S0’.ai’ + M’.S1.S0.bi + S0.ai.bi + S1.ai + M.ai. O circuito lógico
correspondente pode ser visto na figura 3.
Figura 3 – Circuito de um extensor lógico (EL).
Feito o projeto dos extensores lógicos e aritméticos, deve-se encontrar a equação lógica que
descreve o comportamento da variável c0. Pode-se derivar a equação de c0 observando-se a tabela
1. Esta equação é c0 = M.S1, ou seja, o E entre M e S1. Para finalizar o projeto da ULA, observa-
se que, como partimos de um somador que pode ser configurado para realizar subtrações, o sinal de
overflow será formado da mesma maneira que em um somador/subtrator, ou seja, mediante a
colocação de uma porta OU-exclusivo (XOR) entre o último e o penúltimo transportes, conforme
mostra a figura 4.
Figura 4 – Diagrama da ULA projetada (com 4 bits).
SC
EL EA
x0 y0
f0
c1
b0a0
c0
SC
EL EA
x1 y1
f1
c2
b1a1
SC
EL EA
x2 y2
f2
c3
b2a2
SC
EL EA
x3 y3
f3
c4
b3a3
S0
S1
M
overflow
SC
EL EA
x0 y0
f0
c1
b0a0
c0
SC
EL EA
x1 y1
f1
c2
b1a1
SC
EL EA
x2 y2
f2
c3
b2a2
SC
EL EA
x3 y3
f3
c4
b3a3
S0
S1
M
SC
EL EA
x0 y0
f0
c1
b0a0
SC
EL EA
SC
EL EA
x0 y0
f0
c1
b0a0
c0
SC
EL EA
x1 y1
f1
c2
b1a1
SC
EL EA
SC
EL EA
x1 y1
f1
c2
b1a1
SC
EL EA
x2 y2
f2
c3
b2a2
SC
EL EA
SC
EL EA
x2 y2
f2
c3
b2a2
SC
EL EA
x3 y3
f3
c4
b3a3
SC
EL EA
SC
EL EA
x3 y3
f3
c4
b3a3
S0
S1
M
overflow
S1
S0
M
ai bi
xi
EL
S1
S0
M
ai bi
xi
EL
Caso se deseje uma ULA para operar sobre números com mais do que 4 bits, basta que se
conecte o número desejado de somadores completos e extensores lógicos e aritméticos, sempre
seguindo o esquema mostrado na figura 4. A figura 5 mostra um símbolo possível para a ULA
projetada. Neste símbolo, o número de bits foi omitido, de modo a torna-lo genérico.
Figura 5 – Um possível símbolo para a ULA projetada.
ULA
S0
S1
M
cout
A B
Foveflow
ULA
S0
S1
M
cout
A B
Foveflow

Más contenido relacionado

La actualidad más candente

Estudo completo de funções
Estudo completo de funções Estudo completo de funções
Estudo completo de funções numerosnamente
 
Curso básico de eletrônica digital parte 5
Curso básico de eletrônica digital parte 5Curso básico de eletrônica digital parte 5
Curso básico de eletrônica digital parte 5Renan Boccia
 
Arquitetura de micro introdução aos sistemas digitais
Arquitetura de micro introdução aos sistemas digitaisArquitetura de micro introdução aos sistemas digitais
Arquitetura de micro introdução aos sistemas digitaisCarlos Melo
 
Arquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra BooleanaArquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra BooleanaAlex Camargo
 
Curso básico de eletrônica digital parte 9
Curso básico de eletrônica digital parte 9Curso básico de eletrônica digital parte 9
Curso básico de eletrônica digital parte 9Renan Boccia
 
Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Renan Boccia
 
Função afim 2013-2014
Função afim 2013-2014Função afim 2013-2014
Função afim 2013-2014Carla Rebolo
 
Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Renan Boccia
 
Introdução a programação gráfica com Processing - Aula 02
Introdução a programação gráfica com Processing - Aula 02Introdução a programação gráfica com Processing - Aula 02
Introdução a programação gráfica com Processing - Aula 02Lucas Cabral
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 
Função Quadrática - 2
Função Quadrática - 2Função Quadrática - 2
Função Quadrática - 2numerosnamente
 
Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 01Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 01Lucas Cabral
 
Função Quadrática
Função QuadráticaFunção Quadrática
Função QuadráticaAureap
 

La actualidad más candente (19)

Estudo completo de funções
Estudo completo de funções Estudo completo de funções
Estudo completo de funções
 
computaçao
computaçaocomputaçao
computaçao
 
Curso básico de eletrônica digital parte 5
Curso básico de eletrônica digital parte 5Curso básico de eletrônica digital parte 5
Curso básico de eletrônica digital parte 5
 
Arquitetura de micro introdução aos sistemas digitais
Arquitetura de micro introdução aos sistemas digitaisArquitetura de micro introdução aos sistemas digitais
Arquitetura de micro introdução aos sistemas digitais
 
Arquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra BooleanaArquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra Booleana
 
Curso básico de eletrônica digital parte 9
Curso básico de eletrônica digital parte 9Curso básico de eletrônica digital parte 9
Curso básico de eletrônica digital parte 9
 
Algebra booleana-2995-kybded (1)
Algebra booleana-2995-kybded (1)Algebra booleana-2995-kybded (1)
Algebra booleana-2995-kybded (1)
 
Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12
 
Função afim 2013-2014
Função afim 2013-2014Função afim 2013-2014
Função afim 2013-2014
 
Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1
 
Semana 2: Funções e listas, variáveis
Semana  2: Funções e listas, variáveisSemana  2: Funções e listas, variáveis
Semana 2: Funções e listas, variáveis
 
Introdução a programação gráfica com Processing - Aula 02
Introdução a programação gráfica com Processing - Aula 02Introdução a programação gráfica com Processing - Aula 02
Introdução a programação gráfica com Processing - Aula 02
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
Função Quadrática - 2
Função Quadrática - 2Função Quadrática - 2
Função Quadrática - 2
 
Portas logicas
Portas logicasPortas logicas
Portas logicas
 
Função de 1º Grau
Função de 1º GrauFunção de 1º Grau
Função de 1º Grau
 
Aula 01
Aula 01Aula 01
Aula 01
 
Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 01Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 01
 
Função Quadrática
Função QuadráticaFunção Quadrática
Função Quadrática
 

Destacado

Apostila - Circuitos Digitais
Apostila - Circuitos DigitaisApostila - Circuitos Digitais
Apostila - Circuitos Digitaisunifesptk
 
Trabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra LinearTrabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra Linearunifesptk
 
Aprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIAprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIunifesptk
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetosunifesptk
 
Trabalho Final de Compiladores
Trabalho Final de CompiladoresTrabalho Final de Compiladores
Trabalho Final de Compiladoresunifesptk
 
Circuitos aritmeticos
Circuitos aritmeticosCircuitos aritmeticos
Circuitos aritmeticosunifesptk
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-toolunifesptk
 
Pratical mpi programming
Pratical mpi programmingPratical mpi programming
Pratical mpi programmingunifesptk
 
Algebra linear teoremas
Algebra linear teoremasAlgebra linear teoremas
Algebra linear teoremasunifesptk
 

Destacado (11)

Apostila - Circuitos Digitais
Apostila - Circuitos DigitaisApostila - Circuitos Digitais
Apostila - Circuitos Digitais
 
Trabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra LinearTrabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra Linear
 
Pcd
PcdPcd
Pcd
 
Aprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIAprendendo a mexer no quartus II
Aprendendo a mexer no quartus II
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
 
Trabalho Final de Compiladores
Trabalho Final de CompiladoresTrabalho Final de Compiladores
Trabalho Final de Compiladores
 
Circuitos aritmeticos
Circuitos aritmeticosCircuitos aritmeticos
Circuitos aritmeticos
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-tool
 
Pratical mpi programming
Pratical mpi programmingPratical mpi programming
Pratical mpi programming
 
Algebra linear teoremas
Algebra linear teoremasAlgebra linear teoremas
Algebra linear teoremas
 
Lexyacc
LexyaccLexyacc
Lexyacc
 

Similar a Projeto ULA 4 bits operações lógicas aritméticas

Aula_Algebra de Boole.pdf
Aula_Algebra de Boole.pdfAula_Algebra de Boole.pdf
Aula_Algebra de Boole.pdfMrioSitoe2
 
Ab funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasAb funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasMarco Antonio Costa
 
Ab funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasAb funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasEdnaldo Vicente
 
Funcionamento de Portas Logicas, Algebra Booleana
Funcionamento de Portas Logicas, Algebra BooleanaFuncionamento de Portas Logicas, Algebra Booleana
Funcionamento de Portas Logicas, Algebra Booleanaluisbernardinello
 
Atividade de Eletronica Digita - Técnico em Eletrotécnica
Atividade de Eletronica Digita - Técnico em EletrotécnicaAtividade de Eletronica Digita - Técnico em Eletrotécnica
Atividade de Eletronica Digita - Técnico em EletrotécnicaLTROMATMTICAMNZS
 
Circuitos booleanos e mapas de karnaugh
Circuitos booleanos e mapas de karnaughCircuitos booleanos e mapas de karnaugh
Circuitos booleanos e mapas de karnaughPedagogy
 
Algebrica de BooleI-antonio inacio ferraz, Técnico em eletronica no colégio c...
Algebrica de BooleI-antonio inacio ferraz, Técnico em eletronica no colégio c...Algebrica de BooleI-antonio inacio ferraz, Técnico em eletronica no colégio c...
Algebrica de BooleI-antonio inacio ferraz, Técnico em eletronica no colégio c...ANTONIO INACIO FERRAZ
 
antonio inacio ferraz-,Eletronica digital-eletronica no colegio cruzeiro do s...
antonio inacio ferraz-,Eletronica digital-eletronica no colegio cruzeiro do s...antonio inacio ferraz-,Eletronica digital-eletronica no colegio cruzeiro do s...
antonio inacio ferraz-,Eletronica digital-eletronica no colegio cruzeiro do s...ANTONIO INACIO FERRAZ
 
Apostila clp - blocos funcionais
Apostila   clp - blocos funcionaisApostila   clp - blocos funcionais
Apostila clp - blocos funcionaisRobisonpardim
 
Automação Indistrial
Automação IndistrialAutomação Indistrial
Automação Indistrialjamil1980
 
Doc modelagem _492246747
Doc modelagem _492246747Doc modelagem _492246747
Doc modelagem _492246747Peterson Silva
 
Projeto de Informática Educativa I - NTEM
Projeto de  Informática Educativa I  - NTEMProjeto de  Informática Educativa I  - NTEM
Projeto de Informática Educativa I - NTEMValdir Almeida
 
Projeto de Informática Educativa I - NTEM
Projeto de  Informática Educativa I  - NTEMProjeto de  Informática Educativa I  - NTEM
Projeto de Informática Educativa I - NTEMValdir Almeida
 

Similar a Projeto ULA 4 bits operações lógicas aritméticas (20)

Portas logicas
Portas logicasPortas logicas
Portas logicas
 
Portas logicas
Portas logicasPortas logicas
Portas logicas
 
Oac aula04
Oac aula04Oac aula04
Oac aula04
 
05 circuitos logicos
05   circuitos logicos05   circuitos logicos
05 circuitos logicos
 
Aula_Algebra de Boole.pdf
Aula_Algebra de Boole.pdfAula_Algebra de Boole.pdf
Aula_Algebra de Boole.pdf
 
Ab funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasAb funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicas
 
Ab funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasAb funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicas
 
Funcionamento de Portas Logicas, Algebra Booleana
Funcionamento de Portas Logicas, Algebra BooleanaFuncionamento de Portas Logicas, Algebra Booleana
Funcionamento de Portas Logicas, Algebra Booleana
 
Atividade de Eletronica Digita - Técnico em Eletrotécnica
Atividade de Eletronica Digita - Técnico em EletrotécnicaAtividade de Eletronica Digita - Técnico em Eletrotécnica
Atividade de Eletronica Digita - Técnico em Eletrotécnica
 
Circuitos booleanos e mapas de karnaugh
Circuitos booleanos e mapas de karnaughCircuitos booleanos e mapas de karnaugh
Circuitos booleanos e mapas de karnaugh
 
Algebrica de BooleI-antonio inacio ferraz, Técnico em eletronica no colégio c...
Algebrica de BooleI-antonio inacio ferraz, Técnico em eletronica no colégio c...Algebrica de BooleI-antonio inacio ferraz, Técnico em eletronica no colégio c...
Algebrica de BooleI-antonio inacio ferraz, Técnico em eletronica no colégio c...
 
antonio inacio ferraz-,Eletronica digital-eletronica no colegio cruzeiro do s...
antonio inacio ferraz-,Eletronica digital-eletronica no colegio cruzeiro do s...antonio inacio ferraz-,Eletronica digital-eletronica no colegio cruzeiro do s...
antonio inacio ferraz-,Eletronica digital-eletronica no colegio cruzeiro do s...
 
álgebra booleana e circuitos lógicos
álgebra booleana e circuitos lógicosálgebra booleana e circuitos lógicos
álgebra booleana e circuitos lógicos
 
Apostila clp - blocos funcionais
Apostila   clp - blocos funcionaisApostila   clp - blocos funcionais
Apostila clp - blocos funcionais
 
Automação Indistrial
Automação IndistrialAutomação Indistrial
Automação Indistrial
 
Automacao basica
Automacao basicaAutomacao basica
Automacao basica
 
Portas lógicas.ppt
Portas lógicas.pptPortas lógicas.ppt
Portas lógicas.ppt
 
Doc modelagem _492246747
Doc modelagem _492246747Doc modelagem _492246747
Doc modelagem _492246747
 
Projeto de Informática Educativa I - NTEM
Projeto de  Informática Educativa I  - NTEMProjeto de  Informática Educativa I  - NTEM
Projeto de Informática Educativa I - NTEM
 
Projeto de Informática Educativa I - NTEM
Projeto de  Informática Educativa I  - NTEMProjeto de  Informática Educativa I  - NTEM
Projeto de Informática Educativa I - NTEM
 

Último

Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxfabiolalopesmartins1
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 

Último (20)

Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 

Projeto ULA 4 bits operações lógicas aritméticas

  • 1. Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Matemática, Estatística e Computação Bacharelado em Ciência da Computação Técnicas Digitais Prof. José Luís Güntzel guntzel@ufpel.edu.br – semestre 2003/1 Projeto de uma Unidade Lógico-Aritmética (ULA) 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. Note 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). A figura 1 mostra um somador para dois números de 4 bits (A e B) com os extensores lógicos e aritméticos acoplados às suas entradas. Note que cada extensor recebe como entrada somente um dos bits de cada número (A e B). Figura 1 - Somador para dois números de 4 bits com extensores lógicos (EL) e aritméticos(EA). Suponha que se deseje projetar uma ULA capaz de realizar 4 operações lógicas e 4 operação aritméticas. Assim, estaremos usando os seguintes sinais de controle: M, S0 e S1. Se M=0, as variáveis S1 e S0 selecionam uma dentre as 4 operações lógicas disponíveis. Se M=1, S1 e S0 selecionam uma dentre as 4 operações aritméticas. A tabela 1 mostra as operações desejadas bem como os assinalamentos das variáveis M, S1 e S0 que selecionam cada uma das 8 operações disponíveis. SC EL EA x0 y0 f0 c1 b0a0 c0SC EL EA x1 y1 f1 c2 b1a1 SC EL EA x2 y2 f2 c3 b2a2 SC EL EA x3 y3 f3 c4 b3a3 SC EL EA x0 y0 f0 c1 b0a0 c0SC EL EA x1 y1 f1 c2 b1a1 SC EL EA x2 y2 f2 c3 b2a2 SC EL EA x3 y3 f3 c4 b3a3
  • 2. Tabela 1 - Operações desejadas para a ULA a ser projetada. M S1 S0 nome da função F X Y C0 0 0 0 complementa A’ A’ 0 0 0 0 1 E A E B A E B 0 0 0 1 0 identidade A A 0 0 0 1 1 OU A OU B A OU B 0 0 1 0 0 decrementa A-1 A todos 1s 0 1 0 1 soma A+B A B 0 1 1 0 subtrai A+B’+1 A B’ 1 1 1 1 incrementa A+1 A todos 0s 1 O ponto de partida para o projeto da ULA em questão será o somador de 4 bits, cujas entradas estaremos denominando X (x3, x2, x1, x0) e Y (y3, y2, y1, y0), além da entrada c0. A saída do somador será denominada F (f3, f2, f1, f0) e coincide com a saída da ULA. Por outro lado, a ULA a ser projetada recebe como entrada dois números de 4 bits, os quais estaremos denominando A (a3, a2, a1, a0) e B (b3, b2, b1, b0). O projeto em questão será dividido em duas partes: projeto dos extensores aritméticos e projeto dos extensores lógicos. Os extensores aritméticos devem realizar as operações aritméticas, sendo utilizados ao se fazer M=1. Examinando a tabela 1 nota-se que para as situações em que M=1 a entrada X do somador deve receber o valor A (sempre), enquanto que a entrada Y recebe 1s, B, B’ ou 0s, conforme for a combinação de S1 e S0. Portanto, cada extensor aritmético irá operar sobre um bit de B, de modo a gerar o resultado conforme mostrado na coluna Y da tabela 1. Além disso, deve-se notar que quando a operação solicitada corresponder a uma operação lógica (M=0), Y deve valer 0 (ou seja, todos os bits de Y devem ser iguais a zero). A partir deste detalhamento, pode-se montar a tabela-verdade para o circuito de um extensor aritmético (tabela 2), da qual deriva-se o mapa de Karnaugh (tabela 3) que nos conduz à equação simplificada. Tabela 2 – Tabela-verdade para o extensor aritmético. S1 S0 bi yi 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 Tabela 3 – Mapa de Karnaugh para o extensor aritmético. S1S0 bi 00 01 11 10 0 1 0 0 1 1 1 1 0 0 A equação minimizada, obtida a partir do mapa de Karnaugh será yi = S1’.bi + S0’.bi’. Note que, para efeitos de simplificação, omitiu-se a variável de entrada M. No entanto, tal variável deve estar presente. Para tanto, observamos na tabela 1 que sempre que M=1 a operação selecionada é do tipo aritmética. Por outro lado, se M=0, Y=0, ou seja, cada bit de Y deve valer zero. Assim, deve-se
  • 3. fazer o E entre M e cada produto da equação anterior, o que conduz a seguinte equação: yi = M.S1’.bi + M.S0’.bi’. A figura que segue mostra o circuito lógico referente a essa equação, o que corresponde ao extensor aritmético. Figura 2 – Circuito de um extensor aritmético (EA). Passemos agora ao projeto dos extensores lógicos. Analisando-se a tabela 1, nota-se que Y=0 e c0=0 quando M=0. Estas condições são conseqüência do fato de se ter definido que todas as operações lógicas são executadas exclusivamente pelos extensores lógicos, de modo que o somador não é utilizado quando M=0. Porém, como X (que corresponde às saídas dos extensores lógicos) entra no somador, será necessário fazer Y=0 e c0=0 de modo a permitir que X passe pelo somador sem ser alterado (F=X). Deve-se notar ainda que quando M=1, X=A. As condições descritas neste parágrafo podem ser transcritas para a tabela-verdade que segue, a qual permite determinar uma expressão lógica para X em função de M, S1, S0, A e B. Tabela 4 – Tabela-verdade para o extensor lógico. M S1 S0 xi 0 0 0 ai’ 0 0 1 ai.bi 0 1 0 ai 0 1 1 ai+bi 1 ? ? ai Tabela 5 – Mapa de Karnaugh para o extensor aritmético. M=0 M=1 S1S0 ai bi 00 01 11 10 00 01 11 10 00 1 01 1 1 11 1 1 1 1 1 1 1 10 1 1 1 1 1 1 S0 S1 M bi yi EA S0 S1 M bi yi EA
  • 4. A partir do mapa de Karnaugh mostrado pela tabela 5 chega-se a seguinte expressão minimizada para xi: xi = M’.S1’.S0’.ai’ + M’.S1.S0.bi + S0.ai.bi + S1.ai + M.ai. O circuito lógico correspondente pode ser visto na figura 3. Figura 3 – Circuito de um extensor lógico (EL). Feito o projeto dos extensores lógicos e aritméticos, deve-se encontrar a equação lógica que descreve o comportamento da variável c0. Pode-se derivar a equação de c0 observando-se a tabela 1. Esta equação é c0 = M.S1, ou seja, o E entre M e S1. Para finalizar o projeto da ULA, observa- se que, como partimos de um somador que pode ser configurado para realizar subtrações, o sinal de overflow será formado da mesma maneira que em um somador/subtrator, ou seja, mediante a colocação de uma porta OU-exclusivo (XOR) entre o último e o penúltimo transportes, conforme mostra a figura 4. Figura 4 – Diagrama da ULA projetada (com 4 bits). SC EL EA x0 y0 f0 c1 b0a0 c0 SC EL EA x1 y1 f1 c2 b1a1 SC EL EA x2 y2 f2 c3 b2a2 SC EL EA x3 y3 f3 c4 b3a3 S0 S1 M overflow SC EL EA x0 y0 f0 c1 b0a0 c0 SC EL EA x1 y1 f1 c2 b1a1 SC EL EA x2 y2 f2 c3 b2a2 SC EL EA x3 y3 f3 c4 b3a3 S0 S1 M SC EL EA x0 y0 f0 c1 b0a0 SC EL EA SC EL EA x0 y0 f0 c1 b0a0 c0 SC EL EA x1 y1 f1 c2 b1a1 SC EL EA SC EL EA x1 y1 f1 c2 b1a1 SC EL EA x2 y2 f2 c3 b2a2 SC EL EA SC EL EA x2 y2 f2 c3 b2a2 SC EL EA x3 y3 f3 c4 b3a3 SC EL EA SC EL EA x3 y3 f3 c4 b3a3 S0 S1 M overflow S1 S0 M ai bi xi EL S1 S0 M ai bi xi EL
  • 5. Caso se deseje uma ULA para operar sobre números com mais do que 4 bits, basta que se conecte o número desejado de somadores completos e extensores lógicos e aritméticos, sempre seguindo o esquema mostrado na figura 4. A figura 5 mostra um símbolo possível para a ULA projetada. Neste símbolo, o número de bits foi omitido, de modo a torna-lo genérico. Figura 5 – Um possível símbolo para a ULA projetada. ULA S0 S1 M cout A B Foveflow ULA S0 S1 M cout A B Foveflow