存储介质

一、存储介质



前言

cache是计算机存储体系中的一部分,是存储体系发展这么多年逐渐稳定后的产物,涉及的知识甚广,光cache的设计就有许多门道,此外还可以扩展虚拟存储器的问题,甚至虚拟机的问题,每个大问题背后都有许多为了提高计算机性能而提出的方案和知识。笔者只是个正在找工作的入门者,由一个项目接触到cache,于是顺着cache这条线,边学边码,希望能够一点一点将存储体系结构这块地图给拼凑完整。内容基于个人理解,错误地方或者不恰当处,欢迎指正


一、存储介质是什么?

计算机中不论是数据还是指令,都是用很多个0/1,也就是高/低电平表示出来的,每一个0/1都是1bit。所以计算机存储的东西也就是这1bit1bit的电平信号。那么拿什么存储呢?基本可以分为ROM/RAM/FLASH。

先分个大概,ROM(read only memory)就是只读存储器,厂子做出来的时候,把里面每个单元里存储的电平高低给固定好了,你只能从ROM中读出高低电平,不能去修改单元的电平。

RAM(random access memory)随机存储器,可以往外读,也能往里写。

FLASH——前面ROM/RAM都是以字节为单位进行读或者写,FLASH跟他们最大的区别就是以块为单位。FLASH也是可读可写的存储器。

二、ROM

cache系列——存储介质
ROM存储高低电平是通过是否放置MOS管来实现的。放管子的地方存储0,没有管子的地方就是1。例如,要选字2的时候,字线输入’b0010,使得字线2上的两个管子被选通,有管子的位由于接地导通,输出为0,否则输出为1。如图将输出’b0101。

既然存储的电平是由有无管子决定的,有无管子在制作的时候就确定了,不能修改,所以它是个只读存储器,不能任意修改。

1.PROM

后来生厂商为了更好的满足客户需求,做了种PROM。跟上图的结构类似,但是每个cross点之间都有一根MOS管,用户拿到之后,可以根据自己的需要,把自己的程序烧写进去。写入为1的bit,会把对应的管子烧断,写入为0的,管子就不会断。这样PROM在烧写过一次程序之后,就变成了ROM,从此这个程序就固定在里面了。所以看出来了吧,PROM出生的时候是万能百变的,但只要被烧过一次,这辈子就定型了。

2.EPROM

EPROM(erasable programmable ROM)——由于PROM是个一辈子只能硬一次的货,一旦烧错或者更改程序,那PROM就得被扔了,跟durex一样,不够环保。为了响应地球母亲的号召,厂商又高出了个EPROM,写进去的程序可以被擦除,重新写入的ROM。

EPROM用的不是普通的MOS管,而是用的双栅极结构的管子,如下图。
cache系列——存储介质
控制栅上加个高压,可以让沟道里的电子温度上升,变成热电子,很容易就被勾引到浮栅上。当浮栅上有了电子之后,这群电子就赖着不走了。他们不仅赖着不走,还屏蔽了控制栅的电压。原本浮栅上无电子时,控制栅上施加正电压可以打开沟道,现在正电压被浮栅屏蔽了,沟道打不开了,就跟管子关断一样,也就是ROM结构中没有管子的情况。再整理一遍,浮栅上有电子=没管子,浮栅上没有电子=有管子。那么PROM是通过高电压把管子烧断,EPROM则是通过施加高压,让浮栅上存有电子,把管子关死。

浮栅上的电子动如脱兔,不动如死狗,一旦上到浮栅,就赖着不走了。这时候需要用紫外光照射,让电子逃出浮栅,于是管子又成了个新管子了。

3.EEPROM

EPROM用紫外光可以擦除所存储的信息——这里说的信息,就是0/1,也就是管子的有/无,也就是浮栅上是/否有电子。那么在平时工作,不想修改时,就不能让管子照到紫外光,需要遮挡。这样一个存储器除了添加紫外光源,还需要控制电路,十分麻烦。于是就有了EEPROM(electrically erasable programmable ROM)——也就是用电压实现擦除。前面说用紫外光可以烫走死狗,其实用一个雷劈也行。所以EEPROM有两个工作电压,平时小电压用来读存储信息,暖暖的很贴心。暴躁起来用十万伏特烧一遍,翻新重来。

三、RAM

RAM顾名思义,可读可写,那么EPROM和EEPROM也是可读可写,有啥区别?原理不同。ROM的每个cell是用有无管子来作为存储信息,没管子或者管子关断,就存1,否则反之。RAM主要分为SRAM和DRAM,他们跟ROM最大的区别就是断电后数据不能保存。(这类掉电不保存数据的称为挥发性记忆体volatile memory)

1.DRAM

DRAM(dynamic RAM)——动态存储的结构则是一个MOS管+一个电容。cache系列——存储介质
写入1时,选通管子,给电容充电,写入0时,则给电容放电。读取时,选通管子,让电容中的电流出来输出0或1。充了电的电容,即使不用,里面的电荷也会慢慢泄露,所以需要时不时给它充电,也就是刷新。这就是dynamic的由来。DRAM需要刷新的特点,决定了一旦断电,里面存的数据就无法被保存了。计算机的内存就是DRAM的典型代表,计算机的内存在存储体系中算是中等体量的存储体,速度也中等。

2.SRAM

SRAM(static RAM)——静态存储,跟动态存储的区别很显然就是不用动不动就被刷新。这是因为SRAM中一个cell不是用电容存储信息的,而是用两个反相器相互连接形成锁存器,保持住Q与~Q的信息,如下图。
cache系列——存储介质
一个cell,也就是一个bit有6个MOS管管理。4个管子形成2个反相器(M1234)。M5和M6是控制管。
cache系列——存储介质
读的时候,给BL和~BL都预充为1,然后WL选通M56,此时Q=0,会把BL的电平卸掉。如果Q=1,则!BL的电平会被卸掉。写的时候,写1的时候,需要给BL一个高电压,超过反相器的翻转阈值,改变锁存器的锁存数据。

由于DRAM有刷新过程,而且充放电的过程让写入的速度变慢。所以SRAM速度要比DRAM快,在存储结构中,SRAM更适合做L1/L2的存储体,DRAM则适合作为L3/内存的存储体。而速度快的DRAM,一个bit需要6根管子,自然需要的体积就很大了,所以DRAM是个又小又快的货。这里的小是指存储体量小,因为L1/L2一般是作为片上高速缓存,没办法给它太大的体积。相同体积下,6个管子存1bit,能存的bit就比较少。

四、FLASH

相关文章:

  • 2021-10-21
  • 2021-10-01
  • 2021-08-30
  • 2021-11-23
  • 2022-02-11
  • 2022-12-23
  • 2022-12-23
  • 2021-07-26
猜你喜欢
  • 2021-10-18
  • 2022-01-13
  • 2022-02-06
  • 2021-07-15
  • 2021-04-09
  • 2021-05-31
  • 2021-12-05
相关资源
相似解决方案