2020春第 5章家庭作业
第 2版 教材 P376~377 5.15 以及 5.17 (只有两题 ( •̀ ω •́ )y)
5.15
A. 关键路径是%xmm1更新路径上的加法。因为只有加法是依赖于上一次的结果的(sum = sum + 乘法结果),所以该循环的“关键路径”是加法这条链。
B. CPE下界是浮点加法的延迟,也就是3
C. 整数加法的吞吐量界限是1
D. 虽然浮点数乘法需要4到5个周期,但是它没有“数据依赖”,也就是说,每次循环时的乘法不需要依赖上一次乘法的结果,可以各自独立进行。因此乘法不在关键路径上,是流水线执行的,整个程序的限制因素为最后的浮点数加法的延迟,这个延迟对float和double都是3.00,所以CPE为3.00。
5.17
A. 因为load执行单元的吞吐量
B. IA32可用寄存器实际只有6个,而三路展开需要i, limit, udata, vdata,以及存储udata[i], vdata[i],的寄存器,还有存储三个并行累积变量的寄存器,寄存器数量不够,所以不同的变量会共用寄存器,由于结构相关导致并行性下降,每次循环8个时钟周期,导致CPE=8/3=2.67。