存储器的结构
1.存储器的分类:
临时存储器RAM: random access memory,直译为"随机访问存储器".可以随意访问存储器中的任意一个字节.
常分为SRAM(静态随机访问存储器),DRAM(动态随机访问存储器),访问速度快,掉电后数据丢失.
永久存储器ROM: read-only memeory,直译为"只读存储器".早期写入数据后只能进行读取,名字一直延用至今.
ROM读的速度要比写的速度快,掉电后数据不会丢失,相对于RAM来说,CPU访问ROM的速度要慢很多.
常用的ROM有磁盘(机械硬盘),flash(闪存:SSD,U盘,SD卡).
2.缓存:
内存广义与狭义之分:
广义上的内存: 寄存器,cache(SRAM),主存(SRAM,DDRAM)都是内存.
狭义上的内存: 主存.我们常说的"内存",往往说的都是主存.
缓存广义与狭义之分:
广义上的缓存: 寄存器,cache,主存都是缓存.
狭义上的内存: 仅指cache(高速缓存).
CPU访问程序和数据的过程:
1.cpu先到寄存器读数据,寄存器中有需要的数据,取出使用,否则进入第二步.
2.访问第一级cache,命中则取出数据缓存到寄存器中,cpu从寄存器中访问,否则进入第三步.
3.访问第二级cache,命中则取出数据缓存到第一级cache中,再缓存到寄存器中,否则进入第四步.
4.同上,类推.
5.访问主存,如果命中,取出数据逐级缓存到寄存器,供cpu访问,否则进入第六步.
6.向ROM中查找数据,有则逐级缓存,否则报错.
3.存储芯片(存储器)的结构:
无论哪种存储芯片(临时还是永久),都必须有地址线,控制线,数据线,片选线.
字与字长:
字: 每个地址指向的一个存储单元.
字长: 存储单元的字节数.
4.网络带宽的单位:
存储器容量单位使用byte(B),但是网络带宽使用的单位却是bit(b).当我们说网络带宽为50M时,实际指的是Mb/s,而不是MB/s.所以50Mb/s实际换算下来为50/8 MB/s.
5.存储设备与存储芯片:
存储设备不等于存储器,存储设备包括存储器,控制器和其它.
存储芯片: 负责数据的存储.
控制器: 负责对存储芯片的控制和管理.
存储设备通过I/O接口连接到计算机.存储设备的I/O接口可能是串行通信,也可能是并行通信.大部分存储设备的接口,使用的都是串行通信.内存是一个例外,为了提高内存的访问速度,内存的I/O接口是并行通信的.
6.存储芯片拼接扩容:
1.通过扩展地址线,实现拼接扩容:
扩容后,地址线增加,增加的地址线实际是片选线.地址线的数量决定了存储器的字的数量(2^n)\地址的数量.片选线的数量决定了存储器的数量(2^n).存储器的字的长度(字节)等于数据线的数量/8.
2.通过扩展数据线,实现拼接扩容:
存储器拼接后,实际上扩展了字长(单个存储器的字长*拼接存储器的个数).数据读取后,进行了数据的拼接.没有片选线.
3.通过扩展地址线+扩展数据线,实现扩容:
扩展了地址和字长.
7.存储器的实现技术:
1.以电信号方式存储数据.比如寄存器,cache,内存,flash存储器.
a.触发器(每一个bit就是一个触发器)方式实现的存储器:
常被称为SRAM(S就是static禁止的意思).利用触发器的记忆能力,能将电压保持在高电平或者低电平.只要持续供电,触发器就将一直保持高电平或者低电平.
SRAM访问数据的速度快,但掉电后数据丢失,造价高.一般用于寄存器和cache的制造.
b.电容方式实现的存储器:
常被称为DRAM(D就是dynamic刷新的意思),每个bit就是一个电容.访问数据的速度仅次于触发器方式实现的存储器,造价相对触发器便宜.一般用于制造内存.
掉电后数据丢失,由于电容的电量会漏失,因此需要每隔一段时间就刷新给电容补充一次点,才能保持数据不变.
c.flash(Norflash,Nandflash):
每一个bit为一个"三端器件".每个三端器件是一个特殊的电容,这个特殊的电容是不漏电的.一旦充电后看,电荷将会被几乎永久的保存,数据也就被永久保存.
速度较快,数据可以永久保存.造价相对较贵.
比如SSD(固态硬盘),U盘等.
Norflash的读速度比Nandflash快,但写速度比Nandflash速度慢.
2.以磁信号方式存储数据,比如磁盘.
每一个bit是一个金属磁片,进行电信号与磁信号的转换.
访问速度慢,能够永久存储数据,造价便宜.机械形式的存储器,体积大,容易受到振动干扰.
比如,机械硬盘.
3.以物理刻痕方式存储数据,比如光盘,纸带.