通知
此博客运行在jpress系统上,如果你喜欢此博客模板,请加QQ群:1061691290(whimurmur模板/jpress插件),免费下载使用

计算机组成原理 存储器层次结构 虚拟存储器

2170人浏览 / 0人评论 | 作者:whisper  | 分类: 计算机组成原理  | 标签: 计算机组成原理  | 

作者:whisper

链接:http://proprogrammar.com:443/article/266

声明:请尊重原作者的劳动,如需转载请注明出处


    分页(Paging)

    基本思想:

    内存被分成固定长且比较小的存储块(页框、实页、物理页)

    每个进程也被划分成固定长的程序块(页、虚页、逻辑页)

    通过页表(page table)实现逻辑地址向物理地址转换

    逻辑地址:(Virtual Address,简称VA)

    -程序中指令所用地址(进程所在地址空间)

    -也称为虚拟地址

    物理地址 简称PA

    存放指令或数据的实际内存地址

    也称为实地址、主存地址

    “主存-磁盘”层次

    与“Cache-主存”层次相比:

    页大小(2KB~64KB)比Cache中的Block大得多!Why?

    采用全相联映射!Why?

    因为缺页的开销比Cache缺失开销大的多!缺页时需要访问磁盘(约几百万个时钟周期),而chche缺失时,访问主存仅需几十到几百个时钟周期!“大页面”和“全相联”可提高页命中率。

    通过软件来处理“缺页”!Why? 

    缺页时需要访问磁盘(约几百万个时钟周期),慢!不能用硬件实现

    采用Write Back写策略!Why?

    避免频繁的慢速磁盘访问操作

    地址转换用硬件实现!Why?

    加快指令执行

    页表结构

    主存中的页表示例

    TLB(快表)

    缓存中的页表,速度比主存中的页表快

    问题:一次存储器引用要访问几次主存?2次,一次访问页表,一次访问实际物理地址

    把经常要查的页表项放到Cache中,这种在Cache中的页表项组成的页表称为Translation Lookaside Buffer or TLB(快表)

    TLB中的页表项:tab + 主存页表项

    CPU访存时,地址中虚页号被分成tag+index,tag用于和TLB页表项中的tag比较,index用于定位需要比较的表项

    TLB全相联时,没有index,只有Tag,虚页号需与每个Tag比较;

    TLB组相联时,则虚页号高位为Tag,低位为index,用作组索引。

    段表

    段页式虚拟存储器


亲爱的读者:有时间可以点赞评论一下

点赞(0) 打赏

全部评论

还没有评论!