系统集成师考试过关率(备考高级系统分析师-计算机系统知识-计算机存储系统-Cache)

继续肝,周六时间充足,但是成年人的家庭琐事也是只能抽出时间更新了!加油吧打工人。

本次主要讲计算机存储系统跟Cache

1.计算机存储系统

下图:从上到下存储容量越来越大,存储速度越来越慢!价格也越来越便宜。

系统集成师考试过关率(备考高级系统分析师-计算机系统知识-计算机存储系统-Cache)(1)

计算机存储系统结构

计算机采用分级存储体系的主要目的是为了解决存储容量、成本和速度之间的矛盾问题。

两级存储:Cache-主存主存-辅存(虚拟存储体系)。设置两级存储主要是为了满足速度之间的矛盾,cpu里的寄存器存储速度太快了,导致主存跟不上,也就设置了cache,还有两级存储架构,成本也是制约因素。

局部性原理:总的来说,在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内,包括下面两个方面:

时间局部性原理:如果一个数据项正在被访问,那么在近期它很可能会被再次访问,即在相邻的时间里会访问同一个数据项。

空间局部性原理:在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的,即相邻的空间地址会被连续访问。

2.Cache2.1cache概念

高速缓存Cache用来存储当前最活跃的程序和数据直接与CPU交互位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。其内容是主存内存的副本拷贝,对于程序员来说是透明的。

Cache由控制部分存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换。

2.2地址映射 地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映像,由硬件自动完成映射(历年都有考点),分为下列三种方法:
  • 直接映像
  • 全相联映像
  • 组组相连映像

这三个考试不常考,了解下概念即可,小伙伴们感兴趣的可以在自己深入了解下,下边只给出概念!

直接映像:将Cache存储器等分成块,主存也等分成块并编号。主存中的块Cache中的块对应关系是固定的,也即二者块号相同才能命中。地址变换简单,但不灵活,容易造成资源浪费。

全相联映像:同样都等分成块并编号。主存中任意一块主存块号都与Cache中任意一块对应。因此可以随意调入Cache任意位置,但地址变换复杂,速度较慢。因为主存可以随意调主存块号入Cache任意块,只有当Cache满了才会发生块冲突,是最不容易发生块冲突的映像方式(考点)

组组相连映像前面两种方式的结合,将Cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像,即主存中组号与Cache中组号相同的组才能命中,但是组内全相联映像,也即组号相同的两个组内的所有块可以任意调换。

2.3替换算法(cache满了就要替换)

替换算法的目标就是使Cache 获得尽可能高的命中率。常用算法有如下几种:

(a)随机替换算法:就是用随机数发生器产生一个要替换的块号,将该块替换出去。

(b)先进先出算法:就是将最先进入Cache的信息块替换出去。

(c)近期最少使用算法:这种方法是将近期最少使用的Cache中的信息块替换出去。

(d)优化替换算法:这种方法必须先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换。

2.4cache命中率

Cache命中率的概念,即当CPU所访问的数据在Cache中时命中,直接从Cache中读取数据,设读取一次Cache时间为1ns,若CPU访问的数据不在Cache中,则需要从内存中读取,设读取一次内存的时间为1000ns,若在CPU多次读取数据过程中,有90%命中Cache,则CPU读取一次的平均时间为(90%*1 10%*1000)ns(也是考点)

考题来了(根据上边的知识点基本都覆盖了考题)

1.按照Cache地址映像的块冲突概率,从高到低排列的是()。

A.全相联映像→直接映像→组相联映像

B.直接映像→组相联映像→全相联映像

C.组相联映像→全相联映像→直接映像

D.直接映像→全相联映像→组相联映像

2.以下关于Cache与主存间地址映射的叙述中,正确的是()。

A.操作系统负责管理Cache与主存之间的地址映射

B.程序员需要通过编程来处理Cache与主存之间的地址映射

C.应用软件对Cache与主存之间的地址映射进行调度

D:由硬件自动完成Cache与主存之间的地址映射

3.地址编号从80000H到BFFFFH且按字节编址的内存容量为()KB,若用16K*4bit的存储器芯片构成该内存,共需()片。

A.128 B.256 C.512 D.1024

A.8 B.16 C.32 D.64

主要是考题3,单位的计算,字节Byte,比特bit,KB,MB,GB这个写个单位的换算,一会上更新灵魂画师的作品,上答案,先学到这里,后边继续!觉得内容对大伙有帮助的,希望各位多多点赞 关注,你们的支持,是我持续更新的学习的动力,加油吧老铁,祝福各位大佬们都能一次性通过系统分析师考试!

系统集成师考试过关率(备考高级系统分析师-计算机系统知识-计算机存储系统-Cache)(2)

只肝最后一题计算题,注意,16进制转换成10进制,然后就是开始地址到结束地址怎么计算了,假设开始地址2到结束地址10中间有多少个字节的地址?10-2 1=8(字节),所以BFFFFH-80000H 1=40000H(H代表16进制清楚吧,B是16进制的11),一个字节就是一个B,1B=8bit

感谢大伙点赞 关注的支持,是我持续学习更新的动力,关注公众号:Coding-9527,跟大伙一起学习,成长,进步!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页