有实现xxy的两个C语言函数如下: 假定某计算机M中ALU只能进行加减运算和逻辑运算,请回答下列问题: 针对以下3种情况:a)没有乘法指令;b)有使用ALU和移位器实现的乘法指令;c)有使用阵列乘法器实现的乘法指令,函数umul(

admin2021-03-17  35

问题 有实现xxy的两个C语言函数如下:

假定某计算机M中ALU只能进行加减运算和逻辑运算,请回答下列问题:
针对以下3种情况:a)没有乘法指令;b)有使用ALU和移位器实现的乘法指令;c)有使用阵列乘法器实现的乘法指令,函数umul(          )在哪种情况下执行时间最长?哪种情况下执行的时间最短?说明理由。

选项

答案a)最长,c)最短。对于a),需要用循环代码段(即软件)实现乘法操作,因而需反复执行很多条指令,而每条指令都需要取指令、译码、取数、执行并保存结果,所以执行时间很长;对于b)和c),都只要用一条乘法指令实现乘法操作,不过,b)中的乘法指令需要多个时钟周期才能完成,而c)中的乘法指令可以在一个时钟周期内完成,所以c)执行时间最短。

解析
转载请注明原文地址:https://kaotiyun.com/show/5T3i777K
0

相关试题推荐
最新回复(0)