欢迎来到天天文库
浏览记录
ID:9801604
大小:469.50 KB
页数:32页
时间:2018-05-10
《rom、sdram、ram、dram、sram、flash的区别》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、常见存储器概念辨析:ROM、SDRAM、RAM、DRAM、SRAM、FLASH的区别存储原理 RAM(RandomAccessMemory)随机存取存储器,主要的作用就是存储代码和数据供CPU在需要的时候调用。 但是这些数据并不是像用袋子盛米那么简单,更像是图书馆中用有格子的书架存放书籍一样,不但要放进去还要能够在需要的时候准确的调用出来,虽然都是书但是每本书是不同的。 对于RAM等存储器来说也是一样的,虽然存储的都是代表0和1的代码,但是不同的组合就是不同的数据。 让我们重新回到书和书架上来,如果有一个书架上有10行和10列格子(每行和每列都有0-9的编号),有100本书要存放在里面
2、,那么我们使用+个行的编号+个列的编号就能确定某一本书的位置。如果已知这本书的编号87,那么我们首先锁定第8行,然后找到第7列就能准确的找到这本书了。 在RAM存储器中也是利用了相似的原理。 现在让我们回到RAM存储器上,对于RAM存储器而言,数据总线是用来传入数据或者传出数据的。因为存储器中的存储空间是如果前面提到的存放图书的书架一样通过一定的规则定义的,所以我们可以通过这个规则来把数据存放到存储器上相应的位置,而进行这种定位的工作就要依靠地址总线来实现了。 对于CPU来说,RAM就象是一条长长的有很多空格的细线,每个空格都有一个唯一的地址与之相对应。 如果CPU想要从RAM中调用数
3、据,它首先需要给地址总线发送地址数据定位要存取的数据,然后等待若干个时钟周期之后,数据总线就会把数据传输给CPU。 下面的示意图可以帮助你很好的理解这个过程。 上图中的小园点代表RAM中的存储空间,每一个都有一个唯一的地址线同它相连。 当地址解码器接收到地址总线送来的地址数据之后,它会根据这个数据定位CPU想要调用的数据所在的位置,然后数据总线就会把其中的数据传送到CPU。 上面所列举的例子中,CPU在一行数据中每次存取一个字节的数据,但是在现实世界中是不同的,通常CPU每次需要调用32bit或者是64bit的数据(这是根据不同计算机系统的数据总线的位宽所决定的)。如果数据总线是64b
4、it的话,CPU就会在一个时间中存取8个字节的数据,因为每次还是存取1个字节的数据,64bit总线将不会显示出来任何的优势,工作的效率将会降低很多。从“线”到“矩阵” 如果RAM对于CPU来说仅仅是一条“线”的话,还不能体现实际的运行情况。因为如果实际情况真的是这样的话,在实际制造芯片的时候,会有很多实际的困难,特别是在需要设计大容量的RAM的时候。 所以,一种更好的能够降低成本的方法是让存储信息的“空格”排列为很多行,每个“空格”对应一个bit存储的位置。这样,如果要存储1024bits的数据,那么你只要使用32x32的矩阵就能够达到这个目的了。很明显,一个32x32的矩阵比一个1024
5、bit的行设备更紧凑,实现起来也更加容易。 请看下图。 知道了RAM的基本结构是什么样子的,我们就下面谈谈当存储字节的过程是怎样的。 上面的示意图显示的也仅仅是最简单状态下的情况,也就是当内存条上仅仅只有一个RAM芯片的情况。 对于X86处理器,它通过地址总线发出一个具有22位二进制数字的地址编码,其中11位是行地址,另外11位是列地址,这是通过RAM地址接口进行分离的。 行地址解码器(rowdecoder)将会首先确定行地址,然后列地址解码器(columndecoder)将会确定列地址,这样就能确定唯一的存储数据的位置,然后该数据就会通过RAM数据接口将数据传到数据总线。 另外,
6、需要注意的是,RAM内部存储信息的矩阵并不是一个正方形的,也就是行和列的数目不是相同的,行的数目比列的数目少。 上面的示意图粗略的概括了一个基本的SRAM芯片是如何工作的。 SRAM是“staticRAM(静态随机存储器)”的简称,之所以这样命名是因为当数据被存入其中后不会消失。 DRAM动态随机存储器不同,DRAM必须在一定的时间内不停的刷新才能保持其中存储的数据。 一个SRAM单元通常由4-6只晶体管组成,当这个SRAM单元被赋予0或者1的状态之后,它会保持这个状态直到下次被赋予新的状态或者断电之后才会更改或者消失。 SRAM的速度相对比较快,而且比较省电,但是存储1bit的信息
7、需要4-6只晶体管制造成本太高了。 DRAM只要1只晶体管就可以实现。SRAM芯片 早期的SRAM芯片采用了20线双列直插(DIP:DualInlinePackage)封装技术,它们之所以具有这么多的针脚,是因为它们必须: 1)每个地址信号都需要一根信号线; 2)一根数据输入线和一根数据输出线; 3)部分控制线(WriteEnable,ChipSelect); 4)地线和电源线。 上
此文档下载收益归作者所有