본문 바로가기

ELECTRONIC

Binary Multiplier(이진 곱셈기)

반응형

Binary Multiplier이진수 두 개를 곱하는 조합 논리 회로(Combinational Logic Circuit) 다.
기본 개념은 우리가 아는 십진수 곱셈과 완전히 동일하다.
다만, 덧셈과 자리올림이 2진법(0,1) 로 처리된다는 점만 다르다.

즉,

이진 곱셈 = Partial Product(부분곱) 생성 + 이진 덧셈의 반복


이진 곱셈의 기본 원리

십진수 곱셈과 마찬가지로,
이진수에서도 각 자리의 곱을 계산하고,
자리 수에 따라 쉬프트(Shift)한 뒤 모두 더하면 된다.

곱셈 규칙결과
0 × 0 0
0 × 1 0
1 × 0 0
1 × 1 1

즉, 이진 곱셈은 AND 연산과 동일하다.
그래서 실제 회로에서도 AND 게이트로 부분곱을 만든다.


2비트 × 2비트 곱셈 예제

예를 들어,

A = 10 (2)
B = 11 (3)

이라면, 계산 과정은 다음과 같다.

      1 0 (A)
×    1 1 (B)
------------
      1 0 ← (A × B₀)
+ 1 0    ← (A × B₁), 한 자리 왼쪽으로 쉬프트
------------
    1 1 0 (결과 = 6)

즉, 2비트 × 2비트 → 최대 4비트 결과가 나온다.


일반화된 구조 (n × n 비트 곱셈)

두 n비트 이진수를 곱하면 결과는 2n비트가 된다.
곱셈의 핵심 단계는 다음과 같다:

  1. Partial Product(부분곱) 생성
    • 곱셈 피연산자 A의 각 비트와
      곱셈자 B의 각 비트를 AND 연산.
    • n×n개의 AND 게이트가 필요함.
  2. Shift 연산
    • B의 자리 수에 따라 각 부분곱을 왼쪽으로 쉬프트.
  3. 덧셈(Adder)
    • 모든 부분곱을 더함 (반가산기, 전가산기 사용).

4비트 Binary Multiplier의 구조

예를 들어,

 
A = A3 A2 A1 A0
B = B3 B2 B1 B0

이라면,

부분곱(Partial Products)

각 B의 비트와 A를 AND한 결과 :

B의 비트 부분곱 (AND 결과) 쉬프트 위치
B₀ A3A2A1A0·B₀ 0
B₁ A3A2A1A0·B₁ 1 bit left
B₂ A3A2A1A0·B₂ 2 bits left
B₃ A3A2A1A0·B₃ 3 bits left

이 네 줄의 부분곱을 더하면 최종 결과가 나온다.

즉,

 
Result = (A×B₀) + (A×B₁ << 1) + (A×B₂ << 2) + (A×B₃ << 3)

회로 구성

일반적인 Binary Multiplier 회로는 다음 블록으로 구성된다.

 
┌───────────┐
A → │ AND Array │ ← B
└───────────┘
┌───────────┐
Adders(FA)│ ← Partial Products Summation
└───────────┘
Product Output (2n-bit)
  • AND Array: A의 각 비트와 B의 각 비트를 AND → 부분곱 생성
  • Adder Array: 각 부분곱을 더해서 최종 결과 도출
  • 출력: 2n 비트 결과 (가장 상위 비트는 자리올림)

Binary Multiplier의 종류

(1) Array Multiplier (행렬 곱셈기)

가장 기본적인 구조.
부분곱을 모두 한 번에 생성하고 병렬로 더하는 방식.
구조가 단순하지만 게이트 수가 많음.

(2) Booth Multiplier (부스 곱셈기)

음수 표현이 가능한 2의 보수(Binary Complement) 기반 곱셈.
시프트와 덧셈/뺄셈을 조합해 곱셈 횟수를 줄임.
→ 속도와 효율이 좋음 (특히 부호 있는 수).

(3) Sequential Multiplier (순차 곱셈기)

부분곱을 한 번에 하나씩 계산하고 더하는 방식.
하드웨어는 간단하지만 시간이 오래 걸림.
→ 마이크로컨트롤러나 저전력 회로에서 자주 사용.


예시: 4비트 Array Multiplier의 계산 예

 
A = 1011 (11)
B = 1101 (13)

① 부분곱 생성

B0=11011
B1=00000 (<<1)
B2=11011 (<<2)
B3=11011 (<<3)

② 부분곱 더하기

          1011
+    00000
+    101100
+  1011000
--------------
10001111 (143)

결과: 11 × 13 = 143, 정확함.


Binary Multiplier의 장단점

구분 장점 단점
Array Multiplier 병렬 처리로 빠름 게이트 수 많음
Sequential Multiplier 하드웨어 간단 속도 느림
Booth Multiplier 음수 포함 가능, 효율적 설계 복잡

정리

항목 설명
기본 원리 부분곱 생성 후 이진 덧셈
핵심 연산 AND, SHIFT, ADD
출력 비트수 입력 비트의 합 (n + n → 2n)
대표 구조 Array, Booth, Sequential
응용 분야 CPU ALU, DSP, 신호처리, 그래픽 연산 등

Binary Multiplier는 두 이진수를 곱하기 위해
각 비트 간 AND 연산으로 부분곱을 만들고,
이를 시프트·덧셈하여 최종 곱을 구하는 조합 논리 회로이다.

 

반응형