计算机组成原理第三章 new 12 DRAM和SRAM $\color{red}{Δ}$

DRAM

注意,当题目问DRAM的引脚的时候,要默认DRAM使用了地址线复用技术,并且使用了行列地址技术。

之前我们介绍过RAM随机存取存储器,因为存储介质的不同RAM也具有分类:

   ( 1 ) (1) (1)DRAM(Dynamic Random Access Memory)芯片(动态RAM)

用处:一般用于主存
注:现在DRAM过时了,现在的主存一般使用SDRAM存储器芯片。

注:SDRAM本质还是动态随机存储器,其特性和DRAM基本一致,同样需要刷新这类操作。
在这里插入图片描述

Dynamic Random Access Memory 动态存储器

1.DRAM芯片的存储体由存储元构成。
通过存储元内的栅极电容来存储二进制的01信息。
在这里插入图片描述

2.每次对DRAM的操作都会对DRAM产生破坏
DRAM存储信息是的元器件是电容,每次读信息的时候都需要导通MOS管,通过检测电容是否含有电荷来判断存储的是0信息还是1信息。电容的放电操作是对存储元的一种破坏操作,放电后电容内的电荷会流失,下次进行读操作时,就会读到错误的数据。如原本存储1信息的电容,由于上一次的放电操作导致电荷流失。最后读到的变成了二进制的0信息。所以每次读完数据信息以后,都需要对DRAM进行一次重写操作,也正是因为如此DRAM的读写速度较慢,多用于主存

3.存储元需要按时刷新
电容中存储的电荷随着时间会逐渐流失,原本电容存储的是二进制的1信息,由于电荷的流失,电荷变成存储二进制的0信息,对于电容内的信息每次只能维持2ms,所以每2ms必须对所有的电容进行一次刷新操作,这里需要理解的更加深刻,什么是对所有的电容进行一次刷新,其实上就是对整个DRAM的存储单元里的电容都进行刷新。也就是说每2ms的周期,就需要对整个存储器芯片里的存储单元进行刷新。

DRAM的刷新操作是如何完成的?

之前,我们说过n位的地址,需要n条地址线, 2 n \color{red}{2^n} 2n条字选线。但是这就会造成一个问题,一旦地址的位数变多,那么字选线的数量就会曾爆炸增长。 所以在字选线这一存储单元检索环节,DRAM做了升级:
其将地址分成了两半,前半部分代表行地址,后半部分代表列地址。所以也就有了行地址译码器和列地址译码器,行地址译码器每次会将一整行的字选线都导通,列地址移码器每次导通一列的地质信息,两者会有一个交集,如图纸的(0,0),一个存储单元只有被行地址译码器的子选线导通并且被列地址译码器的字选线导通的时候,才能对其进行读和写。所以DRAM每次刷新可以刷新一整行,需要花费一个读写周期。并且因为行列地址的使用,原本n位的地址需要 2 n \color{red}{2^n} 2n条字选线,现在只需要 2 n / 2 + 2 n / 2 \color{red}{2^{n/2}+2^{n/2}} 2n/2+2n/2条字选线。

这里的刷新一整行,花费一个读写周期如何理解?

这里我们可以这样理解,在DRAM内部具有刷新电路,刷新电路和每个存储单元都有导线进行连接,因为行地址译码器每次会导通一行,所以其会导通一行,然后刷新刷新电路会根据被导通的那一行进行刷新,并且因为是刷新,其速度很快,速度近似和读写一个存储单元的速度差不多,所以需要花费一个读写周期(存储周期)。需要注意的是,每次是刷新一行存储单元,也就是给出一个行地址,刷新行地址所在的所有存储单元。
在这里插入图片描述
n行r列的DRAM有多少个存储单元?

nxr个存储单元,并且n=2^x,x是行地址的位数。

DARM的刷新方式是什么?

假设我们当前的DRAM存储器芯片是128 x 128,需要非常注意,这里的128 x128说的不是DRAM的容量,而是说DRAM有128个行地址和128个列地址 。那就说明我们这个芯片有128行存储单元,而刷新周期是2ms,DRAM每次刷新一行,那就需要刷新128。所以我们需要在2ms内完成刷新128次。然后我们假设读写周期(存储周期)是0.5us。在计算机中具有以下三种刷新方式:
   ( 1 ) (1) (1)分散刷新
每次读写完存储单元就进行一次刷新,因为存储周期是0.5us,因为每次存储周期完就进行刷新,所以在分散刷新中,可以认为将刷新时间也计算在了恢复时间内,所以使用分散刷新以后,存储周期变成两倍即1us,优点是因为刷新时间被计算在了恢复时间内,所以不存在死区。缺点是刷新次数太多,反复刷新存储单元,意义不大。
   ( 2 ) (2) (2)集中刷新
通过一段集中的时间将128行的存储单元全部一次性刷新完,但是这样也会出现问题,就会出现一大段的死区时间。
   ( 3 ) (3) (3)将刷新操作分开,每间隔一段时间进行一次刷新操作。当然这样也会导致每隔一段时间会出现一个存储周期的死时间。
注意:存储器的刷新工作不需要CPU参与,所以刷新工作可以在译码阶段完成,这个阶段CPU一般不需要访问存储器,所以刷新导致死区也影响不大。
在这里插入图片描述
分散刷新就是

地址线复用技术

前面我们说DRAM对于字选线进行了一个升级,事实上现在的一些DRAM可能还使用了地址线复用技术,需要注意的是,地址线复用技术是在行列地址的基础上出现的一种技术:
在行列地址中,我们对字选线的数量进行了升级,但是我们需要的地址线数量是没有任何变化的,也就是说n位的地址,那么DRAM就需要用n条地址线来接收MAR内的n位地址。但是因为主存容量比较大,所以地址可能比较多,也就导致地址线比较多,为了简化电路,现在的人对于地址线也进行了升级,具体是这样做的:
在这里插入图片描述
在DRAM内部设置一个地址缓冲器,分为行地址缓冲器和列地址缓冲器,MAR分两次发送地址,第一次发送行地址到地址缓冲器内部的行地址缓冲器进行保存,第二次发送到列地址缓冲器进行保存,然后行列地址缓冲器通过内部电路再送给对应的行地址译码器和列地址译码器。所以通过地址复用技术以后,n位的地址现在只需要n/2条地址线,即金属引脚的数量得到了减少。
在这里插入图片描述

深入理解地址线复用技术和行列地址技术

如果,DAMR当前使用了地址线复用技术,那么意味着需要行选通和列选通。其中行选通告诉DRAM传输的是行地址,列选通告诉DRAM传输的是列地址。其中采用地址线复用技术以后,不是一定需要使用行列地址技术,而是可以将行地址先保存到行缓冲,列地址保存到列缓冲。然后再将行和列送给译码器。当然也可以使用行列地址技术。

除此之外,在地址线复用技术中,一般还是默认搭配行列地址技术的。所以每次会选中一行,而这选中的一行会被送到行缓冲区。需要注意,行缓冲区不是行地址缓冲器。行缓冲区是对应行地址的一整行,里面有多个存储单元。然后这时候再根据列地址导通其中某个存储单元。

SRAM

   ( 2 ) (2) (2)SRAM(Static Randmo access memory)芯片(静态RAM)
用处:通常用作Cache
Static Random Access Memory 动态存储器

1.SRAM芯片的存储体由双稳态触发器构成。

现在我们介绍下双稳态触发器的工作原理:

双稳态触发器是如何存储数据的。

双稳态触发器有两条数据线,先通过字选择线施加一个导通电压,当想要存储二进制1信号时,需要向左边的BL数据线输入高电平信号,右边BLX输入低电平信号。当想要存储二进制0信号时,需要向左边的BL数据线输入低电平信号,右边BLX输入高电平信号。

在这里插入图片描述

双稳态触发器是如何读取数据的?

当需要读取数据的时候,字选择线会输入一个导通电压导通MOS管,然后通过BL和BLX可以判断读出的是0还是1。双稳态触发器比较特殊,其存储在内部的高电平信号不会流出,其是通过数据线哪边流出低电平来判断存储的是0还是1。如果左边检测到低电平,那说明存储的是0,右边如果读到低电平,那说明是1。

2.每次对DRAM的操作不会对SRAM产生破坏
SRAM读取信息的时候,SRAM内存储01信息的元件并不会流失数据,所以每次读取操作都不会对SRAM造成破坏,不需要进行重写操作。因此SRAM的读写速度较快,多用于Cache。

3.SRAM不需要刷新
SRAM的存储信息不会随着时间流失,信息处于一种稳定的状态,因此不需要进行刷新操作。

SRAM有使用字选线升级和地址线复用技术吗?

没有,因为一般用于Cache这类容量较小的存储器,这类存储器地址位数较少,所以没必要使用。

SRAM和DRAM里的静态和动态如何理解?

静态我们应该认为数据是稳定保存的,不需要定期刷新的,动态则是说数据是不稳定的,需要动态刷新的。
在这里插入图片描述
为什么SRAM的集成度低于DRAM?

DRAM存储二进制使用的是电容,电容体积比较小,所以在一块存储芯片上就可以集成更多的电容,所以说集成度需要比较高,因为体积较小。

2 地址条数 / 地址位数 = 地址个数 = 存储单元个数 \color{red}{2^{地址条数/地址位数}}=地址个数=存储单元个数 2地址条数/地址位数=地址个数=存储单元个数

撇开片选地址,n条地址线的最小地址,从n个全0到n个全111111,总共有

字扩展本质增加的是体号的位数,n位的片选地址,就有2^n个存储器芯片。
例如从 4 K × 8 \color{red}{4K \times 8} 4K×8扩展到 8 K × 8 \color{red}{8K \times 8} 8K×8,地址线条数从 2 12 \color{red}{2^{12}} 212扩展到 2 13 \color{red}{2^{13}} 213,对应就是 8 K / 4 K = 2 \color{red}{8K/4K=2} 8K/4K=2本质上扩展的是片选线的个数,多了一条片选线,因而地址多了一位,地址线多了一条。存储器芯片多了 2 1 \color{red}{2^1} 21个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

凤梨罐头@

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

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

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

打赏作者

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

抵扣说明:

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

余额充值