코딩쌀롱

논리 게이트(not, and, or, xor) 본문

개발공부

논리 게이트(not, and, or, xor)

이브✱ 2021. 1. 6. 00:35

 

 

 

이진법(Binary): 스위치로 켜고 끄는 2가지의 전기적 상태만으로도 중요한 정보를 표현할 수 있다. 

 - On 상태: 전류가 흐르고, true를 나타내는 상태

 - Off 상태: 전류가 흐르지 않고, false를 나타내는 상태

 

 초기의 전자 컴퓨터는 3개의 상태를 갖고 있는 3진법을 사용하거나 5진법을 사용할 수도 있었다. 이러한 진법들의 문제는, 중간 상태가 더 존재할수록 그것들을 나누기가 어려웠다는 것이다. 그래서 가능한 한 두 개의 신호를 멀리 배치하고, 단지 'on'과 'off'를 사용함으로써 가장 명확한 신호로 사용할 수 있다.

 

 이진수를 사용하는 다른 이유 중 하나는 수학 분야에서 이미 존재했던 참과 거짓을 다룬 분야가 있었기 때문. 그 수학 분야는 참과 거짓을 조작하는 데에 필요한 규칙과 연산방법을 모두 알아냈다. 이것은 '부울 대수학'이라 불린다. 일반적으로 생각하는 수학의 변수는 숫자이고, 연산은 덧셈, 뺄셈, 곱셈 등등이 있다. 부울 대수학에서 변수는 true, false이고, 연산은 논리이다. 여기에는 NOT, AND, OR이라는 핵심 연산이 있다. 흐름을 통제한다는 뜻에서 게이트(gate)라고 부른다.

NOT 게이트

NOT 게이트는 true → false, false → true 로 입력의 반대값을 출력한다. 트랜지스터의 동작방식으로 설명해보면 이렇다.

입력을 켜면〔ON〕  → 전류를 통과시켜 접지 상태가 된다. output라인은 전류를 받지 않고 꺼진다.〔OFF

입력을 끄면〔OFF〕 → 전류는 접지 상태가 되는 바닥으로 흐르지 못하게 되고 output라인으로 흐른다.〔ON

 

AND 게이트

AND 게이트를 만들기 위해서 두 개의 트랜지스터를 직렬로 연결한다. 두 input 모두 ON일 때만 output에 전류가 흐를 수 있다. 표로 작성해보면 아래와 같다.

 

input A input B output
false false false
false true false
true false false
true true true

OR 게이트

두 개의 트랜지스터를 AND의 직렬과 다르게 OR는 병렬로 연결한다. 그리고 두 개의 트랜지스터 모두와 전류원을 연결한다. input이 모두 꺼져있다면 당연히 OFF겠지만 하나라도 ON이라면 output에 전류는 흐르게 된다. 표로 작성해보면 아래와 같다.

 

input A input B output
false false false
false true true
true false ture
true true true

XOR 게이트 (Exclusive OR)

XOR은 OR연산과 비슷하지만 모두 true일 때 false를 반환한다는 차이가 있다. XOR연산이 true가 나올 경우는 하나는 true, 다른 하나는 false일 때이다. 조금 다르게 말하면, 두 값이 같지 않을 때이다. XOR게이트를 회로로 추상화해보면 아래와 같다.

왼: 입력값이 true, true일 때      //      오: 입력값이 true, false일 때

설명하자면 입력 값 두 개로 두 번 연산을 하고, 나온 두 결과값으로 연산을 해 결과를 얻을 수 있다.

 

1. 〔AND〕 → 〔NOT〕 각 두 결과값으로
〔AND〕
output
2. 〔OR〕

 

 


참고

부울 연산과 논리 게이트 유튜브 영상 링크

 

 

Comments