计算机系统结构 第三章(习题解答)
- 格式:doc
- 大小:544.50 KB
- 文档页数:11
第3章 部分习题参考答案3.2 (题目略)【解】overlap o i cpu T T T T -+=/,其中T overlap 的最大值为T cup 。
由题意可得当CPU 速度提高4倍后,T =30/4+20-30/4=20(s)。
(注:T overlap 为CPU 和I/O 重叠执行的时间)3.7 (题目略)【解】(1)处理机响应各中断源的中断请求的先后次序与它们的中断优先级一样:D 1D 2D 3D 4D 5;实际的中断处理次序为:D 1D 2D 3D 4D 5。
(2)处理机响应各中断源的中断请求的先后次序与它们的中断优先级一样:D 1D 2D 3D 4D 5;实际的中断处理次序为: D 4D 5 D 3 D 2D 1。
(3)处理机响应各中断源的中断服务请求和实际运行中断服务程序过程的示意图如下:(4)处理机响应各中断源的中断服务请求和实际运行中断服务程序过程的示意图如下:3.9 (题目略)【解】字节多路通道适用于连接大量像光电机等字符类低速设备。
这些设备传送一个字中断请求D 3,D 4,D 5时间tD 1, D 2 中断请求主程序中断服务程序 D 1,D 2,D 3,D 4,D 5 时间t符(字节)的时间很短,但字符(字节)间的等待时间很长。
通道“数据宽度”为单字节,以字节交叉方式轮流为多台设备服务,使效率提高。
字节多路通道可有多个子通道,同时执行多个通道程序。
数组多路通道适合于连接多台像磁盘等高速设备。
这些设备的传送速率很高,但传送开始前的寻址辅助操作时间很长。
通道“数据宽度”为定长块,多台设备以成组交叉方式工作,以充分利用并尽量重叠各台高速设备的辅助操作时间。
传送完K个字节数据,就重新选择下个设备。
数组多路通道可有多个子通道,同时执行多个通道程序。
选择通道适合于连接像磁盘等优先级高的高速设备,让它独占通道,只能执行一道通道程序。
通道“数据宽度”为可变长块,一次将N个字节全部传送完,在数据传送期只选择一次设备。
第3章计算机网络体系结构一、填空题1.协议主要由(语法)、(语义)和(同步)三个要素组成。
2.OSI模型分为(物理层)、(数据链路层)、(网络层)、(传输层)、(会话层)、(表示层)和(应用层)七个层次。
3.OSI模型分为(资源子网)和(通信子网)两个部分。
4.物理层定义了(机械特性)、(电气特性)、(功能特性)和(规程特性)四个方面的内容。
5.数据链路层处理的数据单位称为(帧)。
6.数据链路层的主要功能有(链路管理)、(成帧)、(信道共享)、(帧同步)、(流量控制)、(差错控制)、(透明传输)和(寻址)。
7.在数据链路层中定义的地址通常称为(硬件地址)或(物理地址)。
8.网络层所提供的服务可以分为两类:(面向连接的)服务和(无连接的)服务。
9.传输层的功能包括(服务选择)、(连接管理)、(流量控制)、(拥塞控制)和(差错控制)等。
二、名词解释同步协议实体对等层对等层通信服务 CIDR 协议数据单元服务数据单元同步同步指的是广义的、在一定条件下发生什么事情的特性,而且条件和时间有关,具有时序的含义。
协议计算机网络中意图进行通信的结点必须要遵守一些事先约定好的规则。
这些为进行数据交换而建立的规则、标准或约定即称为协议,也称为网络协议。
实体任何接收或者发送数据的硬件单元或者软件进程模块都可以称为通信实体,简称实体。
对等层不同的网络结点,若它们遵循的是同一种网络体系结构的话,那么在不同结点上完成同样功能的层次称为对等层。
对等层通信在分层的网络体系结构中,每个层次只知道自己从上层接收来数据并处理后再传递给下一层,结果通信目的方该层次的对等层就收到与己方处理的一模一样的数据。
就好像在两个对等层之间有一条“通道”直接把数据传送过去一样,这种情况就称为对等层通信。
服务下一层能被上一层看见的功能称为服务。
协议数据单元、服务数据单元对等层上传送的数据单位称为协议数据单元,而直接相邻的两个层次之间交换的数据单位称为服务数据单元。
word 文档下载后可自由复制编辑你计算机系统结构清华第 2 版习题解答word 文档下载后可自由复制编辑1 目录1.1 第一章(P33)1.7-1.9 (透明性概念),1.12-1.18 (Amdahl定律),1.19、1.21 、1.24 (CPI/MIPS)1.2 第二章(P124)2.3 、2.5 、2.6 (浮点数性能),2.13 、2.15 (指令编码)1.3 第三章(P202)3.3 (存储层次性能), 3.5 (并行主存系统),3.15-3.15 加 1 题(堆栈模拟),3.19 中(3)(4)(6)(8)问(地址映象/ 替换算法-- 实存状况图)word 文档下载后可自由复制编辑1.4 第四章(P250)4.5 (中断屏蔽字表/中断过程示意图),4.8 (通道流量计算/通道时间图)1.5 第五章(P343)5.9 (流水线性能/ 时空图),5.15 (2种调度算法)1.6 第六章(P391)6.6 (向量流水时间计算),6.10 (Amdahl定律/MFLOPS)1.7 第七章(P446)7.3 、7.29(互连函数计算),7.6-7.14 (互连网性质),7.4 、7.5 、7.26(多级网寻径算法),word 文档下载后可自由复制编辑7.27 (寻径/ 选播算法)1.8 第八章(P498)8.12 ( SISD/SIMD 算法)1.9 第九章(P562)9.18 ( SISD/多功能部件/SIMD/MIMD 算法)(注:每章可选1-2 个主要知识点,每个知识点可只选 1 题。
有下划线者为推荐的主要知识点。
)word 文档 下载后可自由复制编辑2 例 , 习题2.1 第一章 (P33)例 1.1,p10假设将某系统的某一部件的处理速度加快到 10倍 ,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知: Fe=0.4, Se=10,根据 Amdahl 定律S n To T n1 (1Fe )S n 1 10.6 0.4100.64 Fe Se 1.56word 文档 下载后可自由复制编辑例 1.2,p10采用哪种实现技术来求浮点数平方根 FPSQR 的操作对系统的性能影响较大。
计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录片上地址模块内部体号模式5: 4高阶交叉4低阶交叉16存储器模块每4个形成一个大模块:片上地址模块内部体号模式6: 4并行访问4低阶交叉31 0模块片上地址模块号输出选择(1)所有这些存储器可以并行工作,因此带宽可以增加一般来说,并行内存访问的优点是简单且易于实现,缺点是访问冲突大。
高阶交错存储器具有扩展方便、存取效率低的优点。
低阶交叉存取存储器可以分时方式提高速度46,但扩展不方便。
(2)各种存储器的带宽与其工作频率有关。
不考虑冲突,如果有足够多的独立控制电路和寄存器,那么它们的带宽是相同的。
(3)存储器原理图注意,并行存取存储器非常类似于低阶交叉存取存储器,除了并行存取存储器使用存储器模块号(存储体号)来选择输出结果,而低阶交叉存取存储器用于为存储器模块(存储体)生成芯片选择信号,这通过流水线操作提高了存取速度。
3.14在页面虚拟内存中,一个程序由从P1到P5的5个虚拟页面组成程序执行过程中依次访问的页面如下:P2、P3、P2、P1、P5、P2、P4、P5、P3、P2、P5、P2假设系统为该程序的主存储器分配三个页面,主存储器的三个页面分别由先进先出、先进先出和优化调度(1)绘制主内存页面条目、替换和命中的表(2)计算三种页面替换算法的页面命中率3.15(1)当分配的主内存页的数量大于或等于5时,可以达到最高的页命中率,除了第一次调入未命中,所有访问都在47: 7实际命中之后,因此可以达到的最高页命中率是H?7?0.5833 12(2)由于当页面数大于或等于5时肯定可以达到最高的命中率,让我们看看当页面数小于5时是否可以达到命中率:当由分配的主存储器页面数等于4时,调度过程如下:489 LFU算法4调用中4 5 4 5 3 4 5* 3 2调用中4 5 3 2命中1 5 3* 2调用中1 5 3 2*命中1 5 3* 2命中1 5* 3 2命中1 5 3 2命中1 5 3* 2命中1 5 3 * 2命中1 5 3 2命中1 5 3 2命中1 5 3 2命中7调用中此时也能达到最高命中率。
计算机系统结构-第三章(习题解答)1. 什么是存储系统?对于一个由两个存储器M 1和M 2构成的存储系统,假设M1的命中率为h ,两个存储器的存储容量分别为s 1和s 2,存取时间分别为t 1和t 2,每千字节的成本分别为c 1和c 2。
⑴ 在什么条件下,整个存储系统的每千字节平均成本会接近于c 2? ⑵ 该存储系统的等效存取时间t a 是多少?⑶ 假设两层存储器的速度比r=t 2/t 1,并令e=t 1/t a 为存储系统的访问效率。
试以r 和命中率h 来表示访问效率e 。
⑷ 如果r=100,为使访问效率e>0.95,要求命中率h 是多少?⑸ 对于⑷中的命中率实际上很难达到,假设实际的命中率只能达到0.96。
现在采用一种缓冲技术来解决这个问题。
当访问M 1不命中时,把包括被访问数据在内的一个数据块都从M 2取到M 1中,并假设被取到M 1中的每个数据平均可以被重复访问5次。
请设计缓冲深度(即每次从M 2取到M 1中的数据块的大小)。
答:⑴ 整个存储系统的每千字节平均成本为:12s 1s 2c 2s 1s 1c 2s 1s 2s 2c 1s 1c c ++⨯=+⨯+⨯=不难看出:当s1/s2非常小的时候,上式的值约等于c2。
即:s2>>s1时,整个存储器系统的每千字节平均成本会接近于c2。
⑵ 存储系统的等效存取时间t a 为:2t )h 1(1t h t a ⨯-+⨯=⑶r)h 1(h 1t )h 1(t h t t t e 211a 1⨯-+=⨯-+⨯==⑷ 将数值代入上式可以算得:h>99.95% ⑸通过缓冲的方法,我们需要将命中率从0.96提高到0.9995。
假设对存储器的访问次数为5,缓冲块的大小为m 。
那么,不命中率减小到原来的1/5m ,列出等式有:m596.0119995.0--= 解这个方程得:m=16,即要达到⑷中的访问效率,缓冲的深度应该至少是16(个数据单位)。
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块J CB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第3章计算机网络体系结构(习题答案)————————————————————————————————作者:————————————————————————————————日期:2第3章计算机网络体系结构一、填空题1.协议主要由(语法)、(语义)和(同步)三个要素组成。
2.OSI模型分为(物理层)、(数据链路层)、(网络层)、(传输层)、(会话层)、(表示层)和(应用层)七个层次。
3.OSI模型分为(资源子网)和(通信子网)两个部分。
4.物理层定义了(机械特性)、(电气特性)、(功能特性)和(规程特性)四个方面的内容。
5.数据链路层处理的数据单位称为(帧)。
6.数据链路层的主要功能有(链路管理)、(成帧)、(信道共享)、(帧同步)、(流量控制)、(差错控制)、(透明传输)和(寻址)。
7.在数据链路层中定义的地址通常称为(硬件地址)或(物理地址)。
8.网络层所提供的服务可以分为两类:(面向连接的)服务和(无连接的)服务。
9.传输层的功能包括(服务选择)、(连接管理)、(流量控制)、(拥塞控制)和(差错控制)等。
二、名词解释同步协议实体对等层对等层通信服务 CIDR 协议数据单元服务数据单元同步同步指的是广义的、在一定条件下发生什么事情的特性,而且条件和时间有关,具有时序的含义。
协议计算机网络中意图进行通信的结点必须要遵守一些事先约定好的规则。
这些为进行数据交换而建立的规则、标准或约定即称为协议,也称为网络协议。
实体任何接收或者发送数据的硬件单元或者软件进程模块都可以称为通信实体,简称实体。
对等层不同的网络结点,若它们遵循的是同一种网络体系结构的话,那么在不同结点上完成同样功能的层次称为对等层。
对等层通信在分层的网络体系结构中,每个层次只知道自己从上层接收来数据并处理后再传递给下一层,结果通信目的方该层次的对等层就收到与己方处理的一模一样的数据。
就好像在两个对等层之间有一条“通道”直接把数据传送过去一样,这种情况就称为对等层通信。
计算机体系结构习题三一、(10分)某台主频为400MHz的计算机执行标准测试程序,程序中指令类二、(10分)计算机系统中有三个部件可以改进,这三个部件的改进加速比为:部件加速比1=30;部件加速比2=20;部件加速比3=10 (1)如果部件1和部件2在整个系统运行时间中所占的比例均为30%,那么当部件3的比例为多少时,系统加速比才可以达到10?(2)如果三个部件的所占比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?三、(5分)根据CPU中保存操作数的存储器类型,可以把指令集结构分为哪些类型?四、(10分)在MIPS流水线上运行如下代码序列:LOOP:LW R1,0(R2)DADDIU R1,R1,#1SW R1,0(R2)DADDIU R2,R2,#4DSUB R4,R3,R2BNEZ R4,LOOP其中:R3的初值是R2+396。
假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中可对同一个寄存器在前半周期写,而在后半周期读。
那么:(1)在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图。
假设采用暂停流水线的策略处理分支指令,且所有的存储器访问都命中Cache,那么执行上述循环需要多少个时钟周期?(2)假设该流水线有通常的定向路径,请画出该指令序列执行的流水线时空图。
假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都命中Cache,那么执行上述循环需要多少个时钟周期?(3)假设该流水线有通常的定向路径和一个时钟周期的延迟分支,请对该循环中的指令进行调度,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数。
请画出该指令序列执行的流水线时空图,并计算执行上述循环所需要的时钟周期数。
五、(10分)假设某程序各种分支指令数占所有指令数的百分比如下:现有一条段数为4的流水线,无条件分支在第2个时钟周期结束时就被解析出来,而条件分支要到第3个时钟周期结束时才能够被解析出来。
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
1. 什么是存储系统?对于一个由两个存储器M 1和M 2构成的存储系统,假设M1的命中率为h ,两个存储器的存储容量分别为s 1和s 2,存取时间分别为t 1和t 2,每千字节的成本分别为c 1和c 2。
⑴ 在什么条件下,整个存储系统的每千字节平均成本会接近于c 2? ⑵ 该存储系统的等效存取时间t a 是多少?⑶ 假设两层存储器的速度比r=t 2/t 1,并令e=t 1/t a 为存储系统的访问效率。
试以r 和命中率h 来表示访问效率e 。
⑷ 如果r=100,为使访问效率e>0.95,要求命中率h 是多少?⑸ 对于⑷中的命中率实际上很难达到,假设实际的命中率只能达到0.96。
现在采用一种缓冲技术来解决这个问题。
当访问M 1不命中时,把包括被访问数据在内的一个数据块都从M 2取到M 1中,并假设被取到M 1中的每个数据平均可以被重复访问5次。
请设计缓冲深度(即每次从M 2取到M 1中的数据块的大小)。
答:⑴ 整个存储系统的每千字节平均成本为:12s 1s 2c 2s 1s 1c 2s 1s 2s 2c 1s 1c c ++⨯=+⨯+⨯=不难看出:当s1/s2非常小的时候,上式的值约等于c2。
即:s2>>s1时,整个存储器系统的每千字节平均成本会接近于c2。
⑵ 存储系统的等效存取时间t a 为:2t )h 1(1t h t a ⨯-+⨯=⑶r)h 1(h 1t )h 1(t h t t t e 211a 1⨯-+=⨯-+⨯==⑷ 将数值代入上式可以算得:h>99.95% ⑸通过缓冲的方法,我们需要将命中率从0.96提高到0.9995。
假设对存储器的访问次数为5,缓冲块的大小为m 。
那么,不命中率减小到原来的1/5m ,列出等式有:m596.0119995.0--= 解这个方程得:m=16,即要达到⑷中的访问效率,缓冲的深度应该至少是16(个数据单位)。
2. 要求完成一个两层存储系统的容量设计。
第一层M 1是Cache ,其容量有三种选择:64KB 、128KB 和256KB ,它们的命中率分别为0.7、0.9和0.98;第二层M 2是主存储器,其容量为4MB 。
并设两个存储器的存取时间分别为t 1和t 2,每千字节的成本分别为c 1和c 2。
如果c 1=20c 2和t 2=10t 1。
⑴ 在t 1=20ns 的条件下,分别计算三种存储系统的等效存取时间。
⑵ 如果c 2=0.2美元/KB ,分别计算三种存储系统每千字节的平均成本。
⑶ 对三种存储系统的设计作一个比较,并分别按平均成本和等效存取时间指出它们性能的排列次序。
⑷ 根据等效存取时间和平均成本的乘积,选择最优的设计。
答: ⑴∵ )ns (h 180200200)h 1(h 202t )h 1(1t h t a -=-+=⨯-+⨯= ∴ 三种存储系统的等效存取时间分别为:ns 747.0180200h 180200t 1a =⨯-=-= ns 389.0180200h 180200t 2a =⨯-=-= ns 6.2398.0180200h 180200t 3a =⨯-=-=⑵三种存储系统每千字节的平均成本为:KB /$26.0KB10244KB 64KB10244KB /$2.0KB 64KB /$42s 1s 2s 2c 1s 1c c 1a ≈⨯+⨯⨯+⨯=+⨯+⨯=KB /$32.0KB10244KB 128KB 10244KB /$2.0KB 128KB /$42s 1s 2s 2c 1s 1c c 2a ≈⨯+⨯⨯+⨯=+⨯+⨯=KB /$42.0KB10244KB 256KB 10244KB /$2.0KB 256KB /$42s 1s 2s 2c 1s 1c c 3a ≈⨯+⨯⨯+⨯=+⨯+⨯=⑶ 按照平均成本来说c a1<c a2<c a3,按照等效存取时间来说t a3<t a2<t a1。
⑷3. 有16个存储器模块,每个模块的容量为4M字节,字长为32位。
现在要用这16个存储器模块构成一个主存储器,有如下几种组织方式:方式1:16个存储器模块采用高位交叉方式构成存储器。
方式2:16个存储器模块构成并行访问存储器。
方式3:16个存储器模块采用低位交叉方式构成存储器。
方式4:2路高位交叉8路低位交叉构成存储器。
方式5:4路高位交叉4路低位交叉构成存储器。
方式6:4路并行访问4路低位交叉构成存储器。
⑴写出各种存储器的地址格式。
⑵比较各种存储器的优缺点。
⑶不考虑访问冲突,计算各种存储器的频带宽度。
⑷画出各种存储器的逻辑示意图。
答:⑴各种存储器的地址格式如下:方式1:16个模块高位交叉高低方式2:16个模块并行访问高低方式3:16个模块低位交叉高低方式4:2路高位交叉8路低位交叉高低1bit组号20bit模块内地址2bit字地址3bit模块号方式5:4路高位交叉4路低位交叉高低2bit组号20bit模块内地址2bit字地址2bit模块号方式6:4路并行访问4路低位交叉高低20bit模块内地址2bit字地址2bit组号2bit多路选择⑵这几种存储器都能够并行工作,因此一般而言都可以用来提高内存的吞吐率。
但他们也有所区别:并行访问存储器的优点是实现简单、容易,缺点是访问冲突大;高位交叉访问存储器的优点是扩充方便,但是因为访问冲突太大,一般不用于并行存取,缺点是访问效率不高;低位交叉访问存储器可以用分时的方法来提高速度,但扩充不方便。
⑶各种存储器的频带宽度和他们的并行程度有关,在不考虑冲突的情况下,如果有足够多的独立控制电路和寄存器,那么,他们的频带宽度是相同的。
但是,高位交叉访问存储器一般不用于并行存取,因此频带宽度最小。
⑷方式1:16个模块高位交叉方式2:16个模块并行访问方式3:16个模块低位交叉注意:并行访问存储器和低位交叉访问存储器很相象,只不过,并行访问存储器使用存储模块号(存储体号)来对已经输出的结果进行选择,而低位交叉访问存储器则用来生成对存储模块(存储体)的片选信号,他通过流水的方式来提高访问的速度。
前者用一套存储器控制电路,后者用多套(与交叉模块数相等)存储器控制电路。
方式4:2路高位交叉8路低位交叉方式5:4路高位交叉4路低位交叉方式6:4路并行访问4路低位交叉4. 一个程序由5个虚页组成,采用LRU 替换算法,在程序执行过程中依次访问的页地址流如下:P4,P5,P3,P2,P5,P1,P3,P2,P3,P5,P1,P3⑴ 可能的最高页命中率是多少?⑵ 至少要分配给该程序多少个主存页面才能获得最高的命中率?⑶ 如果在程序执行过程中每访问一个页面,平均要对该页面内的存储单元访问1024次,求访问存储单元的命中率。
答: ⑴在分配的主存页面数目足够大的情况下,除了第一次调入不命中,以后的访问均命中,可以达到最高的页面命中率,即:实际命中的次数为7次,所以可能达到的最高页面命中率为:5833.0127H ≈=⑵由于在页面数大于等于5的情况下,肯定可以达到最高命中率,所以我们来看页面数小于5时能否达到该命中率:若分配的主存页面数等于4时,调度过程如下: 访问流 P4 P5 P3 P2 P5 P1 P3 P2 P3 P5 P1 P3 统计 LRU4444* 4* 1111 1* 11 命中此时也可以达到最高命中率;若分配的主存页面等于3时,调度过程如下:此时不能达到最高命中率。
所以至少应该分配4个主存页面。
⑶我们假设程序每次只访问一个存储单元,这样,对每一个特定页面的访问过程可以描述如下:因为第一次总是不命中的,而平均起来,随后的1023次总是命中的,然后再次被调出主存,并再次重复先前的过程。
所以访问存储单元的命中率为:999.010241023H ≈=5. 假设在一个采用组相联映象方式的Cache 中,主存由B0~B7共8块组成,Cache 有2组,每组2块,每块的大小为16个字节,采用LRU 块替换算法。
在一个程序执行过程中依次访问这个Cache 的块地址流如下:B6,B2,B4,B1,B4,B6,B3,B0,B4,B5,B7,B3⑴ 写出主存地址的格式,并标出各字段的长度。
⑵ 写出Cache 地址的格式,并标出各字段的长度。
⑶ 画出主存与Cache 之间各个块的映象对应关系。
⑷ 如果Cache 的各个块号为C0、C1、C2和C3,列出程序执行过程中Cache的块地址流情况。
⑸ 如果采用FIFO 替换算法,计算Cache 的块命中率。
⑹ 如果采用LRU 替换算法,计算Cache 的块命中率。
⑺ 如果改用全相联映象方式,再做⑸和⑹,可以得到什么结论?⑻ 如果在程序执行过程中,每从主存装入一块到Cache ,则平均要对这个块访问16次。
请计算在这种情况下的Cache 命中率。
答:⑴ 主存地址的格式为:高 低⑵ Cache 地址的格式为:高低⑶主存的组到Cache 的组之间是直接映象,对应组的块之间是全相联映象。
即:主存块0、1、4、5只能装入Cache 块0、1的任何块位置上,主存块2、3、6、7只能装入Cache 块2、3的任何块位置上。
⑷由于主存按Cache 大小分区,因此去掉主存块地址中的区号就可以得出满足组相联映象关系的一种Cache 块地址,所以该主存块地址流相应的一种Cache 的块地址流为:321 076 5 4 3 2 10 第0组第1组 第0组第1组第0区第1区第0组第1组Cache 主存⑸采用FIFO替换算法,Cache的块命中率为:3/12=0.25。
⑹采用LRU替换算法,Cache的块命中率为:4/12≈0.33。
⑺采用全相联映象、FIFO替换算法,Cache的块命中率为:4/12≈0.33。
采用全相联映象、LRU替换算法,Cache的块命中率为:3/12=0.25。
结论:Cache的命中率与地址流分布情况、替换算法、相联度等因素有关。
⑻Cache命中率为:H=15/16=93.75%。