计算机体系结构期末复习-存储系统

3 存储系统

3.1知识点

现在计算机系统以存储器为中心。我们希望拥有无限大的内存容量,以访问到所有特定的机器字。因此我们不单谈存储器,而是研究存储器系统,通过构建分层结构的存储器(每层容量比前一层大,但速度层层递减),达到我们的目的。本章主要介绍两种存储系统:cache和主存构成的cache存储系统(对系统程序员以上均透明),主存和磁盘存储器构成的虚拟存储系统(对应用程序员透明)。考试重点如下:
在这里插入图片描述

  1. 存储器系统的评价指标,命中率H。命中率的定义:在M1中访问到的概率 H = N 1 N 1 + N 2 H=\frac{N1}{N1+N2} H=N1+N2N1 N 1 N1 N1为对M1的访问次数。则访问周期为 T = H ∗ T 1 + ( 1 − H ) ∗ T 2 T=H*T1+(1-H)*T2 T=HT1+(1H)T2,访问效率为 e = T 1 T e=\frac{T1}{T} e=TT1。我们可以利用数据的局部性原理,采用预取技术提高命中率,即不命中时把M2存储器中相邻多个单元组成的数据块送入M1存储器中。此时命中率更新为 H ′ = H + n − 1 n H^{'}=\frac{H+n-1}{n} H=nH+n1, n n n为数据块大小与数据重复使用次数的乘积。

  2. 存储器系统的层次结构。这个根据图片记忆一下。对应英文如下:①Register Files②Buffers(Lookahead)③Cache④Main Memory⑤Online Storage⑥Off-line Storage

    1. 在这里插入图片描述
  3. 引入交叉访问存储器方式。避免过多的存储器访问冲突,让存储系统保持频带平衡(吞吐率够大,即一次取数据又快又多)。高位交叉存储器,目的:扩大存储器容量,实现:用地址码的高位部分区分存储体号。低位交叉访问存储器,目的:提高存储器访问速度,实现:用地址码的低位部分区分存储体号。看下面的图很清楚了,因为 19 m o d 8 = 3 19 mod8=3 19mod8=3,所以体数是8的情况下,体号是3,体内地址自然是2。低位交叉访问的方式自然可以引入并行存储器( n n n个存储体并行)的架构,但存在访问冲突,令 N N N为并行存储器的加速比,即每存储周期能访问到平均有效字的个数, g g g为读出的是转移指令且转移成功的概率。有公式 N = 1 − ( 1 − g ) n g N=\frac{1-(1-g)^{n}}{g} N=g1(1g)n。最后,最新的技术是可按错位存储进行无冲突访问,以增加加速比N,但实现较复杂。

    1. 在这里插入图片描述
  4. 虚拟存储系统的构成和工作原理。构成,实页和虚页。工作原理和地址转换如下图所示,这图摘自计组课件,处理器提供虚地址,虚实地址转换以重定位的方式可以简化程序加载并加载到任意位置,.使多道程序访问主存具有安全、隔离性,也有助于构建大内存,图片上不只是找地址(虚实地址),还有后续访存的内容。CPU寄存器内部的通常是虚页地址VA,虚拟存储进行内部地址变换将VA(用户号U,虚页号P,页内偏移D)变为主存地址PA(实页号p,页内偏移d)。具体操作通过页表与快表TLB进行,TLB缺失?则PA在内存中;页表缺失?则PA在磁盘上,然后系统中断将PA的块复制到内存中。这样实页地址get到了!第二阶段,将实页地址喂给cache。cache缺失?则数据在主存中,写回或写直达cache。构成完整流程。其中,三种地址空间为,虚拟地址空间,主存地址空间,辅存地址空间,地址映射就是将虚拟地址空间映射到主存地址空间;三种虚拟存储器为,页式虚拟存储器,段式虚拟存储器,段页式虚拟存储器

    1. 在这里插入图片描述
  5. 虚拟存储系统的地址转换。对于段氏虚拟存储器的地址变换,用段表基址寄存器和用户号U对应的As段表实现,见图1,图很明白。这种方式优点是模块化性能好,便于程序和数据共享,缺点是地址变换做两次加法花费时间长,主存利用率低。对于页氏虚拟存储器的地址变换,用页表基址和用户号U对应的Pa页表实现,见图2.优点是页表简单,主存利用率高。缺点是模块化性能不好,页表很长占用很大空间,需采用分级页表解决。对于段氏虚拟存储器的地址变换,用户按段写程序,每段分成几个固定大小的页,用用户号U对应的段表基址寄存器和段表(页表个数和页表起始地址)找到页表,再用虚页号找到页表对应的表项实现。最后是外部地址变换,如果页表缺页,要去磁盘上找页。因此每个程序都有外页表,它在磁盘上。

    1. 在这里插入图片描述
    2. 在这里插入图片描述
    3. 在这里插入图片描述
  6. 页面替换算法。FIFO,最久没有使用算法LRU(选wait_time=max的丢弃),近期最少使用算法LFU(counter最小的丢弃),OPT算法。大题常考察页面替换表。 列表项是随时间的虚页地址流,行表项是实页号,详见作业。我们引入堆栈型替换算法,定义是若分配给程序的主存页面数增加,主存命中率也提高,至少不下降,LFU、LRU、OPT都是堆栈型算法,FIFO不是。另外,页面大小Sp也影响主存命中率H,过大的(页面数少替换频繁)过小的(页面小不易命中)Sp都会降低命中率。H随着主存容量S单效上升,但当S增大到某个值,几乎不再上升。同时,页面调度方式,如预取式,也影响主存命中率。

  7. cache的构成,地址映像。地址映像,建立主存地址PA和cache地址的关系(即前文提到的访存以找到数据块的环节,在cache中查找PA对应的物理块地址,若无再去主存找)。分类有全相联映像主存的任意一块可以映像到Cache中的任意一块,这时PA分为块号B和块内地址,若查找,需要遍历cache表全部的主存块号B看能否找到对应的PA块号的B,若找到则cache命中,得到cache地址(块号b和块内地址)取数据块,如图1。直接映像主存一块只能映射到cache的一个特定块中,cache地址与主存地址的低位同,即公式 b = B m o d C b b=BmodC_{b} b=BmodCb,这时PA分为区号E块号B和块内地址,若查找,只需根据PA算出主存的块号B得到对应的区表索引,看区表表项内容和PA中的区号E是否相符,有效位是否为1,若是则cache命中,得到cache地址(块号b和块内地址)取数据块,如图2。优点,简单速度快,缺点,块冲突率高。组相联映像主存和cache按同样大小划分为组(主存组多),组与组之间直接映像,组内全相联映像。地址变换为,PA分为区号E,组号G,组内块号B,块内地址。组号 m o d mod mod后用来定组b,区号和组内块号在对应的组遍历全部块表内组内元素,看表项内容(E,B)与PA中的(E,B)是否符合。若是则cache命中,得到cache地址(组号g,块号b和块内地址)取数据块,如图3。这三种方法若想提高cache访问速度,,可用多个相等比较器代替相联访问位选择组相联映像cache分组,主存按cache的组容量分区。以使组与组之间全相联映像,组内直接映像。这种方式PA无组号,只有区号,主存分区,cache分组。因此看表项内容区号E与PA中的E是否符合,这里就不放图片了。段相联映像主存和cache都按同样大小分段,段与段之间全相联,段内之间映像。主存和cache都分段,这时找段表的段号E和PA的E是否同,若同则cache命中。得到cache段号s,然后和主存地址的段内块号拼接得到cache地址访问块。优点,简单,缺点,段失效时损失较大。

    1. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2oVKVYDP-1575796777781)(计算机体系结构.assets/image-20191208150530629.png)]
    2. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zWmURxmz-1575796777782)(计算机体系结构.assets/image-20191208151204597.png)]
    3. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3GS11mK3-1575796777782)(计算机体系结构.assets/image-20191208153842870.png)]
  8. cache的替换算法。主要用于组相联、段相联等(直接相联无需替换,全相联不讨论)。①轮换法,法一:每块一个计数器,在块表中增加替换计数器字段wait_time,替换规则类似LRU,选wait_time最大的替换;法二:每组一个计数器。优点,简单,缺点,没有利用程序的局部性原理。②LRU算法,也是每块一个计数器,在①基础上增加命中清0,若同组其他计数器的值小于命中块计数器原来值则加1的情况。优点,利用了程序的局部性原理,缺点,控制复杂。③堆栈法,把本次访问的块号与堆栈中所有块号进行相联比较,若相等则cache命中,然后将命中块从栈抽出来重新压到栈顶。没有相等则cache块失效,也把块号从栈顶压入,栈底的块就是被替换的块,这是LRU的另一种变体算法。缺点,速度慢,优点实现简单。

  9. cache系统的评价指标,命中率 H H H,加速比 S p = T m T S_{p}=\frac{T_{m}}{T} Sp=TTm S p m a x = T m T c S_{pmax}=\frac{T_{m}}{T_c} Spmax=TcTm T m 为 主 存 的 访 问 周 期 , T 为 c a c h e 的 等 效 访 问 周 期 , T c 为 c a c h e 的 访 问 周 期 T_{m}为主存的访问周期,T为cache的等效访问周期,T_{c}为cache的访问周期 Tm访Tcache访Tccache访。Cache的命中率随它的容量的增加而提高。和页大小类似,也存在最合适块大小和组数使H最大。

  10. cache的更新算法。写直达法WT和写回法WB。写直达法,数据写入cache也写入主存。写回法,只有替换时,才把修改过的cache块写入主存。从可靠性讲,写直达法优于写回法,而且控制的复杂性更优;与主存的通信量,写回法(以块为单位)少于写直达法,写回法的硬件实现代价更小。目前,在写回法采用按写分配(不命中还把一个块替换),在写直达法采用不按写分配(不命中时只把所要写的字写入主存)。解决Cache与主存不一致的主要方法有,共享cache法等。

3.2大题
  1. 低位交叉访问存储器的加速比 N N N

    1. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tDloSVEv-1575796777783)(计算机体系结构.assets/image-20191208171348360.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v1loSFD6-1575796777783)(计算机体系结构.assets/image-20191208171402472.png)]
  2. 虚实地址转换。

    1. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3t8PrVpT-1575796777784)(计算机体系结构.assets/image-20191208171044452.png)]
  3. cache主存地址转换。

    1. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kU5T0DqO-1575796777784)(计算机体系结构.assets/image-20191208171132292.png)]
    2. 在这里插入图片描述
    3. 在这里插入图片描述
(完)
计算机系统结构大学期末复习资料题库含答案 1.看下述程序段:( C ) k: R5=R2 k+1: R0=R1×R4 k+2: R2=R5+1 k+3: R4=R0×R3 k+4: R3=R4-1 K+5: …… k和k+2之间发生的是什么数据相关 I. 先写后读相关 II.写-写相关 III. 先读后写相关 A.只有I B.只有I、II C.只有I、III D.以上都不对 2.开发并行的途径有( D ),资源重复和资源共享。 A、多计算机系统 B、多道分时 C、分布式处理系统 D、时间重叠 3.在计算机系统设计中,比较好的方法是(D )。 A、从上向下设计 B、从下向上设计 C、从两头向中间设计 D、从中间开始向上、向下设计 4.执行微指令的是(C) a.汇编程序 b.编译程序 c.硬件 d.微指令程序 5. 软件和硬件在(B)意义上是等效的。 A. 系统结构 B.功能 C. 性能 D. 价格 6. 实现汇编语言源程序变换成机器语言目标程序是由(D ) A.编译程序解释 B.编译程序翻译 C.汇编程序解释 D.汇编程序翻译 7. 按照计算机系统层次结构,算术运算、逻辑运算和移位等指令应属于(A)级机器语言。 A. 传统机器语言机器 B.操作系统机器 C. 汇编语言机器 D.高级语言机器 8.对汇编语言程序员,下列(A)不是透明的。 A. 中断字寄存器 B.乘法器 C. 移位器 D.指令缓冲器 9.在采用基准测试程序来测试评价机器的性能时,下列方法按照评价准确性递增的顺序排列是(B )。(1)实际的应用程序方法 (2)核心程序方法 (3)玩具基准测试程序(小测试程序) (4)综合基准测试程序 A.(1)(2)(3)(4) B.(2)(3)(4)(1) C.(3)(4)(1)(2) D.(4)(3)(2)(1) 10. 下列体系结构中,最适合多个任务并行执行的体系结构是( D) A、流水线的向量机结构 B、堆栈处理结构 C、共享存储多处理机结构 D、分布存储多计算机结构 11. 从用户的观点看,评价计算机系统性能的综合参数是( B ): A、指令系统 B、吞吐率 C、主存容量 D、主频率 12. 设指令由取指、分析、执行 3 个子部件完成,每个子部件的工作周期均为△t,采用常规标量单流水线处理机。若连续执行 10 条指令, 则共需时间 ( C )△t。 A.8 B.10 C. 12 D. 14 13. 系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理 业务的系统而言, ( C ) ,表明其性能越好。 A. 响应时间越短,作业吞吐量越小 B. 响应时间越短,作业吞吐量越大 C. 响应时间越长,作业吞吐量越大 D. 响应时间不会影响作业吞吐量 14. 若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t 取指=4△t,分 析时间t 分析=3△t,执行时间t 执行=5△t。如果按串行方式执行完100 条指令需要( C )△t。 A. 1190 B. 1195 C. 1200 D. 1205 15. 如果按照流水线方式执行,执行完100 条指令需要 (B)△t。 A. 504 B. 507 C. 508 D. 510 16. 并行访问存储器最大的问题就是访问冲突大,下面不属于并行访问存储器的缺点的是:( D ) A、取指令冲突 B、读操作数冲突 C、写数据冲突 D、译码冲突 17. 一条4段流水线,每段执行时间为1ns,求该流水线执行100条指令最大效率为(C) A.100% B.96.2% C.97.1% D.388% 18. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间均为 ,连续执行n条指令所需要花费的最短时间约为(B)(假设仅有“取指令”和“分析”可重叠并假设n足够大): A. B. C. D. 19. MISD是指(C) A.单指令流单数据流 B.单指令流多数据流 C.多指令流单数据流 D.多指令流多数据流 20. 星形网络的网络直径和链路数分别为(A)和(D)。 A.N-1 B.N/2 C.2 D.N(N-1)/2 21. 软件和硬件在(B)意义上是等效的。 A.系统结构 B.功能 C.性能 D.价格
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值