【精选】计算机系统结构第四章
- 格式:ppt
- 大小:1.53 MB
- 文档页数:63
1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。
在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。
⑴ 顺序执行方式。
⑵ 仅“取指令”和“执行”重叠。
⑶ “取指令”、“分析”和“执行”重叠。
答:⑴ 顺序执行方式12 ......1 2 12T =∑=++n1i i i i )t t t (执行分析取址=n(△t +2△t +3△t)=6n △t⑵ 仅“取指令”和“执行”重叠12 ......1 212T =6△t +∑=+1-n 1i i i )t t (执行分析=6△t +(n-1)(2△t +3△t)=(5n +1)△t⑶ “取指令”、“分析”和“执行”重叠12 34 ......1 2 3 41234△t2△t3△t△t2△t3△t△t2△t3△tT =6△t +∑=1-n 1i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t 。
开始5个任务,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。
求流水线的实际吞吐率、加速比和效率。
答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 56 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23我们可以看出,在(7n+1)Δt 的时间内,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)n (t75t )n /17(5t )1n 7(n 5TP ∞→∆=∆+=∆+=加速比为:)n (720n /17201n 7n 20t )1n 7(t 4n 5S ∞→=+=+=∆+∆⨯=从上面的时空图很容易看出,效率为:)n (75n /1751n 7n 5t )1n 7(4t 4n 5E ∞→=+=+=∆+⨯∆⨯=3. 用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。
第四章输入输出系统(P208)输入输出系统是计算机系统中实现各种输入输出任务的资源总称。
它包括各种输入输出设备、相关的管理软件等等。
由于输入输出设备的特殊工作性质使其数据吞吐率通常远低于主机,设计输入输出系统就是要建立数据交换的最佳方案,使双方都能高效率地工作。
本章重点是中断优先级管理、通道流量设计。
4.1 I/O原理•定义:在计算机系统中,通常把处理机和主存之外的部分称为I/O系统,它包括I/O设备、I/O接口、I/O 软件等。
•I/O系统能够提供处理机与外部世界进行交往或通信的各种手段。
•外部世界指处理机以外的需要与处理机交换信息的人和物。
I/O系统的特点1.异步性:外围设备相对于处理机通常是异步工作的。
原因:当设备准备好与处理机交往时,要向处理机申请服务。
但处理机申请对于处理机来说,这个时间一般是随意的,两次申请时间之间可能经过很长时间,这就造成输入输出相对于处理机的异步性和时间上的任意性。
2.实时性:当外围设备与处理机交往时,由于设备的类型不同,他们的工作步调是不相同的,处理机必须按照不同设备所要求传送方式和传输速率不失时机地为设备提供服务,这就要求实时性控制。
处理机为了能够为各种不同类型的设备提供服务,必须具有相配合的工作方式,包括程序控制方式、中断方式、直接存储器方式等。
3.与设备无关性:各种外部设备必须根据其特点和要求选择一种标准接口和处理机进行连接,他们之间的差别必须由设备本身的控制器通过硬件和软件来填补。
这样,处理机本身无须了解外设的具体细节,可以采用统一的硬件和软件对其管理。
I/O系统的组织方式根据各种外围设备的不同特点处理异步性、实时性、与设备无关性的关系,就是I/O系统组织的基本内容。
自治控制:针对异步性。
实际上也就是把外围设备所要完成的功能分散开,即把设备的输入输出功能最大限度地从处理机中分离出,由专门的设备控制器通过它自身的硬件和软件去完成,从而使处理机能够摆脱繁重的输入输出任务。
1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。
在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。
⑴ 顺序执行方式。
⑵ 仅“取指令”和“执行”重叠。
⑶ “取指令”、“分析”和“执行”重叠。
答:⑴ 顺序执行方式12 ......1 2 12T =∑=++n1i i i i )t t t (执行分析取址=n(△t +2△t +3△t)=6n △t⑵ 仅“取指令”和“执行”重叠12 ......1 212T =6△t +∑=+1-n 1i i i )t t (执行分析=6△t +(n-1)(2△t +3△t)=(5n +1)△t⑶ “取指令”、“分析”和“执行”重叠12 34 ......1 2 3 41234△t2△t3△t△t2△t3△t△t2△t3△tT =6△t +∑=1-n 1i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t 。
开始5个任务,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。
求流水线的实际吞吐率、加速比和效率。
答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 56 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23我们可以看出,在(7n+1)Δt 的时间内,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)n (t75t )n /17(5t )1n 7(n 5TP ∞→∆=∆+=∆+=加速比为:)n (720n /17201n 7n 20t )1n 7(t 4n 5S ∞→=+=+=∆+∆⨯=从上面的时空图很容易看出,效率为:)n (75n /1751n 7n 5t )1n 7(4t 4n 5E ∞→=+=+=∆+⨯∆⨯=3. 用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。
计算机体系结构第四章练习题参考解答第四章4.52 浮点数系统使⽤的阶码基值r e =2,阶值位数q=2,尾数基值r m =10,尾数位数p ′=1,即按照使⽤的⼆进制位数来说,等价于p=4。
计算在⾮负阶、正尾数、规格化情况下的最⼩尾数值、最⼤尾数值、最⼤阶值、可表⽰的最⼩值和最⼤值及可表⽰数的个数。
解: 最⼩尾数值:r m -1 = 10-1 = 0.1最⼤尾数值:1- r m -p ′ =1-10-1 = 0.9 最⼤阶值:2q -1=3可表⽰数的最⼩值:1×r m -1 = 10-1 = 0.1 可表⽰数的最⼤值:r m 2q-1×(1- r m -p ′)=103(1-10-1)= 900可表⽰数的个数:2q ×r m p ′(r m -1)/r m = 22×101(10-1)/10 = 364.53 ⼀台机器要求浮点数的字长的精度不低于10-7.2,表数的范围正数不⼩于1038,且正负对称。
尾数⽤原码、纯⼩数表⽰,阶码⽤移码、整数表⽰。
设计这种浮点数的格式。
解依题意,取表数范围N =1038,表数精度δ=10-7.2。
由式(4-4)得:37log(log10log 21)log 2q +> = 6.99,上取整,得到阶码字长q=7。
由式(4-5)得:16log1053.2log 2p -->=,上取整,得到尾数字长p=24。
从⽽加上⼀个尾数符号位和⼀个阶码符号位,浮点数的总字长为:p+q+2=24+7+2=33。
实际浮点数总字长应为8的倍数,故取浮点数总字长为40位。
多出的7位可以加到尾数字长p 中⽤于提⾼浮点数的表数精度,也可以加到阶码字长q 中来扩⼤浮点数的表数范围。
暂且让p 增加6位,q 增加1位,即p=30,q=8。
如图4-8所⽰是设计出来的浮点数格式。
图4-8 例4.2浮点数的设计格式4.58 ⽤于⽂字处理的某专⽤机,每个⽂字符⽤4位⼗进制数字(0~9)编码表⽰,空格⽤︼表⽰。
第4章部分习题参考答案4.1 解释下列术语⏹存储器最大频宽-存储器连续工作时所能达到的频宽。
⏹存储器实际频宽-存储器实际工作时达到的频宽,它一般小于存储器最大频宽。
⏹模m交叉编址-交叉访问存储器由多个存储体(m个存储模块)组成一个大容量的存储器,对多个存储体的存储单元采用交叉编址方式,组成交叉访问存储器。
通常有两种交叉编址方式,一是地址的高位交叉编址,一般使用较少转型是低位交叉编址,即由m个存储体组成的低位交叉存储器的存储单元地址的低log2m位称为体号k,高log2n位称为体内地址j,存储单元地址A的计算公式为:A=m×j×k。
若已知地址A,可计算出对应的体号k=A mod m,体内j=[A/m]地址。
高位交叉编址主要用于扩展常规主存的容量,而低位交叉编址主要用于提高常规主存的访问速度。
⏹程序局部性-程序中对于存储空间90%的访问局限于存储空间的10%的区域中,而另外10的访问则分布在存储空间的其余90%的区域中。
这就是通常说的程序局部性原理。
访存的局部性规律包括两个方面,一是时间局部性:如果一个存储项被访问,则可能该项会很快被再次访问;二是空间局部性:如果一个存储项被访问,则该项及其邻近的项也可能很快被访问。
⏹虚拟存储器-即“主存-辅存”存储层次,主要目的是为了弥补主存容量的不足,可以为程序员提供大量的程序空间。
其部分功能采用硬件,其余则由操作系统的存储管理软件来实现,对于系统程序员不透明。
⏹段式管理-把主存按段分配的存储管理方式。
它是一促模块化的存储管理方式,每个用户程序模块可分到一个段,该程序模块博只能访问分配给该模块的段所对应的主存空间。
段长可以任意设定,并可放大和缩小。
系统中通过一个段表指明保段在主存中的位置。
段表中包括段名(段号)、段起点、装入位和段长等。
段表本身也是一个段。
段一般是程序模块划分的。
⏹页式管理-把虚拟存储空间和实际存储空间等分成固定大小的页,各虚拟页可装入主存中的不同实际页面位置。