加算器の設計 1)1 桁の 2 進0,1に対する加算 0 0 1 +0 +1 +0 0 1 1 1 +1 10 ○ 真理値表 入力 X,Y、出力を和 S、桁上げ C ○加算器の論理関数 S = XY ∨ XY = X ⊕ Y C = XY ○論理回路 ○ (Half Adder) →下位からの桁上げを考慮しない 1ビット加算器 2)下位からの桁上げを考慮した加算器 ○i 桁目の真理値表 入力:Xi,Yi,Ci-1、 出力:和 Si、桁上げ Ci ○論理関数 S i = X i ⊕ Yi ⊕ Ci −1 Ci = ( X i ⊕ Yi )Ci −1 ∨ X iYi ○論理回路 ○ (Full Adder) →下位からの桁上げを考慮した 1 ビッ ト加算器 ○ n桁の加算器 減算器の設計 1)1 桁の 2 進0,1に対する減算 0 1 1 −0 −1 −0 0 0 1 0 −1 1(借り) ○ 真理値表 入力:X,Y、出力:差 D、借り B ○減算器の論理関数 D = XY ∨ XY = X ⊕ Y B = XY ○論理回路 ○ (Half Subtractor) →下位への貸しを考慮しない 1ビット減算器 2)下位への貸しを考慮した減算器 ○i 桁目の真理値表 入力:Xi,Yi,Bi-1、 出力:差 Di、借り Bi ○論理関数 Di = X i ⊕ Yi ⊕ Bi −1 Bi = X iYi ∨ ( X i ⊕ Yi ) Bi −1 ○論理回路 ○ (Full Subtractor) →下位からの借りを考慮した 1 ビット減算器 ○ n桁の減算器←加算器と同様 ☆補数を用いて負の数を表す →減算器を用いず減算を で行う (b)補数による減算 ○n桁の2進数 a,b の減算 a−b →a+(−b) ○2の補数表現→ −b:2n−b (1) a ≥ b の場合(n=7) 1)通常の減算 1101010 −0011101 1001101 2)補数による減算 106 −29 77 1101010 +1100011 ←−29 の補数表現 11001101 ○最上位より生じた桁上げは無視し、結 果は正数 (2) a 〈 b の場合 1)通常の減算 1101010 −1110010 10001000 2)補数による減算 106 −114 −8 1101010 +0001110 ←−114 の補数表現 1111000 ←−8 の補数表現 ○桁上げがなく結果は負の数 ○符号ビットがある場合 01101010 +11100011 ←−29 の補数表現 101001101 ←あふれあり 01101010 +10001110 ←−114 の補数表現 11111000 ←あふれ無し ☆符号ビットも数値ビットと一緒に演 算可能 ○あふれビット(carry bit):Cf ○加算による減算の計算手順 (1)bの2の補数 bc を求める (2)a と bc の和を加算により求める (3)Cfを無視して結果を得る (C)補数器と減算器 ○ 2の補数を用いる減算器 ○ 加減算器 加算:S=1,D=0、減算:S=0,D=1
© Copyright 2024 ExpyDoc