暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

深入浅出存储层次结构

DLab数据实验室 2020-09-23
626


点击上方蓝字关注我们





“如果CPU爱好哲学,他可能一直会问自己两个问题,我要运算的数据从哪里来,我运算完的数据又到哪里去了“,这两个问题就跟存储器有关。


1.初识存储器
在冯诺伊曼计算机结构中,我们知道包含五个部分:运算器(CA)、控制器(CC)、存储器(M)、输入设备(I)、输出设备(O)(ps:外部记录介质R),这几个与存储相关的有存储器,运算器(其中包含CPU中的通用寄存器)以及外部记录介质。

计算机部件实物图

在一台计算机中,存储器可以分为两类:
非易失性存储器:断电数据不丢失,断电后数据能够保存下来;在真实的计算机中,BIOS芯片(BIOS芯片存储了电脑启动程序,开机后CPU先去BIOS芯片读取相关程序启动电脑进行配置,然后再从硬盘读取数据和程序进行进一步的配置)和硬盘都是非易失性存储器;
易失性存储器:断电数据丢失,断电后数据不能够保存下来;在真实死的计算机中,主存以及CPU中的通用寄存器都是非易失性存储器;

2.存储器的特性


3.分级存储方案
为什么会有分级存储呢,下面我们首先来看看cpu和存储器近几年性能和价格的变化


由上图我们可以分析得到,CPU的时钟频率和SRAM、DRAM以及Disk的访存时间有着不同程度的差距,差距越小的价格越大,因此出于性能和价格的综合考量,我们不可能把所有的存储器都换成高速昂贵的SRAM或者低速廉价的Disk,于是就有了下面的分级存储方案。

分级存储

二、存储器工作原理
我们看到的无论是内存条还是硬盘,都是一个物理的介质,那我们的一个具体的文字是怎么实际存到这个物理介质里的呢?
我们拿DRAM存储器来举例子。
咱们平时电脑上的一个内存条其实就是由多个DRAM芯片构成的内存模组,一个DRAM芯片中有一个存储阵列,由行列地址索引。通过行地址和列地址能够确定一个存储单元,一个存储单元由4个或者8个比特组成。


一个比特有两个状态,0或1,那么存储单元里面是怎么实现的呢?原来每个存储单元有一个如下图所示的电路,该电路的主要原理就是通过电容充放电来储存1或0数据。电容会存在漏电效应,所以要定期进行刷新。
DRAM有什么优点呢:集成度高,功耗较低,价格较低;缺点是由于充放电的原因,速度较慢,需要定时刷新。


那么与DRAM相对应的是SRAM,他的电路要复杂很多,但是他是晶体管的方式,不需要电容的充放电,而且也没有行列地址之分,总体要比DRAM快很多。所以SRAM的优点是速度快,缺点是集成度低,功耗高,价格也高,现代CPU中的高速缓存大多采用SRAM来实现。不多说了,看下SRAM的结构吧。

SRAM的基本结构

一个电路的结构

三、总结
好啦,存储的的认识和工作原理我们已经大致了解了,下面我们还是再总结一哈:
  • 存储器在计算机中分为易失性和非易失性两种,分别对应了冯诺伊曼体系结构中的一些部件;

  • 存储器追踪到根儿是通过容器充放电或者晶体管来存储1/0信息以达到存储信息的功能的

说明:该文章的资料及学习内容为作者在中国大学mooc上北京大学陆俊林老师的计算机组成课程学习所总结,作为笔记与大家分享,希望大家多多批评指正。


深入浅出大数据组件之Kafka消息队列
DLab数据实验室,公众号:DLab数据实验室深入浅出大数据组件之Kafka消息队列

实时数据流计算引擎Flink和Spark剖析
小舰,公众号:DLab数据实验室实时数据流计算引擎Flink和Spark剖析





长按二维码识别关注






文章都看完了不点个

文章转载自DLab数据实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论