自考计算机系统结构课后习题主编:李学干代码:2325
更新时间:2023-11-16 00:11:01 阅读量: 教育文库 文档下载
- 自考计算机系统结构难吗推荐度:
- 相关推荐
计算机系统结构课后习题
第一章 计算机系统结构的基本概念
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: 由题意可知:第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操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡(硬件)上,而随着CPU、硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。
3.试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。 答: 计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。
(1)计算机的系统结构相同,但可采用不同的组成。如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
(2)相同的组成可有多种不同的实现。如主存器件可用双极型的,也可用MOS型的;可用VLSI单片,也可用多片小规模集成电路组搭。
(3)计算机的系统结构不同,会使采用的组成技术不同,反之组成也会影响结构。如为实现A:=B+CD:=E*F,可采用面向寄存器的系统结构,也可采用面向主存的三地址寻址方式的
系统结构。要提高运行速度,可让相加与相乘并行,为此这两种结构在组成上都要求设置独立的加法器和乘法器。但对面向寄存器的系统结构还要求寄存器能同时被访问,而对面向主存的三地址寻址方式的系统结构并无此要求,倒是要求能同时形成多个访存操作数地址和能同时访存。又如微程序控制是组成影响结构的典型。通过改变控制存储器中的微程序,就可改变系统的机器指令,改变结构。如果没有组成技术的进步,结构的进展是不可能的。
综上所述,系统结构的设计必须结合应用考虑,为软件和算法的实现提供更多更好的支持,同时要考虑可能采用和准备采用的组成技术。应避免过多地或不合理地限制各种组成、实现技术的采用和发展,尽量做到既能方便地在低档机上用简单便宜的组成实现,又能在高档机上用复杂较贵的组成实现,这样,结构才有生命力;组成设计上面决定于结构,下面受限于实现技术。然而,它可与实现折衷权衡。例如,为达到速度要求,可用简单的组成但却是复杂的实现技术,也可用复杂的组成但却是一般速度的实现技术。前者要求高性能的器件,后者可能造成组成设计复杂化和更多地采用专用芯片。
组成和实现的权衡取决于性能价格比等因素;结构、组成和实现所包含的具体内容随不同时期及不同的计算机系统会有差异。软件的硬化和硬件的软件都反映了这一事实。VLSI的发展更使结构组成和实现融为一体,难以分开。
4.什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的? 存储器的模m交叉存取;浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型;PDP-11系列的单总线结构;访问方式保护;程序性中断;串行、重叠还是流水控制方式;堆栈指令;存储器最小编址单位;Cache存储器。
答: 透明指的是客观存在的事物或属性从某个角度看不到。
透明的有:存储器的模m交叉存取;数据总线宽度;阵列运算部件;通道是采用结合型还是独立型;PDP-11系列的单总线结构串行、重叠还是流水控制方式;Cache存储器。 不透明的有:浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;字符行运算指令;访问方式保护;程序性中断;;堆栈指令;存储器最小编址单位。 5.从机器(汇编)语言程序员看,以下哪些是透明的?
指令地址寄存器;指令缓冲器;时标发生器;条件寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。
答: 透明的有:指令缓冲器、时标发生器、乘法器、先进先出链、移位器、主存地址寄存器。
6.下列哪些对系统程序员是透明的?哪些对应用程序员是透明的?
系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲寄存器。
答: 对系统程序员透明的有:系列机各档不同的数据通路宽度;Cache存储器;指令缓冲寄存器;
对应用程序员透明的有:系列机各档不同的数据通路宽度;Cache存储器;指令缓冲寄存器;虚拟存储器;程序状态字;“启动I/O”指令。
note: 系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器属于计算机组成,对系统和程序员和应用程序员都是透明的。
虚拟存贮器、程序状态字、“启动I/O”指令,对系统程序员是不透明的,而对应用程序员却是透明的。
“执行”指令则对系统程序员和应用程序员都是不透明的。
7.想在系列机中发展一种新型号机器,你认为下列哪些设想是可以考虑的,哪些则不行的?为什么?
新增加字符数据类型和若干条字符处理指令,以支持事务处理程序的编译。
(2)为增强中断处理功能,将中断分级由原来的4级增加到5级,并重新调整中断响应的优先次序。
(3)在CPU和主存之间增设Cache存储器,以克服因主存访问速率过低而造成的系统性能瓶颈。
(4)为解决计算误差较大,将机器中浮点数的下溢处理方法由原来的恒置“1”法,改为用ROM存取下溢处理结果的查表舍入法。
(5)为增加寻址灵活性和减少平均指令字长,将原等长操作码指令改为有3类不同码长的扩展操作码;将源操作数寻址方式由操作码指明改成如VAX-11那种设寻址方式位字段指明。 (6)将CPU与主存间的数据通路宽度由16位扩展成32位,以加快主机内部信息的传送。 (7)为减少公用总路线的使用冲突,将单总线改为双总线。 (8)把原0号通用寄存器改作堆栈指示器。
答:可以考虑的有:1,3,4,6,7。不可以考虑的有:2,5,8。 原则是看改进后能否保持软件的可移植性。
P.S.为了能使软件长期稳定,就要在相当长的时期里保证系统结构基本不变,因此在确
定系列结构时要非常慎重。其中最主要是确定好系列机的指令系统、数据表示及概念性结构。既要考虑满足应用的各种需要和发展,又要考虑能方便地采用从低速到高速的各种组成的实现技术,即使用复杂、昂贵的组成实现时,也还能充分发挥该实现方法所带来的好处。 8.并行处理计算机除分布处理、MPP和机群系统外,有哪4种基本结构?列举它们各自要解决的主要问题。
答: 除了分布处理,MPP和机群系统外,并行处理计算机按其基本结构特征可分为流水线计算机,阵列处理机,多处理机和数据流计算机四种不同的结构。
流水线计算机主要通过时间重叠,让多个部件在时间上交划重叠地并行招待运算和处理,以实现时间上的并行。它主要应解决:拥塞控制,冲突防止,流水线调度等问题。
阵列处理机主要通过资源重复实现空间上的并行。它主要应解决:处理单元灵活、规律的互连模式和互连网络设计,数据在存储器中的分布算法等问题。
多处理机主要通过资源共享,让一组计算机在统一的操作系统全盘控制下,实现软件和硬件各级上的相互作用,达到时间和空间上的异 步并行。它主要应解决:处理机间互连等硬件结构,进程间的同上步和通讯,多处理机调度等问题。
数据流计算机设有共享变量的概念,指令执行顺序只受指令中数据的相关性制约。数据是以表示某一操作数或参数已准备就绪的数据令牌直接在指令之间传递。它主要应解决:研究合适的硬件组织和结构,高效执行的数据流语言等问题。 9.计算机系统的3T性能目标是什么?
答: 计算机系统的3T性能目标是 1TFLOPS计算能力 , 1TBYTE主存容量 和 1TBYTES的I/O带宽
课后习题 第二章 数据表示与指令系统
1.数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么? 答: 数据表示是能由硬件直接识别和引用的数据类型。数据结构反映各种数据元素或信息单元之间的结构关系。
数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。数据表示和数据结构是软件、硬件的交界面。
除基本数据表示不可少外,高级数据表示的引入遵循以下原则: (1)看系统的效率有否提高,是否养活了实现时间和存储空间。
(2)看引入这种数据表示后,其通用性和利用率是否高。
2.标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?
答: 标志符数据表示与描述符数据表示的差别是标志符与每个数据相连,合存于同一存储单元,描述单个数据的类型特性;描述符是与数据分开存放,用于描述向量、数组等成块数据的特征。 描述符数据表示为向量、数组的的实现提供了支持,有利于简化高级语言程序编译中的代码生成,可以比变址法更快地形成数据元素的地址。但描述符数据表示并不支持向量、数组数据结构的高效实现。而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。
3.堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?
答: 通用寄存器型机器对堆栈数据结构实现的支持是较差的。表现在:(1)堆栈操作的指令少,功能单一;(2)堆栈在存储器内,访问堆栈速度低;(3)堆栈通常只用于保存于程序调用时的返回地址,少量用堆栈实现程序间的参数传递。
而堆栈型机器则不同,表现在:(1)有高速寄存器组成的硬件堆栈,并与主存中堆栈区在逻辑上组成整体,使堆栈的访问速度是寄存器的,容量是主存的;(2)丰富的堆栈指令可对堆栈中的数据进行各种运算和处理;(3)有力地支持高级语言的编译;(4)有力地支持子程序的嵌套和递归调用。
堆栈型机器系统结构有力地支持子程序的嵌套和递归调用。在程序调用时将返回地址、条件码、关键寄存器的内容等全部压入堆栈,待子程序返回时,再从堆栈中弹出。
4.设某机阶值6位、尾数48位,阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数、最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。
解: 依题意知:p=6 m=48 rm=2, 8, 16,m'=m/log2(rm),列下表:
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) 最大阶(2^p-1) 最小尾数值(rm^(-1)) 最大尾数值(1-rm^(-m')) 可表示的最小值 可表示的最大值 阶的个数(2^p) 可表示的尾数的个数 可表示的规格化数的个数 0 2^6-1 1/2 0 2^6-1 1/8 1-8^(-16),即(1-2^(-48)) 1/8 8^63*(1-8^(-16)) 2^6 8^16*(8-1)/8 2^6*8^16*(8-1)/8 0 2^6-1 1/16 1-16^(-12),即(1-2^(-48)) 1/16 16^63*(1-16^(-12)) 2^6 16^12*(16-1)/16 2^6*16^12*(16-1)/16 1-2^(-48) 1/2 2^63*(1-2^(-48)) 2^6 2^48*(2-1)/2 2^6*2^48*(2-1)/2 note: 可表示的最小值=rm^(最小阶)*最小尾数值=rm^0*rm^(-1)=rm^(-1); 可表示的最大值=rm^(最大阶)*最大尾数值=rm^(2^p-1)*(1-rm^(-m')); 可表示的尾数的个数=rm^m'*(rm-1)/rm;
可表示的规格化数的个数=阶的个数*尾数的个数=2^p*rm^m'*(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,重复以上计算。 解 依题意列下表:
最小尾数值 最大尾数值 最大阶值 可表示的最小值 可表示的最大值 可表示数的个数 p=2,rm=10,m'=1 10^-1=0.1 1-10^-1=0.9 2p^-1=3 0.1 10^3*0.9=900 36 p=2,rm=4,m'=2 4^-1=0.25 1-4^-2=15/16 3 0.25 4^3*15/16=60 48 题中“按照使用的倍数来说,等价于m=4,” 这个m=4,因为2^3<10<2^4,等价为实际要4个二进制位,表示RM=10为基的一位
6.由4位数(其中最低位为下溢附加位)经ROM查表舍入法,下溢处理成3位结果,设计使下溢处理平均误差接近于零的ROM表,列出ROM编码表地址与内容的对应关系。 解: ROM编码表地址与内容的对应关系
地址 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 内容 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 111 7.变址寻址和基址寻址各适用于何种场合?设计一种只用6位地址码就可指向一个大地址空间中任意64个地址之一的寻址机构。
答: 基址寻址是对逻辑地址空间到物理地址空间变换的支持,以利于实现程序的动态再定位。变址寻址是对数组等数据块运算的支持,以利于循环。将大地址空间64个地址分块,用基址寄存器指出程序所在块号,用指令中6位地址码表示该块内64 个地址之一,这样基址和变址相结合可访问大地址任意64个地址之一。比如地址空间很大,为0-1023,只用6位地址码就可以指向这1024个地址中的任意64个。
剖析: 比如地址空间很大,1024,就是分成16个块,块号放在寄存器中,块内地址放在地址位中,寄存器内容和地址位结合,就能达到要求了。 8.经统计,某机器14条指令的使用频度分别为:
0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分别求出用等长码、Huffman码、只有两种码长的扩展操作码3种编码方式的操作码平均码长。
解: 等长操作码的平均码长=4位;Huffman编码的平均码长=3.38位;只有两种码长的扩展操作码的平均码长=3.4位。
9.若某机要求:三地址指令4条,单地址指令255条,零地址指令16条。设指令字长为12位.每个地址码长为3位。问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。
答: ①不能用扩展码为其编码。
∵指令字长12位,每个地址码占3位;
∴三地址指令最多是2^(12-3-3-3)=8条, 现三地址指令需4条, ∴可有4条编码作为扩展码,
∴单地址指令最多为4×2^3×2^3=2^8=256条, 现要求单地址指令255条,∴可有一条编码作扩展码 ∴零地址指令最多为1×2^3=8条 不满足题目要求
∴不可能以扩展码为其编码。
②若单地址指令254条,可以用扩展码为其编码。 ∵依据①中推导,单地址指令中可用2条编码作为扩展码 ∴零地址指令为2×2^3=16条,满足题目要求 note:
三地址指令格式: 操作码 地址码 地址码 地址码 3位 3位 3位 3位 单地址指令格式: 操作码 地址码 9位 3位
所以前面9位由于三地址指令用了最前面3位,还有中间6位可作为编码(也就是总共可以有9位作为单地址指令的指令操作码的编码)。减去3地址指令的4条,有4*2^6=256条,但由于韪目要求要有255条,所以剩下一个编码,已经用了9位的全部编码,最后零地址指令(全部12位都可作为操作码的编码)还有1*2^3=8 (这是12位编码中最后三位的)若只要求254种,则可以有(256-254)*2^3=16条
10.某机指令字长16位。设有单地址指令和双地址指令两类。若每个地址字段为6位.且双地址指令有X条。问单地址指令最多可以有多少条? 答: 单地址指令最多为(16-X)×2^6
P.S.双地址指令最多是2^(16-6-6)=2^4=16条, 现双地址指令有X条, ∴可有(16-X)条编码作为扩展码, ∴单地址指令最多为(16-X)×2^6=256条
11.何谓指令格式的优化?简要列举包括操作码和地址码两部分的指令格式优化可采用的各种途径和思路。
答: 指令格式的优化指如何用最短位数表示指令的操作信息和地址信息,使程序中指令的平均字长最短。 ①操作码的优化
采用Huffman编码和扩展操作码编码。 ②对地址码的优化: 采用多种寻址方式;
采用0、1、2、3等多种地址制;
在同种地址制内再采用多种地址形式,如寄存器-寄存器型、寄存器-主存型、主存-主存型等;
在维持指令字在存储器内按整数边界存储的前提下,使用多种不同的指令字长度。 12.某模型机9条指令使用频率为:
ADD(加) 30% SUB(减) 24% JOM(按负转移) 6% STO(存) 7% JMP(转移) 7% SHR(右移) 2% CIL(循环) 3% CLA(清加) 20% STP(停机) 1%
要求有两种指令字长,都按双操作数指令格式编排,采用扩展操作码,并限制只能有两种操作码码长。设该机有若干通用寄存器,主存为16位宽,按字节编址,采用按整数边界存储。任何指令都在一个主存周期中取得,短指令为寄存器-寄存器型,长指令为寄存器-主存型,主存地址应能变址寻址。
(1)仅根据使用频率,不考虑其它要求,设计出全Huffman操作码,计算其平均码长; (2)考虑题目全部要求,设计优化实用的操作形式,并计算其操作码的平均码长; (3)该机允许使用多少可编址的通用寄存器? (4)画出该机两种指令字格式,标出各字段之位数;
(5)指出访存操作数地址寻址的最大相对位移量为多少个字节?
解: 第(1)和(2)中Huffman和扩展操作码的编码及平均码长如下表: 指令Ii I1 I2 I3 I4 I5 I6 I7 使用频度Pi Huffman编码 扩展操作码编码 30% 24% 20% 7% 7% 6% 3% 10 00 01 1100 1101 1110 11110 00 01 10 11000 11001 11010 11011 I8 I9 西个马pili (3)8个。
2% 1% 111110 111111 2.61 11100 11101 2.78 (4)两种指令格式如下图所示: 2位 3位 3位 OP R1 R2 操作码 寄存器1 寄存器2 5位 3位 3位 5位 OP R1 X d
操作码 寄存器1 变址寄存器 相对位移 主存逻辑地址
(5)访存操作数地址寻址的最大相对位移量为32个字节。 13.设计RISC机器的一般原则及可采用的基本技术有那些?
答: 一般原则: (1)确定指令系统时,只选择使用频度很高的指令及少量有效支持操作系统,高级语言及其它功能的指令; (2)减少寻址方式种类,一般不超过两种; (3)让所有指令在一个机器周期内完成;
(4)扩大通用寄存器个数,一般不少于32个,尽量减少访存次数; (5)大多数指令用硬联实现,少数用微程序实现; (6)优化编译程序,简单有效地支持高级语言实现。 基本技术:
(1)按RISC一般原则设计,即确定指令系统时,选最常用基本指令,附以少数对操作系统等支持最有用的指令,使指令精简。编码规整,寻址方式种类减少到1、2种。
(2)逻辑实现用硬联和微程序相结合。即大多数简单指令用硬联方式实现,功能复杂的指令用微程序实现。
(3)用重叠寄存器窗口。即:为了减少访存,减化寻址方式和指令格式,简单有效地支持高级语言中的过程调用,在RISC机器中设有大量寄存嚣,井让各过程的寄存器窗口部分重叠。 (4)用流水和延迟转移实现指令,即可让本条指令执行与下条指令预取在时间上重叠。另
外,将转移指令与其前面的一条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,使预取指令不作废,节省一个机器周期。
(5)优化设计编译系统。即尽力优化寄存器分配,减少访存次数。不仅要利用常规手段优化编译,还可调整指令执行顺序,以尽量减少机器周期等。
14.简要比较CISC机器和RISC机器各自的结构特点,它们分别存在哪些不足和问题?为什么说今后的发展应是CISC和RISC的结合?
答: CISC结构特点:机器指令系统庞大复杂。
RISC结构特点:机器指令系统简单,规模小,复杂度低。 CISC的问题:
(1)指令系统庞大,一般200条以上; (2)指令操作繁杂,执行速度很低;
(3)难以优化生成高效机器语言程序,编译也太长,太复杂;
(4)由于指令系统庞大,指令的使用频度不高,降低系统性能价格比,增加设计人员负担。 RISC的问题;
(1)由于指令少,在原CISC上一条指令完成的功能现在需多条RISC指令才能完成,加重汇编语言程序设计负担,增加了机器语言程序长度,加大指令信息流量。 (2)对浮点运算和虚拟存储支持不很强。 (3)RISC编译程序比CISC难写。
由于RISC和CISC各有优缺点,在设计时,应向着两者结合,取长补短方向发展。 课后习题 第三章 总线、中断与输入输出系统
1.简要举出集中式串行链接,定时查询和独立请求3种总线控制方式的优缺点。同时分析硬件产生故障时通讯的可靠性。 答: 控制方式 优点 缺点 (1)对“总线可用”线及其有关电路失效敏感。 (2)灵活性差,如果高优先级的部件频繁要求使用总(1)选择算法简单。 (2)控制线数少,只需要3根,串行链接 线,离总线控制器远的部件就难以获得总线使用权。 且不取决于部件数量。 (3)“总线可用”信号顺序脉动地通过各个部件,总(3)可扩充性好。 线的分配速度慢。 (4)受总线长度的限制,增减和移动部件受限制。 (1)灵活性强,部件的优先次序(1)总线的分配速度不能很高。 由程序控制。 (2)控制较为复杂。 定时查询 (2)可靠性高,不会因某个部件(3)控制线数多,需要2+log2N根。 失效而影响其它部件使用总线。 (4)可扩充性差。 (1)灵活性强,部件的优先次序由程序控制。 (1)控制较为复杂。 独立请求 (2)能方便地隔离失效部件的请(2)控制线数多,要控制N个设备,需要有2N+1根求。 (3)总线的分配速度快。 2.设中断级屏蔽位“1”对应于开放,“0”对应于屏蔽,各级中断处理程序的中断级屏蔽位设置如下: 中断处理程序级别 第1级 第2级 第3级 第4级
(1)当中断响应优先次序为1→2→3→4时,其中断处理次序是什么?
(2)如果所有的中断处理都各需3个单位时间,中断响应和中断返回时间相对中断处理时间少得多。当机器正在运行用户程序时,同时发生第2,3级中断请求,过两个单位时间,又同时发生第1,4级中断请求,试画出程序运行过程示意图。
答: (1)当中断响应优先次序为1→2→3→4时,其中断处理次序为1→3→4→2。 (2)
中断级屏蔽位 1级 2级 3级 4级 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 控制线。
3.若机器共有5级中断,中断响应优先次序为1→2→3→4→5,现要求其实际的中断处理次求序1→4→5→2→3。
(1)设计各级中断处理程序的中断级屏蔽位(令“1”对应于开放,“0”对应于屏蔽); (2)若在运行用户程序时,同时出现第4,2级中断请求,而在处理第2级中断未完成时,又同时出现第1,3,5级中断请求,请画出此程序运行过程示意图。 答:
(1)中断级屏蔽位设置如下图:
中断级屏蔽位 中断处理程序级别 第1级 第2级 第3级 第4级 第5级 12345级 级 级 级 级 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 1 (2)中断过程示意图:如图 2、4中断同时出现,进行排队器。
首先响应第2级中断请求,屏蔽字为01100,表明其对第4级中断请求开放,所以转去响应第4级中断请求并进行处理。
响应4,中断4运行结束,回2。 1、3、5进入排队器。
第2级中断请求的处理请求被中断,转去响应第1级中断请求并进行处理。 响应第5级中断请求并进行处理。 继续响应并处理第2级中断处理请求,结束后返回用户程序。
最后处理第3级中断请求。
4.简述字节多路,数组多路和选择通道的数据传送方式。
答: 字节多路通道适用于连接大量的像光电机等字符类低速设备。这些设备传送一个字符(字节)的时间很短,但字符(字节)间的等待时间很长。通道“数据宽度”为单字节,以字节交叉方式轮流为多台设备服务,使效率提高。字节多路通道可有多个子通道,同时执行多个通道程序。 数组多路通道适合于连接多台象磁盘等高速设备。这些设备的传送速率很高,但传送开始前的寻址辅助操作时间很长。通道“数据宽度”为定长块,多台设备以成组交叉方式工作,以充分利用并尽可能重叠各台高速设备的辅助操作时间。传送完K个字节数据,就重新选择下个设备。数组多路通道可有多个子通道,同时执行多个通道程序。
选择通道适合于连接象磁盘等优先级高的高速设备,让它独占通道,只能执行一道通道程序。通道“数据宽度”为可变长块,一次将N个字节全部传送完,在数据传送期只选择一次设备。 5.如果通道在数据传送期中,选择设备需9.8μs,传送一个字节数据需0.2μs。某低速设备每隔500μs发出一个字节数据传送请求,问至多可接几台这种低速设备?对于如下A~F6种高速设备,一次通讯传送的字节数不少于1024个字节,问哪些设备可以挂在此通道上?哪些则不能?其中A—F设备每发出一个字节数据传送请求的时间间隔分别为(单位为μs): 表3-5
设备 发申请间隔(μs) A 0.2 B 0.25 C 0.5 D 0.19 E 0.4 F 0.21
答: (1)至多可连接50台低速的外设。
剖析:根据题意可知:低速设备应挂接在字节多路通道上,字节多路通道的通道极限流量为: fmax.byte=1/(TS+TD)>=fbyte
通道极限流量应大于或等于设备对通道要求的流量fbyte。
如果字节多路通道上所挂设备台数为m,设备的速率为fi,为了不丢失信息,应满足: 1/(TS+TD)>=m*fi
fi也就是设备发出字节传送请求间隔时间(500μs)的倒数,所以: m<=1/((TS+TD)*f)=500/(9.8+0.2)=50(台) (2)设备B,C,E,F可以挂在此通道上,设备A,D则不能。 剖析:
思路一:从传送字节速率上入手。
A~F是高速设备,应挂接在选择通道上,选择通道的极限流量为:
fmax.select=N/(TS+N*TD)=1/((TS/N)+TD)=1/((9.8/1024)+0.2)=1/0.21(约)
通道上所挂设备的最大速率fi.max应小于或等于通道的极限流量。 由表3-5可得出
设备 传送速率(B/μs) A 1/0.2 B 1/0.25 C 1/0.5 D 1/0.19 E 1/0.4 F 1/0.21 所以,B、C、E、F可挂在该通道上。A、D不能。 思路二:从传送字节时间上入手。
对于高速设备,由于一次传送字节数不少于1024byte
∴该通道一次传送数据的时间为9.8μs+1024×0.2μs=214.6μs 由表3-5可得出每台设备发送1024字节的时间间隔分别为:
设备 传送时间(μs) A 204.8 B 256 C 512 D 194.56 E 409.6 F 215.04 ∴为使数据不丢失,B、C、E、F可挂在该通道上。A、D不能。 6.某字节多路通道连接6台外设,某数据传送速率分别如表中所列。
设备 传送速率(KB/s) 1 50 2 15 3 100 4 25 5 40 6 20 (1)计算所有设备都工作时的通道实际最大流量:
(2)如果设计的通道工作周期使通道极限流量恰好与通道最大流量相等,以满足流量设计的基本要求,同时让速率越高的设备被响应的优先级越高。当6台设备同时发出请求开始,画出此通道在数据传送期内响应和处理各外设请求的时间示意图。由此你发现了什么问题?
(3)在(2)的基础上,在哪台设备内设置多少个字节的缓冲器就可以避免设备信息丢失?那么,这是否说书中关于流量设计的基本要求是没有必要的了呢?为什么? 解: (1)实际最大流量=50+15+l00+25+40+20=250KB/S。 (2)通道响应和处理各设备请求的时间示意图
由此发现由于高速设备的响应优先级高,使低速设备2造成数据丢失。
(3)在2中各设两个字节的缓冲区即可。这并不说明流量设计的基本条件是不必要的,因为若基本条件不满足,无论设备优先级如何确定总有设备的信息会丢失。
剖析: (2)由各设备的传送字节速率可解其连续发出传送请求的时间间隔分别为:
设备 1 2 3 4 5 6 发申请间隔(μs) 20 67(约) 10 40 25 50 7.通道型I/O系统由一个字节多路通道A(其中包括两个子通道Al和A2),两个数组多路通道B1和B2及一个选择通道C构成,各通道所接设备和设备的数据传送速率如表所示。 (1)分别求出各通道应具有多大设计流量才不会丢失信息;
(2)设I/O系统流量占主存流量的1/2时才算流量平衡,则主存流量应达到多少?
通道号 子通道A1 字节多路通道 子通道A2 数组多路通道B1 数组多路通道B2 选择通道C 50 35 20 20 50 35 20 20 500 400 350 250 500 400 350 250 500 400 350 250 所接设备的数据传送速率(KB/s) 50 35 20 20 50 35 20 20 解: (1)要不丢失信息,各通道需要达到的流量:字节多路通道子通道A1:0.25KB/S;字节多路通道子通道A2:0.25KB/S;数组多路通道B1:500KB/s;数组多路通道B2:500KB/s;选择通道C:500KB/s。
(2)主存流量应达到4MB/S。
剖析: (1)设备要求字节多路通道或其子通道的实际最大流量,是该通道所接各设备的字节传送速率之和;
设备要求数组多路通道或选择通道的实际最大流量,是该通道所接各设备的字节传送速率中的最大者。
(2)I/O系统中,各种通道和子通道可以并行工作,因此,I/O系统的最大流量应等于各通道最大流量之和。
课后习题 第四章 存储体系
1.设二级虚拟存储器的TA1=10-7s、TA2=10-2s,为使存储层次的访问效率e达到最大值的80%以上,命中率H至少要求达到多少?实际上这样高的命中率是很难达到的,那么从存储层次上如何改进?
解: e=TA1/TA=TA1/(H*TA1+(1-H)*TA2)≥80%,H≥(10^5-5/4)/(10^5-1)。 这样的命中率很难达到。为了降低对H的要求,可以选择高命中率的算法,可以减少相邻两级的访问速度差和容量差(这样做不利于降低存储器的平均每位价格),可在主、辅存储器间
加一层电子磁盘,使存储体系中相邻两级的访问时间比不太大。
2、程序存放在模32单字交叉存储器中,设访存申请队的转移概率λ为25%,求每个存储周期能访问到的平均字数。当模数为16呢?由此你可得到什么结论? 解:B=[ 1-(1-λ)^m] /λ 解: 由λ=0.25,m=32 求得:B=4-4*(3/4)^32 同理,m=16时 ,B=4-4*(3/4)^16
可得出,在λ=0.25时,m=32的平均访问字数大于m=16时的平均访问字数。 3、设主存每个分体的存取周期为2μs,宽度为4个字节。采用模m多分体交叉存取,但实际频宽只能达到最大频宽的0.6倍。现要求主存实际频宽为4MB/S,问主存模数m应取多少方能使两者速度基本适配?其中m取2的幂。 解: m=4
剖析: 根据题意,模m多分体交叉的最大频宽为:分体数*单体频宽=m*分体的宽度/分体的存取周期=m*4B/2μs,所以有0.6*m*4/2>=4。
4.某虚拟存储器共8个页面,每页1024个字,实际主存为4096个字,采用页表法进行地址映象。映象表的内容如下表所示。 虚页号 实页号 装入位 0 3 1 1 1 1 2 2 0 3 3 0 4 2 1 5 1 0 6 0 1 7 0 0 注:我把虚页号加上了。
(1)列出会发生页面失效的全部虚页号;
(2)按以下虚地址计算主存实地址:0,3728,1023,1024,2055,7800,4096,6800。 解: (1)会发生页面失效的全部虚页号为:2,3,5,7。 (2) 虚地址 0 3278 1023 虚页号 0 3 0 页内位移 0 656 1023 装入位 1 0 1 实页号 3 页面失效 3 页内位移 0 页面失效 1023 实地址 3072 无 4095 1024 2055 7800 4096 6800 1 2 7 4 6 0 7 632 0 656 1 0 0 1 1 1 页面失效 页面失效 2 0 0 页面失效 页面失效 0 656 1024 无 无 2048 656 剖析:(1)根据页表法列出表2,当装入位为0时,即为页面失效,再找出相对应的虚页号即可。
(2)虚页号=虚地址/页面大小
页内位移量=虚地址-虚页号*页面大小 实地址=实页号*页面大小+页内位移量
由于可以用替换算法解决页面失效的问题,所以,发生页面失效的虚页2,3,5,7仍然可以有相应的实地址,但这样要在页表中建立新的虚实地址对应关系,新的虚实地址对应关系和原来的对应关系相同的可能性就很小了。
5、一个段页式虚拟存储器。虚地址有2位段号、2位页号、11位页内位移(按字编址),主存容量为32K字。每段可有访问方式保护,其页表和保护位如下表所示。
段号 访问方式 虚页0所在位置 虚页1所在位置 虚页2所在位置 虚页3所在位置 0 只读 实页9 实页3 在辅存上 实页12 1 可读/执行 在辅存上 实页0 实页15 实页8 2 可读/写/执行 页表不在主存内 页表不在主存内 页表不在主存内 页表不在主存内 3 可读/写 实页14 实页1 实页6 在辅存上 (1)此地址空间中共有多少个虚页? (2)当程序中遇到下列情况时
方式 取数 取数 段 0 1 页 1 1 页内位移 1 10 取数 存数 存数 存数 转移至此 取数 取数 转移至此 3 0 2 1 1 0 2 3 3 1 1 0 3 2 0 0 2047 4 2 14 100 50 5 60 写出由虚地址计算出实地址。说明哪个会发生段失效、页面或保护失效失效。 解答:(1)该地址空间中共有16个虚页。
(2)程序中遇到上表中各情况时,是否会发生段失效、页失效或保护失效及相应的主存实地址的情况如下表所示:
方式 取数 取数 取数 存数 存数 存数 转移至此 取数 取数 转移至此 段 页 0 1 1 1 3 3 0 1 2 1 1 0 1 3 0 2 2 0 3 0 页内位移 1 10 2047 4 2 14 100 50 5 60 段失效 无 无 无 无 有 无 无 无 有 无 页失效 无 无 有 无 / 有 无 有 / 无 实页号 3 0 无 3 无 无 8 无 无 14 实地址 6145 10 无 6184 无 无 16484 无 无 28732 保护失效 无 无 / 有 / / 无 / / 有 剖析: (1)虚地址中段号有2位,页号有2位,也就是每个程序最多只能有2^2=4个段,每个段至多只能有2^2=4页,所以该地址空间中共有4*4=16个虚页。 (2)先从题意得知:
实地址:15位,其中实页号4位,页内位移11位 页大小为2K字(由页内位移得知)
6.假定8*8矩阵A=(aij),顺序存放在存储器的64个单元中,用什么机关报单级互连网络可实现对该矩阵的转置变换?总共需要传送多少步?
解答: 采用单级混洗互连网络可实现对8*8矩阵的转置变换,共需传送3步。
剖析: 8*8矩阵中任一元素aij,它在存储器中所占的位置是i*8+j(即i*2^3+j)。每个元素的行坐标和列坐标均用3位表示,设b5b4b3为行下标的二进制编号,b2b1b0为列下标的二进制编号,经过3次全混洗后,元素下标号b5b4b3b2b1b0就变成了b2b1b0b5b4b3,即行下标的二进制编号改成了b2b1b0,列下标的二进制编号改成了b5b4b3,这样,就实现了矩阵的行列转置。 7.画出0~7号共8个处理器的三级混洗交换网络,在该图上实现将6号处理器数据播送给0~4号,同时将3号处理器数据播送给其余3个处理器时的各有关交换开关的控制状态。 解答:8个处理器的三级混洗交换网络及其交换开关控制状态设置如下图所示:
8.并行处理机有16个处理器要实现相当于先4组4元交换,然后是2组8元交换,再次是1组16元交换的交换函数功能,请写出此时各处理器之间所实现的互连函数的一般式,画出相应多级网络的拓扑结构图,标出各组交换形状的状态。
解答:互连函数的一般式为:Cubei(P3P2P1P0)=( ̄P3P2 ̄P1 ̄P0)。
多级立方体互连网络的拓扑结构图和第3题的图基本一致,不同之处在于,第0、1、3级的开关状态为直连,第2级的开关状态为交换。
9.具有N=2^n个输入端的Omega网络,采用单元控制。 (1)N个输入总共可有多少种不同的排列;
(2)该Omega网络通过一次可以实现的置换可有多少种是不同的;
(3)若N=8,计算出一次通过能实现的置换数占全部排列数的百分比。 解答: (1)N个输入总共可有N!种不同的排列。
(2)该Omega网络通过一次可以实现的置换可有2^((N/2)log2(N))=N^(N/2)种是不同的。 (3)若N=8,通过Omega网络一次可以实现的不重复置换有8^4=4096种;8个输入总共可实现的不重复排列有8!=40320种。所以,一次通过能实现的置换数占全部排列数的百分比为4096/40320*100%≈10.16%
10.画出N=8的立方体全排列多级网络,标出采用单元控制,实现
0→3,1→7,2→4,3→0,4→2,5→6,6→1,7→5的同时传送时的各交换开关的状态;说明为什么不会发生阻塞。
解答: 实现N=8的立方体全排列多级网络及交换形状状态如下图所示
在一到的映射时,交换开关的状态组合有许多冗余,所以不会发生阻塞。
11.在16台PE的并行处理机上,要对存放在M个分体并行存储器中的16*16二维数组实现行、列、主对角线、次对角线上各元素均无冲突访问,要求M至少为多少?此时数组在存储器中应如何存放?写出其一般规则。同时,证明这样存放同时也可以无冲突访问该二维数组中任意4*4子阵的各元素。 解答: M至少为17。
数组A中的任意一个元素Aab的存放规则:体号地址j=(4a+b)mod17,体内地址i=a, 按照对应关系将各数组元素存放到m=17的并行存储器中,如下图。由图可见,这样存放同时也可以无冲突访问该二维数组中任意4*4子阵的各元素。 1 6*16二维数组在并行存储器
中存放的例子(m=17,n=16)
存储体号j 0 0 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a00 a01 a02 a03 a04 a05 a06 a07 a08 a09 a010 a011 a012 a013 a014 a015 a11a113 a114 a115 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a110 a111 2 a21a29 a210 a211 a213 a214 a215 2 a20 a21 a22 a23 a24 a25 a26 a27 a28 a30 a31 a32 a33 a34 2 3 4 5 ... a35 a36 a37 a38 a39 a310 a311 a312 a313 a314 a315 a41 a42 a43 a44 a45 a46 a47 a48 a49 a410 a411 a412 a413 a414 a415 a40 a514 a515 a51 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a510 a511 a512 3 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 剖析: 设16*16的二维数组在并行存储器中同一列两个相邻元素地址错开的距离为δ1,同一行两个相邻元素地址错开的距离为δ2,当m取成2^2P+1时,实现无冲突访问的充分条件是δ1=2^P,δ2=1。
对于这道题来说,M=17=2^(2*2)+1,所以P=2。δ1=2^P=4,δ2=1。 数组存放的规则:体号地址j=(a*δ1+b*δ2+c)mod m(c为A00所在体号地址),i=a。
课后习题 第七章 多处理机1.多处理机在结构、程序并行性、算法、进程同步、资源分配和调试上与并行处理机有什么差别?
答:多处理机与并行处理机的主要差别是并行性的等级不同。 (1)结构灵活性。多处理机制结构灵活性高于并行处理机。
(2)程序并行性。并行处理机是操作级并行,并行性仅存在于指令内部,识别比较容易,由程序员掌握程序并行性的开发;多处理是指令、任务、作业并行,并行性主要存在于指令外部,
另外还存在于指令内部,识别比较困难,必须利用多种途径开发程序的并行性。
(3)并行任务派生。并行处理机工作能否并行工作由指令决定,多处理机必须有专门指令指明程序能否并行执行,派生的任务数是动态变化的。
(4)进程同步。并行处理机的进程同步是自然的,而多处理机必须采取同步措施。 (5)资源分配和任务调度。多处理机的资源分配和任务调度比并行处理机复杂得多。 2.多处理机有哪些基本特点?发展这种系统的主要目的可能有哪些?多处理着重解决哪些技术问题?
答:多处理机的基本特点:
多处理机具有两台以上的处理机,在操作系统控制下通过共享的主存或输入/输出子系统或高速通讯网络进行通讯.结构上多个处理机用多个指令部件分别控制,通过机间互连网络通讯;算法上不只限于处理向量数组,还要实现更多通用算法中的并行;系统管理上要更多地依靠软件手段,有效解决资源分配和管理,特别是任务分配,处理机调度,进程的同步和通讯等问题. ○使用多处理机的目的:
一是用多台处理进行多任务处理协同求解一个大而复杂的问题来提高速度,二是依靠冗余的处理机及其重组来提高系统的可靠性,适应性和可用性. 多处理着重要解决的技术问题:
(1)硬件结构上,如何解决好处理机、存储器模块及I/O子系统间的互连。 (2)如何最大限度开发系统的并行性,以实现多处理要各级的全面并行。 (3)如何选择任务和子任务的大小,即任务的粒度,使并行度高,辅助开销小。 (4)如何协调好多处理机中各并行执行任务和进程间的同步问题。
(5)如何将任务分配到多处理机上,解决好处理机调度、任务调度、任务调度和资源分配,防止死锁。 (6)一旦某个处理发生故障,如何对系统进行重新组织,而不使其瘫痪。 (7)多处理机机数增多后,如何能给编程者提供良好的编程环境,减轻程序的复杂性。 3.分别画出4*9的一级交叉开关以及用两级2×3的交叉开关组成的4×9的Delta网络,比较一下交叉开关设备量的多少?
解答:4*9的一级交叉开关如下图所示:
两级2×3的交叉开关组成的4×9的Delta网络如下图所示:
2^2*3^3有Delta网络由5个2*3的交叉开关组成,其交叉开关的结点数由一级网络的36个减少到现在Delta网络中的2*3*5=30个。
剖析: 第一级有2个2*3的交叉开关,第2级有3个2*3的交叉开关,级间采用混洗拓扑。 4.说明4*4交叉开关组成的两级16*16交叉开关网络虽节省了设备,但它是一个阻塞式网络。 答:16*16交叉开关网络需要256个开关结点,每个结点中选1的多路裁决和选择电路。采用
6.设某程序包含5个虚页,其页地址为4,5,3,2,5,1,3,2,2,5,1,3。当使用LRU算法替换时,为获得最高命中率,至少应分配给该程序几个实页?其可能的最高命中率为多少?
7.采
用页式管理的虚拟存储器,分时运行两道程序。其中,程序X为 DO 50 I=1,3 B(I)=A(I)-C(I) IF(B(I)·LE·0)GOTO 40 D(I)=2*C(I)-A(I) IF(D(I)·EQ·0)GOTO 50 40 E(I)=0 50 CONTINUE Data: A=(-4,+2,0) C=(-3,0,+1)
每个数组分别放在不同的页面中;而程序Y在运行过程中,其数组将依次用到程序空间的第3,5,4,2,5,3,1,3,2,5,1,3,1,5,2页。如果采用LRU算法,实存却只有8页位置可供存
放数组之用。试问为这两首程序的数组分别分配多少个实页最为合适?为什么? 解答: 分别分配给程序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的页地址流进行堆栈处理的过程可知,分配给程序X的数组5个实页最为合适;分析使用LRU算法对程序Y的页地址流进行堆栈处理的过程可知,分配给程序Y的数组4个实页最为合适。
但实存只有8页位置可供存放数组之用,所以,分别分配给程序X和Y的数组4个实页。 note:
分时运行在微观上是串行的,就是说,分时运行时把时间划分为若干时间片,每个程序轮流占用时间片;在宏观上是并行的,就是说,每个程序在一个时间片内并不能运行完。总的来看,是同时运行的,所以两个程序分配的实页和不能大于8。 我不了解FORTRAN,找朋友把上面的源代码转成C了: main() {
int A[]={-4,2,0}; int C[]={-3,0,1}; for (i=0,i<>0) E[i]=0; }; }; }
8.设一个按位编址的虚拟存储器,它应可对应1K个任务,但在一段较长时间内,一般只有4个任务在使用,故用容量为4行的相联寄存器组硬件来缩短被变换的虚地址中的用户位位数;每个任务的程序空间最大可达4096页,每页为512个字节,实主存容量为2^20位;设快表用按地址访问存储器构成,行数为32,快表的地址是经散列形成;为减少散列冲突,配有两套独立相等比较电路。请设计该地址
变换机构,内容包括:
(1)画出其虚、实地址经快表变换之逻辑结构示意图; (2)相联寄存器组中每个寄存器的相联比较位数; (3)相联寄存器组中每个寄存器的总位数; (4)散列变换硬件的输入位数和输出位数; (5)每个相等比较器的位数; (6)快表的总容量(以位为单位)。
解: (1)依题意得知: 虚地址为34位,其中用户号为10位(对应1K的任务)、虚页号12位(每个任务4096页)、页内位移12位(每页512字节,512字节=512*8=1024*4=2^12) 实地址为20位,其中实页号8位,页内位移12位(与虚页页内位移对应)
相联寄存器的作用:把10位的用户号转换为2位的ID(因为一般只有4个任务在使用),并把ID与虚地址的虚页号合并到快表中查实页号。
快表的作用:相当于页表,即虚页号对实页号的对应关系。但又有所简化(原因是如果用用户号和虚页号与实页号对应,前者就有22位,现改进后虚页号只有14位了)
(2)相联寄存器
组中每个寄存器的相联比较位数为10(与虚地址中的用户号宽度对应) (3)相联寄存器组中每个寄存器的总数为12(用户号宽度+ID宽度)
(4)散列变换硬件的输入位数为14位(虚页号宽度+相联寄存器中ID的宽度),输出位数为8位(与主存中的实页号宽度对应)
(5)每个相等比较器的位数=ID+用户虚页号nv'=2+12=14(位)。
(6)快表的总容量:32行*(14(输入位数)+8(输出位数))*2=32*22*2
9.考虑一个920个字的程序,其访问虚存的地址流为20,22,208,214,146,618,370,490,492,868,916,728。
(1)若页面大小为200字,主存容量为400字,采用FIFO替换算法,请按访存的各个时刻,写出其虚页地址流,计算主存的命中率; (2)若页面大小为100字,再做一遍; (3)若页面大小为400字,再做一遍;
(4)由(1)、(2)、(3)的结果可得出什么结论?
(5)若把主存容量增加到800字,按第(1)小题再做一遍,又可得出什么结论? 解: (1)主存容量400字,页面大小200字,所以主存实页数为2;
把地址流转换为页地址流,以第一个虚地址流转换为页地址流为例说明:求模公式为:INT(地址/页面大小),就是把地址整除于页面大小,得INT(20/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)方法同(1)H=25% (3)H=50%
(4)由以上结论可得,FIFO算法的条件下,当页面大小发生变化时,其命中率变化是:一开始随页面大小增大命中率(第一步与第二步比较),但当页面大小增到一定时,命中率不再增加(第一步与第三步比较)。
(5)命中率为58%,结论是如果分配给主存容量增加时可以搞高命中率。
10. 在一个页式二级虚拟存储器中,采用FIFO算法进行页面替换,发现命中率H太低,因此有下列
建议:
(1)增大辅存容量; (2)增大主存容量(页数); (3)FIFO改为LRU;
(4)FIFO改为LRU,并增大主存容量(页数); (5)FIFO改为LRU,并增大页面大小。 试分析上述各建议对命中率的影响情况。 解答:(1)增大辅存容量,对命中率H无影响。 (2)增大主存容量(页数),可普遍提高命中率。 (3)FIFO改为LRU,一般可提高命中率。
(4)FIFO改为LRU,并增大主存容量(页数),一般可使命中率有较大提高。
(5)FIFO改为LRU,并增大页面大小,如果原来页面很小,则会使命中率显著上升,如果原来页面很大,则会使命中率下降。
11.采用组相联映象的Cache存储器,Cache为1KB,要求Cache的每一块在一个主存周期内能从主存取得。主存模4交叉,每个分体宽为32位,总容量为256KB。用按地址访问存储器构成相联目录表实现主存地址到Cache地址的变换,并约定用4个外相等比较电路。请设计此相联目录表,求出该表之行数、总位数及每个比较电路的位数。
解答: 设Cache地址中的组内块号为s,相联目录表的行数是2^(13-s),总位数是(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)=2^13/(2^s*2^7)=2^(6-s)。
主存块数/Cache块数=256=2*8,所以,主存地址中的区号nd=8。每个比较电路的位数=nd+s'=nd+s=8+s。
相联目录表的总位数=表中子目录表的个数*每个子目录表的位数*相联目录表的行数=4*(nd+s'+s)*Q=4*(8+2s)*2^(6-s)=(8+2s)*2^(8-s)。 note:
正在阅读:
自考计算机系统结构课后习题主编:李学干代码:232511-16
机械基础课程设计模板08-13
毕业设计论文(吴应福)18 - 图文06-24
GSM中级题库单选题_中级04-28
2016春人教版英语七年级下册 综合训练测试包 Unit 6 同步验收练05-07
河北省2022年中考英语真题试题含答案04-13
补写句子专题训练01-22
对摩根索“权力均衡”理论的思考12-03
赞美祖国英语演讲稿材料学习范文03-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 李学
- 课后
- 习题
- 自考
- 主编
- 结构
- 代码
- 计算机
- 系统
- 2325
- sap2000使用解析
- 2019电大纳税筹划答案
- 华中科技大学大物(下)9、10章答案
- 中小学音乐教师招聘考试笔试-专业基础知识(附答案)
- 管理经济学练习题1
- 人文地理学试卷
- 苏教版小学信息技术毕业试题及答案
- 致各位准业主和债权人同胞们
- 劳务派遣人员工伤赔偿问题
- 广东电大11春美学原理3,4章
- 纸张中英文对照表
- 黑龙江省绥滨县第一中学2018 - 2019学年高二地理上学期期末考试试题无答案 - 图文
- 转炉炼钢 - 图文
- 某市政道路和排水工程监理规划
- 北外 跨文化管理 作业Assignment 02
- 口译教程参考答案(雷天放主编)-1-20课更新
- 压力容器设计工作中应注意的几个问题
- 氮循环与环境问题的应对举措
- 最新人教版数学三年级下第二单元弹性作业 - 图文
- 资产评估单选题