存储器分类:
-按与CPU的连接和功能分类:
1.主存(内存) :CPU可以直接访问,存放当前运行的程序和数据
2.辅存(外存):解决主存容量不足设置的存储器,存放当前不参加运行的程序和数据 。当需要运行存放在辅存中 程序时吗,将所需内容调入内存供CPU使用
3.高速缓存:介于主存与CPU之间,用于解决CPU与主存间速度匹配问题的高速小容量的存储器。用于存放CPU立即要运行或刚刚使用过的程序和数据
按存取方式划分:
1.RAM (Random Access Memory)。一般主存主要有RAM组成
2.ROM(Read Only Memory)可以作为主存的一部分,用以存放不变的程序和数据
3.SAM(Sequential Access Memory)顺序存取存储器 :存储器所存信息的排列、寻址和读写操作均按顺序进行 (磁带存储器)
4.DAM (Direct Access Memory)直接存取存储器。存取方式介于RAM和SAM之间。磁盘就属于此种。当要存取信息时,他要进行两个逻辑动作,第一步为寻到,使磁头指向被选磁道,第二步为在被选磁道上顺序读取
下图为主存的基本组组成
存储器性能指标
- 容量
- 读写速度
- 存储器总线带宽:存储器在单位时间内存取的二进制信息的位数
- 价格
存储器层次结构
从下往上:1.访问时间逐渐增长(寄存器–几ns,高速缓存是寄存器的几倍,主存–几十ns,磁盘最少要10ms以上)
2.容量逐渐增大 (寄存器–128字节,高速缓存一般几MB,)
辅存:磁盘、磁带、光盘
高速缓存原理:
程序的局部性原理(冯。诺依曼计算机的特点):CPU当前所需要的指令或数据在存储器中很可能是在同一地址的附近(至少在一段时间内是这样的)
高速缓存的设计理念基于程序的局部性原理:只将CPU最近需要使用的少量指令或数据以及存放他们的内存单元的地址复制到速度较快的cache,置于主存和CPU之间
cache工作原理:当CPU需要数据或指令时,首先访问cache,看看所需要的数据或指令是否在cache中,方法是将CPU提供的数据或指令在内存中存放的地址,首先与cache中已存放的数据或指令的地址相比较。如相等,说明可以在cache中找到需要的数据或指令,称为cache命中;如果不相等,称为未命中,说明CPU需要的数据或指令不再cache中,需要从主存中读取。命中情况下,不需任何等待状态,cache可以直接将数据交给CPU执行。未命中,存储器控制电路会从内存中取出指令或数据传给CPU,同时在cache中拷贝一份副本。