4、乘法电路的输出接口
一个N位的乘法运算电路,输出的二进制码最多位数是2N位整数。输出接口要有三个输出口,第一输出口是整数输出口,第二个输出口是定点数输出口,第三个输出口是浮点数输出口。当CPU通过整数乘法指令从输入端输入的两个操作数是整数时,结果从整数输出口取指。整数输出接口与乘法电路的输出接口直接连通。当输入端口输入的是定点数时,就从定点数输出端口输出数据。定点数输出端口是把乘法运算结果的整数二进制码先通过电路做成定点数,然后把乘法输入接口的定点输入接口保留的位数值与结果位数值进行有符号数相加,相加时用数字绳码进行运算。当输入端口输入的是浮点数时,就从浮点数输出端口输出数据。浮点数输出端口是把二进制整数做成浮点数,把浮点数的阶码与输入端口保罗的阶码与阶与阶符进行有符号数相加,相加时用数字绳码进行运算。乘法输出端口的运算流程是乘法输入端口运算流程的逆过程。
5、倒数电路的输入接口
数字绳的倒数运算中,设倒数电路的位数为N位,求A数的倒数时,倒数电路要求A数进入倒数电路的输入端口时,必须是一个位数为N位的整数。因此,倒数电路的输入接口就是把A数经过移位使之成为一个位数为N的整数再乘上一个逆移位数值。当A数为整数时,假设A数再移位m位其位数为N,A的表达为:(A*2
m
)*2
-m
,整数在倒数电路输入接口输入的方法就是把A左移m位后送入倒数电路,把-m保留下来。当A数是一个小数点固定在数值的最小位后的定点数,且位值为-n,把数值部分左移m位使数值部分成为位数为N位的整数并送入倒数电路,把-n-m保留下来。当A数是一个小数点固定在数值的最大位前的定点数,且位数为n时,把数值部分左移m位使数值部分成为位数为N位的整数并送入倒数电路,把n-m保留下来。当A是浮点数时,设有符号的阶码为d,把尾数部分左移N位使尾数成为位数为N的整数并送入倒数电路,把d-N保留下来。
因此,倒数运算的三个输入接口都是把输入的操作数转换成位数为N位的整数送入倒数电路,其中,整数输入接口要把-m保留下来,定点数输入接口要保留-n-m或n-m,浮点数接口要保留d-N。
6、倒数电路的输出接口
倒数运算是以A*B=2
2N
为前提条件,因此,数字绳的倒数运算中,当A为整数且位数为N时,A数的倒数B的最终结果是:B=(1/A)*2
-2N
;当A表达成A=X*2
y
,且X是一个位数为N的整数,A数的倒数B的最终结果是:B=(1/X)*2
-2n-y
。显然,y是三个输入接口中保留下来的A的位数值,输出的二进制整数数值再乘上2
-2n-y
就是倒数电路的实际数值。
倒数电路可以有两个输出接口,一个是小数点固定在最小数值位后的定点数输出接口,一个是浮点数输出接口。小数点固定在最小数值位后的定点数输出接口是直接输出倒数电路运算结果的整数值,然后用-2n减去输入端口保留下来的位数值做为定点数的位数。浮点数输出接口是把倒数电路输出端口输出的整数再次左移,左移到输出整数的最高位与输出端口的最高位对齐,当左移的位数为h时,用-2n减去输入端口保留下来的位数值再加上h即为浮点数的阶码,运算阶码过程中产生的符号既为阶符。
7、除法电路的输入接口
除法电路是把除数通过倒数电路运算后与被除数相乘。除法电路的输入接口由被除数输入接口与除数输入接口两个接口组成,被除数输入接口与乘法电路的输入接口相同,除数的输入接口与倒数电路的输入接口相同。