计算机系统结构课后习题答案).doc

上传人:可**** 文档编号:76751910 上传时间:2023-03-12 格式:DOC 页数:70 大小:584KB
返回 下载 相关 举报
计算机系统结构课后习题答案).doc_第1页
第1页 / 共70页
计算机系统结构课后习题答案).doc_第2页
第2页 / 共70页
点击查看更多>>
资源描述

《计算机系统结构课后习题答案).doc》由会员分享,可在线阅读,更多相关《计算机系统结构课后习题答案).doc(70页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、.word.第一章第一章计算机系统构造的根本概念计算机系统构造的根本概念1.有一个计算机系统可按功能分成 4 级,每级的指令互不一样,每一级的指令都比其下一级的指令在效能上强 M 倍,即第 i 级的一条指令能完成第 i-1 级的 M 条指令的计算量。现假设需第 i 级的 N条指令解释第 i+1 级的一条指令,而有一段第 1 级的程序需要运行 Ks,问在第 2、3 和 4 级上一段等效程序各需要运行多长时间?答:第 2 级上等效程序需运行:(N/M)*Ks。第 3 级上等效程序需运行:(N/M)*(N/M)*Ks。第 4 级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。note:由

2、题意可知:第 i 级的一条指令能完成第 i-1 级的 M 条指令的计算量。而现在第 i 级有 N 条指令解释第 i+1 级的一条指令,那么,我们就可以用 N/M 来表示 N/M 表示第 i+1 级需(N/M)条指令来完成第 i 级的计算量。所以,当有一段第 1 级的程序需要运行 Ks 时,在第 2 级就需要(N/M)Ks,以此类推2.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。但是实现的性能价格比,实现的难易程序不同。在 DOS 操作系统时代,汉字系统是一个重要问题

3、,早期的汉字系统的字库和处理程序都固化在汉卡硬件上,而随着 CPU、硬盘、内存技术的不断开展,UCDOS 把汉字系统的所有组成部份做成一个软件。3.试以实例说明计算机系统构造、计算机组成与计算机实现之间的相互关系与影响。答:计算机系统构造、计算机组成、计算机实现互不一样,但又相互影响。1计算机的系统构造一样,但可采用不同的组成。如 IBM370 系列有 115、125、135、158、168等由低档到高档的多种型号机器。从汇编语言、机器语言程序设计者看到的概念性构造一样,均是由中央处理机/主存,通道、设备控制器,外设 4 级构成。其中,中央处理机都有一样的机器指令和汇编指令系统,只是指令的分析

4、、执行在低档机上采用顺序进展,在高档机上采用重叠、流水或其.word.它并行处理方式。2一样的组成可有多种不同的实现。如主存器件可用双极型的,也可用 MOS 型的;可用 VLSI单片,也可用多片小规模集成电路组搭。3计算机的系统构造不同,会使采用的组成技术不同,反之组成也会影响构造。如为实现A:=B+CD:=E*F,可采用面向存放器的系统构造,也可采用面向主存的三地址寻址方式的系统构造。要提高运行速度,可让相加与相乘并行,为此这两种构造在组成上都要求设置独立的加法器和乘法器。但对面向存放器的系统构造还要求存放器能同时被访问,而对面向主存的三地址寻址方式的系统构造并无此要求,倒是要求能同时形成多

5、个访存操作数地址和能同时访存。又如微程序控制是组成影响构造的典型。通过改变控制存储器中的微程序,就可改变系统的机器指令,改变构造。如果没有组成技术的进步,构造的进展是不可能的。综上所述,系统构造的设计必须结合应用考虑,为软件和算法的实现提供更多更好的支持,同时要考虑可能采用和准备采用的组成技术。应防止过多地或不合理地限制各种组成、实现技术的采用和开展,尽量做到既能方便地在低档机上用简单廉价的组成实现,又能在高档机上用复杂较贵的组成实现,这样,构造才有生命力;组成设计上面决定于构造,下面受限于实现技术。然而,它可与实现折衷权衡。例如,为到达速度要求,可用简单的组成但却是复杂的实现技术,也可用复杂

6、的组成但却是一般速度的实现技术。前者要求高性能的器件,后者可能造成组成设计复杂化和更多地采用专用芯片。组成和实现的权衡取决于性能价格比等因素;构造、组成和实现所包含的具体内容随不同时期及不同的计算机系统会有差异。软件的硬化和硬件的软件都反映了这一事实。VLSI 的开展更使构造组成和实现融为一体,难以分开。4.什么是透明性概念?对计算机系统构造,以下哪些是透明的?哪些是不透明的?存储器的模 m 穿插存取;浮点数据表示;I/O 系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型;PDP-11 系列的单总线构造;.word.访问方式保护;程序

7、性中断;串行、重叠还是流水控制方式;堆栈指令;存储器最小编址单位;Cache存储器。答:透明指的是客观存在的事物或属性从某个角度看不到。透明的有:存储器的模 m 穿插存取;数据总线宽度;阵列运算部件;通道是采用结合型还是独立型;PDP-11 系列的单总线构造串行、重叠还是流水控制方式;Cache 存储器。不透明的有:浮点数据表示;I/O 系统是采用通道方式还是外围处理机方式;字符行运算指令;访问方式保护;程序性中断;堆栈指令;存储器最小编址单位。5.从机器汇编语言程序员看,以下哪些是透明的?指令地址存放器;指令缓冲器;时标发生器;条件存放器;乘法器;主存地址存放器;磁盘外设;先行进位链;移位器

8、;通用存放器;中断字存放器。答:透明的有:指令缓冲器、时标发生器、乘法器、先进先出链、移位器、主存地址存放器。6.以下哪些对系统程序员是透明的?哪些对应用程序员是透明的?系列机各档不同的数据通路宽度;虚拟存储器;Cache 存储器;程序状态字;“启动 I/O指令;“执行指令;指令缓冲存放器。答:对系统程序员透明的有:系列机各档不同的数据通路宽度;Cache 存储器;指令缓冲存放器;对应用程序员透明的有:系列机各档不同的数据通路宽度;Cache 存储器;指令缓冲存放器;虚拟存储器;程序状态字;“启动 I/O指令。note:系列机各档不同的数据通路宽度、Cache 存贮器、指令缓冲存放器属于计算机

9、组成,对系统和程序员和应用程序员都是透明的。虚拟存贮器、程序状态字、“启动 I/O指令,对系统程序员是不透明的,而对应用程序员却是透明的。“执行指令那么对系统程序员和应用程序员都是不透明的。7.想在系列机中开展一种新型号机器,你认为以下哪些设想是可以考虑的,哪些那么不行的?为什.word.么?新增加字符数据类型和假设干条字符处理指令,以支持事务处理程序的编译。2为增强中断处理功能,将中断分级由原来的 4 级增加到 5 级,并重新调整中断响应的优先次序。3在 CPU 和主存之间增设 Cache 存储器,以克制因主存访问速率过低而造成的系统性能瓶颈。4为解决计算误差较大,将机器中浮点数的下溢处理方

10、法由原来的恒置“1”法,改为用 ROM 存取下溢处理结果的查表舍入法。5为增加寻址灵活性和减少平均指令字长,将原等长操作码指令改为有 3 类不同码长的扩展操作码;将源操作数寻址方式由操作码指明改成如 VAX-11 那种设寻址方式位字段指明。6将 CPU 与主存间的数据通路宽度由 16 位扩展成 32 位,以加快主机内部信息的传送。7为减少公用总路线的使用冲突,将单总线改为双总线。8把原 0 号通用存放器改作堆栈指示器。答:可以考虑的有:1,3,4,6,7。不可以考虑的有:2,5,8。原那么是看改良后能否保持软件的可移植性。P.S.为了能使软件长期稳定,就要在相当长的时期里保证系统构造根本不变,

11、因此在确定系列构造时要非常慎重。其中最主要是确定好系列机的指令系统、数据表示及概念性构造。既要考虑满足应用的各种需要和开展,又要考虑能方便地采用从低速到高速的各种组成的实现技术,即使用复杂、昂贵的组成实现时,也还能充分发挥该实现方法所带来的好处。8.并行处理计算机除分布处理、MPP 和机群系统外,有哪 4 种根本构造?列举它们各自要解决的主要问题。答:除了分布处理,MPP 和机群系统外,并行处理计算机按其根本构造特征可分为流水线计算机,阵列处理机,多处理机和数据流计算机四种不同的构造。流水线计算机主要通过时间重叠,让多个部件在时间上交划重叠地并行招待运算和处理,以实现.word.时间上的并行。

12、它主要应解决:拥塞控制,冲突防止,流水线调度等问题。阵列处理机主要通过资源重复实现空间上的并行。它主要应解决:处理单元灵活、规律的互连模式和互连网络设计,数据在存储器中的分布算法等问题。多处理机主要通过资源共享,让一组计算机在统一的操作系统全盘控制下,实现软件和硬件各级上的相互作用,到达时间和空间上的异 步并行。它主要应解决:处理机间互连等硬件构造,进程间的同上步和通讯,多处理机调度等问题。数据流计算机设有共享变量的概念,指令执行顺序只受指令中数据的相关性制约。数据是以表示某一操作数或参数已准备就绪的数据令牌直接在指令之间传递。它主要应解决:研究适宜的硬件组织和构造,高效执行的数据流语言等问题

13、。9.计算机系统的 3T 性能目标是什么?答:计算机系统的 3T 性能目标是 1TFLOPS 计算能力,1TBYTE 主存容量和 1TBYTES 的 I/O 带宽第二章第二章数据表示与指令系统数据表示与指令系统1.数据构造和机器的数据表示之间是什么关系?确定和引入数据表示的根本原那么是什么?答:数据表示是能由硬件直接识别和引用的数据类型。数据构造反映各种数据元素或信息单元之间的构造关系。数据构造要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据构造的组成元素。不同的数据表示可为数据构造的实现提供不同的支持,表现在实现效率和方便性不同。数据表示和数据构造是软件、硬件的交界面。除

14、根本数据表示不可少外,高级数据表示的引入遵循以下原那么:1看系统的效率有否提高,是否养活了实现时间和存储空间。2看引入这种数据表示后,其通用性和利用率是否高。2.标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据构造所提供的支持有什么不同?.word.答:标志符数据表示与描述符数据表示的差异是标志符与每个数据相连,合存于同一存储单元,描述单个数据的类型特性;描述符是与数据分开存放,用于描述向量、数组等成块数据的特征。描述符数据表示为向量、数组的的实现提供了支持,有利于简化高级语言程序编译中的代码生成,可以比变址法更快地形成数据元素的地址。但描述符数据表示并不支持向量

15、、数组数据构造的高效实现。而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。3.堆栈型机器与通用存放器型机器的主要区别是什么?堆栈型机器系统构造为程序调用的哪些操作提供了支持?答:通用存放器型机器对堆栈数据构造实现的支持是较差的。表现在:(1)堆栈操作的指令少,功能单一;(2)堆栈在存储器内,访

16、问堆栈速度低;(3)堆栈通常只用于保存于程序调用时的返回地址,少量用堆栈实现程序间的参数传递。而堆栈型机器那么不同,表现在:(1)有高速存放器组成的硬件堆栈,并与主存中堆栈区在逻辑上组成整体,使堆栈的访问速度是存放器的,容量是主存的;(2)丰富的堆栈指令可对堆栈中的数据进展各种运算和处理;(3)有力地支持高级语言的编译;(4)有力地支持子程序的嵌套和递归调用。堆栈型机器系统构造有力地支持子程序的嵌套和递归调用。在程序调用时将返回地址、条件码、关键存放器的内容等全部压入堆栈,待子程序返回时,再从堆栈中弹出。4.设某机阶值 6 位、尾数 48 位,阶符和数符不在其内,当尾数分别以 2、8、16 为

17、基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数、最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。解:依题意知:p=6 m=48 rm=2,8,16,m=m/log2(rm),列下表:.word.p=6,m=48,rm=2(m=48)p=6,m=48,rm=8(m=16)p=6,m=48,rm=16(m=12)最小阶(非负阶,最小为 0)000最大阶(2p-1)26-126-126-1最小尾数值(rm(-1)1/21/81/16最大尾数值(1-rm(-m)1-2(-48)1-8(-16),即(1-2(-48)1-16(-12),即(1-2(-48

18、)可表示的最小值1/21/81/16可表示的最大值263*(1-2(-48)863*(1-8(-16)1663*(1-16(-12)阶的个数(2p)262626可表示的尾数的个数248*(2-1)/2816*(8-1)/81612*(16-1)/16可表示的规格化数的个数26*248*(2-1)/226*816*(8-1)/826*1612*(16-1)/16note:可表示的最小值=rm(最小阶)*最小尾数值=rm0*rm(-1)=rm(-1);可表示的最大值=rm(最大阶)*最大尾数值=rm(2p-1)*(1-rm(-m);可表示的尾数的个数=rmm*(rm-1)/rm;可表示的规格化数的

19、个数=阶的个数*尾数的个数=2p*rmm*(rm-1)/rm。5.1浮点数系统使用的阶基 rp=2,阶值位数 p=2,尾数基值 rm=10,以 rm 为基的尾数位数 m=1,按照使用的倍数来说,等价于 m=4,试计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。2对于 rp=2,p=2,rm=4,m=2,重复以上计算。解 依题意列下表:.word.p=2,rm=10,m=1p=2,rm=4,m=2最小尾数值10-1=0.14-1=0.25最大尾数值1-10-1=0.91-4-2=15/16最大阶值2p-1=33可表示的最小值0.10.

20、25可表示的最大值103*0.9=90043*15/16=60可表示数的个数3648题中“按照使用的倍数来说,等价于 m=4,这个 m=4,因为 2310=fbyte通道极限流量应大于或等于设备对通道要求的流量 fbyte。如果字节多路通道上所挂设备台数为 m,设备的速率为 fi,为了不丧失信息,应满足:1/(TS+TD)=m*fifi 也就是设备发出字节传送请求间隔时间(500s)的倒数,所以:m=4。4.某虚拟存储器共 8 个页面,每页 1024 个字,实际主存为 4096 个字,采用页表法进展地址映象。映象表的内容如下表所示。虚页号01234567实页号31232100装入位110010

21、10注:我把虚页号加上了。(1)列出会发生页面失效的全部虚页号;(2)按以下虚地址计算主存实地址:0,3728,1023,1024,2055,7800,4096,6800。解:(1)会发生页面失效的全部虚页号为:2,3,5,7。(2)虚地址虚页号页内位移装入位实页号页内位移实地址0001303072327836560页面失效页面失效无.word.102301023131023409510241011010242055270页面失效页面失效无780076320页面失效页面失效无40964012020486800665610656656剖析:(1)根据页表法列出表 2,当装入位为 0 时,即为页面

22、失效,再找出相对应的虚页号即可。(2)虚页号=虚地址/页面大小页内位移量=虚地址虚页号*页面大小实地址实页号*页面大小页内位移量由于可以用替换算法解决页面失效的问题,所以,发生页面失效的虚页 2,3,5,7 仍然可以有相应的实地址,但这样要在页表中建立新的虚实地址对应关系,新的虚实地址对应关系和原来的对应关系一样的可能性就很小了。5、一个段页式虚拟存储器。虚地址有 2 位段号、2 位页号、11 位页内位移按字编址,主存容量为 32K 字。每段可有访问方式保护,其页表和保护位如下表所示。段号0123访问方式只读可读/执行可读/写/执行可读/写虚页 0 所在位置实页 9在辅存上页表不在主存内实页

23、14虚页 1 所在位置实页 3实页 0页表不在主存内实页 1虚页 2 所在位置在辅存上实页 15页表不在主存内实页 6虚页 3 所在位置实页 12实页 8页表不在主存内在辅存上.word.(1)此地址空间中共有多少个虚页?(2)当程序中遇到以下情况时方式段页页内位移取数取数取数存数存数存数转移至此取数取数转移至此013021102311311032001102047421410050560写出由虚地址计算出实地址。说明哪个会发生段失效、页面或保护失效失效。解答:(1)该地址空间中共有 16 个虚页。(2)程序中遇到上表中各情况时,是否会发生段失效、页失效或保护失效及相应的主存实地址的情况如下表

24、所示:方式段页页内位移段失效页失效实页号实地址保护失效取数取数取数存数0130113111020474无无无无无无有无30无3614510无6184无无/有.word.存数存数转移至此取数取数转移至此21102310320021410050560有无无无有无/有无有/无无无8无无14无无16484无无28732/无/有剖析:(1)虚地址中段号有 2 位,页号有 2 位,也就是每个程序最多只能有 22=4 个段,每个段至多只能有 22=4 页,所以该地址空间中共有 4*4=16 个虚页。(2)先从题意得知:实地址:15 位,其中实页号 4 位,页内位移 11 位页大小为 2K 字由页内位移得知6

25、.设某程序包含 5 个虚页,其页地址为 4,5,3,2,5,1,3,2,2,5,1,3。当使用 LRU 算法替换时,为获得最高命中率,至少应分配给该程序几个实页?其可能的最高命中率为多少?.word.7.采用页式管理的虚拟存储器,分时运行两道程序。其中,程序 X 为DO 50 I=1,3B(I)=A(I)-C(I)IF(B(I)LE0)GOTO 40D(I)=2*C(I)-A(I)IF(D(I)EQ0)GOTO 5040E(I)=050CONTINUEData:A=(-4,+2,0)C=(-3,0,+1)每个数组分别放在不同的页面中;而程序 Y 在运行过程中,其数组将依次用到程序空间的第3,5

26、,4,2,5,3,1,3,2,5,1,3,1,5,2 页。如果采用 LRU 算法,实存却只有 8 页位置可供存放数组之用。试问为这两首程序的数组分别分配多少个实页最为适宜?为什么?.word.解答:分别分配给程序 X 和 Y 的数组 4 个实页最为适宜。根据题意,程序 X 依次调用数组 A,C,B,B,E,A,C,B,B,C,A,D,D,E,A,C,B,B,E 中的数据。设程序 X 中的数组 A,B,C,D,E 分别存放于程序空间的第 1,2,3,4,5 页,那么程序的页地址流为:1,3,2,2,5,1,3,2,2,3,1,4,4,5,1,3,2,2,5。分析使用 LRU 算法对程序 X 的页

27、地址流进展堆栈处理的过程可知,分配给程序 X 的数组 5 个实页最为适宜;分析使用 LRU 算法对程序 Y 的页地址流进展堆栈处理的过程可知,分配给程序 Y 的数组 4个实页最为适宜。但实存只有 8 页位置可供存放数组之用,所以,分别分配给程序 X 和 Y 的数组 4 个实页。note:分时运行在微观上是串行的,就是说,分时运行时把时间划分为假设干时间片,每个程序轮流占用时间片;在宏观上是并行的,就是说,每个程序在一个时间片内并不能运行完。总的来看,是同时运行的,所以两个程序分配的实页和不能大于 8。我不了解 FORTRAN,找朋友把上面的源代码转成 C 了:main()int A=-4,2,

28、0;int C=-3,0,1;for(i=0,i0)Ei=0;.word.8.设一个按位编址的虚拟存储器,它应可对应 1K 个任务,但在一段较长时间内,一般只有 4 个任务在使用,故用容量为 4 行的相联存放器组硬件来缩短被变换的虚地址中的用户位位数;每个任务的程序空间最大可达 4096 页,每页为 512 个字节,实主存容量为 220 位;设快表用按地址访问存储器构成,行数为 32,快表的地址是经散列形成;为减少散列冲突,配有两套独立相等比拟电路。请设计该地址变换机构,内容包括:(1)画出其虚、实地址经快表变换之逻辑构造示意图;(2)相联存放器组中每个存放器的相联比拟位数;(3)相联存放器组

29、中每个存放器的总位数;(4)散列变换硬件的输入位数和输出位数;(5)每个相等比拟器的位数;(6)快表的总容量以位为单位。解:(1)依题意得知:虚地址为 34 位,其中用户号为 10 位对应 1K 的任务、虚页号 12 位每个任务 4096 页、页内位移 12 位每页 512 字节,512 字节=512*8=1024*4=212实地址为 20 位,其中实页号 8 位,页内位移 12 位与虚页页内位移对应相联存放器的作用:把 10 位的用户号转换为 2 位的 ID因为一般只有 4 个任务在使用,并把ID 与虚地址的虚页号合并到快表中查实页号。快表的作用:相当于页表,即虚页号对实页号的对应关系。但又

30、有所简化原因是如果用用户号和虚页号与实页号对应,前者就有 22 位,现改良后虚页号只有 14 位了.word.(2)相联存放器组中每个存放器的相联比拟位数为 10与虚地址中的用户号宽度对应(3)相联存放器组中每个存放器的总数为 12用户号宽度+ID 宽度(4)散列变换硬件的输入位数为 14 位虚页号宽度+相联存放器中 ID 的宽度,输出位数为 8 位与主存中的实页号宽度对应(5)每个相等比拟器的位数=ID+用户虚页号 nv=2+12=14(位)。(6)快表的总容量:32 行*14(输入位数)+8输出位数*2=32*22*29.考虑一个 920 个字的程序,其访问虚存的地址流为 20,22,20

31、8,214,146,618,370,490,492,868,916,728。(1)假设页面大小为 200 字,主存容量为 400 字,采用 FIFO 替换算法,请按访存的各个时刻,写出其虚页地址流,计算主存的命中率;(2)假设页面大小为 100 字,再做一遍;.word.(3)假设页面大小为 400 字,再做一遍;(4)由(1)、(2)、(3)的结果可得出什么结论?(5)假设把主存容量增加到 800 字,按第(1)小题再做一遍,又可得出什么结论?解:(1)主存容量 400 字,页面大小 200 字,所以主存实页数为 2;把地址流转换为页地址流,以第一个虚地址流转换为页地址流为例说明:求模公式为

32、:INT地址/页面大小,就是把地址整除于页面大小,得 INT20/200=0,下同,所以页地址流为:0,0,1,1,0,3,1,2,2,4,4,3按 FIFO 算法得出替换过程为:0调入,0命中,1调入,1命中,0命中,3替换 0,0 比 1 先入队,所以被替换,下同,1命中,2替换 1,2命中,4替换 3,4命中,3替换 2,所以总共命中 6 次。故命中率 H=6/12=50%(2)方法同1H=25%(3)H=50%(4)由以上结论可得,FIFO 算法的条件下,当页面大小发生变化时,其命中率变化是:一开场随页面大小增大命中率第一步与第二步比拟,但当页面大小增到一定时,命中率不再增加第一步与第

33、三步比拟。(5)命中率为 58%,结论是如果分配给主存容量增加时可以搞高命中率。10.在一个页式二级虚拟存储器中,采用 FIFO 算法进展页面替换,发现命中率 H 太低,因此有以下建议:(1)增大辅存容量;(2)增大主存容量(页数);(3)FIFO 改为 LRU;(4)FIFO 改为 LRU,并增大主存容量(页数);.word.(5)FIFO 改为 LRU,并增大页面大小。试分析上述各建议对命中率的影响情况。解答:(1)增大辅存容量,对命中率 H 无影响。(2)增大主存容量(页数),可普遍提高命中率。(3)FIFO 改为 LRU,一般可提高命中率。(4)FIFO 改为 LRU,并增大主存容量(

34、页数),一般可使命中率有较大提高。(5)FIFO 改为 LRU,并增大页面大小,如果原来页面很小,那么会使命中率显著上升,如果原来页面很大,那么会使命中率下降。11.采用组相联映象的 Cache 存储器,Cache 为 1KB,要求 Cache 的每一块在一个主存周期内能从主存取得。主存模 4 穿插,每个分体宽为 32 位,总容量为 256KB。用按地址访问存储器构成相联目录表实现主存地址到 Cache 地址的变换,并约定用 4 个外相等比拟电路。请设计此相联目录表,求出该表之行数、总位数及每个比拟电路的位数。解答:设 Cache 地址中的组内块号为 s,相联目录表的行数是 2(13-s),总

35、位数是(8+2s)*2(15-s),每个比拟电路的位数为 8+s。剖析:在一个主存周期内主存能访问到的字节数为 mW=4*32/8=16(Byte)。要求 Cache 的每一块在一个主存周期内能从主存取得,所以,Cache 中每块的块内字数不能大于 16Bytes。为了加速调块,一般让每块的大小等于在一个主存周期内主存能访问到的字数,即 16Bytes。设 Cache 地址中的组内块号为 s,相联目录表的行数=Cache 地址内的组数 Q=Cache 容量/(每组块数*每块大小)=1KB/(S*4*32)=213/(2s*27)=2(6-s)。主存块数/Cache 块数=256=2*8,所以,

36、主存地址中的区号 nd=8。每个比拟电路的位数=nd+s=nd+s=8+s。相联目录表的总位数=表中子目录表的个数*每个子目录表的位数*相联目录表的行数=4*(nd+s+s)*Q=4*(8+2s)*2(6-s)=(8+2s)*2(8-s)。.word.note:假设认为相等比拟电路的个数=组内块数,那么相联目录表的行数=24,每个比拟电路的位数=10,相联目录表的总位数=12*26。12.有一个 Cache 存储器。主存共分 8 个块(07),Cache 为 4 个块(03),采用组相联映象,组内块数为 2块,替换算法为近期最少使用算法(LRU)。(1)画出主存、Cache 地址的各字段对应关

37、系(标出位数)图;(2)画出主存、Cache 空间块的映象对应关系示意图;(3)对于如下主存块地址流:1,2,4,1,3,7,0,1,2,5,4,6,4,7,2,如主存中内容一开场未装入 Cache 中,请列出Cache 中各块随时间的使用状况;(4)对于(3),指出块失效又发生块争用的时刻;(5)对于(3),求出此期间 Cache 的命中率。解答:(1)主存地址、Cache 地址的各字段的位数及其对应关系如以下图所示(2)主存块、Cache 块的映象对应关系如以下图所示.word.(3)Cache 中各块随时间的使用状况如以下图所示。图中标*号的是候选替换块的块号,H:命中;R:替换;L:失

38、效。(4)发生块失效又发生块争用的时刻有 6、7、9、10、11、12、14、15。(5)Cache 的块命中率 Hc=3/15=0.2。剖析:由于主存块、Cache 块之间存在上述的映象对应关系,主存的第 0、1、4、5 块只能映象装入或替换物理 Cache 的第 0、1 块;主存的第 2、3、6、7 块只能映象装入或替换物理 Cache 的第 2、3块。13.采用组相联映象,LRU 替换算法的 Cache 存储器,发现等效访问速度不高,为此建议:(1)增大主存容量;.word.(2)增大 Cache 的块数(块的大小不变);(3)增大组相联组的大小(块的大小不变);(4)增大块的大小(组的

39、大小和 Cache 总容量不变);(5)提高 Cache 本身器件的访问速度。解答:(1)增大主存容量对 Cache 的访问时间 ta 根本不影响,从而对 Cache 的等效访问速度根本不影响。(2)增大 Cache 的块数(块的大小不变)一般将使 Cache 的命中率 Hc 上升,从而使 ta 下降,从而提高Cache 的等效访问速度。(3)增大组相联组的大小(块的大小不变)一般将使 Cache 的命中率 Hc 上升,从而使 ta 下降,从而提高 Cache 的等效访问速度。(4)增大块的大小(组的大小和 Cache 总容量不变)一般将使 ta 下降,从而提高 Cache 的等效访问速度。(

40、5)提高 Cache 本身器件的访问速度一般将缩短 ta,从而提高 Cache 的等效访问速度。14.你对 Cache 存储器的速度不满,于是申请到一批有限的经费,为能发挥其最大经济效益,有人建议你再买一些同样速度的 Cache 片子以扩大其容量;而另有人建议你干脆去买更高速的 Cache 片子将现有的低速 Cache 片子全部换掉。你认为哪种建议可取?你如何做决定?为什么?解答:Cache 本身的速度与容量都会影响 Cache 存储器的等效访问速度。如果对 Cache 存储器的等效访问速度不满,需要改良的话,就要作具体分析,看看现在 Cache 存储器的等效访问速度是否已接近于 Cache

41、本身的速度。如果差得较远,说明 Cache 的命中率低,应从提高 Cache 命中率着手,包括调整组的大小、块的大小、替换算法以及增大 Cache 容量等。如果 Cache 存储器的等效访问速度已经非常接近于 Cache 本身的速度还不能满足需要,就应该更换更高速的 Cache 片子。第五章第五章重叠、流水和向量处理机重叠、流水和向量处理机.word.1.假设指令的解释分取指、分析与执行 3 步,每步的时间相应为 t 取指、t 分析、t 执行,(1)分别计算以下几种情况下,执行完 100 条指令所需时间的一般关系式:a.顺序方式;b.仅“执行 k与“取指 k+1”重叠;c.仅“执行 k、“分析

42、 k+1”、“取指 k+2”重叠;(2)分别在 t 取指=t 分析=2、t 执行=1 及 t 取指=t 执行=5、t 分析=2 两种情况下,计算出上述各结果。解:(1)执行完 100 条指令所需时间:a.100*(t 取指+t 分析+t 执行);b.t 取指+100*t 分析+99*max(t 取指+t 执行)+t 执行;c.t 取指+max(t 取指+t 分析)+98*max(t 取指+t 分析+t 执行)+max(t 分析+t 执行)+t 执行。(2)在 t 取指=t 分析=2、t 执行=1 的情况下,执行完 100 条指令所需时间:a.500b.401c.203在 t 取指=t 执行=5

43、、t 分析=2 的情况下,执行完 100 条指令所需时间:a.1200b.705c.5102.流水线有 4 个功能部件组成,每个功能部件的延迟时间为t,当输入 10 个数据后间歇 5t 又输入 10 个数据,如此周期性地工作,求此时流水线的吞吐率,并画出时空图。解:TP=10/14t=5/7t时空图:.word.3.有 一 个浮点乘流水线如图 5.35(a)所示,其乘积可直接返回输入端或暂存于相应缓冲存放器中,画出实现A*B*C*D 的时空图以及输入端的变化,并求出该流水线的吞吐率和效率;当流水线改为图 5.35(b)形式实现同一计算时,求该流水线的效率及吞吐率。图 5.35(a)图 5.35

44、(b)解:按图 5.35(a)组织的流水线时,TP=3/13t;=3/11。实现 A*B*C*D 的时空图如图 0504 所示:图 0504.word.按图 5.35(a)组织的流水线时,TP=3/13t;=3/11。实现 A*B*C*D 的时空图如图 0504 所示:图 0505剖析:为了减少运算过程中的操作数相关,A*B*C*D 应改为(A*B)*(C*D)进展运算。4.一个 4 段的双输入端规格化浮点加法流水线,每段经过时间 10ns,输出可直接返回输入或将结果暂存于相应缓冲器中,问最少需经多少时间能求(10)(i=1)Ai,并画出时空图。答:时空图如下:.word.求(10)(i=1)

45、Ai 需要的最知时间是 170ns。剖析:为了防止先写后读相关,使流水线性能尽可能高,需将(10)(i=1)Ai 调整成(A1+A2)+(A3+A4)+(A9+A10)+(A5+A6)+(A7+A8)。5.为提高流水线效率可采用哪两种主要途径来克制速度瓶颈?现有 3 段流水线,各段经过时间依次为t、3t、t,(1)分别计算在连续输入 3 条指令时和 30 条指令时的吞吐率和效率。(2)按两种途径之一改良,画出你的流水线构造示意图,同时计算连续输入 3 条指令和 30 条指令时的吞吐率。(3)通过对(1)、(2)两小题的计算比拟可得出什么结论?解答:为提高流水线效率可采用瓶颈希再细分和瓶颈段并联

46、两种主要途径来克制速度瓶颈。(1)连续输入 3 条指令时的吞吐率 TP3=3/11t;效率3=5/11。连续输入 30 条指令时的吞吐率 TP30=15/46t;效率3=25/46。(2)改良后的流水线构造示意图大体如图 5.35(a)和图 5.35(b)。连续输入 3 条指令时的吞吐率 TP3=3/7t;效率3=3/7。.word.连续输入 30 条指令时的吞吐率 TP30=15/17t;效率3=15/17。(3)只有当连续输入流水线的指令足够多时,流水线的实际吞吐率和效率才会提高。6.有一个双输入端的加-乘双功能静态流水线,由经过时间为t、2t、2t,t 的 1、2、3、4 四个子过程构成

47、。加按 1-2-4 连接,乘按 1-3-4 连接,流水线输出设有数据缓冲器,也可将数据直接返回输入。现要执行 A*(B+C*(D+E*F)+G*H 的运算,请调整计算顺序画出能获得尽量高的吞吐率的流水时空图,标出流水线入、出端数的变化情况,求出完成全部运算的时间及此期间流水线的效率。如对流水线瓶颈子过程再细分,最少只需多少时间可完成全部运算?假设子过程 3 不能再细分,只能用并联方法改良,问流水线的效率为多少?解:根据题意,画出流水线吞吐率尽可能高的时空图如图 0507:图 0507在此期间的流水线效率=(6*4t+3*4t)/4*24t=3/8如果将瓶颈子过程 2 和 3 均细分成两个子过程

48、,那么时空图如图 0508 所示:图 0508由图可见,完成全部运算最少需要 18t。假设子过程 3 不能再细分,只能用并联方法改良,那么那么时空图如图 0509 所示:.word.图 0509这种情况下,流水线效率=(24t+12t)/6*18t=1/3剖析:因为是双功能静态流水线,为了能有高的吞吐率,应减少流水线的功能切换次数。因此,应将算法调整成先作一连串的乘,然后再切换成一连串的加。原式展开成 A*B+A*C*D+A*C*E*F+G*H,先进展乘法流水,为了减少因先写后读相关而等待的时间,应尽量安排对计算式子项数最多的乘法先进展操作,即先计算 A*C*E*F,再计算 A*C*D,.7.

49、现有长度为 8 的向量 A 和 B,请分别画出以下 4 种构造的处理器上求点积 A*B 的时空图,并求完成全部结果的最少时钟拍数。设处理器中每个部件的输出均可直接送到任何部件的输入或存入缓冲器中去,其间的传送延时不计,指令和源操作数均能连续提供。(1)处理器有一个乘法部件和一个加法部件,不能同时工作,部件内也只能以顺序方式工作,完成一次加法或乘法均需 5 拍;(2)与(1)根本一样,只是乘法部件和加法部件可并行;(3)处理器有一个乘、加法双功能静态流水线,乘、加法均由 5 个流水段构成,各段经过时间要 1 拍;(4)处理器有乘、加法两条流水线,可同时工作,各由 5 段构成,每段经过时间为 1

50、拍。解答:.word.(1)在这种构造的处理器上求点积 A*B 的时空图如图 0510 所示:图 0510完成全部运算最少需要 75 拍。(2)在这种构造的处理器上求点积 A*B 的时空图如图 0511 所示:图 0511完成全部运算最少需要 45 拍。(3)在这种构造的处理器上求点积 A*B 的时空图如图 0512 所示:图 0512.word.完成全部运算最少需要 30 拍。(4)在这种构造的处理器上求点积 A*B 的时空图如图 0513 所示:图0513完成全部运算最少需要 26 拍。剖析:向量 A*B 的点积为.word.A*B=(8)(i=1)ai*bi=a1*b1+a2*b2+a3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com