当前位置: 首页 > news >正文

替换算法、虚拟存储器、TLB、RAID

1、需要替换算法的原因

1.2、4种常见的替换算法

1.2.1、先进先出法——FIFO(First in First out)

1.2.2、最不经常使用法——LFU(Least Frequently Used )

1.2.3、近期最少使用法——LRU(Least recently used)

1.3、FIFO替换算法的抖动问题

二、虚拟存储器

由于冯诺依曼的计算机结构中,程序只有调入到计算机的存储中,才能够被cpu访问并且执行,因此在冯诺依曼的计算机结构无法执行比主存空间更大的程序。因此有了虚拟存储器

2.1、虚拟存储器的概述

虚拟存储器是处于主存和辅存这个层次的,主要作用是解决主存容量不足的问题,为程序设计者提供比主存空间大的编程空间,主要分为以下3类:
①、页式虚拟存储器;
②、段式虚拟存储器 ;
③、段页式虚拟存储器。

2.2、虚拟存储器的地址访问

2.3、虚拟存储器的地址访问

2.4、逻辑地址与物理地址的转换

cpu在访问有虚拟存储器的存储系统的时候,用的是虚拟地址,cpu通过MMC将物理地址转换为虚拟地址。页表中的每一行叫做页表项,若干个页表项的集合构成了页表,页表的长度与序列号的位数相关联,为了实现基于页表的逻辑地址和物理地址的转换,首先需要由mmu当中的页表寄存器作为一个基地址来指示页表在主存中的起始地址,由于对虚拟存储器进行了页划分,分为页内偏移地址(VPO)和虚拟页号(VPN),当cpu访问的时候会基于虚拟页号(VPN)和页表寄存器(MMU)的值做一个偏移,就找到了与这个序号相对应的一个页表项在主存当中的一个物理地址,如果有效位为1的话,那么我们就从主存中将这个页表项取出来,也就是将这个页表项对应的物理页号取出来,并与本次访问的虚拟地址当中取出来的页内偏移地址相拼接,这样就得到物理地址,从而实现基于mmu和页表的逻辑地址向物理地址的转换过程。如下:

三、TLB(地址转换后备缓冲器)
3.1、虚地址转换过程中存在的问题

cpu在基于虚拟地址(由本次虚地址当中剥离出来的序列号与在mmu当中的一个页表寄存器的值进行偏移,去找到存放在主存的那个列表当中与虚页号对应的页表项的物理地址)访问mmu时,需要去判断与这个虚地址对应的物理页是否在主存当中,所以要把页表读回来去判断,我们假定与这个虚地址对应的这个虚页对应的物理页在主存当中,那么这一次访问就是命中的,当命中之后就得到了与这个虚地址对应的那个数据在主存的哪个物理地址上,之后再基于物理地址去访问主存,这次从主存当中得到的将是与这个虚地址相对应的那个数据。如下所示

上述过程基于虚地址访问存储数据时,访问了2次主存:第1次访问主存是要拿回页表项并判断页表项是否在主存当中,如果在的话,第2次访问主存才能得到数据。这个过程对于cpu的高速特性是一个巨大的损失。并且在虚实地址转换过程中,当发生缺页的时候,它对于存储系统的性能会带来更大的损失,如下:

基于以上2种情况,需要引入TLB。

3.2、TLB的工作原理

3.3、基于TLB的虚实地址转换

如上图所示,采用了TLB之后,我们还会对这个地址进行二次划分,主要是针对VPN划分出TLB Tag和TLB Index,页内偏移地址(VPO)不变,有了TLB Index就可以去找特定位置(该位置存放着在TLB当中经过变换以后的一个页表,该页表跟主存当中的页表有差别,相当于主存当中页表的子集,该子集中的Tag就是判断与虚页对应的物理页是否存在)。由于TLB存放的是子集的原因,因此,不可能基于这个地方剥离出来的index或者原来的vpn去找到所有的列表项,如果要找到所有的列表项,那么就需要做列表的变换(根据Tag去判断与虚页对应的物理页是否存在),如果存在且有效位唯一的话,我们就把TLB当中与这个index字段指向的特定行的物理地址读出来,该物理地址只是一个物理页号,如果要构成一个完整的物理地址,还需要将该物理页号与本次虚地址中剥离出来的页内偏移地址去做拼接,最终才得到一个物理地址。整个过程抽象成下图:

http://www.cnnetsun.cn/news/3115040.html

相关文章:

  • Asm Dd 10M导致System文件部分坏块修复---惜分飞
  • 【小白也能轻松玩转龙虾】虾壳云一键部署新版实测,体验 OpenClaw v2.7.9 全部新增功能(附最新安装包)
  • 2026 年 GEO 源码厂商选购指南,凭借底层技术筛选合规供应渠道
  • 2026苹果手机去水印App推荐,iPhone免费无广告视频图片去水印工具
  • Python+Django开发企业HRM系统实战指南
  • Chrome扩展开发实战指南:HTML到Figma设计稿的智能转换方案
  • 百 TB 数据、200+ 同步任务、一张 50 亿行的表,畅读科技短剧出海背后的数据底座
  • AI多模态分析框架:数据如何影响美联储政策?解码PCE、CPI、NFP对黄金市场的决策模型
  • B站视频下载神器:三步轻松获取高清视频的终极指南
  • 如何用Maye快速启动工具告别桌面图标混乱?3分钟掌握高效工作流
  • vue—生命周期
  • 怎样高效获取网络媒体资源:开源工具的智能跨平台解决方案
  • 一灯大师以专业工艺打造坦克500灯光升级标杆案例
  • 装备制造行业PLM软件系统最新厂商盘点,助力行业数字化转型
  • 零基础Redis单服务安装教程(Windows/macOS/Linux全系统)
  • 深度解析Obsidian Jupyter插件:在笔记中无缝执行Python代码的3种实战方法
  • 在M1 Mac上运行Android模拟器的完整指南:告别卡顿,享受原生性能
  • 3步搭建智能家居系统:Home Assistant操作系统完整指南
  • 宝宝英语启蒙0岁就能用,系统AI体系学听说,磨耳朵亲子互动首选app
  • 不止店推助手!更多AI功能,东棠智慧门店等你来解锁
  • YOLOv10模型改进-Backbone改进-第53篇: YOLOv10改进策略【Backbone】| VGG16 Backbone替换
  • 百亿连盟Token代理怎么申请?普通人先看懂这几个问题
  • 【SRC 掘金干货】零基础新人挖洞必备指南(2026 最新),全覆盖平台介绍、合规规则、完整落地实操流程
  • 【OpenHarmony/HarmonyOs 】政治学习 App 的人脸识别开放能力、端侧 AI 与元服务集成思路
  • Windows 10臃肿软件清理终极指南:如何一键移除预装应用提升系统性能
  • SysDVR终极指南:如何实现Switch游戏画面高清投屏与录制
  • 智能画中画视频助手:Chrome扩展让多任务处理更高效
  • 计算机毕业设计之基于Java的NBA球队管理系统
  • 09405黄大年茶思屋榜文94期 第5题 数字型LCoS快速切换Flicker抑制技术
  • 我在事业单位能不能考?