회로계산소

회로 실험과 설계에 자주 쓰는 계산을 한곳에서. 설치 없이 바로 쓰는 전자공학 계산기 모음입니다.

English

값은 단위 접두어와 함께 입력할 수 있습니다. 예: 4.7k 4k7 100n 10u 20mA 1M

ALU

4비트 ALU 시뮬레이터 (산술·논리 연산)

디지털회로실험의 산술논리연산회로처럼 s1, s0, Cin으로 기능을 고르면 4비트 출력 F와 캐리 Cout을 계산합니다. 실험 결과표를 확인할 때 쓰세요.

회로가 하는 일

산술 연산은 가산기 앞에서 B를 Y = s0·B + s1·B̅로 바꾼 뒤 F = A + Y + Cin을 계산합니다. s1 s0 = 00이면 Y = 0000, 01이면 B, 10이면 B̅, 11이면 1111이 되어서 증가, 덧셈, 뺄셈(A + B̅ + 1), 감소를 모두 가산기 하나로 할 수 있습니다. 논리 연산은 s1 s0로 OR, XOR, AND, NOT 중 하나를 고르는 멀티플렉서입니다.

풀이 예제: 뺄셈 2 − 1

  1. s1 s0 = 1 0이면 Y = B̅ = 1110
  2. F = A + Y + Cin = 0010 + 1110 + 1 = 1 0001 (17)
  3. 4비트를 넘은 자리는 Cout으로 → F = 0001, Cout = 1. 즉 2 − 1 = 1 (뺄셈에서 Cout = 1은 빌림이 없다는 뜻)

산술 연산 기능표

s1 s0 Cin동작FCout
0 0 0전달 (F = A)00100
0 0 1증가 (F = A + 1)00110
0 1 0덧셈 (F = A + B)00110
0 1 1덧셈 + 1 (F = A + B + 1)01000
1 0 0A + B̅ (F = A + B̅)00001
1 0 1뺄셈 (F = A − B)00011
1 1 0감소 (F = A − 1)00011
1 1 1전달 (F = A)00101

A = 0010 (2), B = 0001 (1)일 때의 결과입니다. 실험용 4비트 ALU 회로에서 측정한 값과 같습니다.

논리 연산 기능표

s1 s0동작F (A = 1100, B = 1010)
0 0OR (F = A ∨ B)1110
0 1XOR (F = A ⊕ B)0110
1 0AND (F = A ∧ B)1000
1 1NOT (F = A̅)0011

자주 묻는 질문

ALU는 가산기로 어떻게 뺄셈을 하나요?

2의 보수를 더합니다. A − B = A + B̅ + 1이라서, B를 뒤집고(s1 s0 = 10) Cin을 1로 주면 같은 가산기로 뺄셈이 됩니다.

뺄셈 결과에서 Cout이 1인 이유는?

A ≥ B이면 A + B̅ + 1이 4비트를 넘쳐서 Cout이 1이 됩니다. 즉 뺄셈에서 Cout = 1은 빌림이 없었다는 뜻이고, Cout = 0이면 결과가 음수가 된 것입니다.