在某向量处理机上执行DAXPY的向量指令序列 即完成y=a×X+Y。其中X和Y是向量 最初保
问题详情
在某向量处理机上执行DAXPY的向量指令序列,即完成y=a×X+Y。其中X和Y是向量,最初保存在主存中,a是一个标量,已存放在寄存器F0中。它们的向量指令如下: LV V1,Rx //取向量X MULTFV V2,F0,V1 //向量X和标量(F0)相乘 LV V3,Ry //取向量y ADDV V4,V2,V3 //完成Y=a×X+Y SV V4,Ry //存结果 假设向量寄存器的长度MVL=64,Tloop=15,各功能部件的启动时间为: ①取数和存数部件为12个时钟周期。 ②乘法部件为7个时钟周期。 ③加法部件为6个时钟周期。 分别对于不采用向量链接技术和采用链接技术的两种情况,求完成上述向量操作的总执行时间。
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:×
当不采用向量链接技术时,可把上述5条向量指令分成以下4个编队。第一编队:LVV1,Rx第二编队:MULTFVV2,F0,V1LVV3,Ry第三编队:ADDVV4,V2,V3第四编队:SVV4,RyTstart=12+12+6+12,n=4根据公式可知,对n个向量兀素进行DAXPY表达式计算所需的时钟周期个数为Tn=[n/MVL]×(Tloop+Tstart)+mn=[n/64]×(15+12+12+6+12)+4n=[n/64]×57+4n如果采用向量链接技术,那么上述5条向量指令的编队结果如下(m=3)。第一编队:LVV1,RxMULTFVV2,F0,V1第二编队:LVV3,RyADDVV4,V2,V3第三编队:SVV4,Ry其中前两个编队中各自的两条向量指令都可以链接执行。根据链接的含义可知,第一编队的启动时间为12+7=19个时钟周期,第二个编队的启动时间为12+6=18个时钟周期,第三个编队启动时间为12个时钟周期。所以采用链接技术后,对n个向量元素进行DAXPY表达式计算所需的时钟周期总数为Tn=[n/MVL]×(Tloop+Tstart)+mn=[n/64]×(15+19+18+12)+3n=[n/64]×64+3n