SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
Renan 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 digitais
Carlos Melo
 
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
Renan 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 12
Renan Boccia
 
Função afim 2013-2014
Função afim 2013-2014Função afim 2013-2014
Função afim 2013-2014
Carla 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 1
Renan Boccia
 
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
Ricardo Bolanho
 

Was ist angesagt? (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
 

Andere mochten auch (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
 

Ähnlich wie Projeto ULA

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 funcionais
Robisonpardim
 
Doc modelagem _492246747
Doc modelagem _492246747Doc modelagem _492246747
Doc modelagem _492246747
Peterson Silva
 

Ähnlich wie Projeto ULA (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
 
álgebra booleana e circuitos lógicos
álgebra booleana e circuitos lógicosálgebra booleana e circuitos lógicos
álgebra booleana e circuitos lógicos
 
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...
 
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
 

Kürzlich hochgeladen

Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 

Kürzlich hochgeladen (20)

Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 

Projeto ULA

  • 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