清华大学计算机系高性能所文档格式.docx
《清华大学计算机系高性能所文档格式.docx》由会员分享,可在线阅读,更多相关《清华大学计算机系高性能所文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
假定三个处理机的指令系统相同,它们的指令执行时间与存储器的平均存取周期成正比。
如果执行某个程序时,所需指令或数据再高速缓冲存储器中取到的概率是P=0.6,那么这三个处理机按处理速度由快到慢的顺序应当是__a__。
当P=0.75时,则其顺序应当是__b__。
当P=0.95时,则其顺序应当是__c__。
当P=__d__时,处理机A和B的处理速度最接近。
当P=__e__时,处理机B和C的处理速度最接近。
Ca
Cb
Cc
Ma
Mb
Mc
存储容量
8KB
2MB
存取周期
60ns
80ns
100ns
1us
0.9us
0.8us
a、b、c供选择的答案:
(1)A、B、C
(2)A、C、B(3)B、A、C(4)B、C、A
(5)C、A、B(6)C、B、A
d、e供选择的答案:
(1)0.6
(2)0.7(3)0.8(4)0.9
a—(6)b—(6)c—
(1)d—(3)e—(3)
5.回答应填入下列关于虚拟存储系统的叙述的空格内的正确答案:
一个虚拟存储系统由容量Sm1=8MB的主存和容量Sm2=800MB的辅存的两级存储器所构成。
主存每位平均代价C1=10个单位成本,辅存每位平均代价C2=1个单位成本,相对CPU而言,从主存读出时间Ta1=500ns,从辅存读出时间Ta2=5ms。
为了测定是否达到高的存取速率和低的位成本等,可以统计一组Benchmark程序,获得访问主存次数R1=8*10
,访问辅存次数R2=8*10
。
那么,本虚拟存储系统的两级存储器的读出时间比r=___,每位平均代价C=____单位成本,命中率H=____,平均读出时间Ta=___us,虚存读出效率e=____。
r=Ta2/Ta1=10
;
C=(C1*Sm1+C2*Sm2)/(Sm1+Sm2)=1.089单位成本
H=R1/(R1+R2)=0.998
Ta=H*Ta1+(1-H)*Ta2=10.5us
e=1/(r+(1-r)*H)=0.05
6.从供选择的答案中选出应填入下列叙述中空格的正确答案:
某虚拟存储器的用户编程空间共32个页面,每页1KB,主存为16KB。
假定某时刻该用户页表中已调入主存的页面的虚页号和物理页号对照表为
则下表中与虚地址相对应的物理地址为(如果主存中找不到,即为页失效):
虚页号
物理页号
5
1
10
2
4
8
7
虚地址
物理地址
0A5CH
A
1A5CH
B
虚拟存储器的功能由__C__完成的。
在虚拟存储系统中,采用__D__提高__E__的速度。
A、B:
(1)页失效
(2)1E5CH(3)2A5CH(4)165CH
(5)125CH(6)1A5CH
C:
(1)硬件
(2)软件(3)软、硬件结合
D:
(1)高速辅助存储器
(2)高速光盘存储器(3)快速通道
(4)高速缓冲存储器
E:
(1)连接编辑
(2)虚空间分配(3)动态地址翻译(4)动态连接
A—(5)B—
(1)C—(3)D—(3)E—(3)
7.有关存储器的选择题,从供选择的答案中选出应填入空格的正确答案:
(1)在具有1MB的存储器中,若按字节编址,为了存取该存储器的各单元,其地址至少需要__A__位。
(2)假如程序员可用存储空间为4MB,而实际存储器容量为2MB,则程序员所用地址称为__B__,而真正访问存储器的地址为__C__。
(3)如果半导体存储器的容量为2MB,而访问存储器的地址仅16位,而且已无法扩充地址位,此时实际能作为主存使用的存储器容量仅为__D__KB,超过此容量的存储器就能当作__E__使用,但其速度可比磁盘__F__。
(4)磁盘各磁道的长度不一样,所以各磁道间的存储密度__G__,靠近旋转中心的磁道存储密度__H__。
A、D:
(1)16
(2)20(3)32(4)64
B、C、E:
(1)逻辑地址
(2)物理地址(3)有效地址(4)高速缓冲存储器(5)主存储器(6)外存储器
F、G、H:
(1)相同
(2)不相同(3)快(4)慢(5)高(6)低
A—
(2)B—
(1)C—
(2)D—(4)E—(6)F—(3)G—
(2)H—(5)
8.从下面有关存储器的叙述中,选择4个正确的叙述:
(1)四体交叉存储器经常按地址的最高两位作为区分存储体的标志。
(2)四体交叉存储器的存取速度在任何情况下都是一般存储器的四倍。
(3)高速缓冲存储器(cache)的作用是扩大存储容量。
一般把地址小的存储空间作为cache的空间,其余的才是主存储器空间。
为提高计算机解题速度,程序员编程时应尽量用地址小的cache空间。
(4)在采用页方式的虚拟存储器中,每次访问存储器都要将逻辑地址转换为物理地址。
为提高转换的速度,可使用“快表”的方法。
(5)虚拟存储器能使用户按比主存空间大得多的虚存空间编程,给用户带来方便。
但主存储器的容量仍对系统性能有很大影响。
(6)LRU替换算法在cache和虚拟存储器中经常使用。
(7)在采用页方式的虚拟存储器中,当该页不在主存中时,发生页面失效中断。
页面失效中断发生的频率取决于主存容量,而与程序性质无关,是固定的。
(8)在虚拟存储系统中,一定要有辅助存储器(或称为外存储器)。
(4)(5)(6)(8)
9.从下列有关cache的描述中,选出应填入空格中的正确答案:
(1)今有甲、乙两台计算机,甲计算机的cache存取时间为50ns,主存储器为2us;
乙计算机的cache存储时间为100ns,主存储器为1.2us。
设cache的命中率均为95%,则甲计算机的平均存取时间为__A__ns;
乙计算机的平均存取时间为__B__ns。
(2)在cache中,经常采用直接映象或组相联映象两种方式,在cache容量相等的情况下,前者比后者的命中率__C__。
A、B:
(1)147.5
(2)153.5(3)155(4)180
(1)高
(2)低(3)相等
A—
(1)B—(3)C—
(2)
10.在下列有关存储保护的描述中,将正确答案填入空格中:
为了保护系统软件不被破坏以及在多道程序环境下,防止一个用户破坏另一个用户的程序而采取下列措施:
(1)“设置系统状态”等指令不准在用户程序中使用,这些指令叫做特权指令。
(2)段式管理的存储器中设置上、下界存储器,防止用户访问不是分配给他的存储区域。
(3)在环保护的主存中,把系统程序和用户程序按其允许访问存储区的范围进行分层,如规定内层级别高,那么系统程序应在内层;
用户程序则在外层。
允许内层访问外层的存储区。
(4)为了保护数据及程序不受破坏,在页式管理存储器中,可在页表中设置读、写及执行位。
如读、写位均为“0”,而执行位为“1”,表示该页内存放的是程序代码。
11.从下面有关存储器的叙述中,选择正确的叙述。
(1)计算机必须具有cache、主存和外存。
(2)在编制程序时,要考虑将经常用到的数据或程序首先从主存上调到cache,以提高速度。
(3)在计算机中,cache与主存(只读存储器、随机存储器)一般是统一编址的,占有不同的地址空间(即主存空间的某一部分属于cache)。
(4)cache的全部功能全由硬件实现。
(5)多体交叉存储主要解决扩充容
(6)机器刚上电时,cache无内容,在程序运行过程中,初次访问主存某单元时,在主存向CPU传送信息的同时也传送到cache(即写入)。
当再次访问该存储单元时即可以从cache取得信息(假如没有被替换)。
(7)在虚拟存储系统中,辅存储器与主存储器以相同的方式工作,因此允许程序员用比主存空间大得多的辅存空间编程。
(8)在虚拟存储系统中,逻辑地址转换成物理地址是由硬件实现的,仅在页面失效时才由操作系统将被访问的页面由辅存调至主存,必要时还要把被替换的页面写回辅存。
(4)(6)(8)
12.在下列关于存储器的叙述中,将正确的答案填入空格:
(1)cache的内容应与主存相对应的单元的内容保持一致。
(2)cache的速度应比从主存取信息的速度快。
(3)cache的内容是由执行程序时逐步调入的。
(4)虚拟存储器的逻辑地址位数比物理地址多。
(5)虚拟存储器在被访问的存储单元所在页面不在主存时情况下,需要操作系统配合工作。
13.某计算机的cache—主存层次采用组相联映象方式,页面大小为128字节。
Cache容量为64页,按4页分组。
主存容量为4096页。
问:
(1)主存地址共需多少位?
(2)主存地址字段如何划分,各需多少位?
(3)设cache起始时为空,CPU从主存单元0、1、2、…..、8703依次读出8704个字节,并重复此一读数序列共10次。
若cache速度10倍于主存,且采用LRU替换算法,问利用cache后获得的加速比是多少?
(1)主存地址共需19位(A18—A0)
(2)存地址字段划分如下(从高到低):
块号6位(A18—A13),组号4位(A12—A9),组内页号2位(A8—A7),页内地址7位(A6—A0)。
(3)共读入8704B=68页*128B=17组*4页*128B,1组=4页*128B=512B。
设主存读一个单元所需1个时间单元,则cache为0.1个时间单元。
故加速比为:
1*8704*10/((1+0.1*511)*17*10)=9.8
14.某程序对页面要求的序列为:
3、4、2、8、4、7、1、4、2、6、3、6、1、4、3。
设主存容量为4个页面,求用FIFO和LRU替换算法时各自的命中率(假设开始时主存为空):
FIFO算法命中率为3/15,LRU替换算法命中率为4/15。
15.设主存和辅存的平均访问时间分别为10-6秒和10-3秒。
若要使虚拟存储器的主存—辅存层次平均访问时间达到10-4秒或10-5秒,问至少应保证主存访问失效率各是多少?
主存访问失效率为1-H。
访问平均时间
Ta=Ta1+(1-H)Tb=Ta1+(1-H)Ta2
所以,Ta=10-4秒时,1-H=0.099
Ta=10-5秒时,1-H=0.009
16.设页面大小仅仅是平均字节段大小的函数,试求当平均字节段大小为1100字节时能使存储空间利用率达到最大值的页面大小2K字节,此处K为正整数。
平均字节段即指程序平均长度Ss。
最佳页面大小Spopt=
在最佳页面大小时主存空间利用率最大。
所以,K=5或K=6。
17.设二级虚拟存储器的Ta1=10-7s、Ta2=10-2s,为使存储层次的访问效率e达到最大值的80%以上,命中率H至少达到多少?
实际上这样高的命中率使很难达到的,那么从存储层次上如何改进?
H≥99.9%。
改进的方法是在存储层次上增加cache。
18.设某程序包含5个虚页,其页地址流如下:
4、5、3、2、5、1、3、2、2、5、1、3当使用LRU算法替换时,为获得最高命中率,至少应分配给该程序几个实页?
其可能的最高命中率为多少?
至少应分配给该程序4个实页,其可能的最高命中率为7/12。
实页号
装入位
3
19.某虚拟存储器共8个页面,每页为1024个字节,实际主存为4096个字节,采用页表法进行地址映象。
映象表内容如图所示:
(见下页)
(1)列出会发生页面失效的全部虚页号。
(2)按以下虚地址计算主存实地址:
0、3728、1023、1024、2055、7800、4096、6800。
(1)发生页面失效的虚页号为2、3、5、7。
实地址
3072
3728
页失效
1023
4095
1024
2055
7800
4096
2048
6800
0656
(2)
20.设某计算机主存容量为64KB,周期时间10t;
cache的容量为512B,周期时间1t,cache块长128B,采用直接映象方式和LRU替换算法。
设cache起始为空,求出运行下列程序段(地址用十进制表示)时的命中率(不考虑操作数进入cache的情况):
(程序段如下页所示):
开始0017
0023
0165内循环重复20次
0239外循环重复10次
1200
结束1500
H=0.995
21.一个“cache—主存—辅存”三级存储层次,设cache的周期为Ans,若某次访cache不命中,就用Bns时间调块,而若访主存不命中时,就必须进行一次磁盘传送。
为了管理(包括对cache加载),CPU要花去Cns时间(磁盘等待时间不计在内,因为此时CPU可作其他工作)。
如每M条指令中,就有一天要求从主存调块进cache,每N条指令中就有一条要求访问一次磁盘。
请列出表示该即等效指令时间的公式:
答案:
T=((N/M-1)*((M-1)*A+B)+(M-1)*A+C)/N
=(M-1)*A/M+B/M–B/N+C/N
=A+(B-A)/M+(C–B)/N
22.什么是地址映象和地址变换?
主要的地址映象方式有哪几种?
地址映象是指每个虚页按什么规则(算法)装入(定位于)实存;
地址变换是指程序按照映象关系装入实存后,在程序运行时,虚地址如何变换成对应的实地址。
主要的地址映象方式有:
全相联映象、直接映象、组相联映象、段相联映象。
23.请回答全相联映象方法的定义和特点,它的主要地址变换方法是什么?
全相联映象定义是任何虚页能映象到实存任何页面位置,它的突出优点就是实页冲突概率最小。
它的地址变换方法有两种:
页表法、目录表法。
24.什么是虚拟存储器?
它的主要指标是什么?
虚拟存储器是指“主存—辅存”层次,它能使该层次具有辅存容量、接近主存的等效速度和辅存的每位成本。
虚拟存储器的指标主要有主存空间利用率和主存命中率。
25.请回答替换算法的主要种类以及其主要特点:
替换算法主要有随机算法(RAND),先进先出(FIFO),近期最少使用算法(LRU),优化替换算法(OPT)。
FIFO:
每次替换以先进入者为对象,非堆栈型算法,实页数增加有时命中率反而降低,整体分析命中率较低。
LRU:
每次替换以以前未命中最多者为对象,属堆栈型算法,实页数增加命中率上升,整体分析命中率较高,实用性强。
OPT:
每次替换以以后最少使用者为对象,属堆栈型算法,实页数增加命中率上升,整体分析命中率最高,但实用困难,用于理论分析。
26.试解释以下与高速缓存结构有关的术语:
(a)原子与非原子存储器的比较
(b)存储器带宽与容错
(c)写直达与写回高速缓存的比较
(d)私用高速缓存与共享高速缓存的比较
(a)原子与非原子存储器的比较:
原子存储器存取模型比较简单,但可能使存储器性能相当差。
它的顺序一致性降低了多处理机系统的可扩展性。
非原子存储存取利用了更复杂的硬件/软件。
它具有克服原子存储器存取的缺点的潜力。
(b)存储器带宽与容错:
存储器带宽是单位时间能存取的存储器字,容错是将m个存储器模块的存储体中发生故障的存储器模块隔离开的能力。
(c)写直达与写回高速缓存的比较:
WT需要更多的总线或网络周期去访问主存储器,WB允许CPU继续工作,无需等待存储器访问。
(d)私用高速缓存与共享高速缓存的比较:
大多数多处理机都采用私用高速缓存。
共享高速缓存在使用虚拟地址时必须在固定大小范围内被共享。
其他部分存储器课共享但无高速缓冲能力。
27.设有一个主存储器,它包含4个存储器模块,每个模块有256个字。
再假定每个高速缓存块中有16个字,高速缓存的总容量是256个字。
使用组联想映射将高速缓存块定位到块框中。
高速缓存被分成4组。
(a)说明在主存储器的4路低位交叉存取结构中全部1024个字的地址分配。
(b)主存储器有多少块?
高速缓存有多少块框?
(c)说明在两层存储器系统中对每个字进行寻址所需的位字段。
(d)表示出从主存储器的块到高速缓存的组的映射关系,并解释如何利用标记字段在每组范围内定位一个块框。
(a)m=pow(2,a)=4,w=pow(2,b)=256
∴a=2,b=8
∴存储器地址的低2位用来指明存储器模块,高8位是每个模块内的字地址。
(b)主存储器块数=4*256/16=64,块框数=256/16=16
(c)存储器地址分成三个字段:
较低的0-3位是每个块的字偏移量,4-5位是组号,6-9位是高速缓存的块标记。
(d)v=4
Bj→Bf’∈Si,ifj(mod4)=i
标记与标别组的4个标记进行比较,当匹配时,高速缓存产生命中。
28.假定一个由16个存储器模块构成的主存储器系统有下列三种交叉存储器设计方案。
每个模块的容量为1M字节,机器按字节寻址。
设计1:
用1个存储体16路交叉。
设计2:
用2个存储体8路交叉。
设计3:
用4个存储体4路交叉。
(a)确定上述每种存储器组织的地址格式。
(b)在上述每种存储器组织中,假定只有一个存储器模块失效,确定能获得的最大存储器带宽。
(c)比较说明三种交叉存储器组织的优缺点。
(a)1:
存储器地址的低4位指明模块,高20位是每个模块内的字节地址。
2:
存储器地址的低3位指明模块,第4-23位是模块内字节地址,第24位是体地址
3:
存储器地址的第2位指明模块,第3-22位是模块内字节地址,第23-24位是体地址
(b)1:
整个存储替在一个模块发生故障的情况下必须废弃掉
∴最大存储器带宽=0
有一个存储体在工作
∴最大存储器带宽=4个字
有3个存储体在工作
∴最大存储器带宽=6个字
(d)方式1支持成块存取,但不能容错。
方式2和3不支持成块存取,但可容错。
方式3比方式2的容错性能更好。
29.试解释下列有关存储器层次结构设计的基本术语
(a)命中率
(b)缺页
(c)散列函数
(d)倒置页表
(e)存储器替换策略
(a)命中率:
在Mi层的命中率hi是信息项可以在Mi中找到的概率
(b)缺页:
在主存储器中发生缺失
(c)散列函数:
可以用较少位数把长页号转换成短页号的一种函数
(d)倒置页表:
地址转换映象为倒置映象的页表
(e)存储器替换策略:
包括为活动进程分配与再分配存储器页面以及存储器页面的替换
30.一个两层存储系统有8个磁盘上的虚拟页面已被映射到主存储器的4个页面框架(PF)中。
某程序产生以下的页面踪迹:
1,0,2,2,1,7,6,7,0,1,2,0,3,0,3,0,4,5,1,5,2,4,5,6,7,6,7,2,4,2,7,3,3,2,3
(a)根据上述页面踪迹采用LRU替换策略指出驻留在4K页面框架中的相继虚拟页面。
计算在主存储器中的命中率。
假定PF最初是空的。
(b)采用环形FIFO页面替换策略,重复(a)。
(c)比较(a)和(b)中的命中率并根据这一特定的页面踪迹对环形FIFO策略的效果比较接近LRU策略作一评论。
解:
(a)h=16/33
(b)h=16/33
(c)这两种策略对这种特定页面踪迹是等效的。
31.设有一个两层存储器层次结构M1和M2,存取时间、每个字成本和容量分别是t1和t2、c1和c2以及s1和s2。
在第一层,高速缓存的命中率h1=0.95。
(a)推导表示该存储器有效存取时间teff的公式。
(b)推导表示该存储器总成本的公式。
(c)假设t1=20ns,t2是未知数,s1=512字节,s2是未知数,c1=0.01美元/字节,
c2=0.0005美元/字节。
高速缓存和主存储器总成本的上限是15000美元。
(i)在不超过预算的限制范围内,可能得到的M2的容量有多大(s2=?
)?
(ii)在上述命中率架设的条件下,为使整个存储器系