2、加法电路与减法电路的输出接口

  由于加法运算与减法运算是带符号的操作数进行运算,两个加法操作数进行运算时可能进入减法运算电路,两个减法操作数进行运算时可能进入加法电路,加法与减法运算的结果只能合并到相同的输出端口。

  (1)加法电路与减法电路输出端口的合并。在加法与减法的三个输入端口有三个符号运算电路并分别控制两组与门开关组接通加法电路或减法电路,因此,把三个加法操作数输入端口的运算电路控制加法电路与减法电路的信号输出端用或门合并成2个控制信号,这2个控制信号分别控制输出端口的2个与门组开关;把三个减法操作数输入端口的运算电路控制加法电路与减法电路的信号输出端用或门合并成2个控制信号,这2个控制信号分别控制输出端口的2个与门组开关;这样,加法与减法电路运算的结果通过4个与门开关组合并到一个运算结果,无论输入端口输入的是两个加法操作数还是两个减法操作数,无论是进入了加法运算电路还是进入了减法运算电路,合并后的运算结果一定是正确的运算结果。加法电路与减法电路运算结果经4个与门开关组合并后的端口为加减运算输出接口的合并端口。

  (2)输出接口的符号运算电路。从加法电路输出到合并端口的数据是无符号数据,从减法电路输出到合并端口的数据是有符号数据,因此,合并端口的数据是一个有符号数据。把输入端口符号运算电路保留的第一个操作数的符号与合并端口的符号再次通过电路进行运算,得到最终结果数据的符号。

  (3)进位位标志。加法运算与带符号的减法运算都有进位标志,通过输出接口输出的数据也必须有进位标志。

  (3)整数与小数输出接口。合并端口的数据是一个双N位数据,前N位是整数部分,后N位是小数部分。把双N位的数据全部输出做为整数与小数输出接口,CPU点需要什么数据就取什么数据。

  (4)定点数输出接口。把合并端口的双N位数据转换成定点数据。转换方法是:先把双N位的二进制码当做一条数字绳码,通过填充实结使之成为标准数字绳,再另做一条2N个结数并且实结的数量为N的标准数字绳,用第一条标准数字绳减第二条标准数字绳,结果做成浮标数字绳,把浮标数字绳解码得出的二进制码就是定点数的位数n。在进行上述运算的同时,把后N位当做一条反向数字绳,反向填充实结使之成为标准数字绳,把标准数字绳再做成浮标数字绳。当运算结果为正时,用浮标数字绳的每一个结控制一组与门开关组进行数据向右平移,平移后二进制码的最高数值位平移到后N位的最高位,就成了小数点固定到最高数值位的定点数。当数字绳相减的运算结果为负时,用浮标数字绳的每一个结控制一组与门开关组进行数据平移,平移后二进制码的最高数值位平移到后N位的最高位,就成了小数点固定到最高数值位的定点数。当数字绳的运算结果为负时,用后N位做成的浮标数字绳的每一个结控制一组与门开关组,后N位的二进制码并行左移,其后N位浮标数字绳解码出的二进制码为为定点数的位数n,符号为负,就成了当小数点固定到最低位值之后的定点数。

  (5)浮点数输出接口。把合并端口的双N位数据转换成浮点数据。转换方法是:把双N位当做第一条数字绳,用填充实结的方法做成标准数字绳,把标准数字绳做成浮标数字绳,同时另做第二条结数为2N并且实结数为N的标准数字绳,用每条数字绳减第二条数字绳,相减的结果经解码后得到的二进制码为阶码,符号为阶符。用第一条浮标数字绳的2N个结分别控制2N组与门开关组进行并行左移,浮标数字绳实结控制的与门开关组就把合并端口中的二进制数据的最高低移到了2N位的最高位,移位后的双N位数据就成了浮点数的尾数。

  3、乘法电路的输入接口

  乘法运算对操作数小数点的位置没有要求,它可以保留二进制码左移或右移的位置。为了减少计算精度的损失,要把二进制码尽可能地输入到乘法运算电路里。乘法电路也没必要做符号运算,由CPU运算符号。因此,乘法电路的输入接口是把操作数直接或经过电路转换后接入乘法电路。当操作数是整数时,整数操作数直接接入乘法电路中;当操作数是定点数时,把小数点固定在二进制码最大数值位前的定点数操作数通过电路转换成小数点固定在二进制码最小数值位后的定点数,然后把转换后的二进制码做为整数接入乘法运算电路中,保留定点数的位数值n或-n;当操作数是浮点数时,把浮点数的尾数左移成整数,从阶码中减去左移的位数做为阶码保留。浮点数尾数左移的方法是:把尾数放入第一条结数为N的数字绳中,通过填充实结做成一条标准数字绳,把标准数字绳再做成浮标数字绳;把阶码通过编码做成第二条结数为N的标准数字绳。当浮点数的阶符为正时,第一条标准数字绳减第二条标准数字绳的运算结果解码出的二进制码为阶码,符号为阶符;当浮点数的阶符为负时,第一条标准数字绳加第二条标准数字绳的运算结果解码出的二进制码为阶码,阶符为负;保留阶码与阶符。