初读这本书,是2020年3,4月吧,以前学的大多数处理器,balabala的,虽然也有介绍储存器的,但总是不是很详细,主要还是关注cpu等计算部件或者总线等事物,就如同这本书中所写,人们往往可以很清楚的描述Intel处理器与AMD处理器的区别,但是对各种存储器却总是不甚熟悉。

寄存器是以与CPU相同的方法制备的,与CPU的时钟频率相同,且与CPU其他部分之间的数据通路都较短,此外,片上寄存器可以直接被CPU访问,而访问其他外部存储器都需要通过一个过程,包括存储器管理,地址翻译以及复杂的数据缓冲和控制机制。

Cache相当于位于内存和寄存器之间的缓冲区,这是实际存在的,硬件,计算机管理;而虚拟存储相当于内存和硬件之间的缓存机制,这并不实际存在,由操作系统管理。

Cache大家都比较熟悉,主要利用了访问的局部性原理(时间局部性与空间局部性)。

几种降低Cache失效率的方法

1.代码层面,编写具有良好局部性的代码

2.取指策略:如按需获取,预取,选择性获取。

按需获取在失效后调入所需块,这是一种最简单的选择。

预取策略预测未来的Cache需求(例如,如果没有缓冲块i+1,但访问块i时也调入第i+1块)。实现预取算法有许多可能的方法,如选择性获取策略在主存储器的部分内容不能被缓存的情况下使用。例如,在多处理器系统之中,由多个处理器共享的部分不应该被缓存,如果这些数据被缓存而处理器修改了存储器中的拷贝,Cache和存储器中的数据将不再保持一致。

3.多级Cache

虚拟存储器和存储器管理

这些概念在《深入理解计算机系统》和《操作系统》之中已有较为完备的介绍,在此只列下大概。

存储器管理是操作系统和硬件的切合点,它关注的是管理主存储器和磁盘,可以认为它是一种拓展的Cache技术。

虚拟存储空间是逻辑地址空间的同义词,编写程序中,我们不用考虑实际的物理地址,而是认为地址都是从0开始的即可,且可以编写超过主存的软件,给用户一个无穷大空间的错觉,这些是由操作系统帮助完成的。

处理器逻辑地址空间的大小与指定操作数的寻址方式无关。他也与程序是使用高级语言,汇编语言还是机器代码无关。在32位系统中,处理器不能指定4GB以外的逻辑地址。操作系统32位主要是指其寄存器的位数。

物理地址空间由处理器使用存储器系统中所有的实际地址位置构成。该存储器不是抽象的,是真正实现的。换句话说,系统的主存储器构成的物理地址空间。计算机逻辑地址空间的大小由指定地址所需得到位数决定,而物理地址空间的大小通常只受其成本限制。

存储器管理系统的基本目的如下:

虚拟存储器主要满足(1)(2)需求

其主要有4个作用:支持比物理空间更大的逻辑存储空间,实现逻辑地址到物理地址的映射,为逻辑地址空间中运行的任务分配物理存储器,更加方便的建立多任务的系统。

1.存储器管理与多任务

存储器管理单元将程序员选择的逻辑地址映射到物理存储空间,而操作系统负责建立逻辑空间到物理地址的映射表。存储器映射的一个强大功能是,每个逻辑存储快可被赋予各种权限。例如,存储器可以是只读、只写、只能通过操作系统或给定的任务访问或在一组任务之间共享。通过确保物理存储器只能被预先定义的任务访问,可以确保一个任务的执行不会导致另一个任务崩溃。有两种实现存储器管理的基本方式。使用固定大小的存储块,称为页,另一种使用可变大小的存储快,称为段

2.地址翻译

存储器管理提供了两种不同的服务。第一种是将逻辑地址映射到可用的物理存储器之中,第二种功能发生在物理地址耗尽之时,由于数据不在内存之中,逻辑地址到物理地址的映射不能完成。

3.二级表

由于现在的内存很大,如果只使用1级页表,将会导致巨大的页表,所以引入了2级页表,使用多级页表实现地址转换可以避免使用大容量的页表。

下面是一个二级页表示意图

《计算机存储与外设》 1Cache存储器与虚拟存储器的更多相关文章

  1. 计算机存储负数以及int转byte时-128的出现

    我们看下面这段代码 输出的结果的是128,这个没什么疑问 但是当我们不改变数值仅仅加了一个强制转换后 这时我们会发现结果会变成负的128.这时候我们就要怀疑了,为什么会出现这样的结果呢? 对于这个问题 ...

  2. 计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么?

    关于计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么? 我们知道Kb是1000的1次方,所以 MB就是1000的2次方(106) GB就是1000的3次方(109) TB就是10 ...

  3. 【转】ESXi主机出现“主机上的系统日志存储在非持久存储器中”解决办法

    原址:https://blog.csdn.net/mooncarp/article/details/50923483 当ESXi主机的底层操作系统安装在SD卡上时,在vCenter中配置该主机时,如果 ...

  4. Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节

    计算机存储中有多少字节 题目 问题描述 在计算机存储中,12.5MB是多少字节? 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这个整数,填写多余 ...

  5. 小老板,我学的计算机组成原理告诉我半导体存储器都是断电后丢失的,为什么U盘SSD(固态硬盘)没事呢?

    什么是闪存: 快闪存储器(英语:flash memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器 存储原理 要讲解闪存的存储原理,还是要从EPROM和EEPROM ...

  6. 基础知识:语言、编程、计算机组成、cpu、存储器

    2019年3月18日一.    语言:一种事物与另外一种事物沟通的介质.              编程语言:程序员与计算机沟通的介质.    编程:把要让计算机做的事用一种编程语言表达出来.    ...

  7. STM32—DMA存储器到外设

    DMA目录 DMA简介 DMA框图 DMA传输数据分析 1.传输的方向 2.传输的数量 3.传输的模式 代码部分 DMA初始化结构体 USART配置函数 DMA配置函数 主函数 DMA简介 DMA(D ...

  8. Linux学习-计算机基础

    Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...

  9. 『Linux基础 - 1』计算机基础概念

    这篇笔记的知识点结构目录: 认识计算机: (1)什么是计算机; (2)计算机的发展过程 计算机的构成: (1) 计算机硬件系统; (2) 计算机软件系统 二进制: (1) 为什么用二进制 (2) 二进 ...

随机推荐

  1. java学习第四天7/9

    一. 今天学习了一些算法: 求最小值,最大值,平均值 接着学了几种排序方法 1.冒泡排序 (1)逐一比较数组中响铃的两个元素,如果后面的数字小于前面的数字,就交换先后元素: (2)经过一个轮次的比较, ...

  2. Celery无法注册任务的几种情况

    Celery处理异步任务使得程序不必等待任务结束就可以继续执行其它任务或返回数据结果, 在处理耗时任务如发送邮件.发送信息验证码等场景下非常适用! Celery使用方法灵活,根据具体业务有不同的部署和 ...

  3. UML学习笔记—基本概念和初始阶段

    chpater1 1.什么是分析和设计 分析:对问题和需求的调查研究 设计:满足需求的概念上的解决方案 做正确的事(分析)和正确地做事(设计) 2.什么是Object-Oriented-Analysi ...

  4. TCP 进阶

    转自: https://www.cnblogs.com/caoyusongnet/p/9087633.html 一. 端口号 标准的端口号由 Internet 号码分配机构(IANA)分配.这组数字被 ...

  5. Android 性能优化 ---- 内存优化

    1.Android内存管理机制 1.1 Java内存分配模型 先上一张JVM将内存划分区域的图 程序计数器:存储当前线程执行目标方法执行到第几行. 栈内存:Java栈中存放的是一个个栈帧,每个栈帧对应 ...

  6. javascript兼容性:展开运算符 ... 的降级

    展开运算符 ... 是一个很好用的ES6新特性,用的好的话,可以节约很多代码. 但是作为ES6特性,它有兼容性问题,而且Babal(在线转码网页)并不会转换展开运算符. 展开运算符大体分为两种用法:展 ...

  7. Statezhong shiyong redux props

    在构造方法中使用props给state赋值不允许, 原因需要检查

  8. java文件导出过程 CS、BS差别

    最近在做一个需求,类似和navicat工具差不多的,通过java代码吧数据库表的数据导出来.jdbc获取数据库连接,查询表数据,分批次用流写入文件txt.csv.json.xls.xlsx,搞定之后, ...

  9. placeholder CSS设置

    IE似乎一个冒号才生效,而chrome则是两个冒号才生效 input::-webkit-input-placeholder{ color:red; } input:-ms-input-placehol ...

  10. Python快速入门PDF高清完整版免费下载|百度云盘

    百度云盘:Python快速入门PDF高清完整版免费下载 提取码:w5y8 内容简介 这是一本Python快速入门书,基于Python 3.6编写.本书分为4部分,第一部分讲解Python的基础知识,对 ...