第11章答案_存储管理

第11章答案_存储管理

ID:26360036

大小:86.50 KB

页数:4页

时间:2018-11-26

第11章答案_存储管理_第1页
第11章答案_存储管理_第2页
第11章答案_存储管理_第3页
第11章答案_存储管理_第4页
资源描述:

《第11章答案_存储管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.在如下一段C语言程序的for循环中,voidcycle(double*a){inti;doubleb[65536];for(i=0;i<3;i++){memcpy(a,b,sizeof(b));}}程序memcpy函数执行过程中可能发生哪些例外,各多少次。答:【说明:此题中试图问的是与页处理相关的例外(忽略实际系统中可能发生的中断),以MIPS体系结构为例,包括三类例外:(1)TLBrefill例外;(2)TLBinvalid例外;(3)TLBmodify例外。其中(2)和(3)两类例外仅与程序对于页的访问需求相关,因此回答次数时需要假设操

2、作系统中页的大小;而(1)还与处理器中TLB的容量相关,因此还需要假设处理器中TLB的项数和TLB的替换策略】。下面给出一种常用假设条件下的回答:假设操作系统页大小为4KB,同时系统的物理内存足够大,即页表分配的物理内存在程序执行过程中不会被交换到swap区上。并且在后续的分析中忽略代码和局部变量i所在的页的影响。a、b两数组大小均为65536×8=512KB。再假设a、b两数组的起始地址恰为一页的起始地址。那么a、b两数组各自均需要512KB/4KB=128个页表项。所以a、b的访问造成的TLBinvalid例外次数为128+128=256次

3、;a的访问造成的TLBmodify例外次数为128次。假设TLB表项为128项,每项映射连续的偶数奇数两个页,采用LRU算法。那么第一次次循环中,a、b两数组每访问连续两页的首地址时,均会触发一次TLBrefill例外。后续各次循环TLB中均命中。那么共触发的TLBrefill例外次数为128/2+128/2=128次。TLB例外和页大小有关,还和TLB表项以及替换算法有关(分表假设为4K、128项和最近未使用LUR,不考虑ITLBmiss例外),则:65536*8*2=512*2=256*4k,也就是256次例外缺页异常具体次数和页大小有关,

4、假设页大小为4K(假设页分配后不会被替换出去,且忽略临时变量i,以及指令代码段发生的缺页例外,假设内存足够大,页加载入主存后不会被替换):正常情况下a不会缺页,b缺页可以有128次。1.对于指令Cache是否有必要考虑Cache别名问题?答:有必要。1、当程序中有自修改代码时,可能会由于cache别名导致取错指令。2、由于LastLevelCache通常是用物理地址索引的,那么当一级指令cache存在别名问题时,整个处理器无法维护一级指令cache和LastLevelCache之间相同物理地址的数据备份之间的关系,导致处理器进入混乱状态,最终导

5、致程序执行错误甚至死机。2.假定在某一个CPU的Cache中需要64位虚拟地址,8位的进程标识,而其支持的物理内存最多有64GB。请问,使用虚拟地址索引比使用物理地址作为索引的Tag大多少?这个值是否随着Cache块大小的变化而发生改变?答:1、由于虚拟地址有64位,进程标识为8位;而物理地址是64GB,即需要36位物理地址。这样,使用虚拟地址比使用物理地址总共增加的位数为8+(64-36)=8+28=36位。2、改变块的大小,亦或改变cache的其它参数,cache占据的地址的低位的长度对于虚地址索引和物理地址索引都是一样的,所以对于cach

6、e的tag而言,两中索引方式相差位数保持不变。3.考虑一个包含TLB的当代处理器。(1)请阐述TLB、TLB失效例外、页表和Pagefault之间的关系。(2)如果有这样一个机器设计:对于同样的虚拟地址,TLB命中和Pagefault同时发生,这样的设计合理么?为什么?(3)现代计算机页表普遍采用层次化的方式,请解释原因。答:1)TLB:Translationlookasidebuffer,即旁路转换缓冲,或称为页表缓冲;里面存放的是一些页表文件(虚拟地址到物理地址的转换表)的一个子集。TLB失效例外:假如某个虚地址VA,在TLB中没有找到对应

7、的页表项,则发生TLB失效例外(TLBmissexception)。页表:简单的说,页表是内存块的目录文件,作用是实现从逻辑页号到物理块号的地址映射。即用指定大小(称之为页)来划分程序逻辑地址空间和处理机的物理内存空间,并建立起从逻辑页到物理页的页面映射关系,这些页面映射就是一张张页表(PageTable)。PageFault:缺页,就是TLB中没有虚地址VA对应的页表,主存中也没有VA对应的物理地址。这时候发生PageFaultException(缺页例外),需要交给操作系统处理,通常需要消耗很多的时间来处理该例外。1)不合理,因为PageF

8、ault发生时意味着主存中没有虚地址VA对应的页表,这是TLB中也应该没有,因为TLB里的页表是主存中页表的子集,应该发生TLBmiss。倘若没有发生

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。