전자기술을 이야기할 때,
하드웨어에서 크기가 중요한 이유
사람과 같이 컴퓨터도 물리적인 이동이 필요하다.
사람이 거리를 왔다갔다 하는 것처럼 컴퓨터는 전자
를 이동시키며, 빛의 속도라는 물리적 한계를 벗어날 방법이 없기 때문에 움직여야하는 실제 거리를 줄임으로써 시간을 최소화 시킬 수 있다.
(시간 최소화 = 성능 극대화)
하드웨어가 작아질 수록 전자의 물리적 이동 거리가 줄어들고 필요한 에너지의 양이 줄어든다. 이에 따라 저 전력 소모 & 열 발생 감소의 효과를 보이게 된다.
다만, 하드웨어가 작아질수록 간섭하는 요소가 많아지기 때문에 아날로그로는 정확한 값을 읽어내기가 점점 어려워진다. (아날로그는 연속적인 값을 모두 측정할 수 있으나, 외부적 요인에 취약 / 디지털은 정확한 판정 기준을 가지고 있어 간섭 요소에 영향을 적게 받으나(안정적), 중간값 측정 불가)
10진 숫자 대신 비트를 사용하는 이유
비트를 처리하기 위한 하드웨어
뒤로 갈 수록 더 빠르고 작고 비용효율적!!
반도체
를 사용논리게이트
조합논리*를 위해 만들어진 IC칩(집적 회로)
은 내부에 논리 연산을 수행하는 회로인 논리게이트(불리언대수를 물리적 장치에 구현한 것)
가 포함되어 있다
*조합논리
내부 상태(메모리)가 없어 입력만 보면 어떤 값이 나올지 알 수 있는 논리
(입력 신호만으로 출력이 결정!)
논리게이트
를 사용하면 하드웨어 설계자가 모든 회로를 처음부터 설계하는게 아니라 IC를 선으로 연결하여 복잡한 회로를 쉽게 만들어낼 수 있음
논리게이트에서 NAND & NOR 게이트가 가장 단순한 회로이자 디지털 회로 설계시 가장 기본적으로 사용하는 게이트.
-> 더 빠르고 더 효율적이고 (전력 소모가 적음) 모든 논리를 표현할 수 있다!
NAND & NOR 만으로도 OR, AND, NOT 으로 표현할 수 있는 모든 논리 표현가능 (드모르간의 법칙!!!)
NAND & NOR의 두 입력을 같은 입력에 연결하면 인버터를 만들 수 있다.
ex) a NAND a = NOT a / a NOR a = NOT a
이력 현상을 통한 잡음 내성 향상
디지털(이산적인) 장치를 활용하면 판정기준(문턱값)에 의해 잡음 내성을 얻을 수 있다.
하지만 입력이 문턱값을 여러번 오가는 경우 글리치가 발생하게되는데, 이력현상을 통해 이를 방지할 수 있다.
이력 현상
이력(과거에 벌어진 일)에 따라 판정 기준이 달라지는 현상
올라가는 신호(0 > 1)와 내려가는 신호(1 > 0)에 각각 문턱값을 주어 잡음에 대한 내성을 키우는 것!
슈미트 트리거 게이트
가 이력을 사용한다 (매우 복잡하고 비쌈)
차동신호 (differential signaling)
측정하는 값이 서로 반전 관계인 신호 쌍의 차이를 측정
반전관계 출력으로 변환해주는 드라이버는 2개의 신호를 전달하며 리시버가 두 입력을 받아 두 입력의 차로 단일 신호를 만들어준다
ex)
5v의 신호를 보내고 싶은 상황
드라이버 : 각 10v & 5v 전달
리시버 : 10 - 5 = 5v 신호 수신
신호 쌍을 사용하는 이유는, 잡음으로 신호가 방해받게 되면 한 쌍 모두가 영향을 받게 되므로 결과적으로 원하는 값의 출력을 얻을 수 있기 때문 (잡음 내성 Good)
ex)
5v의 신호를 보내고 싶은 상황 + 2v의 잡음
드라이버 : 각 10v & 5v 전달
노이즈 : 각 12v & 7v 로 변경
리시버 : 12 - 7 = 5v 신호 수신
다만, 잡음이 너무 많으면 각 부품들이 자신의 정격(설계할 때 정해둔 규격)을 벗어날 수 있다.
연선 케이블링
한쌍의 선을 서로 꼬아서 잡음 내성을 키운 케이블 제작 방법
예전의 전화선, USB 등이 연선 케이블링을 활용하였다고 한다.
전파 지연
입력의 변화가 출력에 영향을 미칠 때까지 걸리는 시간
특정하게 정해진 값이 아니라, 외부 상황 + 연결된 구성 부분의 수에 따라 결정되는 통계적인 값
실제지연 = 최대 지연과 최소 지연 사이의 어떤 값
전파지연은 논리 회로의 최대 속도를 제한한다. 최소 지연과 최대 지연 사이의 출력값은 신뢰할 수 없기 때문에 최악의 상황을 가정하여 회로 설계를 진행해야한다.
출력
전기 회로는 음극에 연결되면 그 전압을 0으로 보고, 양극과 음극 사이의 상대적인 전압 차이를 전압으로 본다.
토템폴 출력
: 일반적인 게이트 출력
: 트랜지스터가 세로로 나란히 늘어서 있음
: 토템폴 출력은 서로 연결할 수 없음 (연결하면 음극와 양극을 연결하는 효과)
오픈 컬렉터 출력
: 하나의 트랜지스터로 이루어짐
: 출력 중 0인 값이 하나라도 있으면 전체 출력은 0 / 출력이 모두 논리 1일 때에만 전체 출력이 1 와이어드 AND
: 와이어드 AND
을 활용하면 여러 입력이 있는 AND 게이트를 사용하지 않아도 계산 가능
: 출력이 0이 아니라면 출력은 떠있는 상태(float)이며 출력값은 알 수 없음
: 떠있는 상태의 출력값을 확인하기 위해 풀업저항
이 필요
: 액티브 풀업이 없기때문에 응답이 빠르지 않음
트라이스테이트 출력
: 3가지 상태 보유 (0 / 1 / 꺼짐)
: 출력을 켜고 끄기 위한 추가 입력인 활성화
입력 존재
: 다수의 장치를 선으로 직접 연결할 수 있으나, 단 하나의 장치만 활성화 가능
액티브 풀업
출력 1을 얻기 위해, 출력과 높은 논리값 1을 연결
논리 부품(게이트)을 효율적으로 더해서 더 빠르고 작고 복잡한 장치를 만들수 있음!!