[Boolean Algebra] Basic Operations
2012. 2. 8. 03:04
3 basic operations
Boolean algebra은 영국의 수학자인 Boole이 창안한 0과 1만으로 이루어진 대수학을 말한다.
Digital logic circuit의 근간을 이루고 있는 이론이기 때문에,
당연하게도 대부분의 내용을 숙지하고 있어야 이후에 이어질 내용을 쉽게 이해할 수 있다.
먼저 여기서는 3가지의 기본적인 연산인 NOT, AND, OR와 그 표현법에 대해서 다루도록 하겠다.
NOT operation
0과 1은 다음과 같은 관계를 갖는다.
0' = 1, 1' = 0
여기서 NOT operation의 연산자는 (') ← 요 녀석이고 prime 이라고 읽는다.
임의의 변수 X가 0이라면 X' = 1이며, X가 1이라면 X' = 0 이다.
NOT gate의 모양은 위와 같다. 삼각형과 작은 원이 붙어있는 모양인데,
작은 원은 다른 gate에 붙어서 NAND gate나 NOR gate등을 나타낼 때 사용되기도 한다.
그러한 gate에 대해서는 이후에 다룰 예정이다.
NOT operation은 위에 dot을 찍거나 위에 bar을 씌우는 방법으로 표현하기도 하며,
반드시 바로 뒤에 있는 변수에만 적용된다.
이 부분에 대해서는 AND와 OR operation을 설명한 이후 보충하도록 하겠다.
AND operation
0과 1은 다음과 같은 관계를 갖는다.
0 · 0 = 0, 0 · 1 = 0, 1 · 0 = 0, 1 · 1 = 1
별 거 없다. 곱셈이랑 똑같다.
왜 곱셈이 되는지는 AND operation이 왜 AND라는 이름이 붙었는지를 생각해보면 된다.
연산을 해서 1이 나오는 상황을 기준으로 기억하면 쉽다.
AND operation은 '둘 다 1이 되어야 연산의 결과가 1'이다.
반대로, 둘 중 하나라도 1이 아니면 연산 결과는 0이다.
즉, '앞의 operand가 1이고(and) 뒤의 operand도 1이면 1이 된다. 그래서 AND다.' 라고 이해하면 된다.
숫자 대신 문자를 이용한 경우에는 operator인 (·)을 써주지 않아도 된다.
즉 C = A · B = AB 라고 표현할 수 있다.
AND gate의 모양은 위와같다. 한쪽은 사각형 형태지만 다른 한쪽은 둥근 모양으로 되어있다.
OR operation
0과 1은 다음과 같은 관계를 갖는다.
0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 1
덧셈과 같은 것 처럼 보이지만 1 + 1 = 1 인 것에 주의하자.
여기서의 '+' operator는 덧셈 연산기호가 아니라 'OR' 연산기호임을 명심하자.
OR operation의 이해도 AND operation과 같은 식으로 하면 된다.
즉, '앞의 operand나(or) 뒤의 operand 중 하나만 1이면, 연산의 결과는 1이다.' 라고 기억해 두면 된다.
OR gate의 모양은 위와 같다. Output의 결과는 'A + B'가 된다.
여기서 A와 B의 input은 어떻게 결정될까 하는 것이 의문점으로 남을 수 있는데,
위와 같이 그냥 variable 형태로만 명시되거나, 0, 1이라는 숫자를 직접 사용하거나,
혹은 switch를 이용해서 표현하기도 한다.
Using Switches
위 그림은 두 개의 switch가 series로 연결되어있고,
아래 그림은 parallel하게 연결되어있다. Switch의 열림은 0, 닫힘은 1을 표현한다.
만약 닫힘과 열림이 명시되지 않고 위와 같이 A, B로 표현되어 있다면,
다시 말해 A, B가 각각 0이나 1 둘 중 어느것이든 될 수 있는 상태라면 어떨까.
Series로 연결되어 있는 경우에는 A, B 둘다 닫혀야만 1과 2가 연결된 상태가 된다.
따라서 우리는 이 경우에 대해 A · B (또는 AB)와 같이 표현할 수 있는 것이다.
한편 parallel하게 연결되어 있는 경우에는 A, B 둘 중 하나라도 닫히면 1과 2가 연결된 상태가 된다.
마찬가지 방법으로 우리는 이 경우에 대해 A + B라고 표현할 수 있다.