1.19k likes | 2.51k Views
제 2 장 디지털 논리회로. 컴퓨터구조 Computer System Architecture 멀티미디어공학과 김 해영 hykim @tu.ac.kr. 제 2 장 디지털 논리회로. 구성. 논리 게이트( gate) 부울 대수( Boolean Algebra) 조합 논리 회로 순차 논리 회로. 논리 게이트. 논리회로는 서로 다른 두 가지 값 (0,1)을 다루는 회로 동작 특성 : 부울 대수로 표현 디지털 컴퓨터에서 이진 정보 : ADC(Analog to Digital Conversion)
E N D
제 2 장 디지털 논리회로 컴퓨터구조 Computer System Architecture 멀티미디어공학과 김 해영 hykim@tu.ac.kr
제 2 장 디지털 논리회로 구성 • 논리 게이트(gate) • 부울 대수(Boolean Algebra) • 조합 논리 회로 • 순차 논리 회로
논리 게이트 • 논리회로는 서로 다른 두 가지 값 (0,1)을 다루는 회로 • 동작 특성 : 부울 대수로 표현 • 디지털 컴퓨터에서 이진 정보 : ADC(Analog to Digital Conversion) • Physical Quantity Signal Binary Information 예 : V, A, F, 거리Discrete Value 0 : 0.5V 1 : 3V~5V
논리 게이트 • 게이트 • 이진 정보를 처리하는 가장 기초적인 논리회로 소자 • 각 게이트의 동작 : 부울 대수/함수 • 게이트의 입출력 관계 : 진리표(Truth table) • George Boole • 출생 : 영국의 링컨에서 출생 • 사고법칙에 대한 고찰(Investigation of the Laws of Thought)이라는 제목으로 책을 만들었는데, 여기에서 형식논리와 오늘날 부울 대수라 알려진 집합의 대수인 새로운 대수학을 확립. • 부울 대수는 전기 스위치 회로이론 등과 같은 수많은 분야에 응용되고 있다.1859년에 부울은 <미분방정식론, Treatise on Differential Equations>, 1860년에는 <차분법론, the Calculus of finite differenes>을 발표
논리 게이트 • 표 2-1 Digital Logic Gates • AND, OR, INVERTER, BUFFER, NAND, NOR, XOR, XNOR F = A’ F = A·B F = A + B OR gate AND gate NOT gate F = A F = (A·B)’ F = (A + B)’ NOR gate NAND gate Buffer gate F = A B F = A B XNOR gate XOR gate
기본 게이트 ( Gate ) • NOT 게이트 ( 인버터 ) • 1입력 1출력 • 보수표시 기호 논리함수 진리표 F = NOT x = x x F
기본 게이트 ( Gate ) • AND 게이트 • 2 이상의 입력 1출력 • 모든 입력이 참일 때만 참 값 출력 기호 논리함수 진리표 F = x ANDy = x • y = x y x F y 전기회로의 직렬 연결
기본 게이트 ( Gate ) • OR 게이트 • 2 이상의 입력 1출력 • 입력 중 어느 하나라도 참이면 참 값 출력 기호 논리함수 진리표 F = x ORy = x + y x F y 전기회로의 병렬 연결
기본 게이트 ( Gate ) • 버퍼 게이트 ( Buffer ) • 1입력 1출력 • 입력이 참일 때만 참 값 출력 기호 논리함수 진리표 F = x x F
기본 게이트 ( Gate ) • NAND 게이트 • 2 이상의 입력 1출력 • 모든 입력이 참일 때만 거짓 값 출력 기호 논리함수 진리표 F = x NANDy = x • y x F y
기본 게이트 ( Gate ) • NOR 게이트 • 2 이상의 입력 1출력 • 모든 입력이 거짓일 때만 참 값 출력 기호 논리함수 진리표 F = x NORy = x + y x F y
기본 게이트 ( Gate ) • XOR 게이트 ( Exclusive-OR Gate ) • 2 이상의 입력 1출력 • 두 입력 값이 서로 다를 때만 참 값 출력 기호 논리함수 진리표 F = x XORy = x y + x y = x + y x F y
기본 게이트 ( Gate ) • XNOR 게이트 • 2 이상의 입력 1출력 • 두입력이 같은 경우에 만 참 값 출력 기호 논리함수 진리표 F = x XNORy = x y + x y = x • y x F y
논리 게이트 • [문제 2-1] 두개의 입력(two input)을 가지는 게이트에서 입력 신호 A, B의 조합에 따른 출력 타이밍도(timing diagram)를 그려라.
논리 게이트 • [문제 2-1] 두개의 입력(two input)을 가지는 게이트에서 입력 신호 A, B의 조합에 따른 출력 타이밍도(timing diagram)를 그려라.
유니버설 게이트 • NAND와 NOR 게이트 : 표준 논리 게이트 • 모든 부울 함수 : NAND와 NOR 게이트로서 쉽게 구현 • NOT 게이트 • AND 게이트 OR 게이트 Fig. 2-2
Wired-Logic • NAND와 NOR 게이트 : 둘 이상의 게이트 출력을 선(Wire)으로 연결하면 AND/OR 논리를 수행 Wired-logic • 개방 콜렉터형 NAND 게이트 Fig. 2-3 ECL NOR 게이트
부울 대수(boolean Algebra) • 부울 대수(Boolean Algebra) • 이진 변수(binary variable) + 논리 동작(logic operation) 을 취급하는 대수 (A, B, x, y 등) (AND, OR, NOT…) • 부울 대수의 사용 목적 : 디지털 회로의 설계와 해석을 용이하게 하기 위해 변수사이의 진리표 관계를 대수 형식으로 표현 • 부울 대수를 이용하면 ① 변수 사이의 진리표 관계를 대수형식으로 표시하기가 용이 ② 논리도의 입출력 관계를 대수형식으로 표시하기가 용이 ③ 동일 기능을 가진 더 간단한 회로(논리식의 간소화)를 설계하는 것이 용이
부울 대수(boolean Algebra) • 정의 • 2진 변수와 논리 동작을 다루는 대수 • 2진 연산자 +(OR),•(AND)와단항 연산자인 NOT 로 구성된다. • 기본 부울 대수 연산 진리표
부울 대수(boolean Algebra) A B C F 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 • 부울함수(Boolean Function) : variable + operation • F(A,B,C) = A’B + C • Truth Table : Fig. 2-5Relationship between a function and variable • Logic Diagram : Fig. 2-5 대수적 표현논리도(Logic Diagram)(gates로 표현) 2n Combination Variable n = 3
부울 대수(boolean Algebra) p57~p60 참조 • 부울대수 법칙 : Table. 2-5 참조 - Operation with 0 and 1: x + 0 = x , x + 1 = 1 , x • 1 = x , x • 0 = 0 - Idempotent Law: x + x =x , x • x = x - Complementary Law: x + x' = 1 , x • x' = 0 - Commutative Law: x + y = y + x , x • y = y • x - Associative Law: x + (y + z) = (x + y) + z , x • ( y • z) = (x • y) • z - Distributive Law: x • ( y+ x) = (x • y) + (x • z) , x + (y • z) = (x + y) • (x + z) - DeMorgan's Law: (x + y)' = x' • y’ , (x • y )’ = x’ + y’ n개의 변수로 확장한 일반식 (x1 + x2 + x3 + … xn)' = x1' • x2' • x3' • … xn’ (x1 • x2 • x3 • … xn) ' = x1' + x2' + x3' + … xn’
부울 대수(boolean Algebra) 항등원의 존재 x + 0 = x x • 1 = x 교환 법칙 x + y = y + x x • y = y • x 분배 법칙 x ( y + z ) = x y + x z x + y z = ( x + y ) • ( x + z ) 역의 존재 x + x = 1 x • x = 0 한계법칙 x + 1 = 1 x • 0 = 0 멱등 법칙 x + x = x x • x = x 대합성 x = x 결합 법칙 x + ( y + z ) = ( x + y ) + z x ( y z ) = ( x y ) z 드모르강 법칙 x + y = x y x + y = x y x y= x + y 흡수법칙 x + x y = x x ( x + y ) = x 인접법칙 x + x y = x + y x + x y = x + y p57~p60 참조 • 부울 대수 법칙 : Table. 2-5 참조
드모르강 정리 • 드모르강의 정리 • DeMorgan's Law: (x + y)' = x' • y’ , (x • y )’ = x’ + y’ 연산자와 변수로 구성된 임의의 함수가 있을 때 이 함수의 전체 부정은 연산자 +는 ·로, ·는 +로 바꾸고(+ ↔ ·) 함수에 포함된 변수는 긍정은 부정으로 부정은 긍정으로(A' ↔ A)으로 바꾸어 각각의 변수에 대한 부정을 취하는 것과 결과가 같음을 나타내는 법칙으로NAND와 NOR를 취급하는데 유용 • graphic symbols for NOR gate (a) OR-invert (b) invert-OR x y z x y z = (x+y+z)’ x’y’z’
graphic symbols for NAND gate (a) NAND-invert (b) invert-NAND • [표 2-5]의 부울대수 기본관계식의 적용 예 x y z x y z = (xyz)’ (x’+y’+z’) Fig. 2-6 F=AB'C+AB'C'+A'C
[표 2-5]의 부울대수 기본관계식의 적용 예 [표 2-5]의 1-5와 2-2에 의해 F=AB'C+AB'C'+A'C =AB'(C+C')+A'C =AB'+A'C Fig. 2-7 F=AB'+A'C 간소화된 함수식에 의한 회로로서 다섯 개의 게이트들 만을 이용하여 그림 2-6과 동일한 결과
수식의 보수 • 수식의 보수 어떤 함수 F의 보수는 F'이며, 드모르강 정리를 이용하여 얻을 수 있다. 드모르강 정리는 부울 함수식에서 모든 OR 연산은 AND 로, 모든 AND 연산은 OR로 바꾸어 주고, 함수 내의 각 변수를 보수화 하면 된다. F = AC + C'D + B'D'의 보수는 F'= (A'+C')(C+D')(B+D) 이 된다.
부울 함수 • 부울함수(Boolean Function) : 디지털회로를 설계하고 해석하기 위해 변수 사이의 진리표 관계를 대수 형식으로 표현 variable + operation(AND, OR, NOT)+ 괄호 + 등호 • 예 • 위 부울함수의 입출력 관계 진리표 n개의 2진 변수 2n개의 조합 • F1은 A=1, B=1, C=0일 때만 출력 F1 = 1 • 마찬가지로 함수 F2, F3, F4도 같은 방법 적용 F1 = ABC' F2 = A + B'C F3 = AB'C+AB'C'+A'C F4 = AB' + A'C
부울 함수 • 부울 함수F1 , F2 , F3 , F4에 대한 진리표 Tab. 2-6 F1 = ABC', F2=A+B'C, F3 = AB'C+AB'C'+A'C, F4 = AB'+A'C에 대한 진리표 진리표에서 F3과 F4는 동일한 함수값, 같은 부울 함수에 대해 서로 다른 대수적 표현이 가능하다는 것을 의미, 이 두 함수는 같다고 말한다. 함수 F4는 함수 F3을 간소화 한 것이다.
부울 함수 • 부울 함수 논리도(Logic Diagram) (a) F1 = ABC' (b) F2=A+B'C (c) F3 = AB'C+AB'C'+A'C (d) F4 = AB'+A'C ※ 함수 F4가 함수 F3보다 더 경제적
부울 함수의 표준형(standard form) • 최소항(Minterm)과 최대항(Maxterm) • 최소항(Minterm) : n variables product ( x=1, x’=0) • 최대항(Maxterm) : n variables sum (x=0, x’=1) 2 variables example m0 + m1 + m2 + m3 M0 M1 M2 M3
부울 함수의 표준형(standard form) 3 variables example
함수의 표현 예제 F1 = x y z + x y z + x y z = m0 + m3 + m6 =∑ (0, 3, 6) F1 = x y z + x y z + x y z = ( x y z ) • ( x y z ) • ( x y z ) = ( x + y + z ) • ( x + y + z ) • ( x + y + z ) = M0 + M3 + M6 = F2 • 곱(최소항 )의 합형 : 출력값이 1 이 되는 항의 합 • 합 (최대항 ) 의 곱형 : 출력값이 0 이 되는 항의 곱 • 곱의 합형의 보수 F2 = ( x + y + z ) • ( x + y + z ) • ( x + y + z ) = M0 + M3 + M6 =∏ (0, 3, 6)
최소항의 합(sum of product) 부울 함수는 주어진 진리표를 보고 대수적으로 표시 • 최소항의 합 진리표에서 출력값이 1이 되는 최소항을 구하고 이들 최소항들에 대해 모두 OR연산 을 취함 • F1 = x'y'z + xy'z' + xy'z + xyz' = m1 + m4 + m5 + m6 = ∑(1, 4, 5, 6) =M0· M2· M3· M7=∏(0, 2, 3, 7) (Complement =M0 M2 M3 M7)
최대항의 곱(product of sum) 부울 함수는 주어진 진리표를 보고 대수적으로 표시 • 최대항의 곱 진리표에서 출력값이 0이 되는 최대항을 구하고 이들 최대항들에 대해 모두 AND연산 을 취함 • F2 = (x+y+z')·(x'+y+z)·(x'+y+z')·(x'+y'+z)=M1· M4· M5· M6 =∏(1,4, 5, 6)
부울함수의 간소화 식에 포함된 문자와 항들의 개수를 줄여 간단한 형태로 유도하는 절차 논리 게이트를 이용한 설계가 간단하여 구현시 가격, 유지보수에 유리 • (1) 정리와 가설을 이용한 간소화 방법 Tab. 2-5 F = AB' + B = B + A B' = (B + A)(B + B') = (B + A)·1 = B + A = A + B 1-7 적용 1-12 적용 간소화 1-5 적용 2-3 적용 1-7 적용
부울함수의 간소화 C B A B A C D • (2) Map을 이용한 간소화 방법 • 2 variables (참고설명 참조) • 3 variables • 4 variables B A • 5 variables C B A D E E 논리적으로 인접한 항이 포함되도록 2, 4, 8, 16개 그룹으로 묶으면 그만큼 지워지는 변수가 많아지므로 가능한 한 많은 수의 항을 묶는다. 간소화된 항들은 최소항의 합형이나 최대항의 곱형으로 표현
부울함수의 간소화 • (2) Map을 이용한 간소화 방법 • 2 variables • 3 variables • 4 variables 논리적으로 인접한 항이 포함되도록2, 4, 8, 16개 그룹으로 묶으면 그만큼 지워지는 변수가 많아지므로 가능한 한 많은 수의 항을 묶어야 하며, 간소화된 항들은 최소항의 합형이나 최대항의 곱형으로 표현
부울함수의 간소화 • 인접 영역 • 인접 영역의 수 = 2n (1, 2, 4, 8, ….) • The squares at the extreme ends of the same horizontal row are to be considered adjacent • The same applies to the top and bottom squares of a column • The four corner squares of a map must be considered to be adjacent • Groups of combined adjacent squares may share one or more squares with one or more group
부울함수의 간소화 y x • [예제] F= x + y’z (1) 진리표 (2) (3) 인접 영역을 묶는다 1 1 1 1 1 z F= x + y’z
부울함수의 간소화 C C B B A A B B A A C C D D • [예제] • F=AC’ + BC • [예제] • F=C’ + AB’ • [예제] • F=C’ + AB’ • Product-of-Sums Simplification F=B’D’ + B’C’ + A’C’D F’=AB + CD + BD’(square marked 0’s) (F’)’=(A’ + B’)(C’ + D’)(B’ + D) Sum of product Product of Sum
NAND/NOR게이트로의 구현 • NAND Implementation • Sum of Product : F=B’D’ + B’C’ + A’C’D • NOR Implementation • Product of Sum : F=(A’ + B’)(C’ + D’)(B’ + D) • 무관 조건(Don’t care conditions) • F(A,B,C)=(0, 2, 6), d(A,B,C)= (1, 3, 5) • F=A’ + BC’= (0, 1, 2, 3, 6) B’ D’ C’ A’ D A’ B’ C’ D’ D’ B 1 1 X X A 1 X C
카르노 맵 ( karnaugh Map ) • 진리표를 그림 모양으로 나타내어 부울 함수의 최소화에 사용 • 두 개의 변수 중,하나의 비트만이 서로 다를 때 논리적으로 인접 • 두 최소항에서 하나의 문자만 다를 때 그 문자를 제외한 논리곱 형성 A + A’ = 1인 관계 이용 • 최소항 (Minterm)과 최대항 (Maxterm)을 이용 • 예) A B + A B = B
카르노 맵 ( karnaugh Map ) • 2 변수 카르노 맵 • 최대 4개의 최소항으로 구성 • 부울 함수의 각 최소항 부분만 1을 기입하고, 나머지는 0으로 채움
카르노 맵 ( karnaugh Map ) • 2 변수 카르노 맵의 예제 • F = x y + x y + x y 진리표 카노르 맵 F = x + y
카르노 맵 ( karnaugh Map ) • 3 변수 카르노 맵 • 최대 8개의 최소항으로 구성 • 서로 인접한 것을 묶을 수 있도록 배치 • 최소항의 순서는 그레이 코드값에 따라 배치 인접한 변수가 서로 다른 값을 가짐
카르노 맵 ( karnaugh Map ) • 3 변수 카르노 맵의 예제 • F ( x, y, z ) = m ( 0, 2, 3, 4, 6 ) 카노르 맵 진리표 F = z + x y
카르노 맵 ( karnaugh Map ) • 3변수 논리회로 구현 F = z + x y x y F z
카르노 맵 ( karnaugh Map ) • 4 변수 카르노 맵 • 최대 16개의 최소항으로 구성 • 최소항의 순서는 그레이 코드값에 따라 배치
카르노 맵 ( karnaugh Map ) • 4 변수 카르노 맵의 예제 • 최대항을 이용한 맵 • 0을 묶어 값을 취한 후 각 문자의 보수를 취함 F ( w, x, y, z ) = M ( 1, 2, 4, 6, 9, 12, 14, 15 ) F = xz + x y z + w y z + w x y F = ( x + z ) ( x + y + z ) ( w + y + z ) ( w + x + y )
카르노 맵을 이용한 간소화 연습 1) F ( w, x, y, z ) = m ( 0, 1, 2, 8, 10, 11, 14, 15 ) 2) F ( w, x, y, z ) = m ( 1, 4, 6, 7, 8, 9, 10, 11, 15 ) 3) F ( w, x, y, z ) = M ( 3, 4, 6, 7, 11, 12, 13, 14, 15 )