软考备考(三)
前言
上一篇文章写了计算机硬件系统的 CPU构造,知晓了CPU的组成、运算器、主存、控制器的包含组件以及作用。在末尾也讲述了流水线工作的原理以及运算公式。下面开始新的内容吧。
1、计算机的存储系统结构
如图所示,其中我们常说的Cache就是缓存。
成本:从右到左越来越贵
容量:从右到左越来越小
速度:从右到左越来越快
历史由来:
CPU原本是直接调用主存中的指令,但是随着CPU技术的发展,CPU的运行速度越来越快,但主存的运行速度却远远小于CPU,为了不让主存成为计算机发展的瓶颈,就发明了缓存,把CPU经常调用的指令放在缓存中,加快了程序的运行。
辅存和主存采用的是虚拟缓存思想,就是把辅存(外存)的内存分一些出来给主存,类似于外接固态硬盘。
内存就是主存!
2、计算机存储系统的性能指标?
成本、容量、速度。
3、主存的认识?
主存:随机存储器RAM(掉电丢失,可读可写,就是电脑的运行内存,16GB那个)
{这里又可分为DRAM和SRAM,即分为动态和静态,区分点在于要不要动态刷新,动态要, 静态不用}
只读存储器ROM(掉电不丢失)
这里要注意!!!!!!!
我们买电脑时看的固态硬盘SSD和机械硬盘HDD,是属于辅存(外存),不是主存!
4、存储器的存储方式?
一共有4种:
顺序存取(磁带) 直接存取(硬盘)
随机存取(内存) 相联存取(Cache)
磁带存储就是2011年左右的那种磁带机,可以来放歌,听英语听力啥的,现在基本不用了,
顺序存储就是只能通过送磁带往一个方向送,不能删除,记录的东西就记录了,不能删除。
直接存取:把数据存放在磁盘(外存)中,磁盘被分成了许多个“块”,每个块都有个标识,然后查找数据时就直接通过标识去查找。
随机存取:想找哪个,就能马上找到哪个。比如读一本书,想读第五章,就直接通过目录(地址)跳到第五章。
相联存取:要找某个数据,不用它的地址和编号,直接按照这个数据的某些特征来找。比如要找一个男生,那么就直接利用男生是短发这个特征去找即可。
5、存储器由多少个芯片组成?怎么算?
存储器由多个芯片组成,每个芯片的容量计算方式是:W*B;
W是存储单元,B是每个存储单元里面能存储多少个bit。
唯一考点:已知某个芯片的容量是w*b,则组成W*B的存储器需要(W / w)*(B / b)
例:假如芯片的容量是4*8,一个存储器的容量是16*24,则需要(16/4)*(24/8)=4*3=12(块)
答:需要12块芯片
6、主存储器的存储方式?
主存储器会对每一个地址单元(1个字节,8位)进行单独编址,也可以说每个字都有个地址,地址用16进制表示。
例:
某个存储器要存储一组数据,这个数据的地址范围是A4000(H)-CBFFF(H)。那么这个数据表示了多少个字节?
解:用CBFFF-A4000+1=28000(H),即一共存放了28000个地址
转换成10进制为163840个地址,就是16KB.
7、了解基本的单位
在存储容量单位中
1B=8bit 1K=2的10次方bit=1024B 1KB=1K*bit=1024*8=8192 bit
在速率单位中
1K=10的3次方=1000B
8、什么是Cache和主存的命中率?
就是CPU要处理的数据恰好在Cache中的概率,也叫命中率。比如CPU要寻找小明的姓名,那么小明的姓名在Cache中的概率是20%,那命中率也是20%,那么主存的命中率就是80%。
所以:Cache和主存是不相容关系。Cache命中率+主存命中率=100%
常见考点:
已知Cache的命中率h,以及Cache和主存访问周期分别是t1和t2,那么系统的平均访问周期是
t3=h*t1+(1-h)*t2
就是用Cache的访问时间加上主存访问时间
9、Cache的淘汰算法有哪些?
(1)先进先出算法
(2)最近一段时间,很少使用的数据先排除算法
(3)随机选一个数据算法