首页 > 其他 > 详细

分页存储管理和分段存储管理

时间:2019-05-31 16:37:55      阅读:88      评论:0      收藏:0      [点我收藏+]

1.采用相联存储器后地址转换过程,用图表示出来

2.详述分段管理和分页管理的区别。

3.P249 习题11

CPU对存储器的访问,通常是一次读写一个字单元。当CPU访Cache不命中时,需将存储在主存中的字单元连同 其后若干个字一同调入Cache中,之所以这样做,是为了使其后的访存能在Cache中命中。因此,主存和Cache之间一次交换的数据单位应该是一个数 据块。数据块的大小是固定的,由若干个字组成,且主存和Cache的数据块大小是相同的。

 从Cache-主存层次实现的目标看,一方面既要使CPU的访存速度接近于访Cache的速度,另一方面为用户程 序提供的运行空间应保持为主存容量大小的存储空间。在采用Cache-主存层次的系统中,Cache对用户程序而言是透明的,也就是说,用户程序可以不需 要知道Cache的存在。因此,CPU每次访存时,依然和未使用Cache的情况一样,给出的是一个主存地址。但在Cache-主存层次中,CPU首先访 问的是Cache,并不是主存。为此,需要一种机制将CPU的访主存地址转换成访Cache地址。而主存地址与Cache地址之间的转换是与主存块与 Cache块之间的映射关系紧密联系的,也就是说,当CPU访Cache未命中时,需要将欲访问的字所在主存中的块调入Cache中,按什么样的策略调 入,直接影响到主存地址与Cache地址的对应关系,这也就是本小节要解决的主存与Cache的地址映射问题。

 主要有三种地址映射方式,分别为全相联映射、直接相联映射和组相联映射。

 1. 全相联映射

 全相联映射是指主存中任一块都可以映射到Cache中任一块的方式,也就是说,当主存中的一块需调入Cache时,可根据当时Cache的块占用或分配情况,选择一个块给主存块存储,所选的Cache块可以是Cache中的任意一块。例如,设Cache共有2C块,主存共有2M块,当主存的某一块j需调进Cache中时,它可以存入Cache的块0、块1、…、块i、… 或块2C -1的任意一块上。如图4-28所示。

技术分享图片

  

图4-28全相联映射方式

 在全相联映射方式下,CPU的访主存地址为如下形式:

技术分享图片

  

 其中,M为主存的块号,W为块内的字号。而CPU访Cache的地址形式为:

技术分享图片

  

 其中,C为Cache的块号,W为块内的字号。

 主存地址到Cache地址的转换是通过查找一个由相联存储器实现的块表来完成的,其形成过程如图4-29示。

 

技术分享图片

 

图4-29全相联映射的地址转换

 当 一个主存块调入Cache中时,会同时在一个存储主存块号和Cache块号映射表的相联存储器中进行登记。CPU访存时,首先,根据主存地址中的主存块号 M在相联存储器中查找Cache块号,若找到,则本次访Cache命中,于是将对应的Cache块号取出,并送访Cache地址的块号C字段;紧接着将主 存地址的块内字号W直接送Cache地址的块内字号W字段,从而形成一个访Cache的地址;最后根据该地址完成对Cache单元的访问.

 全相联映射方式的优点是Cache的空间利用率高,但缺点是相联存储器庞大,比较电路复杂,因此只适合于小容量的Cache之用。 

 

 2. 直接相联映射

 直接相联映射方式是指主存的某块j只能映射到满足如下特定关系的Cache块i中:

i=j mod 2C                               (4.2)

分页存储管理和分段存储管理

原文:https://www.cnblogs.com/songwanli/p/10955381.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!