제4강 명제와 논리-정보

2,630 views
2,296 views

Published on

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,630
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 안산 1 대학
  • 제4강 명제와 논리-정보

    1. 1. 제 4 강 . 디지털 논리
    2. 2. Perelman http://englishrussia.com/index.php/2007/06/15/perelman-in-a-subway/
    3. 3. 0. 개요 HIGH LOW LOW HIGH +5 +3.5 +0.8 0 전압 [V] +2.5 +1.5 출력신호 입력신호
    4. 4. 1. 부울 대수의 개념 <ul><li>부울 대수와 명제 논리 </li></ul><ul><ul><li>집합 이론 </li></ul></ul><ul><ul><ul><li>수학적 대상을 원소로 하는 집합 </li></ul></ul></ul><ul><ul><ul><li>집합의 원소에 대해 정의된 연산 (operation) 의 집합 </li></ul></ul></ul><ul><ul><ul><li>집합의 여러가지 법칙 </li></ul></ul></ul><ul><ul><li>명제이론 - 논리 </li></ul></ul><ul><ul><ul><li>참과 거짓 </li></ul></ul></ul><ul><ul><ul><li>다양한 연산자 이용 : </li></ul></ul></ul><ul><ul><ul><li>참과 거짓만 갖은 여러가지 법칙 </li></ul></ul></ul><ul><li>[ 참고 ] </li></ul><ul><li>부울 대수는 1854 년 영국의 수학자 부울 (George Boole: 1815~1864) 에 의해 수학적 논리 형태로 소개되어 , 논리회로의 설계를 비롯한 중요한 컴퓨터 분야에 응용되고 있음 </li></ul><ul><li>집합 B 의 원소인 1 과 0 은 명제와 논리에서 각각 T( 참 ; true) 와 F( 거짓 ; false) 에 대응하며 , 집합 O 의 원소는 집합의 연산과 논리의 연산을 포괄하는 개념임 </li></ul>
    5. 5. 1. 부울 대수의 개념 <ul><li>부울 대수 (Boolean Algebra) 란 ? </li></ul><ul><ul><li>대수계 (Algebraic system) 의 구성요소 </li></ul></ul><ul><ul><ul><li>수학적 대상을 원소로 하는 집합 </li></ul></ul></ul><ul><ul><ul><li>집합의 원소에 대해 정의된 연산 (operation) 의 집합 </li></ul></ul></ul><ul><ul><ul><li>연산이 만족하는 기본적인 법칙으로 구성된 공리 (axiom) 의 집합 </li></ul></ul></ul><ul><ul><li>부울 대수의 정의 : ( B , O , A )= (B,+,  , ’, 0,1) </li></ul></ul><ul><ul><ul><li>B 는 2 진수를 표현하는 단위 숫자의 집합 {0, 1} </li></ul></ul></ul><ul><ul><ul><li>O 는 B 에 적용되는 연산의 집합 ( 예 : {+( 부울합 ),  ( 부울곱 ), ’ ( 보수 )}) </li></ul></ul></ul><ul><ul><ul><li>Commutative laws: a + b = b + a, a C b=b  a </li></ul></ul></ul><ul><ul><ul><li>Distributive laws: a +(b  c)=(a+b)  (a+c), a  (b+c)=a  b+a  c </li></ul></ul></ul><ul><ul><ul><li>Identity laws: a +0=a, a  1=a </li></ul></ul></ul><ul><ul><ul><li>Complement laws: a+ a ’ =1, a  a ’ =0 </li></ul></ul></ul>
    6. 6. 1. 부울 대수의 개념 <ul><li>부울 연산자 (Boolean Operators) </li></ul><ul><ul><li>부울합 (Boolean sum) </li></ul></ul><ul><ul><ul><li>부울합은 + ( 또는 ∨ , OR) 로 표기하며 , 이항 연산 (binary operation) 임 </li></ul></ul></ul><ul><ul><ul><li>연산 규칙 </li></ul></ul></ul><ul><ul><li>부울곱 (Boolean product) </li></ul></ul><ul><ul><ul><li>부울곱은  ( 또는 ∧ , AND) 로 표기하며 , 이항 연산임 </li></ul></ul></ul><ul><ul><ul><li>연산 규칙 </li></ul></ul></ul>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. 7. 1. 부울 대수의 개념 <ul><li>부울 연산자 ( 계속 ) </li></ul><ul><ul><li>보수 (Complementation) </li></ul></ul><ul><ul><ul><li>보수는 ’ ( 또는 ~, NOT) 로 표기하며 , 단항 연산 (unary operation) 임 </li></ul></ul></ul><ul><ul><ul><li>연산 규칙 </li></ul></ul></ul><ul><ul><li>연산자 우선순위 (Precedence) </li></ul></ul><ul><ul><ul><li>괄호 ≫ NOT( ’ ) ≫ AND(  ) ≫ OR(+) </li></ul></ul></ul><ul><ul><ul><li>예제 </li></ul></ul></ul>① x + y  z = x + ( y  z ) ≠ ( x + y )  z ② x  y ’ = x  ( y ’ ) ≠ ( x  y ) ’ = x + yz [ 참고 ] 특별히 혼돈이 없는 경우에 AND(  ) 기호는 생략이 가능함 <ul><ul><li>예제 – 다음 부울 연산의 결과는 ? </li></ul></ul><ul><ul><ul><li>1 + 1 = </li></ul></ul></ul>1 <ul><ul><ul><li>1 ’ + 0 = </li></ul></ul></ul>0 + 0 = 0 <ul><ul><ul><li>0 + 0 ’ = </li></ul></ul></ul>0 + 1 = 1 <ul><ul><ul><li>1  1 ’ = </li></ul></ul></ul>1  0 = 0 <ul><ul><ul><li>(1  1) ’ = </li></ul></ul></ul>1 ’ = 0 <ul><ul><ul><li>0 + 1 ’  1 = </li></ul></ul></ul>0 + (0  1) = 0 + 0 = 0 x x ’ 0 1 1 0
    8. 8. 2. 부울 대수의 법칙 <ul><li>부울 대수 법칙 (Laws of Boolean Algebra) </li></ul>[ 참고 ] 멱등법칙 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. 9. 2. 부울 대수의 법칙 <ul><li>부울 대수 법칙 ( 계속 ) </li></ul>종류 기본법칙 비고 지배법칙 (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. 10. <ul><li>부울 함수 (Boolean Function) </li></ul>3. 부울 함수와 부울식 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>집합 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 로 사상되는 함수임 </li></ul></ul></ul><ul><ul><ul><li> 부울 변수 (Boolean variable) 인 x i 는 0 또는 1 의 값을 가지므로 비트 (bit; binary digit) 라고도 함 </li></ul></ul></ul><ul><ul><ul><li> 정의역은 곱집합 (Cartesian product) 인 B n = {0, 1} 1 x {0, 1} 2 x … x {0, 1} n 이고 , 치역은 B = {0, 1} 임 </li></ul></ul></ul><ul><ul><li>진리표 (truth table) </li></ul></ul><ul><ul><ul><li>부울 함수의 n 개의 부울 변수는 2 n 개의 0 과 1 의 조합을 가질 수 있으므로 2 n 개의 열 (column) 을 갖는 진리표를 구성하여 함수 값을 표현할 수 있음 </li></ul></ul></ul><ul><ul><ul><li>예제 – 부울 함수 f ( x , y ) = x ’ + xy ’ 에 대한 진리표를 나타내면 ? </li></ul></ul></ul>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. 11. <ul><li>부울 함수 ( 계속 ) </li></ul>3. 부울 함수와 부울식 <ul><ul><li>동치 함수 (Equal function) </li></ul></ul><ul><ul><ul><li>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 로 표현함 </li></ul></ul></ul><ul><ul><ul><li>예제 – 부울 함수 f ( x , y , z ) = ( x + y + z ) ’ 와 g ( x , y , z ) = x ’  y ’  z ’ 에 대해서 f 와 g 가 동치 ( 즉 , f = g ) 임을 진리표를 사용하여 보이면 ? </li></ul></ul></ul>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. 12. <ul><li>부울 함수 ( 계속 ) </li></ul>3. 부울 함수와 부울식 <ul><ul><li>보함수 (Complementary function) </li></ul></ul><ul><ul><ul><li>부울 함수 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 )) ’ 가 성립함 </li></ul></ul></ul><ul><ul><ul><li>예제 – 부울 함수 f ( x , y , z ) = x ’ + yz 의 보함수는 f ’ ( x , y , z ) = xy ’ + xz ’ 임을 진리표를 사용하여 보이면 ? </li></ul></ul></ul>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. 13. 3. 부울 함수와 부울식 <ul><li>부울식 (Boolean Expression) </li></ul>부울식이 아님 ( 2 는 집합 B 의 원소가 아님 ) <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>부울 대수 ( B , O , A ) 에서 부울 변수 x 1 , x 2 , … , x n 에 대한 부울식은 다음과 같이 재귀적으로 정의됨 </li></ul></ul></ul><ul><ul><ul><li> 0, 1, x 1 , x 2 , … , x n 은 각각 부울식임 </li></ul></ul></ul><ul><ul><ul><li> E 1 과 E 2 가 부울식이면 , ( E 1 ), E 1 ’ , E 1 + E 2 , E 1  E 2 도 각각 부울식임 </li></ul></ul></ul><ul><ul><ul><li>부울 함수를 구성하는 수식을 부울식 (Boolean expression) 이라고 함 </li></ul></ul></ul><ul><ul><li>예제 </li></ul></ul><ul><ul><ul><li>다음 중 부울 변수 x 1 , x 2 , x 3 에 대한 부울식을 고르면 ? </li></ul></ul></ul><ul><li>0  1 + x 1 + ( x 2  x 3 ’ ) </li></ul><ul><li>( x 1 ’ + 1) ’  ( x 1 + 0) </li></ul><ul><li>(0 + 2)  x 1 </li></ul><ul><li>x 1 + x 2 + x 3 </li></ul><ul><li>(1 – 0) + ( x 1 + x 2 ) ’ </li></ul> 부울식임  부울식임  부울식임   부울식이 아님 ( – 는 부울 연산자가 아님 )
    14. 14. 3. 부울 함수와 부울식 <ul><li>쌍대성 원리 (Principles of Duality) </li></ul><ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>집합 ( 제 2 강 참고 ) 과 마찬가지로 부울 대수에서도 다음 규칙을 적용하여 쌍대 (dual) 가 되는 부울식을 구성할 수 있음 </li></ul></ul></ul><ul><ul><ul><li> 부울식에서 부울곱 (  ) 은 부울합 (+) 으로 , 부울합은 부울곱으로 변경 </li></ul></ul></ul><ul><ul><ul><li> 부울식에서 0 은 1 로 , 1 은 0 으로 변경 </li></ul></ul></ul><ul><ul><ul><li>부울 대수의 유효한 법칙에 대해서 그 쌍대가 되는 법칙도 항상 유효함 </li></ul></ul></ul><ul><ul><li>예제 </li></ul></ul><ul><ul><ul><li>다음 각 부울식의 쌍대를 구하면 ? </li></ul></ul></ul><ul><li>1 + xy </li></ul> 0  ( x + y ) <ul><li>( xy ) ’ + x </li></ul> ( x + y ) ’  x <ul><li>0 + ( x + yz ) </li></ul> 1  ( x  ( y + z )) <ul><li>x + xy = x </li></ul> x ( x + y ) = x <ul><li>( x ’ + z )( xy ’ + z ) = z </li></ul> x ’ z + ( x + y ’ ) z = z
    15. 15. 4. 최소항 / 최대항 <ul><li>표현 가능한 부울 함수의 개수 </li></ul><ul><ul><li>문제 </li></ul></ul><ul><ul><ul><li>n 개의 부울 변수로 만들 수 있는 부울 함수는 몇 개나 되는가 ? ( 단 , 동치인 함수는 하나로 카운트함 ) </li></ul></ul></ul><ul><ul><ul><li> 2 2 n 개 </li></ul></ul></ul><ul><ul><li>이유 </li></ul></ul><ul><ul><ul><li>n 개의 부울 변수가 가질 수 있는 값의 조합 c = 2 n 가지임 </li></ul></ul></ul><ul><ul><ul><li>c 가지의 경우에 대해 진리표에서 표현할 수 있는 결과의 개수는 2 c (= 2 2 n ) 개임 </li></ul></ul></ul><ul><ul><li>예제 </li></ul></ul><ul><ul><ul><li>2 개의 부울 변수 x , y 로 만들 수 있는 부울 함수의 개수는 ? </li></ul></ul></ul> 2 2 2 = 2 4 = 16 ( 개 ) <ul><ul><ul><li>가능한 부울 함수를 모두 나타내면 ? </li></ul></ul></ul> ( 뒷장에 계속 )
    16. 16. <ul><li>표현 가능한 부울 함수의 개수 ( 계속 ) </li></ul>4. 최소항 / 최대항 <ul><ul><li>예제 ( 계속 ) </li></ul></ul>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 <ul><li>f 0 ( x , y ) = 0 </li></ul><ul><li>f 1 ( x , y ) = xy </li></ul><ul><li>f 2 ( x , y ) = xy ’ </li></ul><ul><li>f 3 ( x , y ) = xy ’ + xy </li></ul><ul><li>f 4 ( x , y ) = x ’ y </li></ul><ul><li>f 5 ( x , y ) = x ’ y + xy </li></ul><ul><li>f 6 ( x , y ) = x ’ y + xy ’ </li></ul><ul><li>f 7 ( x , y ) = x ’ y + xy ’ + xy </li></ul><ul><li>f 8 ( x , y ) = x ’ y ’ </li></ul><ul><li>f 9 ( x , y ) = x ’ y ’ + xy </li></ul><ul><li>f 10 ( x , y ) = x ’ y ’ + xy ’ </li></ul><ul><li>f 11 ( x , y ) = x ’ y ’ + xy ’ + xy </li></ul><ul><li>f 12 ( x , y ) = x ’ y ’ + x ’ y </li></ul><ul><li>f 13 ( x , y ) = x ’ y ’ + x ’ y + xy </li></ul><ul><li>f 14 ( x , y ) = x ’ y ’ + x ’ y + xy ’ </li></ul><ul><li>f 15 ( x , y ) = 1 </li></ul>
    17. 17. <ul><li>최소항 (Minterms)/ 최대항 (Maxterms) </li></ul>4. 최소항 / 최대항 <ul><ul><li>최소항 </li></ul></ul><ul><ul><ul><li>부울 변수의 곱으로만 표현되는 부울식을 최소항 (minterms) 이라고 함 </li></ul></ul></ul><ul><ul><ul><li>최소항과 최대항은 서로 보수의 관계가 성립함 ( 즉 , 최소항을 m i , 최대항을 M i 라고 할 때 , m i ’ = M i 임 )  예 : ( xy ’ z ) ’ = x ’ + y + z ’ </li></ul></ul></ul><ul><ul><ul><li>n 개의 부울 변수 x 1 , x 2 , … , x n 에 대한 최소항의 형식  y 1  y 2  …  y n ( 단 , y i = x i 또는 y i = ( x i ) ’ 이며 , 1≤ i ≤ n ) </li></ul></ul></ul><ul><ul><ul><li>부울 변수의 값을 대입하면 최소항의 결과는 1 이 됨 ( 예 : 부울 변수의 값이 x = 1, y = 0, z = 1 일 때 , 최소항은 xy ’ z 로 표현함 ) </li></ul></ul></ul><ul><ul><li>최대항 </li></ul></ul><ul><ul><ul><li>부울 변수의 합으로만 표현되는 부울식을 최대항 (maxterms) 이라고 함 </li></ul></ul></ul><ul><ul><ul><li>n 개의 부울 변수 x 1 , x 2 , … , x n 에 대한 최대항의 형식  y 1 + y 2 + … + y n ( 단 , y i = x i 또는 y i = ( x i ) ’ 이며 , 1≤ i ≤ n ) </li></ul></ul></ul><ul><ul><ul><li>부울 변수의 값을 대입하면 최대항의 결과는 0 이 됨 ( 예 : 부울 변수의 값이 x = 1, y = 0, z = 1 일 때 , 최대항은 x ’ + y + z ’ 로 표현함 ) </li></ul></ul></ul>
    18. 18. <ul><li>최소항 / 최대항 ( 계속 ) </li></ul>4. 최소항 / 최대항 <ul><ul><li>예제 </li></ul></ul><ul><ul><ul><li>3 개의 부울 변수 x , y , z 에 대한 최소항과 최대항을 구하면 ? </li></ul></ul></ul><ul><ul><ul><li>최소항과 최대항은 진리표에 대응하는 부울 함수를 정규화된 형식으로 표현하기 위하여 주로 사용함 </li></ul></ul></ul><ul><ul><ul><li>n 개의 변수에 대한 진리표는 2 n 개의 최소항과 2 n 개의 최대항을 가짐 </li></ul></ul></ul><ul><ul><li>특징 </li></ul></ul>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. 19. 5. 곱의 합 / 합의 곱 <ul><li>곱의 합 (Sum of Products)/ 합의 곱 (Product of Sums) </li></ul><ul><ul><li>곱의 합 </li></ul></ul><ul><ul><ul><li>모든 부울 함수는 결과가 1 인 최소항들의 부울합 으로 표현할 수 있으며 , 이런 표현을 곱의 합 (sum of products) 형식이라고 함  논리합 정형 (disjunctive normal form) 이라고도 함 </li></ul></ul></ul><ul><ul><ul><li>예 : f ( x , y , z ) = x ’ y ’ z + xy ’ z ’ + xyz </li></ul></ul></ul><ul><ul><li>합의 곱 </li></ul></ul><ul><ul><ul><li>모든 부울 함수는 결과가 0 인 최대항들의 부울곱 으로 표현할 수 있으며 , 이런 표현을 합의 곱 (product of sums) 형식이라고 함  논리곱 정형 (conjunctive normal form) 이라고도 함 </li></ul></ul></ul><ul><ul><ul><li>예 : f ( x , y , z ) = ( x + y + z ’ )( x ’ + y + z )( x ’ + y ’ + z ’ ) </li></ul></ul></ul><ul><li>[ 참고 ] 정규형 (Canonical form) </li></ul><ul><li>곱의 합 또는 합의 곱으로 표현된 부울식을 정규형 (canonical form) 이라고 하며 , 그렇지 않은 식은 비정규형이라고 함 </li></ul>
    20. 20. <ul><li>예제 </li></ul>5. 곱의 합 / 합의 곱 <ul><ul><li>진리표에 대한 부울 함수 구하기 </li></ul></ul><ul><ul><ul><li>3 개의 부울 변수 x , y , z 에 대한 진리표가 다음과 같을 때 부울 함수 f ( x , y , z ) 를 곱의 합 형식으로 표현하면 ? 또한 합의 곱 형식으로 표현하면 ? </li></ul></ul></ul> 곱의 합 형식 : 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. 21. <ul><li>예제 ( 계속 ) </li></ul>5. 곱의 합 / 합의 곱 <ul><ul><li>곱의 합 / 합의 곱 형식이 동치임을 증명 </li></ul></ul><ul><ul><ul><li>곱의 합 형식인 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 ’ ) 이 동치임을 보이면 ? </li></ul></ul></ul> [ 증명 ] 곱의 합 형식인 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. 22. <ul><li>예제 ( 계속 ) </li></ul>5. 곱의 합 / 합의 곱 <ul><ul><li>일반적인 부울 함수의 정규형 변환 </li></ul></ul><ul><ul><ul><li>부울 함수 f ( x , y , z ) = x ’ y + z ’ 를 정규형 ( 즉 , 곱의 합 형식과 합의 곱 형식 ) 으로 표현하면 ? </li></ul></ul></ul> 곱의 합 형식 : 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. 23. 6. 논리 게이트 <ul><li>논리 게이트 (Logic Gate) 란 ? </li></ul><ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>디지털 신호를 갖는 전자 회로를 표현하는 가장 기본이 되는 단위로서 하나 이상의 입력과 하나의 출력을 갖는 장치를 논리 게이트 (logic gate) 라고 함 </li></ul></ul></ul><ul><ul><ul><li>부울 대수의 B n 에서 B 로의 함수 ( 여기서 B = {0, 1} 임 ) 로 표현이 가능함 </li></ul></ul></ul><ul><ul><li>종류 </li></ul></ul><ul><ul><ul><li>AND 게이트 </li></ul></ul></ul><ul><ul><ul><li>OR 게이트 </li></ul></ul></ul><ul><ul><ul><li>NOT 게이트 </li></ul></ul></ul><ul><ul><ul><li>NAND(NOT-AND) 게이트 </li></ul></ul></ul><ul><ul><ul><li>NOR(NOT-OR) 게이트 </li></ul></ul></ul><ul><ul><ul><li>XOR(Exclusive-OR) 게이트 </li></ul></ul></ul><ul><ul><ul><li>XNOR(Exclusive-NOR) 게이트 </li></ul></ul></ul><ul><ul><ul><li>Buffer 게이트 </li></ul></ul></ul>
    24. 24. 6. 논리 게이트 <ul><li>AND 게이트 </li></ul><ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>임의의 x , y ∈ {0, 1} 를 입력하여 xy 를 출력으로 얻는 게이트 </li></ul></ul></ul><ul><ul><li>진리표 </li></ul></ul><ul><ul><li>다이어그램 </li></ul></ul>다중입력 AND 게이트 x y xy x y 0 0 0 1 1 0 1 1 입력 xy 0 0 0 1 출력 <ul><ul><ul><li> xy = </li></ul></ul></ul><ul><ul><ul><li>1 if x = y = 1 </li></ul></ul></ul><ul><ul><ul><li>0 otherwise </li></ul></ul></ul>x 1 x 2 … x n x 1 x 2 x n ∙ ∙ ∙
    25. 25. 6. 논리 게이트 <ul><li>OR 게이트 </li></ul><ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>임의의 x , y ∈ {0, 1} 를 입력하여 x + y 를 출력으로 얻는 게이트 </li></ul></ul></ul><ul><ul><li>진리표 </li></ul></ul><ul><ul><li>다이어그램 </li></ul></ul>다중입력 OR 게이트 x y 0 0 0 1 1 0 1 1 입력 x + y 0 1 1 1 출력 <ul><ul><ul><li> x + y = </li></ul></ul></ul><ul><ul><ul><li>0 if x = y = 0 </li></ul></ul></ul><ul><ul><ul><li>1 otherwise </li></ul></ul></ul>x y x + y x 1 + x 2 + … + x n x 1 x 2 x n ∙ ∙ ∙
    26. 26. 6. 논리 게이트 <ul><li>NOT 게이트 </li></ul><ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>임의의 x ∈ {0, 1} 를 입력하여 x ’ 를 출력으로 얻는 게이트 </li></ul></ul></ul><ul><ul><li>진리표 </li></ul></ul><ul><ul><li>다이어그램 </li></ul></ul><ul><ul><ul><li>인버터 (inverter) 라고도 함 </li></ul></ul></ul>x 0 1 입력 x ’ 1 0 출력 <ul><ul><ul><li> x ’ = </li></ul></ul></ul><ul><ul><ul><li>1 if x = 0 </li></ul></ul></ul><ul><ul><ul><li>0 if x = 1 </li></ul></ul></ul>x x ’
    27. 27. <ul><li>NAND 게이트 </li></ul>6. 논리 게이트 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>임의의 x , y ∈ {0, 1} 를 입력하여 x ↑ y = ( xy ) ’ 를 출력으로 얻는 게이트 </li></ul></ul></ul><ul><ul><li>진리표 </li></ul></ul><ul><ul><li>다이어그램 </li></ul></ul>동치인 NAND 게이트 x y 0 0 0 1 1 0 1 1 입력 x ↑ y 1 1 1 0 출력 <ul><ul><ul><li> x ↑ y = </li></ul></ul></ul><ul><ul><ul><li>0 if x = y = 1 </li></ul></ul></ul><ul><ul><ul><li>1 otherwise </li></ul></ul></ul>x y x ↑ y x y x ’ + y ’
    28. 28. <ul><li>NOR 게이트 </li></ul>6. 논리 게이트 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>임의의 x , y ∈ {0, 1} 를 입력하여 x ↓ y = ( x + y ) ’ 를 출력으로 얻는 게이트 </li></ul></ul></ul><ul><ul><li>진리표 </li></ul></ul><ul><ul><li>다이어그램 </li></ul></ul>동치인 NOR 게이트 x y 0 0 0 1 1 0 1 1 입력 x ↓ y 1 0 0 0 출력 <ul><ul><ul><li> x ↓ y = </li></ul></ul></ul><ul><ul><ul><li>1 if x = y = 0 </li></ul></ul></ul><ul><ul><ul><li>0 otherwise </li></ul></ul></ul>x y x ↓ y x y x ’ y ’
    29. 29. <ul><li>XOR 게이트 </li></ul>6. 논리 게이트 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>임의의 x , y ∈ {0, 1} 를 입력하여 x  y = x ’ y + xy ’ 를 출력으로 얻는 게이트 </li></ul></ul></ul><ul><ul><li>진리표 </li></ul></ul><ul><ul><li>다이어그램 </li></ul></ul>x y 0 0 0 1 1 0 1 1 입력 x  y 0 1 1 0 출력 <ul><ul><ul><li> x  y = </li></ul></ul></ul><ul><ul><ul><li>0 if x = y </li></ul></ul></ul><ul><ul><ul><li>1 otherwise </li></ul></ul></ul>x y x  y
    30. 30. <ul><li>XNOR 게이트 </li></ul>6. 논리 게이트 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>임의의 x , y ∈ {0, 1} 를 입력하여 x  y = x ’ y ’ + xy 를 출력으로 얻는 게이트 </li></ul></ul></ul><ul><ul><li>진리표 </li></ul></ul><ul><ul><li>다이어그램 </li></ul></ul>x y 0 0 0 1 1 0 1 1 입력 x  y 1 0 0 1 출력 <ul><ul><ul><li> x  y = </li></ul></ul></ul><ul><ul><ul><li>1 if x = y </li></ul></ul></ul><ul><ul><ul><li>0 otherwise </li></ul></ul></ul>x y x  y
    31. 31. <ul><li>Buffer 게이트 </li></ul>6. 논리 게이트 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>임의의 x ∈ {0, 1} 를 입력하여 x 를 그대로 출력으로 얻는 게이트 </li></ul></ul></ul><ul><ul><li>진리표 </li></ul></ul><ul><ul><li>다이어그램 </li></ul></ul><ul><ul><ul><li>입력 시간을 지연시키는데 사용됨 </li></ul></ul></ul>x 0 1 입력 x 0 1 출력 <ul><ul><ul><li> x = </li></ul></ul></ul><ul><ul><ul><li>1 if x = 1 </li></ul></ul></ul><ul><ul><ul><li>0 if x = 0 </li></ul></ul></ul>x x
    32. 32. <ul><li>논리 회로 (Logic Circuit) 란 ? </li></ul>7. 논리 회로 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>논리 게이트의 조합으로 구성된 회로를 논리 회로 (logic circuit) 라고 함 </li></ul></ul></ul><ul><ul><ul><li>모든 부울 함수는 논리 회로로 변환이 가능함 </li></ul></ul></ul><ul><ul><li>부울 함수의 논리 회로 표현 방법 </li></ul></ul><ul><ul><ul><li>합의 곱 (product of sums) 형식  다수의 OR 게이트가 하나의 AND 게이트에 연결되는 형태로 표현함 </li></ul></ul></ul><ul><ul><ul><li>곱의 합 (sum of products) 형식  다수의 AND 게이트가 하나의 OR 게이트에 연결되는 형태로 표현함 </li></ul></ul></ul><ul><li>[ 참고 ] </li></ul><ul><li>여러 게이트가 하나의 입력을 공유하면 입력선을 분기하여 표현하기도 함 </li></ul>
    33. 33. <ul><li>예제 </li></ul>7. 논리 회로 <ul><ul><li>곱의 합 형식의 논리 회로 표현 </li></ul></ul><ul><ul><ul><li>부울 함수 f ( x , y ) = xy + xy ’ 를 논리 회로로 표현하면 ? </li></ul></ul></ul>또는 x y xy + xy ’ x y xy x y xy ’ xy + xy ’
    34. 34. <ul><li>예제 ( 계속 ) </li></ul>7. 논리 회로 <ul><ul><li>합의 곱 형식의 논리 회로 표현 </li></ul></ul><ul><ul><ul><li>부울 함수 f ( x , y ) = ( x + y )( x ’ + y ) 를 논리 회로로 표현하면 ? </li></ul></ul></ul>또는 x y x ’ + y x y x + y ( x + y )( x ’ + y ) x y ( x + y )( x ’ + y )
    35. 35. <ul><li>예제 ( 계속 ) </li></ul>7. 논리 회로 <ul><ul><li>논리 회로의 부울 함수 표현 </li></ul></ul><ul><ul><ul><li>다음 논리 회로를 부울 함수로 표현하면 ? </li></ul></ul></ul>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. 36. <ul><li>완전 연산자 집합 (Complete Set of Operators) </li></ul>8. 완전 연산자 집합 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>모든 부울 함수를 표현하기에 충분한 연산자의 집합 </li></ul></ul></ul><ul><ul><ul><li>예 : {  (AND), +(OR), ’ (NOT)}  [ 이유 ] 모든 부울 함수는 곱의 합 / 합의 곱 형식으로 표현이 가능하므로 </li></ul></ul></ul><ul><ul><li>예제 </li></ul></ul><ul><ul><ul><li>집합 {  (AND), ’ (NOT)} 가 완전 연산자 집합임을 보이면 ? </li></ul></ul></ul> [ 증명 ] +(OR) 를 {  , ’ } 만으로 표현이 가능한지 증명함 부울식 x + y 에 대해서 이중보수법칙과 드모르강법칙을 적용하면 x + y = (( x + y ) ’ ) ’ = ( x ’  y ’ ) ’ 이 성립함 즉 , 모든 부울 함수에서 + 는  과 ’ 를 결합하여 표현할 수 있으므로 {  , ’ } 는 완전 연산자 집합임 <ul><li>[ 참고 ] </li></ul><ul><li>{  , ’ } 과 마찬가지로 {+, ’ } 도 완전 연산자 집합임 </li></ul><ul><li>완전 연산자 집합은 실제 전자 회로를 구성할 때 사용되는 게이트의 종류를 최소화하는데 도움이 됨 </li></ul>
    37. 37. <ul><li>완전 연산자 집합 {NAND}/{NOR} </li></ul>8. 완전 연산자 집합 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>모든 부울 함수는 NAND(NOT-AND; ↑) 또는 NOR(NOT-OR; ↓) 만을 사용하여 표현이 가능함 </li></ul></ul></ul><ul><ul><li>증명 </li></ul></ul><ul><ul><ul><li>집합 {↑(NAND)} 와 {↓(NOR)} 가 완전 연산자 집합임을 보이면 ? </li></ul></ul></ul> 우선  과 ’ 를 ↑만으로 표현이 가능한지 증명함 따라서 {↑} 는 완전 연산자 집합임 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. 38. <ul><li>완전 연산자 집합 {NAND}/{NOR} ( 계속 ) </li></ul>8. 완전 연산자 집합 <ul><ul><li>예제 </li></ul></ul><ul><ul><ul><li>진리표를 사용하여 x ’ = x ↑ x 와 x  y = ( x ↑ y )↑( x ↑ y ) 가 성립함을 보이면 ? </li></ul></ul></ul>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. 39. <ul><li>부울 함수의 간소화 (Simplifying Boolean Expression) </li></ul>9. 부울 함수의 간소화 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>동치인 부울 함수가 있을 때 , 복잡한 것보다는 간소화된 것을 이용한 전자 회로의 구성이 게이트의 수를 줄일 수 있어서 더 효율적임 </li></ul></ul></ul><ul><ul><li>간소화 방법 </li></ul></ul><ul><ul><ul><li>부울 대수의 기본 법칙 을 이용하는 방법 </li></ul></ul></ul><ul><ul><ul><li>카르노 맵 (Karnaugh map) 을 이용하는 방법 </li></ul></ul></ul><ul><ul><ul><li> 곱의 합 ( 또는 합의 곱 ) 형식으로 표현된 부울 함수를 K-map 이라는 특수한 행렬로 표시함 </li></ul></ul></ul><ul><ul><ul><li> 인간의 패턴 매칭 (pattern matching) 능력을 사용하여 가장 간단한 표현을 결정함 </li></ul></ul></ul><ul><ul><ul><li> [ 제 11 강 ] 에서 배운 다양한 부울 대수의 기본 법칙을 적용하여 간소화함 </li></ul></ul></ul><ul><ul><ul><li> 적용할 법칙의 선택이 어렵고 , 가장 간소화된 것인지 확인하기 힘듬 </li></ul></ul></ul><ul><ul><ul><li>부울 함수의 간소화 란 부울 함수의 표현에 사용되는 부울 변수의 개수와 부울 연산자의 개수를 최소한으로 줄이는 것을 의미함 </li></ul></ul></ul>
    40. 40. <ul><li>부울 대수의 법칙을 이용한 간소화 </li></ul>9. 부울 함수의 간소화 <ul><ul><li>예제 </li></ul></ul><ul><ul><ul><li>부울 함수 f ( x , y , z ) = xyz + xy ’ z + xyz ’ + x ’ yz + xy ’ z ’ 를 부울 대수의 기본 법칙을 사용하여 간소화시키면 ? </li></ul></ul></ul> 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. 41. <ul><li>카르노 맵 (Karnaugh Map) </li></ul>10. 카르노 맵 <ul><ul><li>정의 </li></ul></ul><ul><ul><ul><li>부울 함수를 최소로 간소화하기 위해 사용되는 부울 행렬 </li></ul></ul></ul><ul><ul><ul><li>1953 년 Bell Lab 의 전기통신 공학자인 Maurice Karnaugh 가 고안함 </li></ul></ul></ul><ul><ul><li>간소화 방법 </li></ul></ul><ul><ul><ul><li>주로 2~6 개의 변수를 가진 부울 함수에 적용됨 ( 이론상으로는 제한이 없음 ) </li></ul></ul></ul><ul><ul><ul><li>2- 변수 맵은 2 x 2 행렬 , 3- 변수 맵은 2 x 4 행렬 , 4- 변수 맵은 4 x 4 행렬임 </li></ul></ul></ul><ul><ul><ul><li>행렬은 인접하는 원소가 한 비트만 다르게 부울 변수를 조합할 수 있도록 그레이 코드 (grey code) 형식으로 구성됨 </li></ul></ul></ul><ul><ul><ul><li>부울 함수가 곱의 합 형식으로 표현된 경우에 최소항의 값이 1 이면 1 로 0 이면 0 으로 해당하는 행렬의 위치에 표시함 </li></ul></ul></ul><ul><ul><ul><li>부울 함수가 합의 곱 형식으로 표현된 경우에 최대항의 값이 1 이면 0 으로 0 이면 1 로 해당하는 행렬의 위치에 표시함 </li></ul></ul></ul><ul><ul><ul><li>행렬에서 인접한 1 을 2 n ( 예 : 1, 2, 4, 8, … ) 개의 직사각형으로 묶은 후 ( 가능한 큰 그룹으로 ), 행과 열에서 공통인 변수의 곱 (AND) 으로 묶음을 표현함 </li></ul></ul></ul><ul><ul><ul><li>묶은 곱의 합 (OR) 형식으로 함수를 표시하면 간소화된 형식임 </li></ul></ul></ul>
    42. 42. <ul><li>2- 변수 맵 (2 Variable Map) </li></ul>10. 카르노 맵 <ul><ul><li>템플릿 </li></ul></ul><ul><ul><ul><li>[ 제 11 강 참고 ] </li></ul></ul></ul><ul><li>f 0 ( x , y ) = 0 </li></ul><ul><li>f 0 ’ ( x , y ) = 1 </li></ul><ul><li>f 1 ( x , y ) = xy </li></ul><ul><li>f 1 ’ ( x , y ) = x ’ + y ’ </li></ul><ul><li>f 2 ( x , y ) = xy ’ </li></ul><ul><li>f 2 ’ ( x , y ) = x ’ + y </li></ul><ul><li>f 3 ( x , y ) = xy ’ + xy = x </li></ul><ul><li>f 3 ’ ( x , y ) = x ’ </li></ul><ul><ul><li>부울 함수의 표현 </li></ul></ul>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. 43. <ul><li>2- 변수 맵 ( 계속 ) </li></ul>10. 카르노 맵 <ul><li>f 6 ( x , y ) = x ’ y + xy ’ </li></ul><ul><li>f 6 ’ ( x , y ) = x ’ y ’ + xy </li></ul><ul><li>f 7 ( x , y ) = x ’ y + xy ’ + xy = x + y </li></ul><ul><li>f 7 ’ ( x , y ) = x ’ y ’ </li></ul><ul><li>f 8 ( x , y ) = x ’ y ’ </li></ul><ul><li>f 8 ’ ( x , y ) = x + y </li></ul><ul><li>f 9 ( x , y ) = x ’ y ’ + xy </li></ul><ul><li>f 9 ’ ( x , y ) = x ’ y + xy ’ </li></ul><ul><ul><li>부울 함수의 표현 ( 계속 ) </li></ul></ul><ul><li>f 4 ( x , y ) = x ’ y </li></ul><ul><li>f 4 ’ ( x , y ) = x + y ’ </li></ul><ul><li>f 5 ( x , y ) = x ’ y + xy = y </li></ul><ul><li>f 5 ’ ( x , y ) = y ’ </li></ul>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. 44. <ul><li>2- 변수 맵 ( 계속 ) </li></ul>10. 카르노 맵 <ul><li>f 12 ( x , y ) = x ’ y ’ + x ’ y = x ’ </li></ul><ul><li>f 12 ’ ( x , y ) = x </li></ul><ul><li>f 13 ( x , y ) = x ’ y ’ + x ’ y + xy = x ’ + y </li></ul><ul><li>f 13 ’ ( x , y ) = xy ’ </li></ul><ul><li>f 14 ( x , y ) = x ’ y ’ + x ’ y + xy ’ = x ’ + y ’ </li></ul><ul><li>f 14 ’ ( x , y ) = xy </li></ul><ul><li>f 15 ( x , y ) = 1 </li></ul><ul><li>f 15 ’ ( x , y ) = 0 </li></ul><ul><ul><li>부울 함수의 표현 ( 계속 ) </li></ul></ul><ul><li>f 10 ( x , y ) = x ’ y ’ + xy ’ = y ’ </li></ul><ul><li>f 10 ’ ( x , y ) = y </li></ul><ul><li>f 11 ( x , y ) = x ’ y ’ + xy ’ + xy = x + y ’ </li></ul><ul><li>f 11 ’ ( x , y ) = x ’ y </li></ul>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. 45. <ul><li>3- 변수 맵 (3 Variable Map) </li></ul>10. 카르노 맵 <ul><ul><li>템플릿 </li></ul></ul><ul><ul><li>부울 함수의 표현 </li></ul></ul><ul><ul><ul><li>f ( x , y , z ) = xy ’ z + xyz </li></ul></ul></ul><ul><ul><ul><li> f ( x , y , z ) = xz </li></ul></ul></ul><ul><ul><ul><li>f ( x , y , z ) = ∑(2, 3, 4, 6) </li></ul></ul></ul><ul><ul><ul><li> f ( x , y , z ) = x ’ y + xz ’ </li></ul></ul></ul>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. 46. <ul><li>3- 변수 맵 ( 계속 ) </li></ul>10. 카르노 맵 <ul><ul><li>부울 함수의 표현 ( 계속 ) </li></ul></ul><ul><ul><ul><li>f ( x , y , z ) = ∑(0, 1, 2, 3) </li></ul></ul></ul><ul><ul><ul><li> f ( x , y , z ) = x ’ </li></ul></ul></ul><ul><ul><ul><li>f ( x , y , z ) = ∑(2, 3, 6, 7) </li></ul></ul></ul><ul><ul><ul><li> f ( x , y , z ) = y </li></ul></ul></ul><ul><ul><ul><li>f ( x , y , z ) = ∏(1, 3, 5, 7) </li></ul></ul></ul><ul><ul><ul><li> f ( x , y , z ) = z ’ </li></ul></ul></ul>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. 47. <ul><li>3- 변수 맵 ( 계속 ) </li></ul>10. 카르노 맵 <ul><ul><li>부울 함수의 표현 ( 계속 ) </li></ul></ul><ul><ul><ul><li>f ( x , y , z ) = ∑(0, 1, 3, 4, 5) </li></ul></ul></ul><ul><ul><ul><li> f ( x , y , z ) = y ’ + x ’ z </li></ul></ul></ul><ul><ul><ul><li>f ( x , y , z ) = ∏(0, 2) </li></ul></ul></ul><ul><ul><ul><li> f ( x , y , z ) = x + z </li></ul></ul></ul><ul><ul><ul><li>f ( x , y , z ) = ∑(0, 2, 3, 4, 5, 6) </li></ul></ul></ul><ul><ul><ul><li> f ( x , y , z ) = z ’ + xy ’ + x ’ y </li></ul></ul></ul>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. 48. <ul><li>4- 변수 맵 (4 Variable Map) </li></ul>10. 카르노 맵 <ul><ul><li>템플릿 </li></ul></ul><ul><ul><li>부울 함수의 표현 </li></ul></ul><ul><ul><ul><li>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) </li></ul></ul></ul><ul><ul><ul><li> f ( w , x , y , z ) = z </li></ul></ul></ul>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. 49. <ul><li>4- 변수 맵 ( 계속 ) </li></ul>10. 카르노 맵 이산수학 Discrete Mathematics <ul><ul><li>부울 함수의 표현 ( 계속 ) </li></ul></ul><ul><ul><ul><li>f ( w , x , y , z ) = ∑(1, 3, 5, 6, 7, 12, 13, 14, 15) </li></ul></ul></ul><ul><ul><ul><li>f ( w , x , y , z ) = ∏(3, 5, 8, 9, 14) </li></ul></ul></ul><ul><ul><ul><li> f ( w , x , y , z ) = w ’ z + wx ’ + w ’ xy </li></ul></ul></ul><ul><ul><ul><li> f ( w , x , y , z ) = w ’ z ’ + x ’ y ’ + xy + wyz </li></ul></ul></ul>[ 참고 ] 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. 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. 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. 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. 53. 11. 조합회로 디코더 (decoder : 해독기 , 복조기 ) <ul><li>N 개의 2 진 입력 신로로 부터 최대 2 n 개의 출력신호를 만드는 조합회로 </li></ul><ul><li>디지털 데이터를 아날로그 데이터로 바꿔주는 컴퓨터 회로 ( 해독기 ) </li></ul><ul><li>압축된 신호를 원래 압축되기 전의 신호로 복원 한다는 의미 ( 복조기 ) </li></ul><ul><li>예 : 음향 시스템 ( DVD) </li></ul>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. 54. 11. 조합회로 <ul><li>디코더의 응용 </li></ul>
    55. 55. 11. 조합회로 인코더 (encoder) <ul><li>디코더의 반대 기능을 가진 조합회로 </li></ul><ul><li>2 n 개 또는 그 이하의 입력으로 부터 N 개의 출력을 만드는 조합 회로 </li></ul><ul><li>디지털 전자회로에서 어떤 부호계열의 신호를 다른 부호계열의 신호로 바꾸는 변환기 </li></ul>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. 56. 11. 조합회로 멀티플렉서 (multiplexer : 다중화기 - MUX ) <ul><li>데이터 선택기 </li></ul><ul><li>여러 개의 입력 신호선 ( 채널 ) 중 하나를 선택하여 출력선에 연결하여 주는 조합 논리회로 </li></ul>S 0 S 1 Y 0 0 0 1 1 0 1 1 I 0 I 1 I 2 I 3
    57. 57. 11. 조합회로 디멀티플렉서 (demultiplexer) <ul><li>한 개의 입력선을 여러 개의 출력선 중에 하나를 선택하여 연결하여 준다 . </li></ul>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. 58. 12. 순서논리회로 <ul><li>순서 논리 회로는 플립플롭 (flip-flop) 과 조합 논리 회로로 구성된 논리 회로를 의미 </li></ul><ul><li>순서 논리 회로에서는 회로의 상태를 기억하는 기억 소자가 필요한데 가장 대표적인 기억 소자가 플립플롭이다 . </li></ul><ul><li>순서 논리 회로는 동기식 (synchronous) 과 비동기식 (asynchronous) 으로 분류 </li></ul><ul><li>동기식 순서 논리 회로는 클록 (clock) 펄스를 사용해서 여러 개의 플립플롭을 동시에 동작 </li></ul><ul><li>비동기식 순서 논리 회로는 클록 펄스를 사용하지 않고 플립플롭을 동작시킨다 . </li></ul>기본적인 플립플롭 (SR 래치 ) S R Q 0 0 0 1 1 0 1 1 불변 1 0 불안정
    59. 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. 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. 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. 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. 63. 14.ALU
    64. 64. 14.ALU(32bit)

    ×