假设在某程序的执行过程中,浮点操作时间占整个执行时间的10%,现希望对浮点 操作加速 。
(1)设对浮点操作的加速比为Sf,请推导出程序总的加速比S和Sf之间的关系表达式;
(2)请程序的最大加速比可达多少?
根据公式
系统加速比=1/[(1-可改进比例)+可改进比例/部件加速比]
可以看出求解系统加速比题型中,所需要弄清楚的关键信息为:
①哪些部分可以进行加速?
②这些可加速部分占系统的比例是多少?
③这些可加速部分的部件加速比是多少?
只需要弄清楚这三点,则系统加速比即可通过已知信息求出。
①本题中可加速的部分只有一个,也就是浮点操作;
②浮点操作占系统(程序)的比例为10%;
③浮点操作的加速比为变量Sf。
将已知信息代入公式即可求解出本题的答案。
(1)求解
(2)求解
求平方根和浮点乘是图形应用中常用的转换 ,假设求平方根操作在某机器的一个基准程序中占总执行时间的20%,浮点乘操作在该程序中占总执行时间30%,现通过两种方法加速两操作:
① 增加专门的硬件处理求平方根,使其执行速度为原来的10倍;
② 通过调整流水线把浮点乘速度提高为原来的1.6倍。
采用1、2两种方法后,此基准程序加速比是多少?
题目分析求解过程与上一题类似,也是确定三类要素:哪些部分可以进行加速(求平方根和浮点乘),各自在整体中的占比(20%,30%)各自的局部加速比(10倍,1.6倍),之后代入公式计算即可。此题唯一的不同在于进行加速的部件不只一个。
采用哪种实现技术来求浮点数平方根FPSQR的操作对系统的性能影响较大?
假设FPSQR操作占整个测试程序执行时间的20%。一种实现方法是采用FPSQR硬件,使FPSQR操作的速度加快到10倍。
另一种实现方法是使所有浮点数据指令的速度加快,使FP指令的速度加快到2倍,还假设FP指令占整个执行时间的50%。请比较这两种设计方案。