| English | 의미 |
|---|---|
| carry/ˈkæri/ | _Handle |
| half adder/hɑːf ˈædə/ | 반 더러 |
| full adder/fʊl ˈædə/ | 전가기 |
| flip-flop/flɪp flɒp/ | 플립플롭 |
| ripple-carry adder/ˈrɪpl ˈkæri ˈædə/ | 리플-캐리 가산기 |
| bistable/baɪˈsteɪbl/ | 이안정 회로 |
| counters/ˈkaʊntəz/ | 카운터 |
| SRAM/ˈesræm/ | 정적 RAM |
| SR flip-flop/ˌes ˈɑː flɪp flɒp/ | SR 플립플롭 |
| JK flip-flop/ˌdʒeɪ ˈkeɪ flɪp flɒp/ | JK 플립플롭 |
| toggle/ˈtɒɡl/ | 토글 |
진리와 거짓만 아는 기계가 어떻게 산술을 수행하는지
- 프로세서는 숫자를 아는意义上的 더하기 장치가 없습니다. 진리 또는 거짓에 답하는 게이트들만 있으며, 그 밖의 것은 없습니다.
- 그러나 $1 + 1 = 10$는 두 개의 게이트에서 도출됩니다: XOR이 합 digit를, AND가進位을 제공합니다. 이는 미니어처화된 전체 산술 유닛이며, 이를 연쇄적으로 연결하면 어떤 너비든 숫자의 합산이 가능합니다.
- 컴퓨터의另一半은 기억하는 것이며, 메모리의 한 비트 역시 단순한 게이트일 뿐입니다. 출력물이 입력으로 다시 피드백되어 상태를 유지하도록 배선된 것입니다.
- 이 수업에서는 하프 어더, 풀 어더 및 플립플롭을 다룹니다.
반더더기
- 하프 어더는 두 단일 비트 $A$와 $B$를 더하여 합(sum) $S$과 进位(carry) $C$를 생성합니다.
| A | B | S | C |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
- 열(read the columns)을 보십시오: $S$가 정확히 하나의 입력이 1일 때 1이 되는 것이 바로 XOR입니다. $C$가 1이 되려면 둘 다 1이어야 하므로, 이는 AND입니다. 따라서 $S = A \oplus B$와 $C = A \cdot B$가 됩니다.
- 이 회로는 어떤 전입 **进位(in)**도 무시하므로, 이는 '반(半)' 가산기라고 불리는 이유이며 단독으로 사슬 연결할 수 없습니다.

두 개의 게이트만으로 이진 덧셈이 존재합니다
가산기 내부의 논리문자
하프 가산기의 합 산출(Sum bit)은 XOR 문자이며,進位(Carry)는 AND 문자입니다. A와 B를 전환하면 진리표 행이 점등되는 것을 확인할 수 있습니다.
하프 가산기에서 합 산출 S는 어떤 문자에 의해 생성됩니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
입력이 같으면 $S = A \text{ XOR } B$(입력이 다르면 1);进位은 $A \text{ AND } B$입니다.
하프 가산기에서进位 산출 C는 단일 문자에 의해 생성됩니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
C는 두 입력이 모두 1일 때만 1이 되며, 이는 AND입니다. 합 S는 정확히 하나의 입력이 1일 때 1이 되며, 이는 XOR입니다.
풀 어더
- 풀 어더는 세 개의 비트를 더합니다: $A$, $B$ 및 进位-in(carry-in), 그리고 합과 进位-out(carry-out) $S = A \oplus B \oplus C_{\text{in}}$를 생성합니다.
- 두 개의 하프 어더와 OR 게이트로 구성할 수 있습니다: 첫 번째 하프 어더는 $A$와 $B$를 더하고, 두 번째는 그 합에 进位-in을 더하며, OR 게이트는 두 개의 进位를 결합합니다.
- 풀 어더를 연쇄하여 각 进位-out가 다음 进位-in에 공급되게 하면 ** ripple-carry adder(복사전위 더하기기)** 를 만들 수 있습니다: 네 개를 사용하면 두 개의 4비트 수를 더할 수 있습니다.

进位가 이동해야 하는 대상이므로 'ripple(파도)'라고 부릅니다
각 블록을 그 기능과 매칭하십시오.
난이도 2/5 · 140 코인 + 오늘 첫 완료 시 소액 보너스
가산기는 비트를 더합니다(다비트 덧셈을 위해 풀 가산기를 체인함); 플립플롭은 비트를 저장합니다(JK는 SR의 금지된 상태를 수정함).
풀 가산기와 하프 가산기의 차이는 무엇입니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
풀 어더는 A, B와進位 입력(carry-in)을 더합니다(따라서 어더를 연쇄적으로 연결할 수 있음) — 두 개의 하프 어더와 하나의 OR 게이트로 구성됩니다.
worked example: 풀 어더를 선택한 이유 (하프 어더 두 개 대신)
- 4비트 더하기기를 하프 어더가 아닌 풀 어더로 만드는 이유를 설명하십시오.
- 두 개의 4비트 수를 열별로 더할 때, 가장 오른쪽 열을 제외한 모든 열은 오른쪽 옆 열로부터의 进位를 받을 수 있으므로, 더해야 할 입력이 두 개가 아니라 세 개입니다.
- 하프 어더에는 进位-in이 없으므로 세 번째 입력을 받을 수 없으며, 进位는 단순히 사라집니다.
- least significant column(최소 유효数位열)만이 进位-in이 없으므로 하프 어더를 사용할 수 있지만, 실제 적용에서는 모두 풀 어더를 사용하며, 첫 번째 进位-in은 0에 고정됩니다.
왜 4-비트 어더는 하프 어더가 아닌 풀 어더를 사용해야 합니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
하프 어더는進位를 생성하지만,進位 입력(carry-in)이 없으므로 이전 열에서 들어오는進位를 수용할 수 없습니다
4-비트 리플 캐리 더더(Ripple-carry adder)의 구성 순서를 정리하십시오.
난이도 3/5 · 200 코인 + 오늘 첫 완료 시 소액 보너스
게이트는 하프 어더를 만들고, 하프 어더는 풀 어더를 만들며, 풀 어더들은 단어 너비 어더로 연쇄됩니다. 이进位가 리플링되는 현상이 바로 이름의 유래입니다
플립플롭
- 플립플롭은 bistable(이안정) 회로입니다: 0과 1이라는 두 가지 안정된 상태가 있으며, 현재 속해 있는 상태를 기억합니다. 정확히 한 비트를 저장합니다.
- 레지스터의 기본 요소이며, $n$개의 비트는 $n$개의 플립플롭에 해당합니다. 카운터 및 SRAMRAM 셀에서도 사용됩니다.
- 출력이 현재 입력에만 의존하는 어더와 달리, 플립플롭의 출력은 과거 입력에 의존합니다. 이것이 회로 수준에서의 기억(meaning of memory)입니다.
플립플롭(flip-flop)의 용도는:
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
플립플롭은 두 가지 안정 상태와 한 비트를 보유하며—레지스터와 SRAM의 기본 구성 요소입니다
플립플롭은 bistable(이중 안정) — 두 가지安定된 상태를 가지고 한 비트를 기억함 —这使得它成为寄存器(SRAM)的基本构建模块。
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
플립플롭을 연결하면 레지스터와 카운터가 생성되며, SRAM 캐시는 이를 기반으로 구축됩니다(DRAM과 달리 리프레시가 필요하지 않음).
SR 및 JK
- SR 플립플롭은 S(set, 설정) 및 R(reset, 초기화)라는 입력과 $Q$ 및 $\overline{Q}$라는 출력을 가지며, 두 개의 교차 연결 NOR 게이트로 구성됩니다.
S=1, R=0는 $Q$를 1로 설정합니다.S=0, R=1는 $Q$를 0으로 초기화합니다.S=0, R=0는 현재 상태를 유지(hold) 하며, 이것이 기억 기능입니다.S=1, R=1는 무효(invalid) 입니다: 동시에 설정과 초기화를 요청하기 때문입니다.- JK 플립플롭은
1,1입력에 toggle(전환) 의 의미를 부여함으로써 이 결함을 제거하여 출력을 반대 상태로 바꿉니다. 이는 카운터(counters) 에 적합하며, 전역 전환되는 플립플롭의 연쇄가 이진数为序列합니다. - JK는 보통 clocked(클럭 인가) 됩니다: 입력이 클럭 엣지에서만 작동하여 기계 내 모든 플립플롭이 동기화되도록 합니다.

무효 입력이 유용한 입력으로 전환됨
SR 플립플롭에 대해 다음 중 맞는 진술은 무엇입니까? 모든 해당하는 것을 선택하십시오.
난이도 2/5 · 140 코인 + 오늘 첫 완료 시 소액 보너스
1,1에서 토글링하는 것은 JK 플립플롭의 개선된 기능입니다. SR 플립플롭은 입력이 세트와 리셋을 동시에 요구하므로 효하지 않습니다.
JK 플립플롭의 토글 동작이 카운터 구축에 적합한 이유입니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
각 플립플롭이 입력에서 토글링하며 이진 순으로 세팅되는 플립플롭 사슬을 구성합니다. 클럭을 공급하여 모든 단계를 동기화시킵니다.
worked example: SR 플립플롭 추적하기
- 현재 $Q$가 0입니다. S=1 R=0, 이후 S=0 R=0, 이후 S=0 R=1의 입력 후 $Q$를 주십시오.
- S=1, R=0은 출력을 설정(set) 하므로 $Q$는 1이 됩니다.
- S=0, R=0은 유지(hold) 하므로 $Q$는 1로 남습니다. 이것이的记忆(storing a memory)임을 보여주는 단계입니다: 입력은 아무것도 말하지 않는데 출력은 지속됩니다.
- S=0, R=1은 초기화(reset) 하므로 $Q$는 0이 됩니다. 만약 S=1이고 R=1이 적용되었다면, 답은 값이 아니라 입력이 무효(invalid) 임입니다.
놓칠 수 있는 점
- $S = A \oplus B$와 $C = A \cdot B$: 합(sum)을 위해 XOR, 进位(carry)를 위해 AND. 순서를 바꾸면 두 점 모두 잃습니다.
- 'Half'란 '비트의 절반'이 아니라 进位-in이 없음을 의미합니다.
- 풀 어더는 두 개의 하프 어더와 OR 게이트이며, OR은 두 개의 进位를 결합합니다.
- SR 플립플롭에서
0,0는 유지(hold) 하고1,1는 무효(invalid) 입니다. JK의 개선점은1,1가 전환(toggles) 한다는 점입니다.
이해했습니다
- 하프 어더: 두 비트 입력, XOR으로부터 $S = A \oplus B$, AND로부터 $C = A \cdot B$; 进位-in 없음
- 풀 어더: 세 비트 입력, 두 개의 하프 어더와 OR로 구성; 연쇄하여 进位-out를 进位-in에 연결하여 ripple-carry adder 형성
- 플립플롭은 bistable(이안정) 이며 한 비트를 저장함; $n$개의 플립플롭이 $n$-비트 레지스터를 구성하며, 이들은 SRAM의 셀입니다
- SR: 설정, 초기화,
0,0유지,1,1무효 · JK:1,1전환(toggles), 이것이 카운터의 핵심이며, 동기화를 위해 클럭 인가됨