<순서>
- 논리게이트
1. 이력 현상을 활용한 잡음 내성 향상
2. 차동 신호
3. 전파 지연
4. 출력 유형
1) 토템폴 출력
2) 오픈 컬릭터 출력
3) 트라이스테이트 출력
- 게이트를 조합한 복잡한 회로
1. 가산기
2. 디코더
3. 디멀티플렉서
4. 셀렉터
출력이 1(True)일 때만 동작을 할까? 정답은 x
입력이 1이면 회로가 동작하고, 0이면 동작하지 않는다는 'active high'에 해당되는 상황.
입력이 1이 아닌 0을 내보냈음에도 동작하는 것들을 'active low'로 동작한다고 한다.
'무조건 출력이 1이어야 회로가 동작한다'는 x!
<이 외 이해에 참고했던 것들>
- 초기에 전압을 기준으로 논리를 표현 : 전류를 흐르면 1아니면 0
- 각 논리의 출력 전압에서 스위칭 전압강하 만을 고려하므로 최소 이 전압보다는 큰 마진전압을 가져야
참(True) : 전압 Vcc[V] = 5V(초기의 논리회로의 기준; 요새는 3.3V)
거짓(False) : 전압 0[V]
- H (논리1) : (Vcc - Vs) ~ Vcc
L (논리0) : Vs ~ 0V
Vs는 BJT나 FET의 스위칭의 임피던스에 걸리는 전압이다.
디지털 회로는 두 가지 전압 레벨을 이진수나 논리 레벨의 0과 1로 나타내기 위해 사용된다. 액티브 하이(정논리)에서는 L는 이진수 0, H는 이진수 1을 나타내며, 액티브 로우(부논리)에서는 반대의 의미로 사용된다. 예를 들어 0 ~ 1.5 볼트는 논리 0, 3.5 ~ 5 V는 논리 1과 같다. 1.5 ~ 3.5 V는 논리가 변경될 때 사용되는 상태로 이상 상태라고 한다. 논리가 변경될 때 사용되는 상태는 대부분의 회로가 순수한 저항 회로가 아니기 때문에 전압 수준이 빠르게 변경되지 않아서 발생된다. 이러한 이상 상태를 인식하는 논리 회로도 있지만, 대부분 랜덤으로 0 혹은 1로 해석한다.
- 입력은 논리전압 기준을 따라 특정전압을 입력하면 된다. : 논리 1은 Vcc로 규정되어 있기 때문에 어떤식으로든 Vcc을 입력하면 된다. 반대로 논리0은 0V로 입력하면 된다.
- 논리를 입력한다고 해서 반드시 전류가 흘러 들어가지는 않는다. 오히려 논리 0일 때 입력의 반대방향으로 전류가 흐른다.
- 출력은 특정 노드에 전압이 Vcc로 하이볼트 면 논리 1이다. 반대로 0V로 전압이 나타나면 논리 0이다.
4. 출력 유형
- 특정 전압 이하를 LOW, 특정 전압 이상을 HIGH
1) 토템폴 출력
(좌) 논리0 (우) 논리1
☑️ 일반적인 게이트 출력은 토템폴을 사용 : 현재 가장많이 사용하는 방식.
☑️ Vcc와 GND 사이에 2개의 스위치 구조
☑️ 입력이 LOW 일 때 출력은 LOW, 입력이 HIGH 일 때 출력이 HIGH가 되는 출력 회로
☑️ 논리 1일 때는 위의 스위치를 열어 출력 노드에 Vcc가 출력되도록 하고, 반대로 0일 때는 GND 쪽의 스위치를 열어 0V을 유지하도록 한다.
두 출력이 서로 연결되어있는 상황(= 발생하면 안되는 상황)
☑️ 좌측은 Q1만, 우측은 Q2만 ON 상태이지만, 그림처럼 두 출력이 서로 연결되어 있으면 좌측의 VDD에서 우측의 GND까지 비정상적으로 큰 전류가 흘러서 소자가 파괴될 수도 있다. ( 하나의 트랜지스터가 on되면 다른 한 쪽은 반드시 off!)
논리Z : 출력측에서 어떤 전압도 드라이브 하지 않는 상태. 즉, 신호가 없고 뜬 상태
이런 파괴를 피하기 위해서 신호를 출력하면 안 되는 소자는 전기적으로 절연 상태가 되어야 한다. 이와 같이 출력 신호선에서 전기적으로 절연된 상태를 High-Impedance라고 부르며 H, L 둘 다 아닌 제3의 상태로 취급된다. High- Impedance 상태는 기호로 "Z"라고 표기한다.
4. 출력 유형
2) 오픈 게이트 출력
(좌) 논리0 (우)논리1
☑️ 보통의 논리회로에서는 컬렉터와 전원 사이에 저항이 구성되어 있지만 사용자로 하여금 컬렉터로 흐르는 전류를 조정할 수 있도록 컬렉터 저항(풀 업 저항(Pull-up Resistor))을 외부에서 구성시킬 수 있는 논리회로
☑️ BJT 트랜지스터인 경우에는 Open-Collector(TTL 게이트), MOS 트랜지스터의 경우에는 Open-Drain(FET 게이트).
(원리는 완전 똑같다)
☑️ 입력이 LOW 일 때 출력이 LOW이고, 입력이 HIGH 일 때 출력이 Z인 출력 회로
(= "논리 0을 출력할 때는 GND 쪽의 스위치를 닫아 0V를 유지하고, 논리1일 때는 Z 상태를 유지한다.
논리1일 때 외부에서 전압을 결정하도록 회로를 구성해야 한다. 외부에 풀업 저항을 연결하지 않으면 전혀 동작하지 않으므로 주의해야 한다.")
- LED 구동 등에 사용. 비교적 많은 전류를 사용하기 위함.
4. 출력 유형
3) 트라이 스테이트 출력
☑️ Open-Drain 출력의 장점(와이어드 AND형태)을 살리면서, 단점이었던 느린 출력 속도를 해결한 또 다른 출력 구조
☑️ 논리 0 / 논리 1 / Z 상태 중에서 일반적으로는 두 가지 상태만 출력할 수 있지만, 트라이스테이트는 이 세 가지 상태 모두를 출력할 수 있다.
☑️ 한 회로에서 input과 output 양방향 사용이 가능하다.Input으로 사용할 시에는 해당 회로에서 들어오는 값을 갱신하지 못하는 상태로 만들어 Output을 Z 상태로 두어 Input되는 값이 변형되는 일이 없도록 하고, Output으로 사용할 시에는 A에 들어간 값이 Y로 나가 상태를 갱신할 수 있도록 한다
외부에서 저항을 조절할 수 있는 오픈 콜렉터 출력 / 트라이 스테이트 회로
☑️ 토템폴 출력과 오픈 드레인 출력의 장점을 모두 가지고 있다.
☑️ 출력이 활성화 되어 있는 동안 트라이스테이트는 토템폴처럼 동작하므로 👍🏻 오픈 드레인보다 빠르고 불필요한 전력 낭비가 없다. 반면, 출력이 활성화 되지 않으면 Z 상태로 회로의 다른 부분에 영향을 주지 않아 오픈 드레인처럼 출력을 서로 연결해서 사용할 수 있다.
☑️ 하지만, 👎🏻 2개 이상의 트라이 스테이트 출력이 동시에 활성화되면 전기적 문제 발생할 수 있다.
5. 게이트를 조합한 복잡한 회로
- 중간규모 집접회로, 대규모 직접회로, 초대규모 직접회로 등
1) 가산기
- 가산기란 덧셈 연산을 수행하는 논리 회로이며 디지털 회로, 조합 회로의 하나
- 1비트의 2개의 2진수를 더하는 논리회로. 2개의 입력과 출력으로 구성된다.
(1) 반가산기
- 더한 값을 구하는 게이트(XOR) 올림을 계산하는 값의 게이트(AND)
- 두 비트를 더할 때는 반가산기만으로도 충분하지만, 다른 자리에서 올라오는 올림을 처리하려면 세 번째 입력이 필요
반가산기 진리표
(2) 전가산기
- 하나의 전가산기는 두개의 반가산기와 하나의 OR로 구성된다.
- 이진수의 한 자릿수를 연산하고, 하위의 자리올림수 입력을 포함하여 출력한다. 하위의 자리올림수 출력을 상위의 자리올림수 입력에 연결함으로써 임의의 자리수의 이진수 덧셈이 가능해진다.
전가산기 진리표
(3) 리플 자리올림 가산기
- 복수의 전가산기를 이용하여 임의의 비트 수를 더하는 논리회로를 만든 것.
- 리플 자리올림수 가산기는 많은 수의 논리 게이트가 요구된다 → 전가산기의 자리 올림수 입력이 이전 가산기의 자리 올림수 출력이므로 하나의 전가산기가 계산되기 위해 이전 가산기의 연산을 기다려야한다.(자릿수마다 자리올림수 계산이 이루어져야만 다음 자릿수 계산이 가능하다) 이 때문에 비트 수가 커질수록 연산이 느려지는 단점이 있다.
- 4비트 입력 두 개(An, Bn)을 더하는 것 외에 Cin의 값도 더해주어야 한다.
(4) 올림 예측 가산기
4비트 올림 예측 가산기
- 자리올림수 예측 가산기에서 모든 자리올림수(C) 출력은 특별한 예측 논리에 따라 한 번에 계산된다. 그 결과 전체 결과는 현저하게 적은 지연으로 계산할 수 있다.
5. 게이트를 조합한 복잡한 회로
2) 디코더
인코더와 디코더의 관계
☑️ 인코더와 정반대 기능 수행. 암호화 된 것을 해독하여 사람이 읽을 수 있게 바꾸는 해독기 역할.
☑️ 출력 단자 중 단 하나만 1이고 나머지는 0을 출력하는 장치.
☑️ 입력 단자가 n개이면 출력단자는 최대 2^n개를 갖는다. (EX. 출력 단자 3개 = 001, 010, 100 3개가 전부)
2x4 디코더 진리표
5. 게이트를 조합한 복잡한 회로
3) 디멀티플렉서
☑️ 멀티플렉서의 반대. 단일 입력을 2^n개의 출력 단자로 연결하는 조합 회로(=디코더와 비슷한 속성). 이 때, 어느 출력단에 내보낼지 선택할 수 있는 기능을 가진다.
☑️ 디멀티플렉서는 멀티플렉서와 마찬가지로 입력단과 출력단 이외에 어떠한 출력단으로 내보낼지 결정해주는 control input(=enable input) 핀이 따로 있어 Control input 핀에 원하는 신호를 내보내면 원하는 출력핀으로 내보내진다.
5. 게이트를 조합한 복잡한 회로
4) 실렉터
☑️ 여러 입력 중 한 입력을 선택하는 기능을 수행한다. (ex. 자동 교환기에서 사용되는 회전형 전자 스위치, 토스트의 다이얼)
📍참조
https://cms3.koreatech.ac.kr/sites/yjjang/down/dig12/ch04_logic.pdf
https://m.cafe.daum.net/newrfid/EA45/43?q=D_wx7c5o_s47g0&
https://blog.naver.com/nextstone/222576590003
https://blog.naver.com/cyelid/222557734881
https://gangsanilee.tistory.com/1897
https://ansan-survivor.tistory.com/1214
https://rhkddj9912191.tistory.com/29
📎특히 추천📎
https://m.blog.naver.com/eslectures/80137764232
📎특히 추천📎
https://m.blog.naver.com/eslectures/80137762936
'항해99 > cs 스터디자료' 카테고리의 다른 글
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.28.FRI (0) | 2022.01.28 |
---|---|
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.27.THU (0) | 2022.01.28 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.25.THU (0) | 2022.01.25 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.24.MON (0) | 2022.01.24 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.22.SAT (0) | 2022.01.21 |