180 likes | 387 Views
情報科学概論 ~論理回路と演算回路~ Lecture 4. 田中美栄子. 今回の目標. 2 値情報を扱う基本となる理論( ブール代数 )に ついて 学び,それがハードウェアの実現 に どの ように用いられるかを学ぶ. 論理回路の構成について学び , それらを利用したコンピュータの仕組み(演算回路)に ついて 理解 する. ブール代数. 論理( 2 値)を扱う (論理)変数は 論理値( 0 or 1 ) をとる 2 値の入力と出力の関係は,論理変数に対する(論理)演算からなる(論理)関数によって定義
E N D
今回の目標 2値情報を扱う基本となる理論(ブール代数)について学び,それがハードウェアの実現にどのように用いられるかを学ぶ. 論理回路の構成について学び,それらを利用したコンピュータの仕組み(演算回路)について理解する.
ブール代数 • 論理(2値)を扱う • (論理)変数は論理値(0 or 1)をとる • 2値の入力と出力の関係は,論理変数に対する(論理)演算からなる(論理)関数によって定義 • 論理演算の機能を持つ論理素子を使って,論理関数を回路で表現したものが論理回路 • すべての論理関数は,真理値表,論理式で表現することが可能 • 論理式を回路で構成したものが論理回路であり,論理式と1対1に対応 • コンピュータは基本的に論理回路で構成
論理回路 • 基本論理回路 • AND回路(論理積) • OR回路(論理和) • NOT回路(否定) • XOR回路(排他的論理和) I1 O1 論理回路 I2 O2 ・・・ ・・・ Im On
AND回路 x x・y 入力端子1 y 出力端子 入力端子2 OR回路 x x+y 入力端子1 y 出力端子 入力端子2 y y x x
NOT回路 x x 入力端子 出力端子 x x
NAND回路 x y x x・y 入力端子1 y 出力端子 入力端子2 NOR回路 x x+y 入力端子1 y 出力端子 入力端子2 y x
XOR回路 y x x xy 入力端子1 y 出力端子 入力端子2
論理式から論理回路への変換 手順 • 論理式の真理値表を書く • 各入力の否定(NOT)を作る • 出力が‘1’になる各項に対してAND回路を書く.その入力を,‘1’ならばそのまま,‘0’ならば否定からつなぐ. • AND回路の出力をOR回路の入力とし,全体の出力を得る
f = x・y・z + x・y・z + x・y・z + x・y・z 例題 3入力のうち,多数が1の時出力1となり,多数が0の時出力0となる多数決論理式の論理回路を書け
x y y x z z x・y・z x・y・z f x・y・z x・y・z 多数決論理回路 x y z x y z
コンピュータの仕組み • 論理回路:コンピュータの最小構成単位 • 組み合わせ回路:論理回路を組み合わせた回路 • 演算回路:組み合わせ回路の一つで算術論理演算が行われる • 記憶回路:論理回路を使って状態を保持する順序回路を構成
演算回路 • 半加算器【HA】 • 2進数1桁の加算(下位桁は考慮せず) • 全加算器【FA】 • 下位桁を考慮した2進数1桁の加算 • n桁加減算回路 • 論理演算回路 • 算術論理演算部 1 0 0 0 1 + 1 0 0 1 0 繰り上がりなし 【HA】 繰り上がりあり 【FA】
c=a・b+a・b 半加算器の真理値表と論理関数 =ab d=a・b
a b a 被演算数 a b b a a・b 演算数 b c 加算値 a・b d 上位への 桁上がり値 半加算器【HA】 (論理回路) c=a・b+a・b d=a・b
半加算器【HA】(別解) a 被演算数 c=ab c b 演算数 加算値 d d=a・b 上位への 桁上がり値 簡略化のため ブラックボックス化して記載する 場合もある c a HA d b
d=a・b・c+a・b・c+a・b・c+a・b・c e=a・b・c+a・b・c+a・b・c+a・b・c 全加算器の真理値表と論理関数 =(ab)c =(ab)・c+a・b
A C B C=AB D D=A・B 全加算器【FA】 (論理回路) (ab)c c d 下位桁からの 桁上がり値 HA 加算値 (ab)・c a ab 被演算数 HA (ab)・c+a・b e b a・b 上位桁への 桁上がり 演算数 d=(ab)c e=(ab)・c+a・b