计算机组成原理,图中画箭头的地方,这个递推式是怎么来的呢?

如题所述

在不考虑符号位的一位乘法的计算过程中

每次是根据乘数Y的最后一位,判断部分积中是否加上被乘数X

然后部分积和乘数都右移一位,依次计算,直到乘数为0

而Booth算法其实就是连带符号位一起考虑的一位乘法

在得到上图蓝框中的表达式后,可以发现,每次判断部分积中是否加上被乘数[X]补

不再根据乘数的最后一位,而是根据最后两位(Yₙ₊₁-Yₙ)来判断

若Zₙ表示部分积,初始Z₀=0

Z₁对应的乘数的最后两位为Yₙ₊₁和Yₙ,累加上(Yₙ₊₁-Yₙ)[X]补,再右移一位(乘2⁻¹)

Z₂对应的乘数的最后两位为Yₙ和Yₙ₋₁,累加上(Yₙ-Yₙ₋₁)[X]补,再右移一位(乘2⁻¹)

......

Zₙ对应的乘数的最后两位为Y₂和Y₁,累加上(Y₂-Y₁)[X]补,再右移一位(乘2⁻¹)

最后乘数Y中只剩Y₁和Yₛ,最后再加一次(Y₁-Yₛ)[X]补,即得最终的乘积[X×Y]补

温馨提示:答案为网友推荐,仅供参考
相似回答