2017-10-07 1 views
0

부스 알고리즘을 알고 있습니다.부스 알고리즘 및 오른쪽 시프트

가정하자 우리가 피승수 M = 01,011

승수 및 Q = 01,110

우리가 쓸 수 Q (2^4-2^1).

Q = 0, Q (-1) = 0 다음 않으면 연산 : -

그래서 승산은 2^4 (M) + 2 (-M)

지금 부스 알고리즘 규칙이로 감소 오른쪽 교대.

Q = 1이고 Q (-1) = 0이면 A-M 및 산술 오른쪽 시프트를 수행하십시오.

Q = 0이고 Q (-1) = 1이면 A + M과 산술 오른쪽 시프트를 수행하십시오.

Q = 1이고 Q (-1) = 1 인 경우 산술 오른쪽 시프트를 수행하십시오.

여기에서는 00000로 초기화되고 우리가 오른쪽 시프트 할 때마다 단계에서 다음 알고리듬을 참조하면 Q가 (-1) 0

초기화된다. 그러나 위의 계산에 따르면 2^4 (M) + 2 (-M)이므로 왼쪽 이동이 필요한 16과 2를 곱합니다.

어떻게 부스가 오른쪽 시프트로 작동하는 알고리즘입니까? 나는 그 직감을 얻을 수 없다.

답변

0

이 부스 알고리즘의 변형은 M과 Q가 모두 W 비트 인 곱셈 M * Q의 상위 W 비트를 생성합니다.

결과는 W 비트가있는 누산기 A에 배치됩니다. SHR acc, 1; RCR low, 1 시퀀스를 사용하여 특히 어셈블러에서 하위 비트를 복구 할 수도 있습니다.