[無에서 시작하는 컴퓨터&과학]

[컴퓨터][5] 스위치 회로와 AND, OR, NOT, XOR 게이트

core-basic 2024. 8. 15. 01:50
728x90

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.


이전 글을 통해서 논리적 진술을 부울 대수를 통해
논리적 표현으로 변환하고,
논리적 표현의 입력값과 출력값에 대해서 진리표 작성하였다.

그리고 그러한 진리표에 따라 AND 연산의 기능을 하는
AND 게이트를 스위치 회로로 구현해 보았다.

이에 따라 부울 대수 연산자들을 모두 회로로 구현할 수 있다면
부울 대수로 표현 가능한 모든 것들을
물리적 회로로 구현이 가능하게 된다는 것을 알게 되었다.

 

[컴퓨터][4] 부울 대수의 논리 표현식을 스위치 회로로 구성하기(게이트)

이전 글을 통해서 부울 대수가 무엇인지, 그리고부울 대수를 통해서 세상을 논리 표현식으로 구성할 수 있다는 사실과,그 방법에 대해 간단히 알아보았다. [컴퓨터][3] 스위치회로와 0과 1, 그리

core-basic.tistory.com

따라서 부울 대수 연산자에 대해서

어떻게 스위치 회로를 통해 구성할 수 있는지 알아보겠다.

< 스위치 회로와 AND, OR, NOT, XOR 게이트 >


< AND 게이트 회로 >

AND 연산자에 대한 논리적 진술의 간단한 예시를 들면
"덥고 비가 온다."라는 예시를 들 수 있다.

덥다는 것에 대한 상태를 미지수 H
비가 온다는 것에 대한 상태를 미지수 R

이어서 두 미지수 H, R을 AND(그리고) 연산자로 이어주면
"H AND R"이라는 논리 표현식을 얻을 수 있다.

그리고 이에 대한 진리표는 아래와 같으며,
이는 AND게이트의 논리표와 같다.

입력 (H) 입력 (R) 출력 (H AND R)
거짓 (0) 거짓 (0) 거짓 (0)
거짓 (0) 참 (1) 거짓 (0)
참 (1) 거짓 (0) 거짓 (0)
참 (1) 참 (1) 참 (1)

※ 전류가 흐름 = 스위치 닫힘 = ON = 참(True) = 1
※ 전류가 흐르지 않음 = 스위치열림 = OFF = 거짓(False) = 0

위의 진리표에 대해서, 전지, 전선, 스위치(입력 부품), 전구(출력 부품) 등,
진리표가 성립이 되도록 연결해 주면 된다.

특히 AND 게이트의 경우
두 개의 스위치 모두 닫혀있을 때만 전구에 불이 들어오고,
둘 중 하나라도 스위치가 열리면 전류의 흐름이 끊겨 전구에 불이 들어오지 않는다
는 사실을 참고한다.

※ 그림은 Paul falstad 사이트를 통해 제작하였습니다.
※ 전류의 방향은 +극에서 -극이지만, 실제 전자의 방향은 반대 방향이다.

< 0 AND 0 = 0 : 덥지 않고 비가 오지 않는 상황>

 

< 0 AND 1 = 0 : 덥지 않고 비가 오는 상황>

 

< 1 AND 0 = 0 : 덥고 비가 오지 않는 상황>

 

< 1 AND 1 = 1 : 덥고 비가 오는 상황>


< OR 게이트 회로 >

OR 연산자에 대한 논리적 진술의 간단한 예시를 들면
" 오늘 점심은 밥을 먹거나 , 또는 빵을 먹을 것이다 "라는 예시를 들 수 있다.

오늘 점심은 밥으로 먹을 것이다에 대한 상태를 미지수 R
오늘 점심은 빵으로 먹을 것이다에 대한 상태를 미지수 B

이어서 두 미지수 R, B를 OR(또는) 연산자로 이어주면
"R OR B"이라는 논리 표현식을 얻을 수 있다.

그리고 이에 대한 진리표는 아래와 같으며,
이는 OR게이트의 논리표와 같다.

입력 (R) 입력 (B) 출력 (R OR B)
거짓 (0) 거짓 (0) 거짓 (0)
거짓 (0) 참 (1) 참 (1)
참 (1) 거짓 (0) 참 (1)
참 (1) 참 (1) 참 (1)

※ 전류가 흐름 = 스위치 닫힘 = ON = 참(True) = 1
※ 전류가 흐르지 않음 = 스위치열림 = OFF = 거짓(False) = 0

위의 진리표에 대해서, 전지, 전선, 스위치(입력 부품), 전구(출력 부품) 등,
진리표가 성립이 되도록 연결해 주면 된다.

특히 OR 게이트의 경우
  두 개의 스위치 중 하나만 닫혀있어도 전구에 불이 들어오고,
둘 다 열리야 전류의 흐름이 끊겨 전구에 불이 들어오지 않는다
는 사실을 참고한다.

※ 그림은 Paul falstad 사이트를 통해 제작하였습니다.
※ 전류의 방향은 +극에서 -극이지만, 실제 전자의 방향은 반대 방향이다.

< 0 OR 0 = 0 : 점심 메뉴로 밥도, 빵도 먹지 않는 상황>

 

< 0 OR 1 = 1 : 점심 메뉴로 빵만 먹는 상황>

 

< 1 OR 0 = 1 : 점심 메뉴로 밥만 먹는 상황>

 

< 1 OR 1 = 1 : 점심 메뉴로 밥도 먹고, 빵도 먹는 상황 >

 


< OR 게이트 회로에서 저항이 존재하는 이유>

저항이 존재하는 이유는
OR 게이트 회로처럼 스위치를 병렬연결을 할 경우,
두 스위치 모두 ON일 때
병렬 구간에서만 순환하는 순환 회로가 발생할 수 있다.

이는 회로에 불안정성을 초래하므로
이를 방지하기 위해
저항이 작은 쪽으로 이동하는 전류의 성질을 이용하여
의도적으로 저항을 배치해 전류를 제어한다.


< NOT 게이트 회로>

NOT 연산자에 대한 논리적 진술의 간단한 예시를 들면
“오늘은 비가 오지 않는다”라는 예시를 들 수 있다.

이처럼 일반적인 논리적 진술과 다르게 NOT연산자에 대한 논리적 진술은
부정적인 진술이며, 1개의 입력만을 받는다

오늘 비가 오는 것에 대한 상태를 미지수 R

이어서 “않는다”라는 부정문을 연산자 NOT으로 이어주면
"NOT R”이라는 논리 표현식을 얻을 수 있다.

따라서, 입력 R에 참(True)을 입력하면 결과로 거짓(False)이 출력된다.
반대로, 입력 R에 거짓(False)을 입력하면 결과로 참(True)이 출력된다.

그리고 이에 대한 진리표는 아래와 같으며,
이는 NOT게이트의 논리표와 같다.

입력 (R)  출력 (NOT R)
거짓 (0) 참 (1)
참 (1) 거짓 (0)

※ 전류가 흐름 = 스위치 닫힘 = ON = 참(True) = 1
※ 전류가 흐르지 않음 = 스위치열림 = OFF = 거짓(False) = 0

위의 진리표에 대해서, 전지, 전선, 스위치(입력 부품), 전구(출력 부품) 등,
진리표가 성립이 되도록 연결해 주면 된다.
이때 스위치 ON/OFF 에 따라 출력이 어떻게 변화하는지 고려한다.

하지만 NOT 게이트 회로는 지금까지 탐구한 내용을 바탕으로
NOT 게이트 회로를 구현할 수없다.
즉, 오직 스위치만으로 NOT 게이트 회로를 구현할 수없다.


<XOR 게이트 회로>

XOR 연산자는 배타적 논리합 연산자라고 불린다.

배타적이란, 서로 배제하는 또는 서로 다른 이라는 뜻을 포함하기도 한다.

이에 따라 서로를 배제하고, 서로 다른 입력일 때 결합(논리합)하여
결과가 참이 되는 연산자로 배타적 논리합 연산자라 불린다.

XOR연산자에 대한 논리적 진술의 간단한 예시를 들면
" 오늘 점심은 밥을 먹거나, 빵을 먹을 것이다. 대신 둘 다 먹지는 않을 것이다 "
라는 OR과 비슷한 예시를 들 수 있다.

오늘 점심은 밥으로 먹을 것이다에 대한 상태를 미지수 R
오늘 점심은 빵으로 먹을 것이다에 대한 상태를 미지수 B

이어서 두 미지수 R, B를 XOR(배타적 논리합) 연산자로 이어주면
"R XOR B"이라는 논리 표현식을 얻을 수 있다.

이에 따라 두 입력이 모두 거짓일 때 그리고,
두 입력 모두 참이 되는 상황 될 경우에도 거짓이 출력되어,
서로 다른 조건이 충족될 때만 결과가 참이 출력된다.

그리고 이에 대한 진리표는 아래와 같으며,
이는 XOR게이트의 논리표와 같다.

입력 (R) 입력 (B) 출력 (R XOR B)
거짓 (0) 거짓 (0) 거짓 (0)
거짓 (0) 참 (1) 참 (1)
참 (1) 거짓 (0) 참 (1)
참 (1) 참 (1) 거짓 (0)

※ 전류가 흐름 = 스위치 닫힘 = ON = 참(True) = 1
※ 전류가 흐르지 않음 = 스위치열림 = OFF = 거짓(False) = 0

위의 진리표에 대해서, 전지, 전선, 스위치(입력 부품), 전구(출력 부품) 등,
진리표가 성립이 되도록 연결해 주면 된다.
이때 스위치 ON/OFF 에 따라 출력이 어떻게 변화하는지 고려한다.

하지만 XOR 게이트 역시 지금까지 탐구한 내용을 바탕으로
XOR 게이트 회로를 구현할 수없다.
즉, 오직 스위치만으로 XOR 게이트 회로를 구현할 수없다.


< 스위치의 한계 >

위의 내용처럼

오직 스위치만으로  AND, OR 게이트 회로는 구현할 수 있지만,
XOR, NOR 게이트 회로는 구현할 수 없다.

따라서 NOT 게이트 회로의 원리와 결합된
NAND, NOR, XNOR 역시 스위치만으로는 회로를 구현할 수 없다.

이에 따라 스위치 회로에 새로운 변화가 필요하다.

 

그러므로, 다음 주제로 NOT 게이트 회로와 XOR 게이트 회로를 구현하기 위해

어떤 새로운 변화를 주어야 할지 탐구해 보겠다.


※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.

728x90