1、高速缓存
1.1 定义
用来存放当前最活跃的程序和数据。
特点:容量在几千字节到几兆之间,速度比主存快5~·10倍左右。快速半导体组成。
1.2 高速缓存的组成
一般位于CPU和主存之间。主要包括管理模块、由相联存储器构成的存储表、小容量的高速存储器。
1.3 高速缓存的地址映像方法
主存地址转换成Cache存储器的地址,这种地址转换叫做地址映像。地址映像主要有三种方式:
1、直接映像:主存的块和Cache块的关系是固定的。主存地址中主存区号和Cache存储的存储号相同表示命中。优点:地址变换简单;缺点:但灵活性差。
2、全联映像
允许主存的任一块调用Cache存储器的任何一个块空间。
优点:主存的物理块调入Cache的位置不受限制,比较灵活;缺点:无法从主存块号直接获得Cache对应的块号,变换复杂,速度较慢。
3、组相联映像
就是 将Cache中的块再分成组。组相联映像中组采用直接映像,块采用全相联映像方式。
1.4 高速缓存的替换算法、
替换算法目的是为了让Cache获得最高的命中率。
随机替换算法:利用随机数发生器产生一个要替换的块号,将该块替换出去。
先进先出算法:将最先进入的块替换出去。
近期最少使用算法:近期最少使用的块替换出去。
优化替换算法:先执行一次程序统计Cache替换的情况,第二次根据第一次的分析情况用最合理的方式进行替换。
1.5 Cache的性能分析
Cache的命中率是性能的一个重要指标。Cache的设计目标就是在成本允许的情况下达到较高的命中率、使存储系统拥有最短的访问时间。
在指令流水线中,Cache失效将会影响指令的流水。降低失效率是提升Cache性能的重要措施。降低失效率的主要方法可以选择合理的块容量、提高Cache容量、提升Cache的相联程度。
Cache容量越大命中率将会越高。要合理提升Cache的容量。因为容量大了成本将会增加、访问时间也会增加。
1.6 什么是多级Cache
Cache分为一级(L1 Cache)、二级(L2 Cache)。CPU访问先找L1,不命中找L2.。直到都命不中,则访问主存。CPU内通常为二级Cache结构。
2、虚拟存储器
理论上可以把主存存储器看作由多个字节构成的存储空间,每个字节有一个存储编号,主存单元的该地址称为物理地址。当需要访问主存的数据时,由CPU给出要访问的数据所在的存储单元地址,然后由主存的读写控制部件定位对应的存储单元,对其进行读写操作来完成访问动作。
虚拟存储器实际是一种逻辑存储器。实际上是对物理存储设备进行逻辑化处理,并将统一的逻辑视图呈现给使用者。
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
优快云大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓