网络工程师考试知识点:流水线与并行处理一

网络工程师 责任编辑:huanjue 2013-10-28

添加老师微信

备考咨询

加我微信

摘要:本知识点在历年考试中频繁出现,因为它与我们实际工作中的流水线作业非常相似。掌握该知识点在于理解流水线的工作原理,并且能够计算出流水线指令执行时间,以及影响流水线执行的因素。

网络工程师考试报名网络工程师考试大纲 网络工程师考试时间

网络工程师考试教材 网络工程师培训

  2.1.5【网络工程师考试知识点】流水线与并行处理

本知识点在历年考试中频繁出现,因为它与我们实际工作中的流水线作业非常相似。掌握该知识点在于理解流水线的工作原理,并且能够计算出流水线指令执行时间,以及影响流水线执行的因素。

1. 指令的重叠执

指令的执行过程可以被分解为相互独立的几个阶段,具体的分法要根据各种处理机的情况而确定。在图2-6中把一条指令的执行过程分为3个阶段。当有多条指令要在处理机中执行时,根据重叠程度的不同可以有多种执行方式:顺序执行方式、 一次重叠执行方式、二次重叠执行方式。

图2-6  一条指令的执行过程

l顺序执行方式。指令的执行过程如图2-7a所示。采用顺序执行方式执行n条指令所用的时间为:

图2-7  指令的几种执行方式

l一次重叠执行方式。这是一种最简单的重叠方式,如图2-7b所示,把执行第k条指令与取第k+1条指令同时进行。如果执行一条指令的两个过程的时间均相等,则执行n条指令所用的时间为:

l二次重叠执行方式。为了进一步提高指令的执行速度,可以把取第k+1条指令提前到与分析第k条指令同时进行,同样,分析第k+1条指令与执行第k条指令同时进行,如图2-7c所示。如果执行一条指令的三过程的时间相等,则执行n条指令所用的时间为:

2. 流水线执行时间

假定有某类任务,它可以划分为N个子任务,每个子任务需要的时间均为t.那么采用流水线方式,完成k个此类任务所需时间很容易得出:T=Nt+(k-1)×t.也就是说,除了第一个任务需要一个完整的执行时间Nt,之后每隔t时间,便会执行完一个任务。

但如果每个子任务所要执行的时间不同,则总的运行时间取决于这些子任务中最慢的那段,我们也称它为流水线周期。通常为了提高工作效率,采用继续划分子任务的方式,将其分割成更小的子任务。此类流水线执行时间的计算,一般分几种情况考虑:

简单算法:一般为了方便计算,将各个功能段的实际执行时间(可能互不相等)都以流水线周期时间,即:

T=(指令条数+子任务数-1)×流水线周期

如下图所示,显然标准算法与简单算法只是在第一条指令执行所需时间的不同,但标准算法更加精确。读者在考试时,可根据提供的答案来确定试题具体考查的哪种计算方法。

图2-8  常规流水线工作方式

返回目录:网工知识点全析及训练第二章:计算机硬件知识

编辑推荐:

网工知识点全析及训练第一章:网络工程师指南

2013年软考网络工程师考前试题及答案汇总
2013年计算机软考网络工程师基础知识讲义

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

软考备考资料免费领取

去领取

!
咨询在线老师!