목차
1. Booth 알고리즘(Booth's algorithm)
2. Booth 곱셈 알고리즘 동작
3. 하드웨어 구성
4. Booth 알고리즘을 이용한 곱셈 예 ( -7 x 3 )
2. Booth 곱셈 알고리즘 동작
3. 하드웨어 구성
4. Booth 알고리즘을 이용한 곱셈 예 ( -7 x 3 )
본문내용
승수의 0의 스트링에서의 처음 0을 만나게 되면 피승수를 부분 곱에 더한다. - 승수에서 이전의 비트와 같은 비트가 나오면 부분 곱은 바뀌어 지지 않는다.
3. 하드웨어 구성
부호 없는 정수 승산기의 하드웨어에 다음 부분을 추가
M 레지스터와 병렬 가산기 사이에 보수기(complementer) 를 추가
Q 레지스터의 우측에 Q-1(아래 그림상 Qn+1)이라고 부르는 1-비트 레지스터를 추가하고, 그 출력을 Q0 와 함께 제어 회로로 입력
- Qn+1은 승수의 두 비트를 비교하기 위한 작업을 쉽게 해준다.
- AC와 Qn+1은 초기값 0으로 저장되고 SC는 승수의 비트수를 저장.- Qn과 Qn+1비트를 조사하여 '10'이면 AC의 부분 곱으로부터 피승수를 빼게 되고 '01'이면 부분 곱으로부터 피승수를 더하게 한다.- 만일 같으면 아무런 연산도 하지 않는다.- 그 다음에 부분 곱과 승수를 우측으로 1비트씩 시프트 한다.- 이런 과정을 승수의 비트수만큼 시행.
그림 1-1 < Booth's algorithm의 ASM Chart >
그림 1-2 < Booth's algorithm 의 구현 >
4. Booth 알고리즘을 이용한 곱셈 예 ( -7 x 3 )
3. 하드웨어 구성
부호 없는 정수 승산기의 하드웨어에 다음 부분을 추가
M 레지스터와 병렬 가산기 사이에 보수기(complementer) 를 추가
Q 레지스터의 우측에 Q-1(아래 그림상 Qn+1)이라고 부르는 1-비트 레지스터를 추가하고, 그 출력을 Q0 와 함께 제어 회로로 입력
- Qn+1은 승수의 두 비트를 비교하기 위한 작업을 쉽게 해준다.
- AC와 Qn+1은 초기값 0으로 저장되고 SC는 승수의 비트수를 저장.- Qn과 Qn+1비트를 조사하여 '10'이면 AC의 부분 곱으로부터 피승수를 빼게 되고 '01'이면 부분 곱으로부터 피승수를 더하게 한다.- 만일 같으면 아무런 연산도 하지 않는다.- 그 다음에 부분 곱과 승수를 우측으로 1비트씩 시프트 한다.- 이런 과정을 승수의 비트수만큼 시행.
그림 1-1 < Booth's algorithm의 ASM Chart >
그림 1-2 < Booth's algorithm 의 구현 >
4. Booth 알고리즘을 이용한 곱셈 예 ( -7 x 3 )
소개글