计算机组成原理_虚拟存储器

article/2025/9/24 6:22:52

计算机组成原理总目录

虚拟存储器

虚拟存储器主要解决的是用于解决存储数据的容量问题

例如在电脑的辅存磁盘中存放了几百GB甚至几TB的数据,包括几十个上百个程序
但我们在实际运行时,并不需要使用到所有的数据,而只需要用到其中一个或者两个程序
这是我们就可以将要用到数据读取到更快的主存中进行运行,提高程序的运行速度

同时,如果一个程序的大小超过了主存的大小,主存内的数据就会发生替换,使得主存的空间看起来很大,这也就是其虚拟的特性原理在这里插入图片描述

1. 分页

当我们需要将大小为4KB的程序A加载到主存时,会发现有可能找不到【可用且连续】的4KB空间,而这时就需要对数据进行分页处理 (该过程是由操作系统完成)

  • 分页:如下图中我们将程序划分为1KB为一【】,这样我们就无需去找连续的4KB空间,而是分散地将每一页加载到主存中

在这里插入图片描述
在这里插入图片描述

2. 页表

在进行分页后,我们能充分的利用主存中的零碎空间将程序A装入主存,但我们接下来该如何读取程序A呢?

  • 逻辑地址(虚地址):程序员所看到的虚拟地址,也称为绝对地址

  • 物理地址(实地址):数据在主存中的实际地址,也称为相对地址

    在这里插入图片描述


因为程序员写程序时所使用的都是逻辑地址,与实际的物理地址不一致
故我们需要一个表来记录逻辑页号与物理页号之间的联系,不仅如此页表还包括其他的信息
在这里插入图片描述

  • 脏位:用于写入时是否需要写回辅存
  • 有效位:表示页面是否已被调入主存中
  • 访问位:用于页面的替换算法(与Cache相关替换算法类似)
  • 辅存块号:数据在辅存中的位置
  • 主存块号:逻辑页号所放在主存中的位置
  • 逻辑页号:程序员所访问的逻辑位置

在这里插入图片描述

3. 页式存储的地址变换

在建立好页表后,我们就可以根据逻辑地址来读取程序A的数据在主存中的实际位置,流程如下

  • 第一步,获取逻辑地址中的页号
  • 第二步,获取页表的地址寄存器存放的页表地址
  • 第三步,在页表中根据页号查找物理页号
  • 第四步,将得到的物理页号拼接页内地址,从而得到最终的物理地址

在这里插入图片描述

4. 快表

因为页表实际上也是存储在主存上的,所以为了能更快的提高查表速度,故引入了快表机制
其原理和Cache相同,利用局部性原理,将频繁查找到的页表记录存储在查询速度更快的快表中,减少访问主存的次数
在这里插入图片描述

需要注意Cache和快表的不同之处

  • Cache:当我们直接访问主存的物理地址时,我们会通过访问Cache来减少访存次数
  • 快表:当我们访问的是程序的逻辑地址(而非物理地址),则我们需要将【逻辑地址转为物理地址】这一过程,而快表的作用就是用来减少这个转化过程的访存次数
  • 逻辑地址在转化为了物理地址后,就该轮到Cache发挥作用的时候了

其次,Cache与主存之间的工作是由硬件自动完成的
而主存与辅存之间的地址转换是由硬件和操作系统共同完成的


http://chatgpt.dhexx.cn/article/PSb6tUAs.shtml

相关文章

计算机原理-数据

数据 二进制 十进制(人类use) 十六进制 (2,4,16 是权) 1011.0112^30*2^22^12^00*2^-11*2^-21*2^-3802100.250.125 27.375 七进制转十进制(权不一样) 604.01 6*7^20*7^14*7^00*7…

(一)计算机组成原理之计算机系统导论(冯诺依曼计算机以及cpu,机器字长,MAR,存储单元,MDR,存储字长等)

❤️ 知识点 1.冯诺依曼计算机的构成:运算器,控制器,存储器,输入设备和输出设备 2.计算机的硬件组成:.原始的冯诺依曼在结构上是以运算器为中心,而发展到现在,以转向以存储器为中心。&#xff…

计算机组成原理:如何衡量计算机的性能

在计算机组成原理乃至体系结构中,“性能”都是最重要的一个主题。学习和研究计算机组成原理,就是在理解计算机是怎么运作的,以及为什么要这么运作。“为什么”所要究竟的事情,很多时候就是提升“性能” 什么是性能?时…

计算机组成原理 --- 计算机性能指标

一.存储器的性能指标 1.MAR是地址寄存器,MDR是数据寄存器 2.MAR的位数能够体现最多存多少个地址,而每个地址就代表一个存储单元,所以MAR的位数能表示存储器中有多少个存储单元 3.MDR是数据寄存器,它的容纳极限 每个存储单元的…

通用计算机器

还是下面这句话: 将固定的资源在所有使用者中分配,而不是为每一个使用者分配固定额度的资源。 还是那个简单的倒换,通用计算机就设计出来了。 人们就意识到内存和CPU之间的总线成了瓶颈,于是人们拼命缩短这条总线的长度&#xff…

量子计算机是什么?量子计算机和传统计算机之间有什么区别?

1.突破1000量子比特大关! 2022年11月9日的IBM年度量子峰会上,IBM宣布了Osprey在量子硬件和软件方面取得的突破性进展,同时推出了“鱼鹰”(Osprey)芯片。“鱼鹰”是全球迄今为止量子比特最多的量子计算机,而…

计算机中的单位换算

1 基本单位 信息存储量是度量存储器存放程序和数据的数量。 位(Bit):计算机当中最小的信息单位 存放一个二进制位数,即 0 或 1字节(Byte):计算机中的基本信息单位 常用的单位字(Wo…

计算机原理(一)

计算机基本原理 现代计算机,大部分都是基于冯诺依曼体系结构,而我们这里谈论的也是此问前提。冯诺依曼的核心是:存储程序,顺序执行。所以不管计算机如何发展,基本原理是相同的。计算机程序实际上是告诉计算机做…

计算机组成原理——算术逻辑单元(ALU)

逻辑门器件(与或非) 与门 两个数相与,当两个都为1,结果才为1,一旦有一个0结果就是0 或门 两个数相与,当有一个数等于1,结果就为1,当两个数都为0时结果才为0 非门 一个数取反 …

计算机模型

计算机模型 1、图灵模型 图灵机:一种可以计算任何数据的特殊机器;一台优秀的计算机必须具备和图灵机一样的运算 首先将计算机定义成一个 数据处理器,数据处理器对输入的数据进行处理,后再将处理后的数据输出。 此模型弊端&…

计算机的计算单位

容量单位 在物理层面,高低电平记录信息理论上只认识0/1两种状态0/1能够表示的内容太少了,需要更大的容量表示方法0/1称为bit(比特位)字节:1Byte 8bits 硬盘商一般使用10进位标记容量,500G一般格式化后只…

计算机的核心:ALU(算术和逻辑单元)

本节我们将揭秘计算机的核心部件:算术和逻辑单元。了解计算机里基础的加法,左移,右移,非,与,或,异或,比较操作是如何被选择和处理的。 算术和逻辑单元 目前,我们已经见到…

计算机组成.计算机在计算啥.运算与ALU

一身冷汗原本打算在iPad上写下一篇“处理器”。上一次用iPad写的这篇在打开浏览器后还保存着,我就直接删掉重写了。结果把原本的我的这篇给覆盖了……幸亏我有备份……不过格式还是得再MarkDown上重新调整……心好累 突然发现在iPad的网页上也可以写博客哎&#xff…

云平台常见风险

0x00 前言 云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务…

OneNET云平台设备数据管理工具

联系电话:15712339322 1 产品介绍 终端设备上报数据到OneNET云平台,除了云平台可以提供的可视化web页面外,还可以通过定制数据管理工具的方式对云数据进行展示。在该版本中提供对最细粒度的数据样本展示。基于最细粒度的基础上,…

混合云平台打破数据壁垒

导读数字经济时代,作为塑造企业未来竞争力的关键,数据的价值正受到越来越多企业的关注。与传统生产要素相比,数据作为新型生产要素,具有更强的可复制性、更易共享、且可无限增长和供给,使突破有限自然资源供给对经济增…

云平台包含的基本特征介绍

1)按需自助服务。消费者无需同服务提供商交互就可以自动地得到自助的计算资源能力,如服务器的时间、网络存储等(资源的自助服务)。 2)无所不在的网络访问。借助于不同的客户端来通过标准的应用对网络访问的可用能力。…

新大陆云平台使用笔记

云平台API使用 1.登陆 1.1 登陆调用api 1.2返回JSON值2.查询单个项目 2.1 api 2.2查询单个项目返回JSON值 3.模糊查询项目 3.1 模糊查询项目api 3.2 模糊查询返回JSON 4.查询项目所有设备的传感器 4.1查询所有设备的传感器api 4.2查询项目所有设备的传感器返回JSON 5.批量查询…

初试阿里云平台

-----初试阿里云平台------ 目录 -----初试阿里云平台------ 一、什么是阿里云平台与阿里云Serverless技术 二、日常部署 三、个人心得 一、什么是阿里云平台与阿里云Serverless技术 云开发平台是面向开发者打造的一站式、全云端的开发平台,打开浏览器就可以开发…

使用ESP8266数据上onenet云平台

大家好,今天给大家带来的是使用esp8266将单片机的数据上传至onenet云平台。首先说说,为什么要上云呢?将数据上传至云平台可以更好的观察到数据的变化,也可以通过云平台命令下发从而更方便管理。当然我们也可以使用安卓、微信小程序…