首页 > 其他分享 >计算机组成原理·虚拟存储器页式段式和段页式

计算机组成原理·虚拟存储器页式段式和段页式

时间:2024-06-04 16:24:55浏览次数:23  
标签:页式 Cache 主存 段式 地址 页表 虚拟存储器 命中

虚拟存储器·页式·段式·段页式

主存和辅存共同构成了虚拟存储器,在硬件和系统软件的共同管理下工作。对于程序员而言,虚拟存储器是透明的,将主存和辅存的地址空间统一编址
用户编程允许涉及的地址称为虚地址或逻辑地址,虚拟地址对应的是存储空间称为虚拟空间
实际的主存单元地址称为实地址或物理地址,实地址对应的存储空间称为主存地址空间或实地址空间

  • 实地址 = 主存页号 + 页内字地址
  • 虚地址 = 虚存页号 + 页内字地址
  • 辅存地址 = 磁盘号 + 盘面号 + 磁道号 + 扇区号

CPU使用虚地址访存,由辅助硬件找出虚地址和实地址之间的对应关系,并判断这个虚地址对应的存储单元是否已装入内存

  • 在内存,通过地址变换,CPU可直接访问主存指示的数据单元
  • 不在内存,则把包含这个 字的一页或一段调入主存后,在通过虚实地址变换访问

页式虚拟存储器

以页为基本单位,虚拟空间与主存空间划分为同样大小的页,主存的页称为实页页框,虚存的页称为虚页

页表

页表是一张存储在主存中的虚页号和实页号对照表,记录程序的虚页调入主存时被安排在主存中的位置,页表一般长期存在于主存内

1 2 3 4
有效位 脏位 引用位 物理页
  • 有效位(装入位):表示对应页是否在主存
  • 脏位(修改位):表示页面是否被修改过,配合回写策略,判断是否需要写回磁盘
  • 引用位(使用位):配合替换算法进行设置

CPU运行指令时,虚地址转实地址:

  • 页表基址寄存器存放进程的页表首地址
  • 根据虚拟地址高位部分的虚拟页号找到相应的页表项
  • 装入位为1,则取出物理页号和虚拟地址地位进行拼接,形成实际物理地址
  • 装入位为0,说明缺页,需要操作系统进行缺页处理

快表(TLB)

高速缓存器制成,依据程序的局部性原理,内存中的页表称之为慢表,地址转换时,先查快表,命中无需访问主存中的页表
快表通常采用组相联或全相联方式

t r p
标记 有效位 实页号

具有TLB和Cache的多级存储系统

三种缺失的情况

TLB Page Cache 说明
1 命中 命中 命中 TLB命中则Page一定命中,信息在主存,就可能在Cache
2 命中 命中 缺失 TLB命中则Page一定命中,信息在主存,也可能不在Cache
3 缺失 命中 命中 TLB缺失但Page可能命中,信息在主存,就可能在Cache
4 缺失 命中 缺失 TLB缺失但Page一定命中,信息在主存,也可能不在Cache
5 缺失 缺失 缺失 TLB缺失则Page也可能缺失,信息不在主存,也一定不在Cache

段式虚拟存储器

按照程序的逻辑结构划分,将逻辑地址分为段号和段内地址,虚实地址转换是由段表来是实现的,段表是程序的逻辑段和在主存中存放位置的对照表

段号 段首地址 装入位 段长

CPU访存时:

  • 根据段号与段表基地址拼接成对应的段表行
  • 根据段表行的装入位判断是否调入内存
  • 调入内存,则从段表读出该段在主存的起始地址,与段内地址相加,得到对应的主存实地址

段页式虚拟存储器

根据程序的逻辑结构,将每段划分为固定的大小页,主存空间也划分为大小相等的页,程序对主存调入、调出仍以页为基本传送单位
每个程序对应一个段表,每个段表对应一个页表,段的长度必须是页长的整数倍

段号 段内页号 页内地址

CPU访存:

  • 根据段号得到段表地址
  • 从段表中取出该段的页表起始地址,与虚地址段页号合成,得到页表地址
  • 从页表中取出实页号,与页内地址拼接形成实地址

虚拟存储器与Cache的比较

相同 不同
目的均为提供系统性能 Cache主要解决系统速度,虚拟存储器解决主存容量
均把数据划分为小的信息块作为基本传递单位,虚存系统的信息块更大 Cache由硬件实现,对程序员透明,虚拟存储器由OS和硬件实现,是逻辑上的存储器,对系统程序员不透明,对应用程序员透明
都有地址的映射、替换算法、更新策略
均依据程序的局部性原理

标签:页式,Cache,主存,段式,地址,页表,虚拟存储器,命中
From: https://www.cnblogs.com/blueflylabor/p/18231124

相关文章

  • 段页式存储地址计算
    什么是段页式存储?在计算机系统中,存储器被分为很多个小块,每个小块被称为一页。而段页式存储是一种将存储器分为若干个段和页的存储管理方式。在这种方式下,每个进程都被分配了一个独立的地址空间,其中每个地址都由一个段号和一个页号组成。段页式存储地址计算在段页式存储中,地址的......
  • 段页式内存管理
    转载博客:https://blog.csdn.net/qq_50985215/article/details/127670165 分页、分段的优缺点分析分页管理它的缺点就是不方便按照逻辑块实现信息的共享和保护而分段管理,如果段长过大,为其分配很大的连续空间会很不方便,而且还是产生外部碎片 段页式管理=分段+分页段页式......
  • 一加3T三段式开关切换 openpilot 版本
    一加3T三段式开关切换openpilot版本 修改continue.sh 文件如下 通过SSH登录到EON中,把openpilot不同版本的代码克隆到 /data/forks 目录下,然后根据自己的需求修改 PATH_FORK_{N} 的路径即可。修改文件存储目录:第4行修改不同版本OP目录:5~7行(分别对应三段......
  • 8.非连续存储分配(基本分页、请求分页、基本分段、段页式)
    基本分页存储管理引入分页的原因尽量避免碎片的产生,增大内存利用率对换是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。对换是提高内存利用率的有效措施对换的类型:......
  • 操作系统之段页式存储组织
    1、例题展示2、例题解决......
  • 操作系统之分区存储组织+页式存储组织
    1、分区存储例题展示2、分区存储例题问题解决由相关知识可知,在已知该题采用可变分区进行内存分配存储管理的情况下,我们共有四种算法可以选择:1、首次适应算法--空闲分区以地址递增的次序进行连接,即从上至下按照原来次序排列,然后将作业4放入其中即可故可知,作业4应被放入到首位......
  • 段页式存储管理
        ......
  • 段页式存储管理
    对进程空间先分段,后分页,具体原理图和优缺点如下:优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。......
  • MiniRBT中文小型预训练模型:结合了全词掩码技术和两段式知识蒸馏技术,加快推理速度
    MiniRBT中文小型预训练模型:结合了全词掩码(WholeWordMasking)技术和两段式知识蒸馏(KnowledgeDistillation)技术,加快推理速度在自然语言处理领域中,预训练语言模型(Pre-trainedLanguageModels)已成为非常重要的基础技术。为了进一步促进中文信息处理的研究发展,哈工大讯飞联合实验......
  • 视频直播源码,三段式(抽屉式)底部弹窗BottomSheet
    视频直播源码,三段式(抽屉式)底部弹窗BottomSheet自定义View继承CoordinatorLayout  /** *CreatedbyzGuion2022/7/11. *三段式底部弹窗 */classThreeBottomSheet:CoordinatorLayout{  privatevarmBinding:IncludeBottomSheetBinding  constructor(con......