A-A+
假设每种向量功能部件只有一个 而且不考虑向量链接 那么下面的一组向量指令能分成几个编队? L
问题详情
假设每种向量功能部件只有一个,而且不考虑向量链接,那么下面的一组向量指令能分成几个编队? LV V1,Rx //取向量x MULTSV V2,R0.V1 //向量x和标量(R0)相乘 LV V3,Ry //取向量y ADDV V4,V2,V3 //相加,结果保存到V4中 SV V4,Ry //存结果
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:第一条指令LV为第一个编队。MULTSV指令因为与第一条LV指令相关所以它们不能编在同一个编队中。但MULTSV指令和第二条LV指令之间既不存在功能部件冲突也不存在数据相关故可以把它们一起编到第二个编队中。ADDV指令与第二条LV指令数据相关SV指令又与ADDV指令数据相关所以把ADDV编为第三个编队把SV指令编为第四个编队。即第一编队:LV V1Rx第二编队:MULTSV V2R0V1 LV V3Ry第三编队:ADDV V4V2V3第四编队:SV V4Ry
第一条指令LV为第一个编队。MULTSV指令因为与第一条LV指令相关,所以它们不能编在同一个编队中。但MULTSV指令和第二条LV指令之间既不存在功能部件冲突,也不存在数据相关,故可以把它们一起编到第二个编队中。ADDV指令与第二条LV指令数据相关,SV指令又与ADDV指令数据相关,所以把ADDV编为第三个编队,把SV指令编为第四个编队。即第一编队:LVV1,Rx第二编队:MULTSVV2,R0,V1LVV3,Ry第三编队:ADDVV4,V2,V3第四编队:SVV4,Ry