存储器是计算机部件最重要的部件之一,执行程序时,所需要的指令和数据时,都来自于存储器,程序执行的结果保存在存储器中,另外文档,音频等数据也保存在存储器中。
存储器可以分为哪些种类?
存储器的分类标准不同则种类就不同,这里给3个标准分别进行分类
1.按存储介质分类
- 半导体存储器(易失),比如芯片、U盘,
- TTL ==》晶体管,集成度低,功耗高,速度快
- MOS ==》 金属氧化物半导体,功耗低,集成度高(主要使用)
- 磁表面存储器,比如磁带,磁盘
- 磁芯存储器,曾作为计算机内存
- 光盘存储器,激光、磁光材料
磁芯存储器发明于1948年,磁芯的英文名称为core,磁芯存储器也被称为core memory,磁芯里面有导线,导线通过一定的电流,通过电流对磁芯磁化,磁芯本身是铁氧体,在电流的作用下,会被磁化为N极和S极。根据磁场的方向,我们就可以保存信息,比如N极朝向某个方向定位为1,某个方向为0,则这两个方向就可以保存两个数据0,1。不过多介绍磁芯存储器,它曾作为计算机内存,曾大大增加了计算机内存的速度。
半导体需要通电,如果没有电,数据会丢失,但部分半导体并不易失,比如制作U盘的半导体。
而其他材料制作的存储器,往往都是非易失的。
分类方式总结:主要分为半导体、磁、光。
2.按存取方式分类
- 存取时间与物理地址无关(随机访问)
- 随机存储器,可读可写
- 只读存储器,在程序执行过程中只读
- 存取时间与物理地址有关(串行访问)
- 顺序存取存储器,磁带
- 直接存取存储器,磁盘
3.按在计算机中的作用分类
- 主存储器
- RAM,随机存储器
- 静态RAM
- 动态RAM
- ROM,只读存储器
- MROM
- PROM(可编程ROM)
- EPROM
- EEPROM
- RAM,随机存储器
- Flash Memory,闪存
- 高速缓冲存储器,Cache
- 辅助存储器
现代存储器的层次结构?为什么要分层?
假设你将要买一个存储器,你会考虑什么?速度?容量?价格?
存储器中,有一部分是存储在cpu中的,有一部分是
寄存器 | cpu |
缓存 | cpu |
主存 | 主机 |
磁盘, 光盘, 磁带 | 辅存 |
缓存其实仅一部分在cpu当中,寄存器也并非仅在cpu中,I/O端口中也有寄存器。
寄存器速度快,容量小,价格高,磁盘容量大,速度慢,价格低。为了综合“价格,速度,容量”,计算机中采用了存储体系。
存储体系:采用了2种,或2种以上的存储介质构成的存储器,用软件,硬件,或软硬件结合的方式连接成一个整体,从某一级程序员的角度来看具有容量大,速度快,价格低的特点。
计算机中,有2个重要的存储层次
- 缓存与主存 ==》速度
- 主存与辅存 ==》容量
cpu速度发展很快,而主存速度提高很慢,主存速度成为了计算机发现限制,为了提高cpu从主存获取数据,使用了缓存来提高cpu与主存交换数据速度。如果cpu需要的大多数数据和指令都能够从缓存中获取,那么就能够实现提高cpu速度,这使用了“局部性原理“
各层次之间速度比较
- cpu ==》10ns
- 缓存 ==》20ns
- 主存 ==》200ns
- 辅存 ==》ms
虚拟存储器:指的是由主存与辅存构成的存储器体系,它的地址叫虚地址。
此外,在缓存与主存层次,使用的是主存地址,也叫实地址。缓存是以数据内容查找的,即时给出一个地址,对应缓存块的编号,即时指令是在缓存块当中的,把内存地址转化为缓存块号,以及缓存块偏移地址。