본문 바로가기
컴퓨터공학/디지털공학개론

7. 논리 연산 게이트

by meow0110 2024. 7. 7.

■기본 논리 연산 게이트
- 논리 연산에 기본이 되는 논리회로/전자회로 소자로 디지털 정보 흐름을 허용하거나 저지하는 역할하는 게이트(스위치)
- NOT, AND, OR게이트

 

■ not 게이트

- 보수화 연산 : 0은 1로, 1은 0으로 

 

 

■ 부울대수

- 논리회로를 기술하기 위해, 변수와 연산자를 사용하는 것

- 변수를 문자표현으로 한다.

 

■ 아래 전구 그림 설명

- A가 열려 있을 때 0 이면, 전구에는 불이 들어온다 1

- A가 닫혀 있을 때 1이면 , 전구에는 불이 안들어온다 0 (전구는 저항이 있다. 전류는 저항이 적은 쪽으로 흐르므로 A쪽으로 향하게 된다.)

- 즉 0이면 1, 1이면 0으로!

 

 

 

■ 풀이

- X로 가면 신호가 반대가 됨. 

- 즉 X는 A의 반대이므로 X=A`이 됨. 

- 근데 Y로 가면 X는 또 반전됨. 즉, Y=X`

- 근데!   Y는 A``임. (위의 ㅡ 바가 2개!) 2개는 원위치니까 사라진다. 즉 Y = A

 

 

 

■ AND게이트 = 논리곱

- 기본이 입력2개. 3~4개도 됨

 

■ 하나라도 0이 있으면 0 (0x1=0)

■ 모든 입력이 1이어야 1 (1x1=1)

 

■ 0이 하나라도 있으면 0이 된다. (low)

 

■ and게이트 표현할 때는  그냥 붙이면 된다. AB  / ABC / ABCD 식으로!

■ 스위칭 회로로 참고해보자

2개 모두 ON을 해야 불이 들어온다. 둘중 하나라도 열려있으면(꺼져있으면) 불이 안들어온다. 즉 1x1 =1(불들어옴) 

 

■ or게이트 = 논리합

- 논리적인 합이다. 산술적인 합이랑 다르다!

- 2개 이상 입력!

- 모양은 화살표 촉 모양이다! 

 

■ 논리적인 합? 뭔 말이야

0+0 0
0+1 1
1+0 1
1+1 1

- 즉, 1이 한개라도 있으면 1이다.

 

 

■ 위에서 언급함. 1이 하나라도 있으면 1. 

■ 하나라도 1이 있으면 신호가 1이 된다.

■ 모두가 0이어야 0이 된다.

 

■문제  or게이트에서 1+0+1+1+1+0+0+1+1+0 은 무엇인가?

- 정답은 1이다. 왜? 논리적인 합이니까. 잊지말자! 

 

■ not게이트 표기법 : + 를 붙이자.  A+B / A+B+C / A+B+C+D  식으로!

■ 그림설명

- 한쪽만이라도 연결되면 불 들어옴. 1

- 둘다 끊어져야 불이 안들어옴 0 

 

■범용논리 연산 게이트
- 기본게이트와 NOT게이트가 조합된 것
- NAND게이트는 NOT+AND, NOR게이트는 NOT+OR게이트로 조합

 

■범용논리 연산 게이트
- 기본게이트와 NOT게이트가 조합된 것

 

■ NAND 게이트

- NAND게이트는 NOT+AND, NOR게이트는 NOT+OR게이트로 조합

- 즉 AND의 반대! AND의 보수!

- AND게이트는 어느 입력이라도 0이면 출력은 0이 되고, 모든 입력이 1인 경우에만 출력이 1이 된다. 그러므로 이 출력에 반대되는 동작특성이 NAND게이트를 의미한다.

 

 

■ AND의 반대다.

- 입력이 하나라도 0이면 1 이다. 

- 입력이 둘다 1 이면 0이다.(NAND 1 1=0)    (참고로 AND는 1 1=1)

- 어렵게 생각치말자.  AND를 기억하자. 그결과에 반대로!

 

■ 0이 있네? 그러면 무조건 결과 X는 1이다

 

 

■ 표현 기호를 잘 체크하자

 

■ 입력 3개짜리 NAND 게이트

 

■ 1 1 1 이어야 0이 된다! 

 

■ NOR게이트

■ OR(하나라도 1이면 1. 0+0만 0) + NOT 합친것

 

■ 하나라도 1이면 0이다. 

■ 0+0 이어야 1이 된다.

 

■ 하나라도 1이면 0이다.

■ 0+0 이어야 1이다!

 

■ 입력이 3개짜리인 NOR게이트

■ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0 = 1이다. 0을 몇개를 더하더라도 1이다

■ 0+0+0 이어야만 1이다.

 

■ 대표적인 응용 논리 연산 게이트 : XOR 

 

■ XOR 게이트
- 배타적-OR게이트(exclusive-OR gate)는 두 개의 입력과 한 개의 출력을 가지고 있음
- 홀수 개의 1(HIGH)이 입력되면 출력이 1(HIGH)이 됨
- 모듈로(modulo)-2 덧셈을 수행

 

■ 모듈러2 연산이 뭐야?

- 짝수 패리티 비트 만들기로 이해하자.

- 덧셈 수행시 1의 갯수가 짝수개가 되어야한다!

        결과  
0 + 0 = 0 1의 갯수가 0개! 
1 + 1 = 0 1+1에서  2개니까 
0 + 1 = 1 1이 1개네? 부족하니 결과 1
1 + 0 = 1 1이 1개네? 부족하니 결과 1

 

■ XOR 결론 : 1의 갯수를 확인하자

 

■ 1의 갯수 확인해! 

 

■ 1의 갯수가 몇개야? 1개니? 그러면 1추가! (1+0 = 1)

 

 

■ A`B  = AB` (0*1 = 1*0)  이다.  즉 서로 반대다!  여기서 곱하기는 진짜 곱하는 것이 아니다. 서로 입력이 다르다. 라고 생각하자.

 

■ 입력이 3개 이상의XOR

■  어떻게 하지? : 1의 갯수를 짝수로 만들어! 끝

 

■ 따로 계산

A+B = 1

1+C = F

 

■ 한번에 계산  (이렇게 한번에 계산해도 문제없다.)

A+B+C = F   

참고로 이 방식으로 하면 1은 할 필요가 없다. 

 

■ XNOR 익스클루시브 노아 게이트

- 홀수 패리티 비트 만들기!

- 즉 1의 갯수를 홀수로!

 

■ 1의 갯수를 홀수개로!

 

■ 1의 갯수 를 홀수개로!

 

■ A⨀B를 기억하면 된다. 이게 XNOR를 표현하는 논리식

 

■ 아래 그림 설명

- 전체적으로 XOR와 같음. 거기에 NOT 만 붙이면 된다. (오른쪽에 세모)

 

 

■ 3개이상 입력의 XNOR

- 1의 갯수를 홀수개로 만들면 끝

 

■ 중요! 

- XNOR는 XOR와는 다르게 계산된다.(XOR는 ABC를 한번에 계산했었다. 1의 갯수 짝수개로!)

- 즉 (1)에서는 NOT을 수행하면 안된다. A B는 일반적인 NOR를 연산해야한다. (같으면 0 / 다르면 1)

- 그리고나서 나온 결과값 (1) 과 C를 연산할 때는 우리가 앞서 배웠던 1의 갯수 홀수개로! 계산하면 된다.

 

 

 

 

 

■ 중요하다! 예외적인 문제들!

 

■ AND NAND

2번쨰 그림. 마지막에 NOT을 해준다.

 

■ OR-NOR

4번쨰 그림. 마지막에 NOT해준다.

 

 

 

■학습정리

1. 논리 연산 게이트

  • 반전기 출력은 입력의 보수임
  • AND게이트 출력은 모든 입력이 HIGH(1)일 때만 HIGH(1)
  • OR게이트 출력은 입력 중 어느 하나라도 HIGH(1)이면 HIGH(1)
  • NAND게이트 출력은 모든 입력이 HIGH(1)일 때만 LOW(0)
  • NAND게이트는 입력 중 어느 하나라도 LOW(0)이면 출력이 HIGH(1)인 egative-OR게이트로 표현할 수 있음
  • NOR게이트 출력은 입력 중의 어느 하나라도 HIGH(1)이면 LOW(0)
  • OR게이트는 모든 입력이 LOW(0)일 때만 출력이 HIGH(1)인 Negative-AND게이트로 표현할 수 있음
  • XOR게이트 출력은 입력이 서로 같지 않을 때 HIGH(1)
  • XNOR게이트 출력은 입력이 서로 같지 않을 때 LOW(0)

'컴퓨터공학 > 디지털공학개론' 카테고리의 다른 글

9. 부울함수의 표준형  (0) 2024.07.07
8. 부울대수  (0) 2024.07.07
6. 오류 검출코드와 영문-숫자 코드  (0) 2024.06.12
5. 디지털 코드  (0) 2024.06.12
4. 부호표시의 개념  (0) 2024.06.12