SlideShare a Scribd company logo
제 4 강 .  디지털 논리
Perelman http://englishrussia.com/index.php/2007/06/15/perelman-in-a-subway/
0.  개요 HIGH LOW LOW HIGH +5 +3.5 +0.8 0 전압 [V] +2.5 +1.5 출력신호 입력신호
1.  부울 대수의 개념 부울 대수와 명제 논리 집합 이론 수학적 대상을 원소로 하는 집합 집합의 원소에 대해 정의된 연산 (operation) 의 집합 집합의 여러가지 법칙 명제이론 -  논리 참과 거짓 다양한 연산자 이용 :  참과 거짓만  갖은 여러가지 법칙 [ 참고 ] 부울 대수는  1854 년 영국의 수학자 부울 (George Boole: 1815~1864) 에 의해 수학적 논리   형태로 소개되어 ,  논리회로의 설계를 비롯한 중요한 컴퓨터 분야에 응용되고 있음 집합  B 의 원소인  1 과  0 은 명제와 논리에서 각각  T( 참 ; true) 와  F( 거짓 ; false) 에   대응하며 ,  집합  O 의 원소는 집합의 연산과 논리의 연산을 포괄하는 개념임
1.  부울 대수의 개념 부울 대수 (Boolean Algebra) 란 ? 대수계 (Algebraic system) 의 구성요소 수학적 대상을 원소로 하는 집합 집합의 원소에 대해 정의된 연산 (operation) 의 집합 연산이 만족하는 기본적인 법칙으로 구성된 공리 (axiom) 의 집합 부울 대수의 정의  : ( B ,  O ,  A )= (B,+,     , ’, 0,1) B 는  2 진수를 표현하는 단위 숫자의 집합  {0, 1} O 는  B 에 적용되는 연산의 집합 ( 예 : {+( 부울합 ),   ( 부울곱 ),  ’ ( 보수 )}) Commutative laws: a  + b  = b + a,  a C b=b   a Distributive laws: a +(b   c)=(a+b)   (a+c), a   (b+c)=a  b+a  c Identity laws: a +0=a, a  1=a Complement laws: a+ a ’ =1, a  a ’ =0
1.  부울 대수의 개념 부울 연산자 (Boolean Operators) 부울합 (Boolean sum) 부울합은  +  ( 또는 ∨ , OR) 로 표기하며 ,  이항 연산 (binary operation) 임 연산 규칙 부울곱 (Boolean product) 부울곱은     ( 또는  ∧ , AND) 로 표기하며 ,  이항 연산임 연산 규칙 x   +   y 0 1 1 x y 0 0 0 1 1 0 1 1 1 x      y 0 0 0 x y 0 0 0 1 1 0 1 1 1
1.  부울 대수의 개념 부울 연산자  ( 계속 ) 보수 (Complementation) 보수는  ’   ( 또는  ~, NOT) 로 표기하며 ,  단항 연산 (unary operation) 임 연산 규칙 연산자 우선순위 (Precedence) 괄호  ≫   NOT( ’ )  ≫  AND(  )  ≫  OR(+) 예제 ①  x  +  y      z =   x  + ( y      z ) ≠  ( x  +  y )     z ②  x      y ’ =   x     ( y ’ ) ≠  ( x      y ) ’ =   x  +  yz [ 참고 ]  특별히 혼돈이 없는 경우에   AND(  )  기호는 생략이 가능함 예제  –  다음 부울 연산의 결과는 ? 1 + 1 =  1 1 ’  + 0 =  0 + 0 = 0 0 + 0 ’  =  0 + 1 = 1 1    1 ’  =  1    0 = 0 (1    1) ’  =  1 ’  = 0 0 + 1 ’     1 =  0 + (0    1) = 0 + 0 = 0 x x ’ 0 1 1 0
2.  부울 대수의 법칙 부울 대수 법칙 (Laws of Boolean Algebra) [ 참고 ]  멱등법칙  9) 의 증명 x  +  x   = ( x  +  x )    1     항등법칙  6) 에 의해서   = ( x  +  x )( x  +  x ’ )    보법칙  7) 에 의해서   =  x  +  xx ’    분배법칙  4) 에 의해서   =  x  + 0    보법칙  8) 에 의해서   =  x    항등법칙  5) 에 의해서 종류 기본법칙 비고 교환법칙 (commutative laws) 1)  x  +  y  =  y  +  x 2)  xy  =  yx 멱등법칙 (idempotent laws) 9)  x + x = x 10)  xx  =  x 분배법칙 (distributive laws) 3)  x ( y  +  z ) =  xy  +  xz 4)  x  +  yz  = ( x  +  y )( x  +  z ) 4) 는 일반 수식에서는 성립하지 않음 항등법칙 (identity laws) 5)  x  + 0 =  x 6)  x     1 =  x +  에 대한 항등원  0 이 존재하며 ,    에 대한 항등원  1 이 존재함 보법칙 (complement laws) 7)  x  +  x ’  = 1 8)  xx ’  = 0
2.  부울 대수의 법칙 부울 대수 법칙  ( 계속 ) 종류 기본법칙 비고 지배법칙 (dominance laws) 11)  x +  1  =  1 12)  x     0 = 0 [ 증명 ]  11)   x  + 1 = 1 x  + 1  = 1    ( x  + 1)    항등법칙  6) = ( x  +  x ’ )( x  + 1)    보법칙  7) =  x  +  x ’     1    분배법칙  4) =  x  +  x ’    항등법칙  6) = 1    보법칙  7) 이중보수법칙 (double complement laws) 13)  ( x ’ ) ’   = x 결합법칙 (associative laws) 14)  x  + ( y  +  z ) = ( x  +  y ) +  z 15)  x ( yz ) = ( xy ) z 드모르강법칙 (De Morgan ’ s laws) 16)  ( x  +  y ) ’  =  x ’ y ’ 17)  ( xy ) ’  =  x ’  +  y ’ ( x 1  +  x 2  +  …  +  x n ) ’  =  x 1 ’      x 2 ’      …      x n ’ ( x 1      x 2      …      x n ) ’  =  x 1 ’  +  x 2 ’   +   …  +  x n ’ 흡수법칙 (absorption laws) 18)  x  +  xy  =  x 19)  x ( x  +  y ) =  x [ 증명 ]  18)   x  +  xy  =  x x  +  xy =  x     1 +  xy    항등법칙  6) =  x (1 +  y )    분배법칙  3) =  x ( y  + 1)    교환법칙  1) =  x     1    지배법칙  11) =  x    항등법칙  6)
부울 함수 (Boolean Function) 3.  부울 함수와 부울식 정의 집합  B  = {0, 1} 일 때 ,  부울 함수 (Boolean function)   f  :  B n  ->  B 는  B n   내의 임의의  n - 튜플  {( x 1 ,  x 2 ,  … ,  x n ) |  x i   ∈  B , 1≤ i ≤ n } 에서  B 로 사상되는 함수임    부울 변수 (Boolean variable) 인  x i 는  0  또는  1 의 값을 가지므로   비트 (bit; binary digit) 라고도 함    정의역은 곱집합 (Cartesian product) 인  B n  = {0, 1} 1   x  {0, 1} 2   x   …   x   {0, 1} n   이고 ,  치역은  B  = {0, 1} 임 진리표 (truth table) 부울 함수의  n   개의 부울 변수는  2 n   개의  0 과  1 의 조합을 가질 수 있으므로  2 n   개의 열 (column) 을 갖는 진리표를 구성하여 함수 값을 표현할 수 있음 예제 – 부울 함수  f ( x ,  y ) =  x ’  +  xy ’ 에 대한 진리표를 나타내면 ? x ’  +  xy ’ 1 1 1 0 x y 0 0 0 1 1 0 1 1 x ’ 1 1 0 0 y ’ 1 0 1 0 xy ’ 0 0 1 0
부울 함수  ( 계속 ) 3.  부울 함수와 부울식 동치 함수 (Equal function) n   개의 변수로 구성된 부울 함수  f 와  g 의 모든 변수값  b 1 ,  b 2 ,  … ,  b n 에 대해  f ( b 1 ,  b 2 ,  … ,  b n ) =  g ( b 1 ,  b 2 ,  … ,  b n ) 이면 ,  f 와  g 는 동치 (equal) 라고 하고  f  =  g 로 표현함 예제 – 부울 함수  f ( x ,  y ,  z ) = ( x  +  y  +  z ) ’ 와  g ( x ,  y ,  z ) =  x ’      y ’      z ’ 에 대해서   f 와  g 가 동치 ( 즉 ,  f  =  g ) 임을 진리표를 사용하여 보이면 ? f  =  g x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 x  +  y 0 0 1 1 1 1 1 1 x  +  y  +  z 0 1 1 1 1 1 1 1 ( x  +  y  +  z ) ’ 1 0 0 0 0 0 0 0 x ’ y ’ 1 1 1 1 1 0 1 0 z ’ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 x ’      y ’ 1 1 0 0 0 0 0 0 x ’      y ’      z ’ 1 0 0 0 0 0 0 0
부울 함수  ( 계속 ) 3.  부울 함수와 부울식 보함수 (Complementary function) 부울 함수  f 의 모든 변수값  b 1 ,  b 2 ,  … ,  b n 에 대해 항상 그 결과가 보수의 값을 갖는 함수  f ’ 를  f 의 보함수 (complementary function) 라고 함   즉 ,  f ’ ( b 1 ,  b 2 ,  … ,  b n ) = ( f ( b 1 ,  b 2 ,  … ,  b n )) ’ 가 성립함 예제 – 부울 함수  f ( x ,  y ,  z ) =  x ’  +  yz 의 보함수는  f ’ ( x ,  y ,  z ) =  xy ’  +  xz ’ 임을   진리표를 사용하여 보이면 ? f ’ ( x ,  y ,  z ) = ( f ( x ,  y ,  z )) ’ x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 x ’ 1 1 1 1 0 0 0 0 yz 0 0 0 1 0 0 0 1 x ’   +  yz 1 1 1 1 0 0 0 1 y ’ 1 1 0 0 1 1 0 0 z ’ 1 0 1 0 1 0 1 0 xy ’   +  xz ’ 0 0 0 0 1 1 1 0 xy ’ 0 0 0 0 1 1 0 0 xz ’ 0 0 0 0 1 0 1 0
3.  부울 함수와 부울식 부울식 (Boolean Expression) 부울식이 아님 ( 2 는 집합  B 의 원소가 아님 ) 정의 부울 대수  ( B ,  O ,  A ) 에서 부울 변수  x 1 ,  x 2 ,  … ,  x n 에 대한 부울식은 다음과 같이 재귀적으로 정의됨    0, 1,  x 1 ,  x 2 ,  … ,  x n 은 각각 부울식임    E 1 과  E 2 가 부울식이면 , ( E 1 ),  E 1 ’ ,  E 1  +  E 2 ,  E 1      E 2 도 각각 부울식임 부울 함수를 구성하는 수식을  부울식 (Boolean expression) 이라고 함 예제 다음 중 부울 변수  x 1 ,  x 2 ,  x 3 에 대한 부울식을 고르면 ? 0    1 +  x 1  + ( x 2      x 3 ’ ) ( x 1 ’  + 1) ’    ( x 1  + 0) (0 + 2)      x 1 x 1  +  x 2  +  x 3 (1 – 0)   + ( x 1  +  x 2 ) ’  부울식임  부울식임  부울식임   부울식이 아님 ( – 는 부울 연산자가 아님 )
3.  부울 함수와 부울식 쌍대성 원리 (Principles of Duality) 정의 집합 ( 제 2 강 참고 ) 과 마찬가지로 부울 대수에서도 다음 규칙을 적용하여 쌍대 (dual) 가 되는 부울식을 구성할 수 있음    부울식에서 부울곱 (  ) 은 부울합 (+) 으로 ,  부울합은 부울곱으로 변경    부울식에서  0 은  1 로 , 1 은  0 으로 변경 부울 대수의 유효한 법칙에 대해서 그 쌍대가 되는 법칙도 항상 유효함 예제 다음 각 부울식의 쌍대를 구하면 ? 1 +  xy  0    ( x  +  y ) ( xy ) ’   +  x  ( x  +  y ) ’      x 0   + ( x  +  yz )  1     ( x     ( y  +  z )) x  +  xy  =  x  x ( x  +  y ) =  x ( x ’  +  z )( xy ’  +  z ) =  z  x ’ z  + ( x  +  y ’ ) z  =  z
4.  최소항 / 최대항 표현 가능한 부울 함수의 개수 문제 n   개의 부울 변수로 만들 수 있는 부울 함수는 몇 개나 되는가 ? ( 단 ,  동치인 함수는 하나로 카운트함 )    2 2 n   개 이유 n   개의 부울 변수가 가질 수 있는 값의 조합  c  = 2 n   가지임 c   가지의 경우에 대해 진리표에서 표현할 수 있는 결과의 개수는 2 c  (= 2 2 n )  개임 예제 2  개의 부울 변수  x ,  y 로 만들 수 있는 부울 함수의 개수는 ?  2 2 2  = 2 4  = 16 ( 개 ) 가능한 부울 함수를 모두 나타내면 ?  ( 뒷장에 계속 )
표현 가능한 부울 함수의 개수  ( 계속 ) 4.  최소항 / 최대항 예제  ( 계속 ) x 0 0 1 1 y 0 1 0 1 f 0 0 0 0 0 f 1 0 0 0 1 f 2 0 0 1 0 f 3 0 0 1 1 f 4 0 1 0 0 f 5 0 1 0 1 f 6 0 1 1 0 f 7 0 1 1 1 f 8 1 0 0 0 f 9 1 0 0 1 f 10 1 0 1 0 f 11 1 0 1 1 f 12 1 1 0 0 f 13 1 1 0 1 f 14 1 1 1 0 f 15 1 1 1 1 f 0 ( x ,  y ) = 0 f 1 ( x ,  y ) =  xy f 2 ( x ,  y ) =  xy ’ f 3 ( x ,  y ) =  xy ’  +  xy f 4 ( x ,  y ) =  x ’ y f 5 ( x ,  y ) =  x ’ y  +  xy f 6 ( x ,  y ) =  x ’ y  +  xy ’ f 7 ( x ,  y ) =  x ’ y  +  xy ’  +  xy f 8 ( x ,  y ) =  x ’ y ’ f 9 ( x ,  y ) =  x ’ y ’  +  xy f 10 ( x ,  y ) =  x ’ y ’  +  xy ’ f 11 ( x ,  y ) =  x ’ y ’  +  xy ’  +  xy f 12 ( x ,  y ) =  x ’ y ’  +  x ’ y f 13 ( x ,  y ) =  x ’ y ’  +  x ’ y  +  xy f 14 ( x ,  y ) =  x ’ y ’  +  x ’ y  +  xy ’ f 15 ( x ,  y ) = 1
최소항 (Minterms)/ 최대항 (Maxterms) 4.  최소항 / 최대항 최소항 부울 변수의 곱으로만 표현되는 부울식을  최소항 (minterms) 이라고 함 최소항과 최대항은 서로 보수의 관계가 성립함 ( 즉 ,  최소항을  m i ,  최대항을  M i 라고 할 때 ,  m i ’  =  M i 임 )     예 : ( xy ’ z ) ’  =  x ’  + y  +  z ’ n   개의 부울 변수  x 1 ,  x 2 ,  … ,  x n 에 대한 최소항의 형식    y 1      y 2     …      y n  ( 단 ,  y i  =  x i   또는  y i  = ( x i ) ’ 이며 , 1≤ i ≤ n ) 부울 변수의 값을 대입하면 최소항의 결과는  1 이 됨 ( 예 :  부울 변수의 값이  x  = 1,  y  = 0,  z  = 1 일 때 ,  최소항은  xy ’ z 로 표현함 ) 최대항 부울 변수의 합으로만 표현되는 부울식을  최대항 (maxterms) 이라고 함 n   개의 부울 변수  x 1 ,  x 2 ,  … ,  x n 에 대한 최대항의 형식    y 1  +  y 2  +  …  +  y n  ( 단 ,  y i  =  x i   또는  y i  = ( x i ) ’ 이며 , 1≤ i ≤ n ) 부울 변수의 값을 대입하면 최대항의 결과는  0 이 됨   ( 예 :  부울 변수의 값이  x  = 1,  y  = 0,  z  = 1 일 때 ,  최대항은  x ’  + y  +  z ’ 로 표현함 )
최소항 / 최대항  ( 계속 ) 4.  최소항 / 최대항 예제 3  개의 부울 변수  x ,  y ,  z 에 대한 최소항과 최대항을 구하면 ? 최소항과 최대항은 진리표에 대응하는 부울 함수를 정규화된 형식으로 표현하기 위하여 주로 사용함 n   개의 변수에 대한 진리표는  2 n   개의 최소항과  2 n   개의 최대항을 가짐 특징 x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’  ( m 0 ) x ’ y ’ z  ( m 1 ) x ’ yz ’  ( m 2 ) x ’ yz   ( m 3 ) xy ’ z ’  ( m 4 ) xy ’ z   ( m 5 ) xyz ’  ( m 6 ) xyz   ( m 7 ) 최대항 x  +  y  +  z   ( M 0 ) x  +  y  +  z ’  ( M 1 ) x  +  y ’  +  z   ( M 2 ) x  +  y ’  +  z ’  ( M 3 ) x ’  +  y  +  z   ( M 4 ) x ’  +  y  +  z ’  ( M 5 ) x ’  +  y ’  +  z   ( M 6 ) x ’  +  y ’  +  z ’  ( M 7 )
5.  곱의 합 / 합의 곱 곱의 합 (Sum of Products)/ 합의 곱 (Product of Sums) 곱의 합 모든 부울 함수는  결과가  1 인 최소항들의 부울합 으로 표현할 수 있으며 , 이런 표현을  곱의 합 (sum of products)   형식이라고 함   논리합 정형 (disjunctive normal form) 이라고도 함 예 :  f ( x ,  y ,  z ) =  x ’ y ’ z  +  xy ’ z ’  +  xyz 합의 곱 모든 부울 함수는  결과가  0 인 최대항들의 부울곱 으로 표현할 수 있으며 , 이런 표현을  합의 곱 (product of sums)   형식이라고 함   논리곱 정형 (conjunctive normal form) 이라고도 함 예 :  f ( x ,  y ,  z ) = ( x  +  y  +  z ’ )( x ’  +  y  +  z )( x ’  +  y ’  +  z ’ ) [ 참고 ]  정규형 (Canonical form) 곱의 합 또는 합의 곱으로 표현된 부울식을  정규형 (canonical form) 이라고 하며 ,   그렇지 않은 식은 비정규형이라고 함
예제 5.  곱의 합 / 합의 곱 진리표에 대한 부울 함수 구하기 3  개의 부울 변수  x ,  y ,  z 에 대한 진리표가 다음과 같을 때 부울 함수 f ( x ,  y ,  z ) 를 곱의 합 형식으로 표현하면 ?  또한 합의 곱 형식으로 표현하면 ?    곱의 합 형식  : f ( x ,  y ,  z ) =  x ’ y ’ z  +  x ’ yz ’  +  xy ’ z ’  +  xy ’ z   =  m 1  +  m 2  +  m 4  +  m 5  =  ∑(1, 2, 4, 5)    합의 곱 형식  : f ( x ,  y ,  z ) = ( x  +  y  +  z )( x  +  y ’  +  z ’ )( x ’  +  y ’  +  z )( x ’  +  y ’  +  z ’ )   =  M 0 M 3 M 6 M 7  =  ∏(0, 3, 6, 7) x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’   ( m 0 ) x ’ y ’ z   ( m 1 ) x ’ yz ’   ( m 2 ) x ’ yz   ( m 3 ) xy ’ z ’   ( m 4 ) xy ’ z   ( m 5 ) xyz ’   ( m 6 ) xyz   ( m 7 ) 최대항 x  +  y  +  z   ( M 0 ) x  +  y  +  z ’  ( M 1 ) x  +  y ’  +  z   ( M 2 ) x  +  y ’  +  z ’   ( M 3 ) x ’  +  y  +  z   ( M 4 ) x ’  +  y  +  z ’   ( M 5 ) x ’  +  y ’  +  z   ( M 6 ) x ’  +  y ’  +  z ’   ( M 7 ) f ( x ,  y ,  z ) 0 1 1 0 1 1 0 0
예제  ( 계속 ) 5.  곱의 합 / 합의 곱 곱의 합 / 합의 곱 형식이 동치임을 증명 곱의 합 형식인  f ( x ,  y ,  z ) =  x ’ y ’ z  +  x ’ yz ’  +  xy ’ z ’  +  xy ’ z 과 합의 곱 형식인 f ( x ,  y ,  z ) = ( x  +  y  +  z )( x  +  y ’  +  z ’ )( x ’  +  y ’  +  z )( x ’  +  y ’  +  z ’ ) 이 동치임을 보이면 ?    [ 증명 ] 곱의 합 형식인  f ( x ,  y ,  z ) =  x ’ y ’ z  +  x ’ yz ’  +  xy ’ z ’  +  xy ’ z  =  ∑(1, 2, 4, 5)   일 때 , 그 보함수는  f ’ ( x ,  y ,  z ) =  x ’ y ’ z ’  +  x ’ yz  +  xyz ’  +  xyz  = ∑(0, 3, 6, 7) 이 됨 . 보함수의 정의에 따라  f ( x ,  y ,  z ) = ( f ’ ( x ,  y ,  z )) ’ 이므로  ( f ’ ( x ,  y ,  z )) ’  = ( x ’ y ’ z ’  +  x ’ yz  +  xyz ’  +  xyz ) ’ 드모르강 법칙을 적용하면 = ( x ’ y ’ z ’ ) ’     ( x ’ yz ) ’     ( xyz ’ ) ’     ( xyz ) ’   = ( x   +  y   +  z )    ( x   +   y ’   +  z ’ )    ( x ’   +  y ’   +  z )    ( x ’   +  y ’   +  z ’ ) 따라서 합의 곱 형식인  f ( x ,  y ,  z ) =  ∏(0, 3, 6, 7) 이 성립함
예제  ( 계속 ) 5.  곱의 합 / 합의 곱 일반적인 부울 함수의 정규형 변환 부울 함수  f ( x ,  y ,  z ) =  x ’ y  +  z ’ 를 정규형 ( 즉 ,  곱의 합 형식과 합의 곱 형식 ) 으로 표현하면 ?    곱의 합 형식  : f ( x ,  y ,  z ) =  ∑(0, 2, 3, 4, 6)  =  m 0  +  m 2  +  m 3  +  m 4  +  m 6     =  x ’ y ’ z ’  +  x ’ yz ’  +  x ’ yz  +  xy ’ z ’   +  xyz ’    합의 곱 형식  : f ( x ,  y ,  z ) =  ∏(1, 5, 7)  =  M 1 M 5 M 7     = ( x  +  y  +  z ’ )( x ’  +  y  +  z ’ )( x ’  +  y ’  +  z ’ ) x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’  ( m 0 ) x ’ y ’ z  ( m 1 ) x ’ yz ’  ( m 2 ) x ’ yz   ( m 3 ) xy ’ z ’  ( m 4 ) xy ’ z   ( m 5 ) xyz ’  ( m 6 ) xyz   ( m 7 ) 최대항 x  +  y  +  z   ( M 0 ) x  +  y  +  z ’  ( M 1 ) x  +  y ’  +  z   ( M 2 ) x  +  y ’  +  z ’  ( M 3 ) x ’  +  y  +  z   ( M 4 ) x ’  +  y  +  z ’  ( M 5 ) x ’  +  y ’  +  z   ( M 6 ) x ’  +  y ’  +  z ’  ( M 7 ) f ( x ,  y ,  z ) 1 0 1 1 1 0 1 0 x ’ y 0 0 1 1 0 0 0 0 x ’ 1 1 1 1 0 0 0 0 z ’ 1 0 1 0 1 0 1 0
6.  논리 게이트 논리 게이트 (Logic Gate) 란 ? 정의 디지털 신호를 갖는 전자 회로를 표현하는 가장 기본이 되는 단위로서 하나 이상의 입력과 하나의 출력을 갖는 장치를  논리 게이트 (logic gate) 라고 함 부울 대수의  B n 에서  B 로의 함수 ( 여기서  B  = {0, 1} 임 ) 로 표현이 가능함 종류 AND  게이트 OR  게이트 NOT  게이트 NAND(NOT-AND)  게이트 NOR(NOT-OR)  게이트 XOR(Exclusive-OR)  게이트 XNOR(Exclusive-NOR)  게이트 Buffer  게이트
6.  논리 게이트 AND  게이트 정의 임의의  x ,  y  ∈ {0, 1} 를 입력하여  xy 를 출력으로 얻는 게이트 진리표 다이어그램 다중입력  AND  게이트 x y xy x y 0 0 0 1 1 0 1 1 입력 xy 0 0 0 1 출력    xy  =  1 if   x  =  y  = 1 0 otherwise x 1 x 2 … x n x 1 x 2 x n ∙ ∙ ∙
6.  논리 게이트 OR  게이트 정의 임의의  x ,  y  ∈ {0, 1} 를 입력하여  x  +  y 를 출력으로 얻는 게이트 진리표 다이어그램 다중입력  OR  게이트 x y 0 0 0 1 1 0 1 1 입력 x  +  y 0 1 1 1 출력    x  +  y  =  0 if   x  =  y  = 0 1 otherwise x y x  +  y x 1 + x 2 + … + x n x 1 x 2 x n ∙ ∙ ∙
6.  논리 게이트 NOT  게이트 정의 임의의  x  ∈ {0, 1} 를 입력하여  x ’ 를 출력으로 얻는 게이트 진리표 다이어그램 인버터 (inverter) 라고도 함 x 0 1 입력 x ’ 1 0 출력    x ’  =  1 if   x  = 0 0 if   x  = 1 x x ’
NAND  게이트 6.  논리 게이트 정의 임의의  x ,  y  ∈ {0, 1} 를 입력하여  x ↑ y  = ( xy ) ’ 를 출력으로 얻는 게이트 진리표 다이어그램 동치인  NAND  게이트 x y 0 0 0 1 1 0 1 1 입력 x ↑ y 1 1 1 0 출력    x ↑ y  =  0 if   x  =  y  = 1 1 otherwise x y x ↑ y x y x ’  +  y ’
NOR  게이트 6.  논리 게이트 정의 임의의  x ,  y  ∈ {0, 1} 를 입력하여  x ↓ y  = ( x  +  y ) ’ 를 출력으로 얻는 게이트 진리표 다이어그램 동치인  NOR  게이트 x y 0 0 0 1 1 0 1 1 입력 x ↓ y 1 0 0 0 출력    x ↓ y  =  1 if   x  =  y  = 0 0 otherwise x y x ↓ y x y x ’ y ’
XOR  게이트 6.  논리 게이트 정의 임의의  x ,  y  ∈ {0, 1} 를 입력하여  x      y = x ’ y  +  xy ’ 를 출력으로 얻는 게이트 진리표 다이어그램 x y 0 0 0 1 1 0 1 1 입력 x      y 0 1 1 0 출력    x      y  =  0 if   x  =  y 1 otherwise x y x      y
XNOR  게이트 6.  논리 게이트 정의 임의의  x ,  y  ∈ {0, 1} 를 입력하여  x     y  =  x ’ y ’  +  xy 를 출력으로 얻는 게이트 진리표 다이어그램 x y 0 0 0 1 1 0 1 1 입력 x     y 1 0 0 1 출력    x      y  =  1 if   x  =  y 0 otherwise x y x     y
Buffer  게이트 6.  논리 게이트 정의 임의의  x  ∈ {0, 1} 를 입력하여  x 를 그대로 출력으로 얻는 게이트 진리표 다이어그램 입력 시간을 지연시키는데 사용됨 x 0 1 입력 x 0 1 출력    x  =  1 if   x  = 1 0 if   x  = 0 x x
논리 회로 (Logic Circuit) 란 ? 7.  논리 회로 정의 논리 게이트의 조합으로 구성된 회로를  논리 회로 (logic circuit) 라고 함 모든 부울 함수는 논리 회로로 변환이 가능함 부울 함수의 논리 회로 표현 방법 합의 곱 (product of sums)  형식   다수의  OR  게이트가 하나의  AND  게이트에 연결되는 형태로 표현함 곱의 합 (sum of products)  형식   다수의  AND  게이트가 하나의  OR  게이트에 연결되는 형태로 표현함 [ 참고 ] 여러 게이트가 하나의 입력을 공유하면 입력선을 분기하여 표현하기도 함
예제 7.  논리 회로 곱의 합 형식의 논리 회로 표현 부울 함수  f ( x ,  y ) =  xy  +  xy ’ 를 논리 회로로 표현하면 ? 또는 x y xy  +  xy ’ x y xy x y xy ’ xy  +  xy ’
예제  ( 계속 ) 7.  논리 회로 합의 곱 형식의 논리 회로 표현 부울 함수  f ( x ,  y ) = ( x  +  y )( x ’  +  y ) 를 논리 회로로 표현하면 ? 또는 x y x ’  +  y x y x  +  y ( x  +  y )( x ’  +  y ) x y ( x  +  y )( x ’  +  y )
예제  ( 계속 ) 7.  논리 회로 논리 회로의 부울 함수 표현 다음 논리 회로를 부울 함수로 표현하면 ? w ’ x ’ y ( w ’ x ’ y ) ’ ( w ’ x ’ y ) ’ y ( w ’ x ’ y ) ’ y  +  ( w ’ x ’ y ) ’  +  z ’ f ( w ,  x ,  y ,  z ) = ( w ’ x ’ y ) ’ y  +  ( w ’ x ’ y ) ’  +  z ’ z w x y
완전 연산자 집합 (Complete Set of Operators) 8.  완전 연산자 집합 정의 모든 부울 함수를 표현하기에 충분한 연산자의 집합 예 : {  (AND), +(OR),  ’ (NOT)}   [ 이유 ]  모든 부울 함수는 곱의 합 / 합의 곱 형식으로 표현이 가능하므로 예제 집합  {  (AND),  ’ (NOT)} 가 완전 연산자 집합임을 보이면 ?    [ 증명 ] +(OR) 를  {  ,  ’ } 만으로 표현이 가능한지 증명함 부울식  x  +  y 에 대해서 이중보수법칙과 드모르강법칙을 적용하면 x  +  y  = (( x   +  y ) ’ ) ’  = ( x ’     y ’ ) ’ 이 성립함 즉 ,  모든 부울 함수에서  + 는   과  ’ 를 결합하여 표현할 수 있으므로 {  ,  ’ } 는 완전 연산자 집합임 [ 참고 ] {  ,  ’ } 과 마찬가지로  {+,  ’ } 도 완전 연산자 집합임 완전 연산자 집합은 실제 전자 회로를 구성할 때 사용되는 게이트의 종류를   최소화하는데 도움이 됨
완전 연산자 집합  {NAND}/{NOR} 8.  완전 연산자 집합 정의 모든 부울 함수는  NAND(NOT-AND; ↑)  또는  NOR(NOT-OR; ↓)  만을 사용하여 표현이 가능함 증명 집합  {↑(NAND)} 와  {↓(NOR)} 가 완전 연산자 집합임을 보이면 ?    우선   과  ’ 를 ↑만으로 표현이 가능한지 증명함  따라서  {↑} 는 완전 연산자 집합임 NAND 의 정의인  x ↑ y =  ( x      y ) ’ 와 멱등법칙인  x      x   =  x 를 적용하면   x ↑ x  = ( x      x ) ’  =  x ’  가 성립함 .  즉 ,  x ’  = x ↑ x 임 또한  x      y  = ( x ↑ y ) ’   = ( x ↑ y )↑( x ↑ y ) 가 성립함    마찬가지로  + 과  ’ 를 ↓만으로 표현이 가능한지 증명함 따라서  {↓} 는 완전 연산자 집합임 NOR 의 정의인  x ↓ y =  ( x  +  y ) ’ 와 멱등법칙  x  +  x   =  x 를 적용하면   x ↓ x  = ( x  +  x ) ’  =  x ’  가 성립함 .  즉 ,  x ’  = x ↓ x 임 또한  x  +  y  = ( x ↓ y ) ’   = ( x ↓ y )↓( x ↓ y ) 가 성립함
완전 연산자 집합  {NAND}/{NOR}  ( 계속 ) 8.  완전 연산자 집합 예제 진리표를 사용하여  x ’  = x ↑ x 와  x      y  = ( x ↑ y )↑( x ↑ y ) 가 성립함을 보이면 ? x ’  = x ↑ x x      y  = ( x ↑ y )↑( x ↑ y ) x 0 1 x ’ 1 0 x ↑ x 1 0 x y 0 0 0 1 1 0 1 1 x     y 0 0 0 1 x ↑ y 1 1 1 0 ( x ↑ y )↑( x ↑ y ) 0 0 0 1
부울 함수의 간소화 (Simplifying Boolean Expression) 9.  부울 함수의 간소화 정의 동치인 부울 함수가 있을 때 ,  복잡한 것보다는 간소화된 것을 이용한 전자 회로의 구성이 게이트의 수를 줄일 수 있어서 더 효율적임 간소화 방법 부울 대수의 기본 법칙 을 이용하는 방법 카르노 맵 (Karnaugh map) 을 이용하는 방법    곱의 합 ( 또는 합의 곱 )  형식으로 표현된 부울 함수를  K-map 이라는   특수한 행렬로 표시함    인간의 패턴 매칭 (pattern matching)  능력을 사용하여 가장 간단한   표현을 결정함    [ 제 11 강 ] 에서 배운 다양한 부울 대수의 기본 법칙을 적용하여 간소화함    적용할 법칙의 선택이 어렵고 ,  가장 간소화된 것인지 확인하기 힘듬 부울 함수의 간소화 란 부울 함수의 표현에 사용되는 부울 변수의 개수와 부울 연산자의 개수를 최소한으로 줄이는 것을 의미함
부울 대수의 법칙을 이용한 간소화 9.  부울 함수의 간소화 예제 부울 함수  f ( x ,  y ,  z ) =  xyz  +  xy ’ z  +  xyz ’  +  x ’ yz  +  xy ’ z ’ 를 부울 대수의 기본 법칙을 사용하여 간소화시키면 ?    f ( x ,  y ,  z ) =  xyz  +  xy ’ z  +  xyz ’  +  x ’ yz  +  xy ’ z ’ =  xyz  +  xy ’ z  +  xyz ’  +  x ’ yz  + ( xy ’ z ’  +  xy ’ z ’ ) 멱등법칙 =  xyz  +  xy ’ ( z  +  z ’ ) +  xz ’ ( y  +  y ’ ) +  x ’ yz 교환법칙 ,  분배법칙 =  xyz  +  xy ’     1 +  xz ’     1 +  x ’ yz 보법칙 =  xyz  +  xy ’  +  xz ’  +  x ’ yz 항등법칙 =  xyz  +  x ( y ’  +  z ’ ) +  x ’ yz 분배법칙 =  xyz  +  x ( yz ) ’  +  x ’ yz 드모르강법칙 = ( xyz  +  xyz ) +  x ( yz ) ’  +  x ’ yz 멱등법칙 =  x [ yz  + ( yz ) ’ ] + ( x  +  x ’ ) yz 교환법칙 ,  분배법칙 =  x     1 + 1     yz 보법칙 =  x  +  yz 항등법칙
카르노 맵 (Karnaugh Map) 10.  카르노 맵 정의 부울 함수를 최소로 간소화하기 위해 사용되는 부울 행렬 1953 년  Bell Lab 의 전기통신 공학자인  Maurice Karnaugh 가 고안함 간소화 방법 주로  2~6  개의 변수를 가진 부울 함수에 적용됨 ( 이론상으로는 제한이 없음 ) 2- 변수 맵은  2 x 2  행렬 , 3- 변수 맵은  2 x 4  행렬 , 4- 변수 맵은  4 x 4  행렬임 행렬은 인접하는 원소가 한 비트만 다르게 부울 변수를 조합할 수 있도록 그레이 코드 (grey code)  형식으로 구성됨 부울 함수가 곱의 합 형식으로 표현된 경우에 최소항의 값이  1 이면  1 로 0 이면  0 으로 해당하는 행렬의 위치에 표시함 부울 함수가 합의 곱 형식으로 표현된 경우에 최대항의 값이  1 이면  0 으로 0 이면  1 로 해당하는 행렬의 위치에 표시함 행렬에서 인접한  1 을  2 n  ( 예 : 1, 2, 4, 8,  … ) 개의 직사각형으로 묶은 후 ( 가능한 큰 그룹으로 ),  행과 열에서 공통인 변수의 곱 (AND) 으로 묶음을 표현함 묶은 곱의 합 (OR)  형식으로 함수를 표시하면 간소화된 형식임
2- 변수 맵 (2 Variable Map) 10.  카르노 맵 템플릿 [ 제 11 강 참고 ] f 0 ( x ,  y ) =  0 f 0 ’ ( x ,  y ) =  1 f 1 ( x ,  y ) =  xy f 1 ’ ( x ,  y ) =  x ’  +  y ’ f 2 ( x ,  y ) =  xy ’ f 2 ’ ( x ,  y ) =  x ’  +  y f 3 ( x ,  y ) =  xy ’  +  xy   =  x f 3 ’ ( x ,  y ) =  x ’ 부울 함수의 표현 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) x 0 0 1 1 y 0 1 0 1 f 0 0 0 0 0 f 1 0 0 0 1 f 2 0 0 1 0 f 3 0 0 1 1 0 0 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 0 0 0 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 1 0 0 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 2 0 0 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 3
2- 변수 맵  ( 계속 ) 10.  카르노 맵 f 6 ( x ,  y ) =  x ’ y  +  xy ’ f 6 ’ ( x ,  y ) =  x ’ y ’  +  xy f 7 ( x ,  y ) =  x ’ y + xy ’ + xy     =  x  +  y f 7 ’ ( x ,  y ) =  x ’ y ’ f 8 ( x ,  y ) =  x ’ y ’ f 8 ’ ( x ,  y ) =  x  +  y f 9 ( x ,  y ) =  x ’ y ’  +  xy f 9 ’ ( x ,  y ) =  x ’ y  +  xy ’ 부울 함수의 표현  ( 계속 ) f 4 ( x ,  y ) =  x ’ y f 4 ’ ( x ,  y ) =  x  +  y ’ f 5 ( x ,  y ) =  x ’ y  +  xy   =  y f 5 ’ ( x ,  y ) =  y ’ 0 1 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 6 0 1 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 7 1 0 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 8 1 0 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 9 x 0 0 1 1 y 0 1 0 1 f 4 0 1 0 0 f 5 0 1 0 1 f 6 0 1 1 0 f 7 0 1 1 1 f 8 1 0 0 0 f 9 1 0 0 1 0 1 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 4 0 1 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 5
2- 변수 맵  ( 계속 ) 10.  카르노 맵 f 12 ( x ,  y ) =  x ’ y ’  +  x ’ y     =  x ’ f 12 ’ ( x ,  y ) =  x f 13 ( x ,  y ) =  x ’ y ’ + x ’ y + xy     =  x ’  +  y f 13 ’ ( x ,  y ) =  xy ’ f 14 ( x ,  y ) =  x ’ y ’ + x ’ y + xy ’   =  x ’  +  y ’ f 14 ’ ( x ,  y ) =  xy f 15 ( x ,  y ) =  1 f 15 ’ ( x ,  y ) =  0 부울 함수의 표현  ( 계속 ) f 10 ( x ,  y ) =  x ’ y ’  +  xy ’     =  y ’ f 10 ’ ( x ,  y ) =  y f 11 ( x ,  y ) =  x ’ y ’ + xy ’ + xy    =  x  +  y ’ f 11 ’ ( x ,  y ) =  x ’ y 1 1 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 12 1 1 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 13 1 1 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 14 1 1 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 15 1 0 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 10 1 0 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 11 x 0 0 1 1 y 0 1 0 1 f 10 1 0 1 0 f 11 1 0 1 1 f 12 1 1 0 0 f 13 1 1 0 1 f 14 1 1 1 0 f 15 1 1 1 1
3- 변수 맵 (3 Variable Map) 10.  카르노 맵 템플릿 부울 함수의 표현 f ( x ,  y ,  z ) =  xy ’ z  +  xyz    f ( x ,  y ,  z ) =  xz f ( x ,  y ,  z ) = ∑(2, 3, 4, 6)    f ( x ,  y ,  z ) =  x ’ y   +  xz ’ 000 ( x ’ y ’ z ’ ) 100 ( xy ’ z ’ ) 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 001 ( x ’ y ’ z ) 101 ( xy ’ z ) 01 ( y ’ z ) 011 ( x ’ yz ) 111 ( xyz ) 11 ( yz ) 010 ( x ’ yz ’ ) 110 ( xyz ’ ) 10 ( yz ’ ) 0 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 1 01 ( y ’ z ) 0 1 11 ( yz ) 0 0 10 ( yz ’ ) 0 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 1 0 11 ( yz ) 1 1 10 ( yz ’ )
3- 변수 맵  ( 계속 ) 10.  카르노 맵 부울 함수의 표현  ( 계속 ) f ( x ,  y ,  z ) = ∑(0, 1, 2, 3)    f ( x ,  y ,  z ) =  x ’ f ( x ,  y ,  z ) = ∑(2, 3, 6, 7)    f ( x ,  y ,  z ) =  y f ( x ,  y ,  z ) = ∏(1, 3, 5, 7)    f ( x ,  y ,  z ) =  z ’ 1 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 0 01 ( y ’ z ) 1 0 11 ( yz ) 1 0 10 ( yz ’ ) 0 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 1 1 11 ( yz ) 1 1 10 ( yz ’ ) 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 0 0 11 ( yz ) 1 1 10 ( yz ’ )
3- 변수 맵  ( 계속 ) 10.  카르노 맵 부울 함수의 표현  ( 계속 ) f ( x ,  y ,  z ) = ∑(0, 1, 3, 4, 5)    f ( x ,  y ,  z ) =  y ’   +  x ’ z f ( x ,  y ,  z ) = ∏(0, 2)    f ( x ,  y ,  z ) =  x   +   z f ( x ,  y ,  z ) = ∑(0, 2, 3, 4, 5, 6)    f ( x ,  y ,  z ) =  z ’  +  xy ’  +  x ’ y 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 1 01 ( y ’ z ) 1 0 11 ( yz ) 0 0 10 ( yz ’ ) 0 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 1 10 ( yz ’ ) 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 1 01 ( y ’ z ) 1 0 11 ( yz ) 1 1 10 ( yz ’ )
4- 변수 맵 (4 Variable Map) 10.  카르노 맵 템플릿 부울 함수의 표현 f ( w ,  x ,  y ,  z ) =  w ’ x ’ y ’ z  +  w ’ x ’ yz  +  w ’ xy ’ z  +  w ’ xyz  +  wxy ’ z  +  wxyz  +  wx ’ y ’ z  +  wx ’ yz   = ∑(1, 3, 5, 7, 9, 11, 13, 15)   = ∏(0, 2, 4, 6, 8, 10, 12, 14)    f ( w ,  x ,  y ,  z ) =  z 0000 ( w ’ x ’ y ’ z ’ ) 0100 ( w ’ xy ’ z ’ ) 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 0001 ( w ’ x ’ y ’ z ) 0101 ( w ’ xy ’ z ) 01 ( y ’ z ) 0011 ( w ’ x ’ yz ) 0111 ( w ’ xyz ) 11 ( yz ) 0010 ( w ’ x ’ yz ’ ) 0110 ( w ’ xyz ’ ) 10 ( yz ’ ) 1100 ( wxy ’ z ’ ) 1000 ( wx ’ y ’ z ’ ) 11 ( wx ) 10 ( wx ’ ) 1101 ( wxy ’ z ) 1001 ( wx ’ y ’ z ) 1111 ( wxyz ) 1011 ( wx ’ yz ) 1110 ( wxyz ’ ) 1010 ( wx ’ yz ’ ) 0 0 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 0 10 ( yz ’ ) 0 0 11 ( wx ) 10 ( wx ’ ) 1 1 1 1 0 0
4- 변수 맵  ( 계속 ) 10.  카르노 맵 이산수학 Discrete Mathematics 부울 함수의 표현  ( 계속 ) f ( w ,  x ,  y ,  z ) = ∑(1, 3, 5, 6, 7, 12, 13, 14, 15) f ( w ,  x ,  y ,  z ) = ∏(3, 5, 8, 9, 14)    f ( w ,  x ,  y ,  z ) =  w ’ z  +  wx ’  +  w ’ xy      f ( w ,  x ,  y ,  z )    =  w ’ z ’  +  x ’ y ’  +  xy   +  wyz   [ 참고 ] 5- 변수 이상의 카르노 맵은 본 강의에서 다루지 않음 0 0 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 1 10 ( yz ’ ) 0 1 11 ( wx ) 10 ( wx ’ ) 0 1 0 1 0 1 1 1 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 0 01 ( y ’ z ) 0 1 11 ( yz ) 1 1 10 ( yz ’ ) 0 1 11 ( wx ) 10 ( wx ’ ) 0 1 1 1 1 0
11. 조합회로 조합 논리 회로는 기억 특성을 가지고 있지 않으므로 회로의 출력은 현재 가해지는 입력의 조합에 의해서만 결정된다 . 반가산기 (half adder) 2 진수 한 자리를 더하는 회로를 반가산기라 하며 ,  연산회로의 기본이 된다 . 2 개의 비트  X, Y 를 산술적으로 더하여  합 S  와 캐리 C 를 구하는 회로 X  Y S  C 0  0 0  1 1  0 1  1 0  0 1  0 1  0 0  1
11. 조합회로 전가산기 (full adder) X, Y 와 밑자리에서 올라오는  Carry  까지 고려해서  3bit 를 더하여  S , C 를 구하는 회로  (2 개의 반가산기와  1 개의  OR  게이트 ) X Y C i S  C 0  0  0 0  0  1 0  1  0 0  1  1 0  0  0 0  0  1 0  1  0 0  1  1 0  0 1  0 1  0 0  1 1  0 0  1 0  1 1  1
11. 조합회로 비교기 (comparator) 2 개의 수  A, B 를 비교하여 대소를 결정하는 회로 A  B A>B  A=B A<B 0  0 0  1 1  0 1  1 0  1  0 0  0  1 1  0  0 0  1  0
11. 조합회로 디코더 (decoder :  해독기 ,  복조기  ) N 개의  2 진 입력 신로로 부터 최대  2 n   개의 출력신호를 만드는 조합회로  디지털 데이터를 아날로그 데이터로 바꿔주는 컴퓨터 회로  ( 해독기 ) 압축된 신호를 원래 압축되기 전의 신호로 복원 한다는 의미  ( 복조기 ) 예  :  음향 시스템  ( DVD) A  B Y 0   Y 1   Y 2   Y 3 0  0 0  1 1  0 1  1 1  0  0  0 0  1  0  0 0  0  1  0 0  0  0  1
11. 조합회로 디코더의 응용
11. 조합회로 인코더 (encoder) 디코더의 반대 기능을 가진 조합회로 2 n  개 또는 그 이하의 입력으로 부터  N  개의 출력을 만드는 조합 회로  디지털 전자회로에서 어떤 부호계열의 신호를 다른 부호계열의 신호로 바꾸는 변환기 D 0   D 1   D 2   D 3 A  B 1  0  0  0 0  1  0  0 0  0  1  0 0  0  0  1 0  0 0  1 1  0 1  1
11. 조합회로 멀티플렉서 (multiplexer :  다중화기  - MUX ) 데이터 선택기  여러 개의 입력 신호선 ( 채널 )  중 하나를 선택하여 출력선에 연결하여 주는 조합 논리회로 S 0  S 1 Y 0  0 0  1 1  0 1  1 I 0 I 1 I 2 I 3
11. 조합회로 디멀티플렉서 (demultiplexer) 한 개의 입력선을 여러 개의 출력선 중에 하나를 선택하여 연결하여 준다 . E  S 0  S 1 D 0   D 1   D 2   D 3 1      0  0  0 0  0  1 0  1  0 0  1  1 1  1  1  1  1  0  0  0 0  1  0  0 0  0  1  0 0  0  0  1
12. 순서논리회로 순서 논리 회로는 플립플롭 (flip-flop) 과 조합 논리 회로로 구성된 논리 회로를 의미 순서 논리 회로에서는 회로의 상태를 기억하는 기억 소자가 필요한데 가장 대표적인 기억 소자가 플립플롭이다 . 순서 논리 회로는 동기식 (synchronous) 과 비동기식 (asynchronous) 으로 분류 동기식 순서 논리 회로는 클록 (clock)  펄스를 사용해서 여러 개의 플립플롭을 동시에 동작 비동기식 순서 논리 회로는 클록 펄스를 사용하지 않고 플립플롭을 동작시킨다 .  기본적인 플립플롭 (SR  래치 ) S  R Q 0  0 0  1 1  0 1  1 불변 1 0 불안정
12. 순서논리회로 S-R  플립플롭 D  플립플롭 S  R Q 0  0 0  1 1  0 1  1 불변 1 0 불능  ( 허용 안됨 ) D Q 1 0 1 0
12. 순서논리회로 J-K  플립플롭 T  플립플롭 RS  플립플롭에서  R=S=1  을 허용하지 않는 보완한 것이  JK  플립플롭이다 .  J,K  값이 동시에  1 이 될때 원래값에 반전된다… Toggle  플립플롭이다 . JK  플립플롭의 입력을 묶어서 하나의 입력  T 로 많든 플립플롭 J  K Q 0  0 0  1 1  0 1  1 불변 0 1 토글 ( 반전 ) T Q 0 1 불변 보수
13.ROM ROM: Two dimensional array of 1's and 0's Row is called a &quot;word&quot;; index is called an &quot;address&quot; Width of row is called  bit-width  or  wordsize Address is input, selected word is output Dec 0 n-1 Address 2  -1 n 0 Word Line 0011  Word Line 1010 Bit Lines j i +5V +5V +5V +5V
13.ROM F0 = A' B' C  +  A B' C'  +  A B' C F1 = A' B' C  +  A' B C'  +  A B C F2 = A' B' C'  +  A' B' C  +  A B' C' F3 = A' B C  +  A B' C'  + A B C' address  outputs  A  B  C  Address  by ROM  8 w  ords  ¥  4 bits  F  0  F  1  F  2  F  3  B  0  0  1  1  0  0  1  1  W  ord Contents  A  0  0  0  0  1  1  1  1  C  0  1  0  1  0  1  0  1  F  0  0  1  0  0  1  1  0  0  F  1  0  1  1  0  0  0  0  1  F  2  1  1  0  0  1  0  0  0  F  3  0  0  0  1  1  0  1  0
14.ALU
14.ALU(32bit)

More Related Content

PDF
Linear algebra
Sungbin Lim
 
PPT
Riemann sumsdefiniteintegrals
Dr. Jennifer Chang Wathall
 
PDF
게임수학 강의노트 1부
Young-Min kang
 
PDF
Chapter1 4.6
Takuya Minagawa
 
PPT
Integrales Dobles
David Vargas
 
PPTX
Optimization/Gradient Descent
kandelin
 
PDF
Matrix calculus
Sungbin Lim
 
PPT
Continuous Random variable
Jay Patel
 
Linear algebra
Sungbin Lim
 
Riemann sumsdefiniteintegrals
Dr. Jennifer Chang Wathall
 
게임수학 강의노트 1부
Young-Min kang
 
Chapter1 4.6
Takuya Minagawa
 
Integrales Dobles
David Vargas
 
Optimization/Gradient Descent
kandelin
 
Matrix calculus
Sungbin Lim
 
Continuous Random variable
Jay Patel
 

What's hot (20)

PDF
Galois theory
shinojmadhu
 
PDF
Correspondence and Isomorphism Theorems for Intuitionistic fuzzy subgroups
journal ijrtem
 
PDF
Contraction mapping
Hancheol Choi
 
PPTX
Graph theory
iranian translate
 
PPT
CHAIN RULE AND IMPLICIT FUNCTION
Nikhil Pandit
 
PPSX
Differentiation using First Principle - By Mohd Noor Abdul Hamid
Mohd. Noor Abdul Hamid
 
PPT
Multiple integrals
Soma Shabbir
 
PPTX
Topology M.Sc. 2 semester Mathematics compactness, unit - 4
Shri Shankaracharya College, Bhilai,Junwani
 
PPT
Partial Differentiation & Application
Yana Qlah
 
PDF
FPDE presentation
Divyansh Verma
 
PPT
DOUBLE INTEGRALS PPT GTU CALCULUS (2110014)
Panchal Anand
 
PDF
problems-and-exercises-in-integral-equations-krasnov-kiselev-makarenko.pdf
ShivamSharma340355
 
PPT
Asymptotes and holes 97
swartzje
 
PDF
Green's theorem in classical mechanics and electrodynamics
Corneliu Sochichiu
 
PDF
混合ガウスモデルとEMアルゴリスム
貴之 八木
 
PPTX
Graph Theory
Ehsan Hamzei
 
PDF
Graph Theory Introduction
MANISH T I
 
PPTX
Machine Learning using Support Vector Machine
Mohsin Ul Haq
 
PPT
Lecture 6 limits with infinity
njit-ronbrown
 
PDF
Fractional Calculus
VRRITC
 
Galois theory
shinojmadhu
 
Correspondence and Isomorphism Theorems for Intuitionistic fuzzy subgroups
journal ijrtem
 
Contraction mapping
Hancheol Choi
 
Graph theory
iranian translate
 
CHAIN RULE AND IMPLICIT FUNCTION
Nikhil Pandit
 
Differentiation using First Principle - By Mohd Noor Abdul Hamid
Mohd. Noor Abdul Hamid
 
Multiple integrals
Soma Shabbir
 
Topology M.Sc. 2 semester Mathematics compactness, unit - 4
Shri Shankaracharya College, Bhilai,Junwani
 
Partial Differentiation & Application
Yana Qlah
 
FPDE presentation
Divyansh Verma
 
DOUBLE INTEGRALS PPT GTU CALCULUS (2110014)
Panchal Anand
 
problems-and-exercises-in-integral-equations-krasnov-kiselev-makarenko.pdf
ShivamSharma340355
 
Asymptotes and holes 97
swartzje
 
Green's theorem in classical mechanics and electrodynamics
Corneliu Sochichiu
 
混合ガウスモデルとEMアルゴリスム
貴之 八木
 
Graph Theory
Ehsan Hamzei
 
Graph Theory Introduction
MANISH T I
 
Machine Learning using Support Vector Machine
Mohsin Ul Haq
 
Lecture 6 limits with infinity
njit-ronbrown
 
Fractional Calculus
VRRITC
 
Ad

Similar to 제4강 명제와 논리-정보 (20)

PPT
부울 대수와 컴퓨터 논리
suitzero
 
PPTX
python 수학이해하기
Yong Joon Moon
 
PDF
6비트덧셈기
herojoon1378
 
PPTX
집합
guestae23607
 
PPTX
파이썬 확률과 통계 기초 이해하기
Yong Joon Moon
 
PDF
Project#6 2 비트 덧셈기 Hwp
Kimjeongmoo
 
PPTX
Taocp11.2.2
duaa83
 
PPTX
Taocp11.2.3
duaa83
 
PPTX
8조 발표자료
진환 김
 
PDF
Wasserstein GAN 수학 이해하기 I
Sungbin Lim
 
PDF
이산치수학 데이터베이스
mil23
 
PDF
2012 Ds C2 06
seonhyung
 
PPTX
하스켈 성능 튜닝
민석 이
 
PDF
How to Study Mathematics for ML
Dataya Nolja
 
PPTX
7조 발표자료
진환 김
 
PDF
HI-ARC Number Theory
Jae-yeol Lee
 
PDF
[TAOCP] 1.2.1 수학적 귀납법
종빈 오
 
PPT
Taocp 1 2-2
codevania
 
DOCX
이산치수학 Project6
KoChungWook
 
PPTX
2012-12-25 사조사2급실기-공식
Seok-kyu Kong 공석규
 
부울 대수와 컴퓨터 논리
suitzero
 
python 수학이해하기
Yong Joon Moon
 
6비트덧셈기
herojoon1378
 
집합
guestae23607
 
파이썬 확률과 통계 기초 이해하기
Yong Joon Moon
 
Project#6 2 비트 덧셈기 Hwp
Kimjeongmoo
 
Taocp11.2.2
duaa83
 
Taocp11.2.3
duaa83
 
8조 발표자료
진환 김
 
Wasserstein GAN 수학 이해하기 I
Sungbin Lim
 
이산치수학 데이터베이스
mil23
 
2012 Ds C2 06
seonhyung
 
하스켈 성능 튜닝
민석 이
 
How to Study Mathematics for ML
Dataya Nolja
 
7조 발표자료
진환 김
 
HI-ARC Number Theory
Jae-yeol Lee
 
[TAOCP] 1.2.1 수학적 귀납법
종빈 오
 
Taocp 1 2-2
codevania
 
이산치수학 Project6
KoChungWook
 
2012-12-25 사조사2급실기-공식
Seok-kyu Kong 공석규
 
Ad

More from csungwoo (11)

DOC
Prezi
csungwoo
 
PDF
Wordpress_최병우
csungwoo
 
DOC
Wordle_최병우
csungwoo
 
PDF
Wordpress_최병우
csungwoo
 
DOC
Wordle_최병우
csungwoo
 
PDF
View Accepted Proposal
csungwoo
 
PPTX
알고리즘 – 논리적 사고력
csungwoo
 
PPTX
알고리즘 – 논리적 사고력
csungwoo
 
ZIP
Csungwoo Key
csungwoo
 
ZIP
Csungwoo Key
csungwoo
 
ZIP
Csungwoo Key
csungwoo
 
Prezi
csungwoo
 
Wordpress_최병우
csungwoo
 
Wordle_최병우
csungwoo
 
Wordpress_최병우
csungwoo
 
Wordle_최병우
csungwoo
 
View Accepted Proposal
csungwoo
 
알고리즘 – 논리적 사고력
csungwoo
 
알고리즘 – 논리적 사고력
csungwoo
 
Csungwoo Key
csungwoo
 
Csungwoo Key
csungwoo
 
Csungwoo Key
csungwoo
 

제4강 명제와 논리-정보

  • 1. 제 4 강 . 디지털 논리
  • 3. 0. 개요 HIGH LOW LOW HIGH +5 +3.5 +0.8 0 전압 [V] +2.5 +1.5 출력신호 입력신호
  • 4. 1. 부울 대수의 개념 부울 대수와 명제 논리 집합 이론 수학적 대상을 원소로 하는 집합 집합의 원소에 대해 정의된 연산 (operation) 의 집합 집합의 여러가지 법칙 명제이론 - 논리 참과 거짓 다양한 연산자 이용 : 참과 거짓만 갖은 여러가지 법칙 [ 참고 ] 부울 대수는 1854 년 영국의 수학자 부울 (George Boole: 1815~1864) 에 의해 수학적 논리 형태로 소개되어 , 논리회로의 설계를 비롯한 중요한 컴퓨터 분야에 응용되고 있음 집합 B 의 원소인 1 과 0 은 명제와 논리에서 각각 T( 참 ; true) 와 F( 거짓 ; false) 에 대응하며 , 집합 O 의 원소는 집합의 연산과 논리의 연산을 포괄하는 개념임
  • 5. 1. 부울 대수의 개념 부울 대수 (Boolean Algebra) 란 ? 대수계 (Algebraic system) 의 구성요소 수학적 대상을 원소로 하는 집합 집합의 원소에 대해 정의된 연산 (operation) 의 집합 연산이 만족하는 기본적인 법칙으로 구성된 공리 (axiom) 의 집합 부울 대수의 정의 : ( B , O , A )= (B,+,  , ’, 0,1) B 는 2 진수를 표현하는 단위 숫자의 집합 {0, 1} O 는 B 에 적용되는 연산의 집합 ( 예 : {+( 부울합 ),  ( 부울곱 ), ’ ( 보수 )}) Commutative laws: a + b = b + a, a C b=b  a Distributive laws: a +(b  c)=(a+b)  (a+c), a  (b+c)=a  b+a  c Identity laws: a +0=a, a  1=a Complement laws: a+ a ’ =1, a  a ’ =0
  • 6. 1. 부울 대수의 개념 부울 연산자 (Boolean Operators) 부울합 (Boolean sum) 부울합은 + ( 또는 ∨ , OR) 로 표기하며 , 이항 연산 (binary operation) 임 연산 규칙 부울곱 (Boolean product) 부울곱은  ( 또는 ∧ , AND) 로 표기하며 , 이항 연산임 연산 규칙 x + y 0 1 1 x y 0 0 0 1 1 0 1 1 1 x  y 0 0 0 x y 0 0 0 1 1 0 1 1 1
  • 7. 1. 부울 대수의 개념 부울 연산자 ( 계속 ) 보수 (Complementation) 보수는 ’ ( 또는 ~, NOT) 로 표기하며 , 단항 연산 (unary operation) 임 연산 규칙 연산자 우선순위 (Precedence) 괄호 ≫ NOT( ’ ) ≫ AND(  ) ≫ OR(+) 예제 ① x + y  z = x + ( y  z ) ≠ ( x + y )  z ② x  y ’ = x  ( y ’ ) ≠ ( x  y ) ’ = x + yz [ 참고 ] 특별히 혼돈이 없는 경우에 AND(  ) 기호는 생략이 가능함 예제 – 다음 부울 연산의 결과는 ? 1 + 1 = 1 1 ’ + 0 = 0 + 0 = 0 0 + 0 ’ = 0 + 1 = 1 1  1 ’ = 1  0 = 0 (1  1) ’ = 1 ’ = 0 0 + 1 ’  1 = 0 + (0  1) = 0 + 0 = 0 x x ’ 0 1 1 0
  • 8. 2. 부울 대수의 법칙 부울 대수 법칙 (Laws of Boolean Algebra) [ 참고 ] 멱등법칙 9) 의 증명 x + x = ( x + x )  1  항등법칙 6) 에 의해서 = ( x + x )( x + x ’ )  보법칙 7) 에 의해서 = x + xx ’  분배법칙 4) 에 의해서 = x + 0  보법칙 8) 에 의해서 = x  항등법칙 5) 에 의해서 종류 기본법칙 비고 교환법칙 (commutative laws) 1) x + y = y + x 2) xy = yx 멱등법칙 (idempotent laws) 9) x + x = x 10) xx = x 분배법칙 (distributive laws) 3) x ( y + z ) = xy + xz 4) x + yz = ( x + y )( x + z ) 4) 는 일반 수식에서는 성립하지 않음 항등법칙 (identity laws) 5) x + 0 = x 6) x  1 = x + 에 대한 항등원 0 이 존재하며 ,  에 대한 항등원 1 이 존재함 보법칙 (complement laws) 7) x + x ’ = 1 8) xx ’ = 0
  • 9. 2. 부울 대수의 법칙 부울 대수 법칙 ( 계속 ) 종류 기본법칙 비고 지배법칙 (dominance laws) 11) x + 1 = 1 12) x  0 = 0 [ 증명 ] 11) x + 1 = 1 x + 1 = 1  ( x + 1)  항등법칙 6) = ( x + x ’ )( x + 1)  보법칙 7) = x + x ’  1  분배법칙 4) = x + x ’  항등법칙 6) = 1  보법칙 7) 이중보수법칙 (double complement laws) 13) ( x ’ ) ’ = x 결합법칙 (associative laws) 14) x + ( y + z ) = ( x + y ) + z 15) x ( yz ) = ( xy ) z 드모르강법칙 (De Morgan ’ s laws) 16) ( x + y ) ’ = x ’ y ’ 17) ( xy ) ’ = x ’ + y ’ ( x 1 + x 2 + … + x n ) ’ = x 1 ’  x 2 ’  …  x n ’ ( x 1  x 2  …  x n ) ’ = x 1 ’ + x 2 ’ + … + x n ’ 흡수법칙 (absorption laws) 18) x + xy = x 19) x ( x + y ) = x [ 증명 ] 18) x + xy = x x + xy = x  1 + xy  항등법칙 6) = x (1 + y )  분배법칙 3) = x ( y + 1)  교환법칙 1) = x  1  지배법칙 11) = x  항등법칙 6)
  • 10. 부울 함수 (Boolean Function) 3. 부울 함수와 부울식 정의 집합 B = {0, 1} 일 때 , 부울 함수 (Boolean function) f : B n -> B 는 B n 내의 임의의 n - 튜플 {( x 1 , x 2 , … , x n ) | x i ∈ B , 1≤ i ≤ n } 에서 B 로 사상되는 함수임  부울 변수 (Boolean variable) 인 x i 는 0 또는 1 의 값을 가지므로 비트 (bit; binary digit) 라고도 함  정의역은 곱집합 (Cartesian product) 인 B n = {0, 1} 1 x {0, 1} 2 x … x {0, 1} n 이고 , 치역은 B = {0, 1} 임 진리표 (truth table) 부울 함수의 n 개의 부울 변수는 2 n 개의 0 과 1 의 조합을 가질 수 있으므로 2 n 개의 열 (column) 을 갖는 진리표를 구성하여 함수 값을 표현할 수 있음 예제 – 부울 함수 f ( x , y ) = x ’ + xy ’ 에 대한 진리표를 나타내면 ? x ’ + xy ’ 1 1 1 0 x y 0 0 0 1 1 0 1 1 x ’ 1 1 0 0 y ’ 1 0 1 0 xy ’ 0 0 1 0
  • 11. 부울 함수 ( 계속 ) 3. 부울 함수와 부울식 동치 함수 (Equal function) n 개의 변수로 구성된 부울 함수 f 와 g 의 모든 변수값 b 1 , b 2 , … , b n 에 대해 f ( b 1 , b 2 , … , b n ) = g ( b 1 , b 2 , … , b n ) 이면 , f 와 g 는 동치 (equal) 라고 하고 f = g 로 표현함 예제 – 부울 함수 f ( x , y , z ) = ( x + y + z ) ’ 와 g ( x , y , z ) = x ’  y ’  z ’ 에 대해서 f 와 g 가 동치 ( 즉 , f = g ) 임을 진리표를 사용하여 보이면 ? f = g x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 x + y 0 0 1 1 1 1 1 1 x + y + z 0 1 1 1 1 1 1 1 ( x + y + z ) ’ 1 0 0 0 0 0 0 0 x ’ y ’ 1 1 1 1 1 0 1 0 z ’ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 x ’  y ’ 1 1 0 0 0 0 0 0 x ’  y ’  z ’ 1 0 0 0 0 0 0 0
  • 12. 부울 함수 ( 계속 ) 3. 부울 함수와 부울식 보함수 (Complementary function) 부울 함수 f 의 모든 변수값 b 1 , b 2 , … , b n 에 대해 항상 그 결과가 보수의 값을 갖는 함수 f ’ 를 f 의 보함수 (complementary function) 라고 함  즉 , f ’ ( b 1 , b 2 , … , b n ) = ( f ( b 1 , b 2 , … , b n )) ’ 가 성립함 예제 – 부울 함수 f ( x , y , z ) = x ’ + yz 의 보함수는 f ’ ( x , y , z ) = xy ’ + xz ’ 임을 진리표를 사용하여 보이면 ? f ’ ( x , y , z ) = ( f ( x , y , z )) ’ x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 x ’ 1 1 1 1 0 0 0 0 yz 0 0 0 1 0 0 0 1 x ’ + yz 1 1 1 1 0 0 0 1 y ’ 1 1 0 0 1 1 0 0 z ’ 1 0 1 0 1 0 1 0 xy ’ + xz ’ 0 0 0 0 1 1 1 0 xy ’ 0 0 0 0 1 1 0 0 xz ’ 0 0 0 0 1 0 1 0
  • 13. 3. 부울 함수와 부울식 부울식 (Boolean Expression) 부울식이 아님 ( 2 는 집합 B 의 원소가 아님 ) 정의 부울 대수 ( B , O , A ) 에서 부울 변수 x 1 , x 2 , … , x n 에 대한 부울식은 다음과 같이 재귀적으로 정의됨  0, 1, x 1 , x 2 , … , x n 은 각각 부울식임  E 1 과 E 2 가 부울식이면 , ( E 1 ), E 1 ’ , E 1 + E 2 , E 1  E 2 도 각각 부울식임 부울 함수를 구성하는 수식을 부울식 (Boolean expression) 이라고 함 예제 다음 중 부울 변수 x 1 , x 2 , x 3 에 대한 부울식을 고르면 ? 0  1 + x 1 + ( x 2  x 3 ’ ) ( x 1 ’ + 1) ’  ( x 1 + 0) (0 + 2)  x 1 x 1 + x 2 + x 3 (1 – 0) + ( x 1 + x 2 ) ’  부울식임  부울식임  부울식임   부울식이 아님 ( – 는 부울 연산자가 아님 )
  • 14. 3. 부울 함수와 부울식 쌍대성 원리 (Principles of Duality) 정의 집합 ( 제 2 강 참고 ) 과 마찬가지로 부울 대수에서도 다음 규칙을 적용하여 쌍대 (dual) 가 되는 부울식을 구성할 수 있음  부울식에서 부울곱 (  ) 은 부울합 (+) 으로 , 부울합은 부울곱으로 변경  부울식에서 0 은 1 로 , 1 은 0 으로 변경 부울 대수의 유효한 법칙에 대해서 그 쌍대가 되는 법칙도 항상 유효함 예제 다음 각 부울식의 쌍대를 구하면 ? 1 + xy  0  ( x + y ) ( xy ) ’ + x  ( x + y ) ’  x 0 + ( x + yz )  1  ( x  ( y + z )) x + xy = x  x ( x + y ) = x ( x ’ + z )( xy ’ + z ) = z  x ’ z + ( x + y ’ ) z = z
  • 15. 4. 최소항 / 최대항 표현 가능한 부울 함수의 개수 문제 n 개의 부울 변수로 만들 수 있는 부울 함수는 몇 개나 되는가 ? ( 단 , 동치인 함수는 하나로 카운트함 )  2 2 n 개 이유 n 개의 부울 변수가 가질 수 있는 값의 조합 c = 2 n 가지임 c 가지의 경우에 대해 진리표에서 표현할 수 있는 결과의 개수는 2 c (= 2 2 n ) 개임 예제 2 개의 부울 변수 x , y 로 만들 수 있는 부울 함수의 개수는 ?  2 2 2 = 2 4 = 16 ( 개 ) 가능한 부울 함수를 모두 나타내면 ?  ( 뒷장에 계속 )
  • 16. 표현 가능한 부울 함수의 개수 ( 계속 ) 4. 최소항 / 최대항 예제 ( 계속 ) x 0 0 1 1 y 0 1 0 1 f 0 0 0 0 0 f 1 0 0 0 1 f 2 0 0 1 0 f 3 0 0 1 1 f 4 0 1 0 0 f 5 0 1 0 1 f 6 0 1 1 0 f 7 0 1 1 1 f 8 1 0 0 0 f 9 1 0 0 1 f 10 1 0 1 0 f 11 1 0 1 1 f 12 1 1 0 0 f 13 1 1 0 1 f 14 1 1 1 0 f 15 1 1 1 1 f 0 ( x , y ) = 0 f 1 ( x , y ) = xy f 2 ( x , y ) = xy ’ f 3 ( x , y ) = xy ’ + xy f 4 ( x , y ) = x ’ y f 5 ( x , y ) = x ’ y + xy f 6 ( x , y ) = x ’ y + xy ’ f 7 ( x , y ) = x ’ y + xy ’ + xy f 8 ( x , y ) = x ’ y ’ f 9 ( x , y ) = x ’ y ’ + xy f 10 ( x , y ) = x ’ y ’ + xy ’ f 11 ( x , y ) = x ’ y ’ + xy ’ + xy f 12 ( x , y ) = x ’ y ’ + x ’ y f 13 ( x , y ) = x ’ y ’ + x ’ y + xy f 14 ( x , y ) = x ’ y ’ + x ’ y + xy ’ f 15 ( x , y ) = 1
  • 17. 최소항 (Minterms)/ 최대항 (Maxterms) 4. 최소항 / 최대항 최소항 부울 변수의 곱으로만 표현되는 부울식을 최소항 (minterms) 이라고 함 최소항과 최대항은 서로 보수의 관계가 성립함 ( 즉 , 최소항을 m i , 최대항을 M i 라고 할 때 , m i ’ = M i 임 )  예 : ( xy ’ z ) ’ = x ’ + y + z ’ n 개의 부울 변수 x 1 , x 2 , … , x n 에 대한 최소항의 형식  y 1  y 2  …  y n ( 단 , y i = x i 또는 y i = ( x i ) ’ 이며 , 1≤ i ≤ n ) 부울 변수의 값을 대입하면 최소항의 결과는 1 이 됨 ( 예 : 부울 변수의 값이 x = 1, y = 0, z = 1 일 때 , 최소항은 xy ’ z 로 표현함 ) 최대항 부울 변수의 합으로만 표현되는 부울식을 최대항 (maxterms) 이라고 함 n 개의 부울 변수 x 1 , x 2 , … , x n 에 대한 최대항의 형식  y 1 + y 2 + … + y n ( 단 , y i = x i 또는 y i = ( x i ) ’ 이며 , 1≤ i ≤ n ) 부울 변수의 값을 대입하면 최대항의 결과는 0 이 됨 ( 예 : 부울 변수의 값이 x = 1, y = 0, z = 1 일 때 , 최대항은 x ’ + y + z ’ 로 표현함 )
  • 18. 최소항 / 최대항 ( 계속 ) 4. 최소항 / 최대항 예제 3 개의 부울 변수 x , y , z 에 대한 최소항과 최대항을 구하면 ? 최소항과 최대항은 진리표에 대응하는 부울 함수를 정규화된 형식으로 표현하기 위하여 주로 사용함 n 개의 변수에 대한 진리표는 2 n 개의 최소항과 2 n 개의 최대항을 가짐 특징 x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’ ( m 0 ) x ’ y ’ z ( m 1 ) x ’ yz ’ ( m 2 ) x ’ yz ( m 3 ) xy ’ z ’ ( m 4 ) xy ’ z ( m 5 ) xyz ’ ( m 6 ) xyz ( m 7 ) 최대항 x + y + z ( M 0 ) x + y + z ’ ( M 1 ) x + y ’ + z ( M 2 ) x + y ’ + z ’ ( M 3 ) x ’ + y + z ( M 4 ) x ’ + y + z ’ ( M 5 ) x ’ + y ’ + z ( M 6 ) x ’ + y ’ + z ’ ( M 7 )
  • 19. 5. 곱의 합 / 합의 곱 곱의 합 (Sum of Products)/ 합의 곱 (Product of Sums) 곱의 합 모든 부울 함수는 결과가 1 인 최소항들의 부울합 으로 표현할 수 있으며 , 이런 표현을 곱의 합 (sum of products) 형식이라고 함  논리합 정형 (disjunctive normal form) 이라고도 함 예 : f ( x , y , z ) = x ’ y ’ z + xy ’ z ’ + xyz 합의 곱 모든 부울 함수는 결과가 0 인 최대항들의 부울곱 으로 표현할 수 있으며 , 이런 표현을 합의 곱 (product of sums) 형식이라고 함  논리곱 정형 (conjunctive normal form) 이라고도 함 예 : f ( x , y , z ) = ( x + y + z ’ )( x ’ + y + z )( x ’ + y ’ + z ’ ) [ 참고 ] 정규형 (Canonical form) 곱의 합 또는 합의 곱으로 표현된 부울식을 정규형 (canonical form) 이라고 하며 , 그렇지 않은 식은 비정규형이라고 함
  • 20. 예제 5. 곱의 합 / 합의 곱 진리표에 대한 부울 함수 구하기 3 개의 부울 변수 x , y , z 에 대한 진리표가 다음과 같을 때 부울 함수 f ( x , y , z ) 를 곱의 합 형식으로 표현하면 ? 또한 합의 곱 형식으로 표현하면 ?  곱의 합 형식 : f ( x , y , z ) = x ’ y ’ z + x ’ yz ’ + xy ’ z ’ + xy ’ z = m 1 + m 2 + m 4 + m 5 = ∑(1, 2, 4, 5)  합의 곱 형식 : f ( x , y , z ) = ( x + y + z )( x + y ’ + z ’ )( x ’ + y ’ + z )( x ’ + y ’ + z ’ ) = M 0 M 3 M 6 M 7 = ∏(0, 3, 6, 7) x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’ ( m 0 ) x ’ y ’ z ( m 1 ) x ’ yz ’ ( m 2 ) x ’ yz ( m 3 ) xy ’ z ’ ( m 4 ) xy ’ z ( m 5 ) xyz ’ ( m 6 ) xyz ( m 7 ) 최대항 x + y + z ( M 0 ) x + y + z ’ ( M 1 ) x + y ’ + z ( M 2 ) x + y ’ + z ’ ( M 3 ) x ’ + y + z ( M 4 ) x ’ + y + z ’ ( M 5 ) x ’ + y ’ + z ( M 6 ) x ’ + y ’ + z ’ ( M 7 ) f ( x , y , z ) 0 1 1 0 1 1 0 0
  • 21. 예제 ( 계속 ) 5. 곱의 합 / 합의 곱 곱의 합 / 합의 곱 형식이 동치임을 증명 곱의 합 형식인 f ( x , y , z ) = x ’ y ’ z + x ’ yz ’ + xy ’ z ’ + xy ’ z 과 합의 곱 형식인 f ( x , y , z ) = ( x + y + z )( x + y ’ + z ’ )( x ’ + y ’ + z )( x ’ + y ’ + z ’ ) 이 동치임을 보이면 ?  [ 증명 ] 곱의 합 형식인 f ( x , y , z ) = x ’ y ’ z + x ’ yz ’ + xy ’ z ’ + xy ’ z = ∑(1, 2, 4, 5) 일 때 , 그 보함수는 f ’ ( x , y , z ) = x ’ y ’ z ’ + x ’ yz + xyz ’ + xyz = ∑(0, 3, 6, 7) 이 됨 . 보함수의 정의에 따라 f ( x , y , z ) = ( f ’ ( x , y , z )) ’ 이므로 ( f ’ ( x , y , z )) ’ = ( x ’ y ’ z ’ + x ’ yz + xyz ’ + xyz ) ’ 드모르강 법칙을 적용하면 = ( x ’ y ’ z ’ ) ’  ( x ’ yz ) ’  ( xyz ’ ) ’  ( xyz ) ’ = ( x + y + z )  ( x + y ’ + z ’ )  ( x ’ + y ’ + z )  ( x ’ + y ’ + z ’ ) 따라서 합의 곱 형식인 f ( x , y , z ) = ∏(0, 3, 6, 7) 이 성립함
  • 22. 예제 ( 계속 ) 5. 곱의 합 / 합의 곱 일반적인 부울 함수의 정규형 변환 부울 함수 f ( x , y , z ) = x ’ y + z ’ 를 정규형 ( 즉 , 곱의 합 형식과 합의 곱 형식 ) 으로 표현하면 ?  곱의 합 형식 : f ( x , y , z ) = ∑(0, 2, 3, 4, 6) = m 0 + m 2 + m 3 + m 4 + m 6 = x ’ y ’ z ’ + x ’ yz ’ + x ’ yz + xy ’ z ’ + xyz ’  합의 곱 형식 : f ( x , y , z ) = ∏(1, 5, 7) = M 1 M 5 M 7 = ( x + y + z ’ )( x ’ + y + z ’ )( x ’ + y ’ + z ’ ) x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’ ( m 0 ) x ’ y ’ z ( m 1 ) x ’ yz ’ ( m 2 ) x ’ yz ( m 3 ) xy ’ z ’ ( m 4 ) xy ’ z ( m 5 ) xyz ’ ( m 6 ) xyz ( m 7 ) 최대항 x + y + z ( M 0 ) x + y + z ’ ( M 1 ) x + y ’ + z ( M 2 ) x + y ’ + z ’ ( M 3 ) x ’ + y + z ( M 4 ) x ’ + y + z ’ ( M 5 ) x ’ + y ’ + z ( M 6 ) x ’ + y ’ + z ’ ( M 7 ) f ( x , y , z ) 1 0 1 1 1 0 1 0 x ’ y 0 0 1 1 0 0 0 0 x ’ 1 1 1 1 0 0 0 0 z ’ 1 0 1 0 1 0 1 0
  • 23. 6. 논리 게이트 논리 게이트 (Logic Gate) 란 ? 정의 디지털 신호를 갖는 전자 회로를 표현하는 가장 기본이 되는 단위로서 하나 이상의 입력과 하나의 출력을 갖는 장치를 논리 게이트 (logic gate) 라고 함 부울 대수의 B n 에서 B 로의 함수 ( 여기서 B = {0, 1} 임 ) 로 표현이 가능함 종류 AND 게이트 OR 게이트 NOT 게이트 NAND(NOT-AND) 게이트 NOR(NOT-OR) 게이트 XOR(Exclusive-OR) 게이트 XNOR(Exclusive-NOR) 게이트 Buffer 게이트
  • 24. 6. 논리 게이트 AND 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 xy 를 출력으로 얻는 게이트 진리표 다이어그램 다중입력 AND 게이트 x y xy x y 0 0 0 1 1 0 1 1 입력 xy 0 0 0 1 출력  xy = 1 if x = y = 1 0 otherwise x 1 x 2 … x n x 1 x 2 x n ∙ ∙ ∙
  • 25. 6. 논리 게이트 OR 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x + y 를 출력으로 얻는 게이트 진리표 다이어그램 다중입력 OR 게이트 x y 0 0 0 1 1 0 1 1 입력 x + y 0 1 1 1 출력  x + y = 0 if x = y = 0 1 otherwise x y x + y x 1 + x 2 + … + x n x 1 x 2 x n ∙ ∙ ∙
  • 26. 6. 논리 게이트 NOT 게이트 정의 임의의 x ∈ {0, 1} 를 입력하여 x ’ 를 출력으로 얻는 게이트 진리표 다이어그램 인버터 (inverter) 라고도 함 x 0 1 입력 x ’ 1 0 출력  x ’ = 1 if x = 0 0 if x = 1 x x ’
  • 27. NAND 게이트 6. 논리 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x ↑ y = ( xy ) ’ 를 출력으로 얻는 게이트 진리표 다이어그램 동치인 NAND 게이트 x y 0 0 0 1 1 0 1 1 입력 x ↑ y 1 1 1 0 출력  x ↑ y = 0 if x = y = 1 1 otherwise x y x ↑ y x y x ’ + y ’
  • 28. NOR 게이트 6. 논리 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x ↓ y = ( x + y ) ’ 를 출력으로 얻는 게이트 진리표 다이어그램 동치인 NOR 게이트 x y 0 0 0 1 1 0 1 1 입력 x ↓ y 1 0 0 0 출력  x ↓ y = 1 if x = y = 0 0 otherwise x y x ↓ y x y x ’ y ’
  • 29. XOR 게이트 6. 논리 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x  y = x ’ y + xy ’ 를 출력으로 얻는 게이트 진리표 다이어그램 x y 0 0 0 1 1 0 1 1 입력 x  y 0 1 1 0 출력  x  y = 0 if x = y 1 otherwise x y x  y
  • 30. XNOR 게이트 6. 논리 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x  y = x ’ y ’ + xy 를 출력으로 얻는 게이트 진리표 다이어그램 x y 0 0 0 1 1 0 1 1 입력 x  y 1 0 0 1 출력  x  y = 1 if x = y 0 otherwise x y x  y
  • 31. Buffer 게이트 6. 논리 게이트 정의 임의의 x ∈ {0, 1} 를 입력하여 x 를 그대로 출력으로 얻는 게이트 진리표 다이어그램 입력 시간을 지연시키는데 사용됨 x 0 1 입력 x 0 1 출력  x = 1 if x = 1 0 if x = 0 x x
  • 32. 논리 회로 (Logic Circuit) 란 ? 7. 논리 회로 정의 논리 게이트의 조합으로 구성된 회로를 논리 회로 (logic circuit) 라고 함 모든 부울 함수는 논리 회로로 변환이 가능함 부울 함수의 논리 회로 표현 방법 합의 곱 (product of sums) 형식  다수의 OR 게이트가 하나의 AND 게이트에 연결되는 형태로 표현함 곱의 합 (sum of products) 형식  다수의 AND 게이트가 하나의 OR 게이트에 연결되는 형태로 표현함 [ 참고 ] 여러 게이트가 하나의 입력을 공유하면 입력선을 분기하여 표현하기도 함
  • 33. 예제 7. 논리 회로 곱의 합 형식의 논리 회로 표현 부울 함수 f ( x , y ) = xy + xy ’ 를 논리 회로로 표현하면 ? 또는 x y xy + xy ’ x y xy x y xy ’ xy + xy ’
  • 34. 예제 ( 계속 ) 7. 논리 회로 합의 곱 형식의 논리 회로 표현 부울 함수 f ( x , y ) = ( x + y )( x ’ + y ) 를 논리 회로로 표현하면 ? 또는 x y x ’ + y x y x + y ( x + y )( x ’ + y ) x y ( x + y )( x ’ + y )
  • 35. 예제 ( 계속 ) 7. 논리 회로 논리 회로의 부울 함수 표현 다음 논리 회로를 부울 함수로 표현하면 ? w ’ x ’ y ( w ’ x ’ y ) ’ ( w ’ x ’ y ) ’ y ( w ’ x ’ y ) ’ y + ( w ’ x ’ y ) ’ + z ’ f ( w , x , y , z ) = ( w ’ x ’ y ) ’ y + ( w ’ x ’ y ) ’ + z ’ z w x y
  • 36. 완전 연산자 집합 (Complete Set of Operators) 8. 완전 연산자 집합 정의 모든 부울 함수를 표현하기에 충분한 연산자의 집합 예 : {  (AND), +(OR), ’ (NOT)}  [ 이유 ] 모든 부울 함수는 곱의 합 / 합의 곱 형식으로 표현이 가능하므로 예제 집합 {  (AND), ’ (NOT)} 가 완전 연산자 집합임을 보이면 ?  [ 증명 ] +(OR) 를 {  , ’ } 만으로 표현이 가능한지 증명함 부울식 x + y 에 대해서 이중보수법칙과 드모르강법칙을 적용하면 x + y = (( x + y ) ’ ) ’ = ( x ’  y ’ ) ’ 이 성립함 즉 , 모든 부울 함수에서 + 는  과 ’ 를 결합하여 표현할 수 있으므로 {  , ’ } 는 완전 연산자 집합임 [ 참고 ] {  , ’ } 과 마찬가지로 {+, ’ } 도 완전 연산자 집합임 완전 연산자 집합은 실제 전자 회로를 구성할 때 사용되는 게이트의 종류를 최소화하는데 도움이 됨
  • 37. 완전 연산자 집합 {NAND}/{NOR} 8. 완전 연산자 집합 정의 모든 부울 함수는 NAND(NOT-AND; ↑) 또는 NOR(NOT-OR; ↓) 만을 사용하여 표현이 가능함 증명 집합 {↑(NAND)} 와 {↓(NOR)} 가 완전 연산자 집합임을 보이면 ?  우선  과 ’ 를 ↑만으로 표현이 가능한지 증명함 따라서 {↑} 는 완전 연산자 집합임 NAND 의 정의인 x ↑ y = ( x  y ) ’ 와 멱등법칙인 x  x = x 를 적용하면 x ↑ x = ( x  x ) ’ = x ’ 가 성립함 . 즉 , x ’ = x ↑ x 임 또한 x  y = ( x ↑ y ) ’ = ( x ↑ y )↑( x ↑ y ) 가 성립함  마찬가지로 + 과 ’ 를 ↓만으로 표현이 가능한지 증명함 따라서 {↓} 는 완전 연산자 집합임 NOR 의 정의인 x ↓ y = ( x + y ) ’ 와 멱등법칙 x + x = x 를 적용하면 x ↓ x = ( x + x ) ’ = x ’ 가 성립함 . 즉 , x ’ = x ↓ x 임 또한 x + y = ( x ↓ y ) ’ = ( x ↓ y )↓( x ↓ y ) 가 성립함
  • 38. 완전 연산자 집합 {NAND}/{NOR} ( 계속 ) 8. 완전 연산자 집합 예제 진리표를 사용하여 x ’ = x ↑ x 와 x  y = ( x ↑ y )↑( x ↑ y ) 가 성립함을 보이면 ? x ’ = x ↑ x x  y = ( x ↑ y )↑( x ↑ y ) x 0 1 x ’ 1 0 x ↑ x 1 0 x y 0 0 0 1 1 0 1 1 x  y 0 0 0 1 x ↑ y 1 1 1 0 ( x ↑ y )↑( x ↑ y ) 0 0 0 1
  • 39. 부울 함수의 간소화 (Simplifying Boolean Expression) 9. 부울 함수의 간소화 정의 동치인 부울 함수가 있을 때 , 복잡한 것보다는 간소화된 것을 이용한 전자 회로의 구성이 게이트의 수를 줄일 수 있어서 더 효율적임 간소화 방법 부울 대수의 기본 법칙 을 이용하는 방법 카르노 맵 (Karnaugh map) 을 이용하는 방법  곱의 합 ( 또는 합의 곱 ) 형식으로 표현된 부울 함수를 K-map 이라는 특수한 행렬로 표시함  인간의 패턴 매칭 (pattern matching) 능력을 사용하여 가장 간단한 표현을 결정함  [ 제 11 강 ] 에서 배운 다양한 부울 대수의 기본 법칙을 적용하여 간소화함  적용할 법칙의 선택이 어렵고 , 가장 간소화된 것인지 확인하기 힘듬 부울 함수의 간소화 란 부울 함수의 표현에 사용되는 부울 변수의 개수와 부울 연산자의 개수를 최소한으로 줄이는 것을 의미함
  • 40. 부울 대수의 법칙을 이용한 간소화 9. 부울 함수의 간소화 예제 부울 함수 f ( x , y , z ) = xyz + xy ’ z + xyz ’ + x ’ yz + xy ’ z ’ 를 부울 대수의 기본 법칙을 사용하여 간소화시키면 ?  f ( x , y , z ) = xyz + xy ’ z + xyz ’ + x ’ yz + xy ’ z ’ = xyz + xy ’ z + xyz ’ + x ’ yz + ( xy ’ z ’ + xy ’ z ’ ) 멱등법칙 = xyz + xy ’ ( z + z ’ ) + xz ’ ( y + y ’ ) + x ’ yz 교환법칙 , 분배법칙 = xyz + xy ’  1 + xz ’  1 + x ’ yz 보법칙 = xyz + xy ’ + xz ’ + x ’ yz 항등법칙 = xyz + x ( y ’ + z ’ ) + x ’ yz 분배법칙 = xyz + x ( yz ) ’ + x ’ yz 드모르강법칙 = ( xyz + xyz ) + x ( yz ) ’ + x ’ yz 멱등법칙 = x [ yz + ( yz ) ’ ] + ( x + x ’ ) yz 교환법칙 , 분배법칙 = x  1 + 1  yz 보법칙 = x + yz 항등법칙
  • 41. 카르노 맵 (Karnaugh Map) 10. 카르노 맵 정의 부울 함수를 최소로 간소화하기 위해 사용되는 부울 행렬 1953 년 Bell Lab 의 전기통신 공학자인 Maurice Karnaugh 가 고안함 간소화 방법 주로 2~6 개의 변수를 가진 부울 함수에 적용됨 ( 이론상으로는 제한이 없음 ) 2- 변수 맵은 2 x 2 행렬 , 3- 변수 맵은 2 x 4 행렬 , 4- 변수 맵은 4 x 4 행렬임 행렬은 인접하는 원소가 한 비트만 다르게 부울 변수를 조합할 수 있도록 그레이 코드 (grey code) 형식으로 구성됨 부울 함수가 곱의 합 형식으로 표현된 경우에 최소항의 값이 1 이면 1 로 0 이면 0 으로 해당하는 행렬의 위치에 표시함 부울 함수가 합의 곱 형식으로 표현된 경우에 최대항의 값이 1 이면 0 으로 0 이면 1 로 해당하는 행렬의 위치에 표시함 행렬에서 인접한 1 을 2 n ( 예 : 1, 2, 4, 8, … ) 개의 직사각형으로 묶은 후 ( 가능한 큰 그룹으로 ), 행과 열에서 공통인 변수의 곱 (AND) 으로 묶음을 표현함 묶은 곱의 합 (OR) 형식으로 함수를 표시하면 간소화된 형식임
  • 42. 2- 변수 맵 (2 Variable Map) 10. 카르노 맵 템플릿 [ 제 11 강 참고 ] f 0 ( x , y ) = 0 f 0 ’ ( x , y ) = 1 f 1 ( x , y ) = xy f 1 ’ ( x , y ) = x ’ + y ’ f 2 ( x , y ) = xy ’ f 2 ’ ( x , y ) = x ’ + y f 3 ( x , y ) = xy ’ + xy = x f 3 ’ ( x , y ) = x ’ 부울 함수의 표현 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) x 0 0 1 1 y 0 1 0 1 f 0 0 0 0 0 f 1 0 0 0 1 f 2 0 0 1 0 f 3 0 0 1 1 0 0 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 0 0 0 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 1 0 0 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 2 0 0 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 3
  • 43. 2- 변수 맵 ( 계속 ) 10. 카르노 맵 f 6 ( x , y ) = x ’ y + xy ’ f 6 ’ ( x , y ) = x ’ y ’ + xy f 7 ( x , y ) = x ’ y + xy ’ + xy = x + y f 7 ’ ( x , y ) = x ’ y ’ f 8 ( x , y ) = x ’ y ’ f 8 ’ ( x , y ) = x + y f 9 ( x , y ) = x ’ y ’ + xy f 9 ’ ( x , y ) = x ’ y + xy ’ 부울 함수의 표현 ( 계속 ) f 4 ( x , y ) = x ’ y f 4 ’ ( x , y ) = x + y ’ f 5 ( x , y ) = x ’ y + xy = y f 5 ’ ( x , y ) = y ’ 0 1 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 6 0 1 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 7 1 0 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 8 1 0 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 9 x 0 0 1 1 y 0 1 0 1 f 4 0 1 0 0 f 5 0 1 0 1 f 6 0 1 1 0 f 7 0 1 1 1 f 8 1 0 0 0 f 9 1 0 0 1 0 1 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 4 0 1 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 5
  • 44. 2- 변수 맵 ( 계속 ) 10. 카르노 맵 f 12 ( x , y ) = x ’ y ’ + x ’ y = x ’ f 12 ’ ( x , y ) = x f 13 ( x , y ) = x ’ y ’ + x ’ y + xy = x ’ + y f 13 ’ ( x , y ) = xy ’ f 14 ( x , y ) = x ’ y ’ + x ’ y + xy ’ = x ’ + y ’ f 14 ’ ( x , y ) = xy f 15 ( x , y ) = 1 f 15 ’ ( x , y ) = 0 부울 함수의 표현 ( 계속 ) f 10 ( x , y ) = x ’ y ’ + xy ’ = y ’ f 10 ’ ( x , y ) = y f 11 ( x , y ) = x ’ y ’ + xy ’ + xy = x + y ’ f 11 ’ ( x , y ) = x ’ y 1 1 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 12 1 1 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 13 1 1 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 14 1 1 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 15 1 0 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 10 1 0 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 11 x 0 0 1 1 y 0 1 0 1 f 10 1 0 1 0 f 11 1 0 1 1 f 12 1 1 0 0 f 13 1 1 0 1 f 14 1 1 1 0 f 15 1 1 1 1
  • 45. 3- 변수 맵 (3 Variable Map) 10. 카르노 맵 템플릿 부울 함수의 표현 f ( x , y , z ) = xy ’ z + xyz  f ( x , y , z ) = xz f ( x , y , z ) = ∑(2, 3, 4, 6)  f ( x , y , z ) = x ’ y + xz ’ 000 ( x ’ y ’ z ’ ) 100 ( xy ’ z ’ ) 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 001 ( x ’ y ’ z ) 101 ( xy ’ z ) 01 ( y ’ z ) 011 ( x ’ yz ) 111 ( xyz ) 11 ( yz ) 010 ( x ’ yz ’ ) 110 ( xyz ’ ) 10 ( yz ’ ) 0 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 1 01 ( y ’ z ) 0 1 11 ( yz ) 0 0 10 ( yz ’ ) 0 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 1 0 11 ( yz ) 1 1 10 ( yz ’ )
  • 46. 3- 변수 맵 ( 계속 ) 10. 카르노 맵 부울 함수의 표현 ( 계속 ) f ( x , y , z ) = ∑(0, 1, 2, 3)  f ( x , y , z ) = x ’ f ( x , y , z ) = ∑(2, 3, 6, 7)  f ( x , y , z ) = y f ( x , y , z ) = ∏(1, 3, 5, 7)  f ( x , y , z ) = z ’ 1 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 0 01 ( y ’ z ) 1 0 11 ( yz ) 1 0 10 ( yz ’ ) 0 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 1 1 11 ( yz ) 1 1 10 ( yz ’ ) 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 0 0 11 ( yz ) 1 1 10 ( yz ’ )
  • 47. 3- 변수 맵 ( 계속 ) 10. 카르노 맵 부울 함수의 표현 ( 계속 ) f ( x , y , z ) = ∑(0, 1, 3, 4, 5)  f ( x , y , z ) = y ’ + x ’ z f ( x , y , z ) = ∏(0, 2)  f ( x , y , z ) = x + z f ( x , y , z ) = ∑(0, 2, 3, 4, 5, 6)  f ( x , y , z ) = z ’ + xy ’ + x ’ y 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 1 01 ( y ’ z ) 1 0 11 ( yz ) 0 0 10 ( yz ’ ) 0 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 1 10 ( yz ’ ) 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 1 01 ( y ’ z ) 1 0 11 ( yz ) 1 1 10 ( yz ’ )
  • 48. 4- 변수 맵 (4 Variable Map) 10. 카르노 맵 템플릿 부울 함수의 표현 f ( w , x , y , z ) = w ’ x ’ y ’ z + w ’ x ’ yz + w ’ xy ’ z + w ’ xyz + wxy ’ z + wxyz + wx ’ y ’ z + wx ’ yz = ∑(1, 3, 5, 7, 9, 11, 13, 15) = ∏(0, 2, 4, 6, 8, 10, 12, 14)  f ( w , x , y , z ) = z 0000 ( w ’ x ’ y ’ z ’ ) 0100 ( w ’ xy ’ z ’ ) 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 0001 ( w ’ x ’ y ’ z ) 0101 ( w ’ xy ’ z ) 01 ( y ’ z ) 0011 ( w ’ x ’ yz ) 0111 ( w ’ xyz ) 11 ( yz ) 0010 ( w ’ x ’ yz ’ ) 0110 ( w ’ xyz ’ ) 10 ( yz ’ ) 1100 ( wxy ’ z ’ ) 1000 ( wx ’ y ’ z ’ ) 11 ( wx ) 10 ( wx ’ ) 1101 ( wxy ’ z ) 1001 ( wx ’ y ’ z ) 1111 ( wxyz ) 1011 ( wx ’ yz ) 1110 ( wxyz ’ ) 1010 ( wx ’ yz ’ ) 0 0 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 0 10 ( yz ’ ) 0 0 11 ( wx ) 10 ( wx ’ ) 1 1 1 1 0 0
  • 49. 4- 변수 맵 ( 계속 ) 10. 카르노 맵 이산수학 Discrete Mathematics 부울 함수의 표현 ( 계속 ) f ( w , x , y , z ) = ∑(1, 3, 5, 6, 7, 12, 13, 14, 15) f ( w , x , y , z ) = ∏(3, 5, 8, 9, 14)  f ( w , x , y , z ) = w ’ z + wx ’ + w ’ xy  f ( w , x , y , z ) = w ’ z ’ + x ’ y ’ + xy + wyz [ 참고 ] 5- 변수 이상의 카르노 맵은 본 강의에서 다루지 않음 0 0 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 1 10 ( yz ’ ) 0 1 11 ( wx ) 10 ( wx ’ ) 0 1 0 1 0 1 1 1 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 0 01 ( y ’ z ) 0 1 11 ( yz ) 1 1 10 ( yz ’ ) 0 1 11 ( wx ) 10 ( wx ’ ) 0 1 1 1 1 0
  • 50. 11. 조합회로 조합 논리 회로는 기억 특성을 가지고 있지 않으므로 회로의 출력은 현재 가해지는 입력의 조합에 의해서만 결정된다 . 반가산기 (half adder) 2 진수 한 자리를 더하는 회로를 반가산기라 하며 , 연산회로의 기본이 된다 . 2 개의 비트 X, Y 를 산술적으로 더하여 합 S 와 캐리 C 를 구하는 회로 X Y S C 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1
  • 51. 11. 조합회로 전가산기 (full adder) X, Y 와 밑자리에서 올라오는 Carry 까지 고려해서 3bit 를 더하여 S , C 를 구하는 회로 (2 개의 반가산기와 1 개의 OR 게이트 ) X Y C i S C 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1
  • 52. 11. 조합회로 비교기 (comparator) 2 개의 수 A, B 를 비교하여 대소를 결정하는 회로 A B A>B A=B A<B 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0
  • 53. 11. 조합회로 디코더 (decoder : 해독기 , 복조기 ) N 개의 2 진 입력 신로로 부터 최대 2 n 개의 출력신호를 만드는 조합회로 디지털 데이터를 아날로그 데이터로 바꿔주는 컴퓨터 회로 ( 해독기 ) 압축된 신호를 원래 압축되기 전의 신호로 복원 한다는 의미 ( 복조기 ) 예 : 음향 시스템 ( DVD) A B Y 0 Y 1 Y 2 Y 3 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
  • 55. 11. 조합회로 인코더 (encoder) 디코더의 반대 기능을 가진 조합회로 2 n 개 또는 그 이하의 입력으로 부터 N 개의 출력을 만드는 조합 회로 디지털 전자회로에서 어떤 부호계열의 신호를 다른 부호계열의 신호로 바꾸는 변환기 D 0 D 1 D 2 D 3 A B 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1
  • 56. 11. 조합회로 멀티플렉서 (multiplexer : 다중화기 - MUX ) 데이터 선택기 여러 개의 입력 신호선 ( 채널 ) 중 하나를 선택하여 출력선에 연결하여 주는 조합 논리회로 S 0 S 1 Y 0 0 0 1 1 0 1 1 I 0 I 1 I 2 I 3
  • 57. 11. 조합회로 디멀티플렉서 (demultiplexer) 한 개의 입력선을 여러 개의 출력선 중에 하나를 선택하여 연결하여 준다 . E S 0 S 1 D 0 D 1 D 2 D 3 1   0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
  • 58. 12. 순서논리회로 순서 논리 회로는 플립플롭 (flip-flop) 과 조합 논리 회로로 구성된 논리 회로를 의미 순서 논리 회로에서는 회로의 상태를 기억하는 기억 소자가 필요한데 가장 대표적인 기억 소자가 플립플롭이다 . 순서 논리 회로는 동기식 (synchronous) 과 비동기식 (asynchronous) 으로 분류 동기식 순서 논리 회로는 클록 (clock) 펄스를 사용해서 여러 개의 플립플롭을 동시에 동작 비동기식 순서 논리 회로는 클록 펄스를 사용하지 않고 플립플롭을 동작시킨다 . 기본적인 플립플롭 (SR 래치 ) S R Q 0 0 0 1 1 0 1 1 불변 1 0 불안정
  • 59. 12. 순서논리회로 S-R 플립플롭 D 플립플롭 S R Q 0 0 0 1 1 0 1 1 불변 1 0 불능 ( 허용 안됨 ) D Q 1 0 1 0
  • 60. 12. 순서논리회로 J-K 플립플롭 T 플립플롭 RS 플립플롭에서 R=S=1 을 허용하지 않는 보완한 것이 JK 플립플롭이다 . J,K 값이 동시에 1 이 될때 원래값에 반전된다… Toggle 플립플롭이다 . JK 플립플롭의 입력을 묶어서 하나의 입력 T 로 많든 플립플롭 J K Q 0 0 0 1 1 0 1 1 불변 0 1 토글 ( 반전 ) T Q 0 1 불변 보수
  • 61. 13.ROM ROM: Two dimensional array of 1's and 0's Row is called a &quot;word&quot;; index is called an &quot;address&quot; Width of row is called bit-width or wordsize Address is input, selected word is output Dec 0 n-1 Address 2 -1 n 0 Word Line 0011 Word Line 1010 Bit Lines j i +5V +5V +5V +5V
  • 62. 13.ROM F0 = A' B' C + A B' C' + A B' C F1 = A' B' C + A' B C' + A B C F2 = A' B' C' + A' B' C + A B' C' F3 = A' B C + A B' C' + A B C' address outputs A B C Address by ROM 8 w ords ¥ 4 bits F 0 F 1 F 2 F 3 B 0 0 1 1 0 0 1 1 W ord Contents A 0 0 0 0 1 1 1 1 C 0 1 0 1 0 1 0 1 F 0 0 1 0 0 1 1 0 0 F 1 0 1 1 0 0 0 0 1 F 2 1 1 0 0 1 0 0 0 F 3 0 0 0 1 1 0 1 0

Editor's Notes

  • #51: 안산 1 대학
  • #52: 안산 1 대학
  • #53: 안산 1 대학
  • #54: 안산 1 대학
  • #55: 안산 1 대학
  • #56: 안산 1 대학
  • #57: 안산 1 대학
  • #58: 안산 1 대학
  • #59: 안산 1 대학
  • #60: 안산 1 대학
  • #61: 안산 1 대학