多项式求和的算法比较.ppt_第1页
多项式求和的算法比较.ppt_第2页
多项式求和的算法比较.ppt_第3页
多项式求和的算法比较.ppt_第4页
多项式求和的算法比较.ppt_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多项式求和的算法比较 组员 朱振强 杨浩蓝 龙景强 程帆瑾 刘树培 首先我们来看一下代码 问题一 对于次数n 这段代码执行了多少次加法和乘法运算 乘法 N加法 N 问题二 该运算的cep为何为8 图5 12双精度浮点数乘法 延迟5发射时间1双精度浮点数加法 延迟3发射时间1单精度浮点数乘法 延迟4发射时间1单精度浮点数加法 延迟3发射时间1整数乘法 延迟3发射时间1整数加法 延迟1发射时间0 33for i degree 1 i 0 i result result x a i returnresult 在第一次讨论课的时候我们知道了所有的for循环在汇编时都会变为if语句 让我们来看一下这个for循环变为if语句是什么样的 i degree 1loop if i 0 gotoendloop result x result a i gotoloop endloop 再来看下这个循环的汇编代码 mulsd xmm0 xmm1 result xaddsd0 xb2f60a0 rdi rax 1 xmm1 result a i sub 0 x8 rax i for8 bytepointercmp 0 xfffffffff4d09f58 rax compare0 ijne400690 if gotoloop注 iin rax ain rdi xin xmm0 resultin xmm1 从来自上一次迭代的result的值开始 我们必须先把它乘以x 需要5个时钟周期 然后把它加上a i 需要3个时钟周期 然后得到本次迭代的值 因此 完成一次循环迭代需要8个时钟周期 由于后一个表达式result a i 的计算需要前一个表达式result x的值 所以这两个表达式的计算不能在流水线上同时进行 问题三 5 5的for循环 for i 1 idegree gotoendloop z xpwr xpwr xresult zgotoloop endloop 它的汇编代码如下 400650movsd rdi rax 1 xmm3 z a i add 0 x8 rax i for8 bytepointercmp 0 xb2f60a8 rax compareN imulsd xmm1 xmm3 z pmulsd xmm0 xmm1 p xaddsd xmm3 xmm2 result zjne400650 if gotoloop注 iin rax ain rdi xin xmm0 pin xmm1 resultin xmm2 zin xmm3 我们可以看到 这里限制性能的计算是反复地计算表达式p x 这需要一个双精度浮点数乘法 5个时钟周期 并且直到前一次迭代完成 下一次迭代的计算才能开始 两次连续的迭代之间 还要计算表达式z p 这需要一个双精度浮点乘法 5个时钟周期 以及计算表达式result z 这需要一个双精度浮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论