软考数据库系统工程师知识点精讲之参数计算

数据库系统工程师 责任编辑:长颈鹿 2016-05-17

添加老师微信

备考咨询

加我微信

摘要:假定有某种类型的任务,共可分成n个子任务,每个子任务需要时间t,则完成该任务所需的时间即为n×t。若以传统的方式,则完成k个任务所需的时间是knt;而使用流水线技术执行,则花费的时间是(n+k-1)×t。也就是说,除了第一个任务需要完整的时间外,其他都通过并行完成,节省下了大量的时间,只需一个子任务的单位时间就够了。

    >>>数据库系统工程师面授班

    >>>数据库系统工程师网络课堂

    >>>数据库系统工程师在线辅导班 

      参数计算

      假定有某种类型的任务,共可分成n个子任务,每个子任务需要时间t,则完成该任务所需的时间即为n×t。若以传统的方式,则完成k个任务所需的时间是knt;而使用流水线技术执行,则花费的时间是(n+k-1)×t。也就是说,除了第一个任务需要完整的时间外,其他都通过并行完成,节省下了大量的时间,只需一个子任务的单位时间就够了。

      另外要注意的是,如果每个子任务所需的时间不同,则其速度取决于其执行顺序中最慢的那个(也就是流水线周期值等于最慢的那个指令周期),要根据实际情况进行调整。

      例如:若指令流水线把一条指令分为取指、分析和执行3部分,且3部分的时间分别是取指2ns,分析2ns,执行1ns。那么,最长的是2ns,因此100条指令全部执行完毕需要的时间就是:

      (2+2+1)+(100-1)×2=203ns

      另外,还应该掌握几个关键的术语:流水线的吞吐率、加速比。流水线的吞吐率(ThoughPutrate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比(speedupratio)。

      例如,在上述例子中,203ns的时间内完成了100条指令,则从指令的角度来看,该流水线的吞吐率为1.jpg,加速比为500/203=2.46(如果不采用流水线,则执行100条指令需要500ns)。

      相关推荐:

      软考数据库系统工程师知识点精讲之存储体系汇总

      软考数据库系统工程师知识点精讲之RAID

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!