1. Logic Gates

2. Truth Table

Truth Table은 모든 input 조합에 대한 output을 정리한 표이다.
0이 False, 1이 True 이다.
AND는 둘 다 True여야 True이다. OR은 둘 중에 하나만 True여도 True이다. XOR은 둘이 다르면 True. XNOR은 둘이 같으면 True.
3. Logic Circuit으로 Truth Table 만들기


4. Truth Table에서 Logic Circuit 만들기
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Y의 결과를 한 줄씩 보자. Y는 언제 True인가? 맨 아래의 3줄이 그러한 경우이다.
우선, A가 True가 아니고, B가 True일 때 Y는 True이다. (!A and B) 그 다음 줄은, 반대로 A가 True고, B가 True가 아닐 때 Y는 True이다. (A and !B) 마지막 줄은 A와 B가 True일 때 Y가 True이다. (A and B)
그렇다면 이제 Y가 True인 규칙을 전체적으로 정리해보자. 하늘색으로 칠해진 3줄 중에 아무거나 하나만 고르면 Y는 True이다. (!A and B) or (A and !B) or (A and B)
이제 이 결과를 회로로 표현하면 다음과 같다.

하지만 이상하지 않은가? 회로를 보고 Truth Table을 만들었고, 우리는 그 Truth Table을 보고 다시 회로를 만들어보았다. 하지만 회로의 결과물이 다르게 나왔다. 후자의 경우 훨씬 복잡하게 나왔다. 이는 A OR B를 복잡한 방식으로 표현하였을 뿐 기능은 같다. 그렇다면 Truth Table을 보고 회로를 설계하면 항상 복잡한 결과가 나오는 것일까? 그렇다면 어떻게 해야 할까?
5. Kernaugh maps
이럴 때 사용하는 것이 Kernaugh map이다. 이는 logic을 알아내기 쉽게 알아낼 수 있도록 truth table을 재구성하는 역할을 한다.

왼쪽의 표를 오른쪽의 2차원 표로 재구성 할 수 있다. 그리고 이웃하여 위치하는 1들을 그룹으로 묶어보자. 오른쪽 표에서 보라색 부분을 먼저 보면 A가 True이면 B의 값에 상관없이 A는 True이다. 즉, A가 True인 조건은 그냥 A이다. 이번엔 파랑색 부분을 보자. B가 True이면 A의 값에 상관없이 B는 True이다. 즉, B가 True인 조건은 그냥 B이다. 최종적으로 True가 되기 위한 공식은 A가 True이거나 B가 True이면 된다. A OR B
다만 Kernaugh map은 컴퓨터가 알아서 잘 계산해주기 때문에 우리는 크게 신경쓰지 않아도 된다.
'전공기초 > Computer Architecture' 카테고리의 다른 글
| [컴퓨터 구조] Processor Control and Datapath (1) (1) | 2023.11.28 |
|---|---|
| [컴퓨터 구조] 숫자 모음 (2) | 2023.11.20 |
| 컴퓨터 구조 Prologue (1) | 2023.11.20 |