패스트캠퍼스

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 9회차 미션

돌맹이시터 2020. 10. 27. 19:21

 

 

 

환급미션 9일째..

 

 

 

컴퓨터 구조 - 데이터의 표현 - 부울대수와 논리식의 간편화 - 1

컴퓨터 구조 - 데이터의 표현 - 부울대수와 논리식의 간편화 - 2

 

 

 

 

- 부울 대수 (Boolean algebra) 

 

: 어떤 명제의 참/거짓을 이진수 1,0에 대응시켜 명제간의 관계를 수학적으로 표현하기 위해 만들어진 이론이다.

진리표 관계를 대수식으로 표현하기에 용이

동일한 성능을 갖는 더 간단한 회로를 만들기에 편리

 

 

 

* 부울 대수의 기본 법칙

 

교환 법칙 (commutative law) 

결합 법칙 (associative law) 

분배 법칙 (distributive law)

드모르강의 정리 (De Morgan's theorem)

 

기본적으로 수학에서의 법칙들과 동일하다.

 

 

 

곱연산, 합연산에서 위치를 바꿔도 동일한 것을 확인할 수 있다.

 

 

 

 

 

 

 

동일한 연산 (곱연산 또는 합연산) 에서 결합 순서를 바꾸어도 결과가 동일한 것을 확인할 수 있다.

 

 

  

 

 

 

 

 

수학에서의 분배법칙처럼 사용해도 결과는 동일한 것을 확인할 수 있다.

 

 

(회로에서 o처럼 보이는 기호는 inverter 이고, 부정의 의미로 사용된다.)

 

수학에서의 집합연산과 같이 생각하면 된다.

여기에서 주의할 점은 합연산을 산술연산의 +처럼 생각하면 안되고

반드시 합연산은 OR, 곱연산은 AND로 취급해야 한다.

평소에 산술연산에 익숙하기 때문에 자칫 생각이 꼬이는 것을 조심하면 될 듯 하다.

 

 

 

ex)

E = (a'+bc)(a+b) 부울 식을 간략화

 

= aa'+a'b+abc+bbc
// aa' = 0 (a,a'의 곱연산은 무조건 0이므로) , bbc = bc (b,b의 곱연산은 무조건 b와 같다.)

 

= a'b+abc+bc

// 결합, 교환법칙

 

= (a+1)bc + a'b

// a+1 = 1 (a OR 1 , a와 1의 곱연산은 무조건 1이므로) 

 

따라서, (a'+bc)(a+b) = bc + a'b

으로 간략하게 정리를 할 수 있다.

 

 

부울 식이 간략해지면, 만드는 칩의 부피가 줄어들게 된다.

 

 

 

 

 

 

 

- 카노 맵 ( Karnaugh map, K-map )

 

불 대수를 편리하게 단순화할 수 있기 때문에 많이 사용된다.

 

* 표현 방법

변수가 n개일 때 카노 맵은 2^n개의 민텀(minterm)으로 구성

(테이블의 항목 1개를 민텀이라고 한다)

각 인접 민텀은 하나의 변수만이 변경되어야 한다

ex) b'c 다음 민텀은 bc'가 올 수 없음

출력이 1인 기본 곱에 해당하는 민텀은 1로, 나머지는 0으로 표시

 

 

 

 

 

앞서 말한 표현 방법 중 '인접 민텀은 하나의 변수만 변경되어야 한다'는 조건 때문에 

카노 맵에 보이는 순서가 조금 이상하게 된다.

 

 

 

 

 

 

1. 위의 예시에서 a'b, abc, bc 의 민텀에 1로 표기한다

( abc, bc 그리고 a'bc, a'bc' 처럼 민텀이 겹치는 건 상관없이 1로 표기하면 됨 )

 

2. 인접 민텀끼리 묶어준다.

( 양 끝은 연결되어있다고 보면 됨)

파란 묶음 -> abc+a'bc = (a+a')bc = bc

// a,a'의 합연산은 1이므로

빨간 묶음 -> a'bc' + a'bc = a'b(c'+c) = a'b

// c,c'의 합연산은 1이므로

 

 

따라서 위의 카노 맵을 통해

E=a'b+abc+bc 가

E=bc+a'b로 간단화될 수 있다.

 

 

 

 

 

올인원 패키지 : 컴퓨터 공학 전공 필수👉https://bit.ly/3i4sCVE