1 / 5
文档名称:

数据库系统工程师教程考点详解.docx

格式:docx   大小:95KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库系统工程师教程考点详解.docx

上传人:zxwziyou9 2018/9/13 文件大小:95 KB

下载得到文件列表

数据库系统工程师教程考点详解.docx

相关文档

文档介绍

文档介绍:数据库系统工程师教程考点详解(一)
数据库系统工程师考试一年考一次,2017年的考试在上半年开考,希赛小编为大家整理了几篇数据库系统工程师教程知识点精讲,希望对大家备考有所帮助。
流水线
美国人泰勒发现工人的机械劳动可细分为若干个环节,这样,如果所有工人都遵循固定的、优化了的劳动程序进行劳动,劳动效率就大为提高,资本家们进一步发挥,发展到每个工人只执行全部劳动细节的一小部分,一个产品由多个工人共同完成,这使得劳动效率飞升,这种技术称为流水线。
在中央处理器处理指令时,为了提高效率,人们也采用了这种技术。对中央处理器而言,这实际是一种以硬件增加来换取性能提升的方式,由于硬件成本的持续下降,越来越多的中央处理器采用了如下技术:把一个指令分解成多个更小的指令,由不同的处理单元来处理,这样便形成了流水线,在理想的满负荷运行的状态下,执行单条指令的时间虽然没有减少,但是多个不同功能的处理单元同时工作,从而使总体执行时间大大减少(减少到最慢的那一步骤的时间)。如果各步骤处理时间相等,则一条指令分解成若干步,则处理速度就能提高许多倍。流水线示意图如图1-22所示。

图1-22流水线示意图
表1-5所示为一个中央处理器把执行指令分成7个步骤。
表1-5执行指令的7步

在这种情况下,理想的满负荷执行多个指令执行时间为4个CPU周期。
如果更进一步,中央处理器进行运算操作也可以利用流水线计数。例如,一个浮点加法运算通常分解为3个阶段,如图1-23所示。

图1-23浮点加法运算的3个阶段
锁存器的作用是在各步骤之间保存中间结果,这样在理想状态下,中央处理器把浮点加法的运算速度提高到原来的3倍。
上面多次提到"理想状态"和"负荷"两个词,显然在中央处理器流水线刚刚开始工作时,后面部分的处理单元处于无所事事的等待状态,只有在所有的工作单元都开始工作时,流水线才处于满负荷的状态。
理想状态是指没有阻塞的情况,现实中的流水线如果某一个环节出了问题,流水线的速度就会大为降低,中央处理器也是这样。那么影响流水线的因素有哪些呢?
影响流水线效率的因素

最常见的就是条件转移指令。在存在转移指令的情况下,下一条需要执行的指令未必是程序计数器所指的指令。只有在这条转移指令执行完成后,才能判断下一条指令是什么。
这时,如果在遇到转移指令时,关闭流水线的进入端口防止错误发生,这种方法无疑会降低流水线的效率;同时程序中的条件转移是大量存在的,这势必使得流水线在很长时间内闲置,从而影响计算机的性能。
有的计算机采用猜测法,在发现条件转移指令时,猜测可能会跳转到的语句,如果猜测正确,则流水线正常运行;如果猜测错误,则需要清空当前流水线的内容。
还有一种方法需要编译系统的支持,如图1-24所示。即将必须执行的D指令提前执行,在D指令执行之后,条件转移指令的结果出来,再判断是B或者C进入流水线。同样也可以把A指令前的指令滞后到A指令执行后执行,这样能保持流水线闲置的时候尽可能少。但这必须在D和B、C指令不存在前后依存关系的情况下采用。统计的结果还是不错的,就是50%的条件转移指令能够进行这样的优化。
图1-24条件转移


由于使用流水线,若相邻的两条指令都对同一个资源