제 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)

제4강 명제와 논리-정보

  • 1.
    제 4 강. 디지털 논리
  • 2.
  • 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.
    부울 함수 (BooleanFunction) 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.
    논리 회로 (LogicCircuit) 란 ? 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.
    카르노 맵 (KarnaughMap) 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
  • 54.
  • 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: Twodimensional 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
  • 63.
  • 64.

Editor's Notes