ic基础|存储器篇01-芯片中的信息存储单元有哪些?一文带你了解芯片中的存储器

在这里插入图片描述
大家好,我是数字小熊饼干,一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结,并通过汇总成文章的形式进行输出,相信无论你是在职的还是已经还准备入行,看过之后都会有有一些收获,如果看完后喜欢的话就请关注我吧~谢谢~

在芯片中,存储器是决定其性能的一个重要因素,基于容量、价格或性能等因素,芯片会采用多种储存器搭配来储存数据,进而形成了多层次的存储系统,例如下图就是一个soc中常见的存储体系:

在这里插入图片描述
图中的储存体系主要由register、cache、主存、rom、flash构成,

在上图这个典型的soc存储系统中,各个存储器件主要有以下作用:

  • 寄存器register:通常用于暂时存放程序运行时需要频繁访问的数据或者指令;

  • 缓存cache:用于对数据和指令进行缓存,降低cpu和外部存储器之间的访问频率,提升存储器性能,通常由sram制成;

  • rom:只读存储器,通常存放soc中的启动程序;

  • 主存:用于存放当前运行的系统程序、应用程序和数据等关键信息,通常由dram制成;

  • flash:作为soc的主要外存,通常用于系统引导启动程序,可实现soc系统的片外启动,或者用来存放系统程序,如操作系统等。

以上这些存储器也可以分为内存和外存:

  • 内存:内存的存取速度快,存储容量相对较小,价格也相对较高,CPU能直接寻址访问这类存储器,因此可以用来存放CPU运行的程序和处理的数据;如寄存器register、cache、主存和rom等。

  • 外存:外存的速度较慢,但是容量相对很大,价格也比较便宜,这类储存器放于芯片外部,通过IO进行访问,用于永久性地存放计算机中几乎所有的信息。如flash等。

下图是上面这些存储器的速度、容量和成本的比较关系:

在这里插入图片描述
由于这些存储器在速度、容量和成本上存在差异,因此在soc系统中针对这些储存器的特性,形成了多层次的存储体系,以在速度、容量和成本得到折中。下面,我们将对这些存储器进行更为详细的介绍。

一、静态随机存储器sram

静态随机存储器(sram, static radom access memery)是一种有着静止存取数据的存储器,这种存储器不需要刷新电路,只要不断电,就能够维持内部保存的数据不变。

静态存储器的每个存储单元由6个晶体管构成:
在这里插入图片描述
其中,中间的4个晶体管VT1-VT4用于保存数据,两侧的晶体管VT5-VT6用作控制存储单元的开关。当访问sram时,字线WL被施加高电平,晶体管VT5和VT6导通,存储单元和位线BL导通,通过位线对存储单元进行读写操作。

由于sram不需要刷新电路来保持其存储单元的状态,因此它的访问速度很快,但是由于sram存储一位数据需要6个晶体管,因此其集成度不高,面积与功耗较大,且价格较贵。因此,sram常被用于制造容量小但效率高的CPU缓存。

1.1 cache

cache内存是一种高速缓冲存储器,它基于sram技术制成,以块为单位,在主存和cpu之间对数据和指令进行缓存,降低cpu和速度较慢的其他存储器的交换频率(例如主存、外存flash),以提高cpu性能。

cache根据其缓存的是数据还是指令,可以分为数据cache和指令cache。

cache基于程序局部性原理,对需要频繁进行访问的数据进行缓存,程序局部性可分为时间局部性和空间局部性:

  • 时间局部性:时间局部性指的是如果目前一个数据被访问了,那么它可能在以后再次被访问。
  • 空间局部性:空间局部性指的是如果某一个内存位置上的数据被访问了,那么附近其他内存位置上的数据也有可能被访问。

在了解到了程序局部性后,我们进一步对cache的工作原理进行描述:

把主存中需要被频繁访问的程序或者数据存放在cache中,由于程序局限性,因此大多数时候cpu可以直接在cache中取得指令或者是数据。

当cpu执行程序时,如果cache命中(即cache中有对应的需要访问的数据),就会直接对cache进行读或写操作,而无需访问速度较慢的主存,因此使得cpu的速度大大提升。如果cache没有命中,再从主存中把当前访问信息所在的主存块都复制到cache中。

二、动态随机存储器dram

动态随机存储器(dram, dynamic radom access memery)是soc中使用最为广泛的存储器,每个存储单元由一个电容和一个晶体管组成,如下图所示:

在这里插入图片描述
dram根据充放电后电容的电荷量来分别对应逻辑0,1,以此实现存储数据。相比sram,dram的结构更加简单,因此dram具有更高的存储密度、体积小、容量大而且价格也低!因此在soc中一般用来纯粹大规模的程序和数据,但是由于电容存在漏电现象,每隔一段时间电荷就会丢失,因此需要定期对电容进行充电以使其保存原值不变,这一过程被称为刷新。dram的动态性就体现在了需要不断的刷新以保存数据不会丢失之中。而在dram的刷新过程中,其所有bank都会停止工作,所有的工作指令都只能等待,而无法执行,这就是造成了dram的速度低于sram的根本原因!

2.1 双倍数据速率同步DRAM

双倍数据速率同步DRAM(ddr sdram)是目前主流的dram, 它的特点是:ddr sdram会在时钟信号的上边沿和下边沿均采样数据,因此可以大大增加数据的吞吐量。此外,还有一些ddr sdram的升级版,例如ddr2 sdram,ddr3 sdram,ddr4 sdram等等,这些下一代的ddr相比起上一代的ddr工作频率越高,也拥有着更多bit的预取能力,从而有着更高的访问带宽。

三、只读存储器rom

只读存储器(rom, read only memory)是一种只能读取数据而不能随便写入数据的一类存储器,这类存储器即使处于断电状态也不会丢失数据,因此常用于存放一些重要的程序等,例如上电启动程序等。

3.1 掩膜ROM

掩膜ROM(Mask ROM)中存放的数据,在芯片制造阶段被写入,此后就再也无法重写。

3.2 可编程只读存储器

可编程只读存储器(Programmable read only rom)可以在制造完成后写入数据,但是只能写入一次,因此通常可以在芯片测试后写入一些重要的基础参数。

3.3 可擦除可编程只读存储器

可擦除可编程只读存储器(Erasable Programmable ROM)可以在写入数据后擦除数据,因此可以进行多次写入,但是每次擦除都需要暴露在紫外线下以擦除现有数据。

3.4 闪存flash

闪存flash是一种基于电荷存储,价格和性能兼顾的非易失存储器,它能以块为单位进行进行擦除和编写,但是在每次写入数据前,都需要先擦除数据。它有两种主要的类型,NOR flash 和NAND flash,他们的特点如下:

应用场景:

  • NOR flash采用随机访问技术,因此应用程序可以直接在flash内运行;

  • NAND flash没有采用随机访问计数,其存储单元的访问是以块为单位进行的,因此更加适合大规模数据存储;

读写性能:

  • NOR flash传输效率高,读取速度比NAND flash快,但是擦除速度和写数据速度比NAND flash慢;

  • NAND flash的擦除单元更小,因此擦除速度和写数据速度远比NOR flash快;

容量和成本:

  • NOR flash储存单元比NAND flash要大,主要用于小容量的代码存储介质中;

  • NAND flash存储单元尺寸小,因此相比NOR flash更加适合数据存储。

接口差别:

  • NOR flash带有sram接口,有足够的地址引脚来寻址,可以很容易的存取其内部的每一个字节。

  • NAND flash使用更加复杂的IO口来串行存取数据,且每家厂商的存取NAND flash的方法各不相同,因此在易用性上相比NRO flash要差一些。

可靠性和耐用性:

  • NOR flash的接口简单,数据操作少,因此可靠性高,极少出现坏区块,因而一般用在对可靠性要求高的地方;

  • NAND flash的接口更加复杂,存在位反转和坏区的问题,因此需要使用错误探测/错误更正〔EDC/ECC)算法来确保数据的完整性,因此出现问题的几率要大得多。

四、总结

本篇文章中,我们对常见的几种存储器类型进行了介绍,它们可以根据断电后的信息的可保存性分为:

非易失性存储器(NVM, non-volatitle memory),断电后数据可以保留,比如rom、flash、光盘存储器等等;

易失性存储器(VM, volatitle memory),断电后数据自动丢失,比如sram、dram等等;

如果你喜欢这篇文章的话,请关注我的公众号-熊熊的ic车间,里面还有ic设计和ic验证的学习资料和书籍等着你呢~欢迎您的关注!
在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数字ic小熊饼干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值