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

2.28CACHE,虚拟存储器

  • 主存储器,简称主存。CPU可以直接随机地对其进行访问也可以和高速缓存器及辅助存储器交换数据。

  • 2> 辅助存储器,简称辅存,不能与CPU直接相连,用来存放当前暂时不用的程序和数据

  • 3> 高速缓冲存储器,位于主存和CPU之间,用来存放正在执行的程序段和数据
     

  •  随机存储器(RAM)。存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存取单元的物理位置无关,主要用作主存或高速缓冲存储器。

    2> 只读存储器(ROM)。存储器的内容只能随机读出而不能写入。。即使断电,内容也不会丢失。

    3> 串行访问存储器。对存储单元进行读/写操作时,需按其物理位置的先后顺序寻址,包括顺序存取存储器(如磁带)与直接存取存储器(如磁盘)。

位扩展是地址线占用,然后扩展每位的字节,即接到数据总线上进行利用

字扩展是地址线没用完,然后把地址线进行译码器去选,可以扩充容量

位扩展扩展的是单价,字扩展扩展的是数量

1K是2^10,那么2k就是2^11

片选线就是去选哪个芯片进行操作,程序分为两种,一种是系统程序区,另一种是用户程序区,选用不同的芯片,一般系统CPU地址线数量大于芯片要求的数量,因为要实现片选,也是字扩展

主存与CPU连接,外存(辅存)不与CPU连接

这个就是算完后,系统程序区的大小比用户程序区大,所以分配给系统程序区的地址线数量就多,ROM芯片的大小也就大。一整个主存存储系统与用户,分别用RAM与ROM进行存储,然后就是CPU与这一些列芯片进行连接(这一系列芯片就是主存)。

主存地址物理上是在不同芯片的,可能是不连续的。但逻辑地址是连续的

这个就是说主存逻辑地址上是连续的一片,即6000H~6BFFH,但是划分为系统程序区以及用户程序区,用不同的芯片进行存储。对于CPU的地址线,有一些地址线通过译码驱动部分电路(即译码器)来进行对芯片片选,译码器还需要MREQ来进行使能访问,一共用三个芯片。

以上是说那一系列芯片构成一个主存,逻辑指令地址在一个主存上连续,可能在不同芯片不连续,但不影响。而多体并行存储器是说逻辑地址连续,但是是在不同的主存上的(不管主存内是怎么实现的),插了多个主存条后,进行编址有高位和低位,低位的话就是连续的逻辑地址访问的是不同的主存条,高位的话就不是,因此低位的话可以加快存储周期,而高位的话只是单纯的扩展内存容量。存储周期就是包含写以及恢复,如果低位的话,逻辑上的连续就可以实现存储周期等于写

交叉存储器实际上是一种模块式的存储器,它能并行执行多个独立的读/写操作。

主存地址大小是256MB,1M是2^20,256=2^8,所以主存一共需要28位二进制,由于CACHE行长为64B,CHCHE里要记录主存字块标记,所以主存的字块标记有6位

 

段页式虚拟存储器

把程序按逻辑结构分段,每段再划分为固定大小的页
主存空间也划分为大小相等的页,
程序对主存的调入、调出仍以页为基本传送单位。
每个程序对应一个段表,每段对应一个页表
虚拟地址:段号+段内页号+页内地址

存储器的层次结构主要体现在 Cache-主存和 主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要 对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于 Cache的速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要 起扩容作用,即从程序员的角度看,他所使用的存储器的容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与 Cache之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软/硬结合的技术组成虚拟存储器,程序员可用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软/硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。

存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间;而存取周期不仅包含操作时间,而且包含操作后线路的恢复时间,即存取周期=存取时间+恢复时间

页面不能设置得过大,也不能设置得过小。因为页面太小时,平均页内剩余空间较少,可节省存储空间,但会使得页表增大,而且页面太小时不能充分利用访存的空间局部性来提高命中率;页面太大时,可减少页表空间,但平均页内剩余空间较大,会浪费较多存储空间,页面太大还会使页面调入/调出的时间较长

发生取指令 Cache缺失的处理过程是什么?

1)程序计数器恢复当前指令的值。
2)对主存进行读的操作。
3)将读入的指令写入 Cache中,更改有效位和标记位。
4)重新执行当前指令。

就是说A1和A2地址上的数据进行OP操作,然后存到A3位置上,A4是下一个地址

这个图就是说地址是那6位,这6位确定64个,然后每个上都有存储数据(比如00FF……)

每层往下的那个1都被保留,目的就是为了进行区分,这样做的话,虽然哦操作码的位数增长了,但实际变化的操作码数量并没有发生变化,所以对于每个地址数量的操作码而言,可进行的操作数量并没有发生太大变化,增长操作码,就会减少地址码,那么就是压缩了寻址空间

指令字长固定为16位(就是说操作码+地址码长度为16),要15条三地址指令,那么至少需要4位可变操作码。需要的操作数越多,那么需要的可变操作码数量也就越多。

若采用定长操作码的话,操作码的数量取决于最长的、需要的操作数。这样的话对于不需要那么多的操作的指令就造成了浪费

对于三地址指令,四位可变的,需要15种,那么会留出一种;对于12条二地址,至少需要4位可变的,需要4位,留出4种;对于一地址指令,62种,至少要6位,上层留出4种,则本层只需要4位,所以最后留出2种

 

采用扩展操作码后,就可以使寻址范围小的数据有长的操作码,最终目的以及实现效果是有效缩短指令长度

指令转移里的地址码就是指令的地址,而不是数据、操作数的地址

寻址特征就是说怎么找到操作数的位置,形式地址的目的是为了找到操作数的真实地址,

指令寻址方式(存放)

按字节编址,按字编址

虚拟存储器

什么是页表基址寄存器

CACHE映射

 

CACHE写策略

相关文章:

2.28CACHE,虚拟存储器

主存储器,简称主存。CPU可以直接随机地对其进行访问,也可以和高速缓存器及辅助存储器交换数据。 2> 辅助存储器,简称辅存,不能与CPU直接相连,用来存放当前暂时不用的程序和数据 3> 高速缓冲存储器,位于主存和CPU之间,用来…...

深入理解栈和队列(一):栈

个人主页:17_Kevin-CSDN博客 专栏:《数据结构》 一、栈的概念 栈(Stack)是一种特殊的线性表,它遵循后进先出(Last-In-First-Out,LIFO)的原则。栈可以被看作是一个只能在一端进行操作…...

electron-builder 打包问题,下载慢解决方案

目录 问题说明设置下载源 ?解决方案思路下载Electron下载winCodeSign下载nsis下载nsis-resources 总结 问题说明 项目使用了Electron,在第一次打包时会遇见下载慢,导致打包进度几乎停滞不前,甚至可能直接报错 其实这是因为Electr…...

(简单成功)Mac:命令设置别名

案例:给"ls -l"命令,设置别名通过”ll“快速访问 1、在项目根目录底下查看有无.bash_profile文件,注意这个是个隐藏文件,需要使用ls -a命令查看: 没有.bash_profile新建一个文件, 在最后添加一行…...

Grok-1:参数量最大的开源大语言模型

Grok-1:参数量最大的开源大语言模型 项目简介 由马斯克领衔的大型模型企业 xAI 正式公布了一项重要动作:开源了一个拥有 3140 亿参数的混合专家模型(MoE)「Grok-1」,连同其模型权重和网络架构一并公开。 此举将 Gro…...

Python 自然语言处理库之stanza使用详解

概要 在自然语言处理(NLP)领域,Python Stanza 库是一个备受推崇的工具,它提供了强大的功能和易用的接口,帮助开发者处理文本数据、进行语言分析和构建NLP应用。本文将深入探讨 Stanza 库的特性、用法,并通过丰富的示例代码展示其在实际项目中的应用。 Stanza 简介 Stan…...

计算机网络:数据交换方式

计算机网络:数据交换方式 电路交换分组交换报文交换传输对比 本博客介绍计算机之间数据交换的三种方式,分别是电路交换、分组交换以及报文交换。 电路交换 我们首先来看电路交换,在电话问世后不久,人们就发现要让所有的电话机都…...

万用表革新升级,WT588F02BP-14S语音芯片助力智能测量新体验v

万能表功能: 万能表是一款集多功能于一体的电子测量工具,能够精准测量电压、电流、电阻等参数,广泛应用于电气、电子、通信等领域。其操作简便、测量准确,是工程师们进行电路调试、故障排查的得力助手,为提升工作效率…...

Day61:WEB攻防-PHP反序列化原生类TIPSCVE绕过漏洞属性类型特征

知识点: 1、PHP-反序列化-属性类型&显示特征 2、PHP-反序列化-CVE绕过&字符串逃逸 3、PHP-反序列化-原生类生成&利用&配合 补充:如果在 PHP 类中没有实现某个魔术方法,那么该魔术方法在相应的情况下不会被自动触发。PHP 的魔…...

【开源】SpringBoot框架开发不良邮件过滤系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统用户模块2.2 收件箱模块2.3 发件箱模块2.4 垃圾箱模块2.5 回收站模块2.6 邮箱过滤设置模块 三、实体类设计3.1 系统用户3.2 邮件3.3 其他实体 四、系统展示五、核心代码5.1 查询收件箱档案5.2 查询回收站档案5.3 新…...

详细教---用Django封装写好的模型

本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。 第一步:代码准备 热搜词条搜集代码: import requests from lxml import etreeurl "https://tophub.today/n/KqndgxeLl9" headers{User-Agent: Mozilla/5.…...

设计模式 抽象工厂

01.人类接口 public interface Human { //首先定义什么是人类//人是愉快的,会笑的,本来是想用smile表示,想了一下laugh更合适,好长时间没有大笑了; public void laugh(); //人类还会哭,代表痛苦 public v…...

OPTIONS请求(跨域预检查)

目录 一、什么是OPTIONS请求?二、简单请求、复杂请求三、特定的请求头、响应头 一、什么是OPTIONS请求? OPTIONS 请求方式是 HTTP 协议中的一种,主要用于 从响应头中获取服务器支持的HTTP请求方式。 OPTIONS 请求方式是 浏览级行为&#xf…...

游戏反云手机检测方案

游戏风险环境,是指独立于原有设备或破坏设备原有系统的环境。常见的游戏风险环境有:云手机、虚拟机、虚拟框架、iOS越狱、安卓设备root等。 这类风险环境可以为游戏外挂、破解提供所需的高级别设备权限,当游戏处于这些风险环境下&#xff0c…...

HarmonyOS NEXT应用开发之动态路由

介绍 本示例将介绍如何使用动态路由跳转到模块中的页面,以及如何使用动态import的方式加载模块 使用说明 通过动态import的方式,在需要进入页面时加载对应的模块。配置动态路由,通过WrapBuilder接口,动态创建页面并跳转。动态i…...

wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载带光照信息的材质文件Mtl 实现光照贴图的最简实例(十七)

文章目录 前言一、3d 立方体 model 属性相关文件1. cube1.obj2. cube1.Mtl3. 纹理图片 cordeBouee4.jpg二、实现光照贴图的效果1. 依赖库和头文件1.1 assimp1.2 stb_image.h2. egl_wayland_obj_cube1.cpp3. Matrix.h 和 Matrix.cpp4. xdg-shell-client-protocol.h 和 xdg-shell…...

【NLP笔记】Transformer

文章目录 基本架构EmbeddingEncoderself-attentionMulti-Attention残差连接LayerNorm DecoderMask&Cross Attention线性层&softmax损失函数 论文链接: Attention Is All You Need 参考文章: 【NLP】《Attention Is All You Need》的阅读笔记 一…...

【Unity】程序创建Mesh(二)MeshRenderer、光照、Probes探针、UV信息、法线信息

文章目录 接上文MeshRenderer(网格渲染器)Materials(材质)Material和Mesh对应Lighting光照Lightmapping材质中的光照 光源类型阴影全局光照Probes(探针)Ray Tracing(光线追踪)Additi…...

每日一练:LeeCode-167. 两数之和 II - 输入有序数组【双指针】

给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < numbers.…...

性能优化(CPU优化技术)-NEON指令详解

原文来自ARM SIMD 指令集&#xff1a;NEON 简介 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础教程 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xf…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...