转载自:http://blog.csdn.net/ljthdu/article/details/39179853
1、吞吐率(单位时间执行命令的个数)
具体的原理就不讲解了,下面看一下有关这几方面的题目:
2004年
若指令流水线把一条指令分为取指、分析和执行三部分,且三部分时间分别是2ns,2ns,1ns。则100条指令全部执行完毕需ns。
(4)A.163 B.183 C.193 D.203
试题解析:
(2*100)+3=203
答案:D
2005年
若每一条指令都可以分解为取指、分析和执行三步。已知取指时间=5 △t,分析时间=2△t,执行时间=5△t。如果按执行、分析、取指重叠的流水线方式执行指令,从头到尾执行完500条指令需△t。
(5)A.2492 B.2500 C.2510 D.2515
试题解析:
500*5+5+5=2510
答案:C
2009年
某指令流水线由5段组成,第1、3、5段所需时间为△t,第2、4段所需时间分别为3△t、2△t,那么连续输入n条指令时的吞吐率(单位时间内执行的指令个数)TP为。
(4)A. n/(5 *(3+2)△t )
B. n/((3+3+2)△t + 3(n-1)△t)
C. n/((3+2)△t + (n-3)△t )
D. n/((3+2)△t + 5*3△t)
试题解析:
TP(吞吐率)=指令总数/执行这些指令所需要的总时间
执行这些指令所需要的总时间=(△t+3△t+△t+2△t+△t)+ 3(n-1)△t。
参考答案:B
希赛出的《网络工程师考试冲刺指南》上讲:
流水线的指令执行时间=一条指令的执行时间+(n-1)*最慢子任务的时间
若指令流水线把一条指令分为取指、分析和执行三部分,且三部分时间分别是2ns,2ns,1ns。则100条指令全部执行完毕需ns。
(4)A.163 B.183 C.193 D.203
试题解析:
(2*100)+3=203
答案:D
2005年
若每一条指令都可以分解为取指、分析和执行三步。已知取指时间=5 △t,分析时间=2△t,执行时间=5△t。如果按执行、分析、取指重叠的流水线方式执行指令,从头到尾执行完500条指令需△t。
(5)A.2492 B.2500 C.2510 D.2515
试题解析:
500*5+5+5=2510
答案:C
2009年
某指令流水线由5段组成,第1、3、5段所需时间为△t,第2、4段所需时间分别为3△t、2△t,那么连续输入n条指令时的吞吐率(单位时间内执行的指令个数)TP为。
(4)A. n/(5 *(3+2)△t )
B. n/((3+3+2)△t + 3(n-1)△t)
C. n/((3+2)△t + (n-3)△t )
D. n/((3+2)△t + 5*3△t)
试题解析:
TP(吞吐率)=指令总数/执行这些指令所需要的总时间
执行这些指令所需要的总时间=(△t+3△t+△t+2△t+△t)+ 3(n-1)△t。
参考答案:B
希赛出的《网络工程师考试冲刺指南》上讲:
流水线的指令执行时间=一条指令的执行时间+(n-1)*最慢子任务的时间
2、平均周转时间和平均带权周转时间
作业i的周转时间Ti = 作业完成时间-作业提交时间,n个作业的平均周转时间为=(T0+T1+T2+…+Tn-1)/n
带权周转时间Wi = 周转时间/服务时间,n个作业的平均带权周转时间为(W0+W1+W2+…+Wn-1)/n
例:设有三道作业,它们的提交时间和运行时间见下表
作业号
|
提交时间/时
|
运行时间/h
|
1
|
10:00
|
2
|
2
|
10:10
|
1
|
3
|
10:25
|
0.25
|
注:为计算方便,“时”均为十进制。
(1)先来先服务FCFS
调度算法;
(2)短作业优先SJF
调度算法。
作业号
|
提交时刻/时
|
运行时间/h
|
开始时刻/时
|
完成时刻/时
|
1
|
10:00
|
2
|
10:00
|
12:00
|
2
|
10:10
|
1
|
12:00
|
13:00
|
3
|
10:25
|
0.25
|
13:00
|
13:25
|
那么,平均周转时间为
T=(∑Ti)/3=[(12-10)+(13-10:10)+(13:25-10:25)]/3=[2+2.83+3]/3=2.61h
带权平均周转时间为
W=[∑(Ti/Tir)]/3=(2/2+2.83/1+3/0.25)/3=5.28h
作业号
|
提交时刻/时
|
运行时间/h
|
开始时刻/时
|
完成时刻/
|
1
|
10:00
|
2
|
10:00
|
12.00
|
2
|
10:10
|
1
|
12:25
|
13:25
|
3
|
10:25
|
0.25
|
12:00
|
12:25
|
那么,平均周转时间为
T=(∑Ti)/3=[(12-10)+(13:25-10:10)+(12:25-10:25)]/3=[2+3.25+2]/3=2.42h
带权平均周转时间为
W=[∑(Ti/Tir)]/3=(2/2+3.25/1+2/0.25)/3=4.08h
3、
最高响应比优先
响应比(系数)=作业响应时间(等待+运行)/作业运行时间=
1
+作业等待时间
/
作业运行时间
例:
在一个单道的程序设计系统中,有3个作业J1、J2、J3,它们到达输入井的时间分别为8:50、9:00、9:30,它们需要执行的时间分别为1.5小时、0.4小时、1小时。系统在10:00按响应比高者优先算法对它们进行调度,请回答:
(1)作业被选中执行的次序是什么?
(
2
)三个作业被选中时的响应比分别是多少?
分析
响应比=作业周转时间/作业运行时间
=1+作业等待时间/
作业运行时间
系统在10:00,计算作业的响应比:
以J1为例,它的作业计算时间是1.5小时,即90分钟;J1从8:50到达输入井,在10:00时刻,J1的等待时间为70分钟,因此作业J1的响应比为:1+70分钟/90分钟=1.77
同理,J2:1+60分钟/24分钟=3.5 J3:1+30分钟/60分钟=1.5
因此按照响应比高者优先算法,优先调度J2。
在10:24,J2完成。这时计算J1、J3的响应比:
J1:1+(70+24)分钟/90分钟=2.04 J3:1+(30+24)分钟/60分钟=1.9
按照响应比高者优先算法,优先调度J1。
在11:54,J1完成,系统调度J3,J3的响应比为1+(30+24+90)分钟/60分钟=3.4 因此,作业被选中执行的次序是J2、J1、J3。
三个作业被选中时的响应比分别是:J1,2.04;J2,3.5;J3,3.4。
解:
(1)作业被选中执行的次序是J2、J1、J3。
(2)三个作业被选中时的响应比分别是:J1,1.04;J2,2.5;J3,2.4。