Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Eletrônica Digital Unidade Lógica Aritmética - ALU (Arithmetic Logic Unit) Prof. João Onofre Pereira Pinto Projeto de Cima para Baixo (Top - Down Design) n Agora faremos o projeto de um subsistema de um computador chamado Unidade Lógica Aritmética (ALU). n Usaremos o processo de projeto chamado “top-down” n A funcionalidade do sistema é especificado em um alto nível de abstração. n O sistema é decomposto em sub-funções de nível mais baixo, as quais juntas fornecem a funcionalidade desejada. n A decomposição continua até o sistema ser expresso em termos de módulos bem definidos, os quais são facilmente implementados com circuitos lógicos. Milton Text Box ANA Beatriz 2 Implementação de baixo para cima (Bottom – Up) n Os módulos de circuito de mais baixo níveis são implementados usando circuitos lógicos. n Os módulos de circuitos são testados individualmente. n Os módulos são combinados para formar os subsistemas, e os subsistemas são combinados para implementar o sistema completo. Unidade Lógica Aritmética - ALU 3 n Entrada de dados n A = ( an-1 …. a1 a0 )2 n B = ( bn-1 …. b1 b0 )2 n Saída de dados n F = ( fn-1 … f1 f0 )2 n Cout = bit carry de saída n Controle de entrada n S = ( sk-1 … s1 s0 )2 n Projetaremos uma ALU que faça: n A + B n A – B n A + 1 n A – 1 n A AND B n A OR B n A XOR B n NOT A 4 n A ALU tem oito funcionalidadesè S precisa ter 3 bits n Assim S = (s2 s1 s0) Definição da funcionalidade XOR: A XOR B1 1 1 NOT: NOT A1 1 0 OR: A OR B1 0 1 AND: A AND B1 0 0 Decremento: A-10 1 1 Incremento: A+10 1 0 Subtração: A-B0 0 1 Adição: A+B0 0 0 F=s2 s1 s0 Função do Sistema Código de Controle operações aritméticas operações lógicas 5 Decomposição ao nível de 1 Bit Decompor as operações para o nível de 1 bit ALU fi ci-1 s2s1 s0 biai ci Decomposição para o nível de N 1- Bits ALU f0 c-1 s2 s1 s0 b0a0 c0 ALU f1 b1a1 c1 ALU fn-1 bn-1an-1 cn-1 s2 s1 s0 cn-2 6 Segunda decomposição n Pode separar o nível de bit em 3 módulos separados: n Unidade Aritmética – AU (Arithmetic Unit) n Unidade Lógica - LU (Logic Unit) n Multiplexador fi MUX 2- s2 Lógica s1 s0 biai fiL Aritmética s1 s0 ci-1ci ai bi fiA 7 Terceira Decomposição Decompor as Operações Lógicas Quarta Decomposição n Implementação das operações aritméticas n Adição : F = A + B n Para cada bit, use um full adder n Faça c-1 = 0 n Subtração : F = A – B n A – B = A + [B]2 = A + { B+ 1} n Para cada bit use um full adder n Substitua bi por bi n Faça c-1 = 1 8 n Implementação das operações aritméticas n Incremento : F = A + 1 n Para cada bit use um full adder n Faça B = 0 n Faça c-1 = 1 n Decremento : F = A – 1 n A – 1 = A + [1]2 = A + (1….11) n Para cada bit use um full adder n Faça B = (1…11) n Faça c-1 = 0 Operações Aritméticas usando Full Adder Ger. Y bi s1 s0 F.A. yx ai ci cout cin ci-1 fiA s 9 Gerador de Y adição subtração incremento decremento s1s000bi 0 1 01 11 10 0 1 1 0 0 0 1 1 yi = Σ m(1,2,6,7) yi = s1s0bi + s0bi + s1s0 10 yi = s1s0bi + s0bi + s1s0 bi s1 s0 yi Gerador de c-1 c-1 Gen s1 s0 c-1 s1 s0 0 0 0 1 1 0 1 1 ci-1 0 1 1 0 Adição : c-1 = 0 Subtração : c-1 = 1 Incremento : c-1 = 1 Decremento : c-1 = 0 11 c-1 = Σ m(1,2) s1 s0 c-1 s1 s0 0 0 1 1 0 1 1 0 c-1 = s1s0 + s1s0
Compartilhar