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

article/2025/9/24 6:10:05

3.7虚拟存储器

思维导图

在这里插入图片描述

虚拟存储器的基本概念

虚拟存储器将主存或辅存的地址空间统一编址,形成一个庞大的地址空间,用户可以在里面进行自由编址,而不需要在乎实际的主存容量和程序存放的位置

虚拟地址比实际地址大

过程

  • CPU使用虚地址时,由复制硬件扎到虚地址和实地址之间的对应关系,并判断虚地址对应的存储单元是否已装入内存。

    • 如果已装入内存:通过地址变换,cpu可以直接当我主存指示的实际单元
    • 如果不存在主存中:则把包含这个字的一页或一段调入主存后再由CPU访问
    • 如果主存已满,采用替换算法置换主存的一页或一段

页式虚拟存储器

以页为基本单位的虚拟存储器称为页式虚拟存储器。

虚拟地址=虚页号+业内地址

页表(将虚拟地址转换到物理地址):是一张存放在主存中的虚拟号和实页号的对照表,记录程序的虚页调入主存时被安排在主存中的位置。页表一般长久地保存在内存中。

组成:

  • 有效位(装入位)

    • 表示对应页面是否在主存

      • 1:则表示该虚拟页已从外存调入主存,此时页表项存放该页的物理页号
      • 0:没有调入主存,此时页表项可以存放该页的磁盘地址
  • 脏位(修改位)

    • 表示页面是否被修改过
    • 虚拟机制采用写回策略
    • 利用脏位可判断替换时是否需要写回磁盘
  • 引用位

    • 设置替换策略

优缺点:

  • 优点:页面的长度固定,页表简单,调入方便。
  • 缺点:由于程序不可能正好是页面的整数倍,最后一页的零头将无法利用而造成浪费,并且页不是逻辑上独立的实体所以处理、保护和共享都不及段式虚拟存储器方便

快表(TLB):加快地址转换

把经常访问的页表放入高速缓冲存储器中(快表)

地址转换时先查找快表

快表通常采用全相连或组相联方式

TLB项由页表内容+一个TLB标记字段

  • TLB标记的内容

    • 全相联:该页表项对应的虚页号
    • 组相联:虚页号的高位部分,而虚页号的低位部分用于选择TLB的组索引(操作系统3.2.7)

具有Cache和TLB的虚拟存储系统中,CPU一次访存操作可能涉及TLB,页表,Cache 、主存和磁盘的访问。

CPU访问过程中存在三种缺失情况

  • TLB缺失:要访问的页面对应的页表项不在TLB中
  • Cache缺失:要访问的主存快不在Cache中
  • 缺页Page:要访问的页面不在主存中

段式虚拟存储器

按照程序的逻辑结构划分,各段长度因程序而异

虚拟地址:段号、段内地址

变换:虚地址到实地址由段表实现

过程:CPU根据虚拟地址访存时,首先根据段号与段表基地址拼接成对应的段表行,然后根据该段表行的装入位判断该段是否已调入主存(装入位为“1”,表示该段已调入主存;装入位为“0”,表示该段不在主存中)。已调入主存时,从段表读出该段在主存中的起始地址,与段内地址(偏移量)相加,得到对应的主存实地址。

优点:段的分界与程的自然分界相对应,因而具有逻辑独立性,使得它易于编译、管理、修改和保护,也便于多道程序共享

缺点:因为段长度可变,分配空间不便,容易在段间留下碎片,不好利用,造成浪费

段页式虚拟存储器

程序按逻辑结构分段,每段再划分为固定大小的页,主存也划分为大小相等的页

程序对主存的调入调出以页为基本单位

每个程序对应一个段表,每段对应一个页表,段的长度是页长的整数倍,段的起点是某一页的起点

虚地址:段号、段内页号、页内地址

优点:兼具页式和段式虚拟存储器的优点,可以按段实现共享和保护

缺点:地址变换过程中需要两次查表,系统开销较大

过程:CPU根据虚地址访存时,首先根据段号得到段表地址;然后从段表中取出该段的页表起始地址,与虚地址段内页号合成,得到页表地址;最

虚拟存储器与Cache的比较

相同之处

不同之处


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

相关文章

计算机原理概述

目录 计算机的发展史(稍作了解即可) 从硬件方面来了解计算机 程序的存储 广义数据在内存的存储问题 CPU的基本工作原理 让我们来从以下两个方面来了解计算机: 1.从硬件角度学习计算机的基本原理————CPU的基本工作原理 2.从操作系统…

《计算机组原理》存储器(一)

4.1概述4.1.1存储器的分类4.1.2 存储器的层次结构 4.2主存储器4.2.2半导体存储芯片简介4.2.3 随机存取存储器4.2.4只读存储器4.2.5存储器与CPU的连接4.2.6 存储器的校验4.2.7提高访存速度的措施 4.1概述 4.1.1存储器的分类 4.1.2 存储器的层次结构 一般来说,高速越…

计算机原理(硬件角度—CPU)

​ 一、概述 1、关于计算机原理: (1)从硬件角度学习计算机的基本工作原理——CPU的基本工作原理。 (2)从操作系统软件角度,学习我们的程序是如何工作起来的——进程管理。 2、程序指令数据 程序算法&…

计算机组成原理——数据的表示与运用

数值与编码 进位记数制及其相互转换十进制、二进制、八进制、十六进制真值、机器数(原码、反码、补码)字符与字符串的编码(小端和大端方式存储 )数据校验奇偶校验、CRC冗余校验、海明校验 定点数的表示和运算 无符号数的表示&…

【计算机组成原理】04-计算机的计算单位

一、容量单位 字节:1Byte8bits ◆ 理论上只认识0/1两种状态 ◆ 在物理层面,高低电平记录信息 ◆ 0/1能够表示的内容太少了,需要更大的容量表示方法 1G内存,可以存储多少字节的数据?可以存储多少比特数据?…

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

计算机组成原理总目录 虚拟存储器 虚拟存储器主要解决的是用于解决存储数据的容量问题 例如在电脑的辅存磁盘中存放了几百GB甚至几TB的数据,包括几十个上百个程序 但我们在实际运行时,并不需要使用到所有的数据,而只需要用到其中一个或者两个…

计算机原理-数据

数据 二进制 十进制(人类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)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务…