> - 게이트의 종류
> - 회로
<br>
## 컴퓨터와 전기
- 모든 전자 신호는 전압을 가지고 있음
- 전자 신호의 전압 수준에 따라 이진수 0과 1로 구분함
- **게이트(Gate)는 전기적 신호에 맞춰 기본적인 연산을 수행하는 장치**
- 1개 이상의 input 신호를 받고 하나의 output 신호를 발생시킴
- **회로(Circuits)**는 좀 더 복잡한 작업을 수행할 수 있도록 게이트를 결합한 것
- 산술적인 연산 수행, 결과 값 저장 가능
- 게이트와 회로를 설명하기 위해 3가지 표현 방법이 사용됨
- Boolean expression : 수학적 표기법
- logic diagram : 회로의 그래픽적인 표현
- truth tables(진리표) : 가능한 모든 입력 조합과 출력을 나열
<br>
## 게이트(Logic Gate)
컴퓨터에서 수행되는 각 게이트는 단 하나의 논리적 기능만을 수행함
<br>
#### 게이트의 종류
- NOT, AND, OR, XOR, NAND, NOR

#### 게이트 제작하기
- 게이트는 입력 값들을 출력 값에 매핑하기 위해 하나 이상의 트랜지스터를 사용
- 트랜지스터
- 입력 신호의 전압에 따라 전기를 통하게 하는 도선이거나 전기의 흐름을 차단하는 저항으로서 행동하는 장치

- 트랜지스터의 작동 방식 상 가장 쉽게 만들 수 있는 게이트는 **NOT, NAND, NOR** 게이트임
<br>
## 회로
<br>
#### 회로의 종류
- 조합 회로(Combinational circuit) : 연산용, 입력 값이 출력 값을 결정함
- 순차 회로(sequential circuit) : 정보의 저장 기능 포함, 출력은 입력 값들의 작용이자 현재 회로의 상태
<br>
#### Combinational Circuits
- 게이트 조합 = 한 게이트의 출력을 다른 한 게이트의 입력으로 사용
- 수학적 원리(e.g. 분배법칙)를 활용해 회로를 단순하게 만들 수 있음
![[mathematical_principles.png]]
<br>
#### 덧셈기(Adder) 만들기
- Half Adder
- 두 비트들의 합을 계산해서 그에 맞는 올림수 비트를 생성하는 회로
- 올림수 값을 덧셈 계산에 포함하지 않음 → 한 자리 수 2개 더하는 것만 가능
- 합은 XOR 게이트와 일치하고 올림수는 AND 게이트와 일치한다
![[half_adder.png]]
- **Full Adder**
- 올림수(carry) 값을 넣어서 계산을 수행하는 회로
- 2개의 half adder를 사용해서 full adder를 만들 수 있음
→ 합에 대한 입력은 올림수로 하고 합은 2개의 입력 값을 더한 값. 즉, 올림수에 half adder에서 얻은 합을 더함
<br>![[full_adder.png]]
- Ripple Carry Adder(RCA)
- 2개의 8비트 값을 더하기 위해 full adder를 8번 복제할 수 있음
- 한 자리 값에서의 올림수 출력은 다음의 가장 높은 자리 값의 올림수 입력으로 사용됨
- 가장 오른쪽의 최하위 비트 위치에 대한 올림수 입력 값은 0으로 가정
- 가장 왼쪽 비트 위치의 올림수 출력은 버린다(오버플로우 에러 발생 가능)
<br>![[Ripple_Carry_Adder.png]]
<br>
#### 멀티플렉서(Multiplexer, Mux)
- 단일 출력 신호를 내보내는 일반적인 회로
→ 회로에 입력되는 여러 입력 신호들 중의 하나와 동일함
- 선택 신호 혹은 선택 제어 라인(control line)이라고 불리는 몇몇 추가 입력 신호로 표현되는 값을 기준으로 출력 신호로 사용할 입력 신호를 선택함
<br>![[Multiplexer.png]]
<br>
#### S-R Latch, 메모리로서의 회로
- S(set)-R(Reset) 래치는 1개의 이진 비트를 저장함
- S와 R의 값을 신중하게 제어함으로써, 회로가 둘 중 하나의 값을 저장하게 만들 수 있음
- NAND 게이트를 사용해 그린 회로
- 두 개의 출력 X와 Y가 언제나 서로의 보수가 되도록 설계됨
- 언제나 X의 값이 회로의 현재 상태로 간주됨 (X가 1이면 1을 저장하고, 0이면 0을 저장)
![[S-R_Latch.png]]
<br>
#### 집적 회로(Intergrated Circuits, IC, 칩)
- 집적 회로 = 여러 개의 게이트가 내장되어 있는 실리콘의 조각
→ 이걸 회로 기판 위에 납떔하거나 소켓에 삽입해서 핀 붙은 패키지 위에 붙임, 각 핀은 게이트의 입력, 출력 혹은 전원이나 접지에 연결됨
- 게이트 수에 따라 발전 단계를 구분할 수 있음
- SSI는 몇 개의 독립적인 게이트를 가짐. 이 칩은 14개의 핀(입력 8개, 출력 4개, 접지 1개, 전원 1개)을 가지고 있음
- VLSI 칩은 핀 비율이 높은 게이트 회로를 내장하고 있음
→ 많은 게이트들이 단지 몇 개의 입력과 출력 값만을 필요로하는 복잡한 회로를 만들기 위해 결합됨
like 멀티플렉서
<br>![[Intergrated_Circuits.png]]
<br>
#### CPU 칩
- 모든 컴퓨터에서 가장 중요한 집적 회로는 [[CPU 코어와 스레드|CPU(Central Processing Unit, 중앙 처리 장치)]]
- CPU도 입출력 라인을 가진 집적 회로임
<br>
<br>
<br>
<br>