存储系统的基本概念
一、存储芯片的基本结构
- 存储矩阵:大量存储单位组成的列阵
- 译码驱动:把地址信号翻译成选择的存储单元的位置
- 读写电路;用来完成读/写操作
- 片选线: C S ‾ 、 C E ‾ \overline{CS}、\overline{CE} CS、CE,选择芯片,带上划线是低电平有效
- 读写控制线:一根线的话
W
E
‾
\overline{WE}
WE(低电平写,高电平读)
两根线的话 O E ‾ \overline{OE} OE允许读
W E ‾ \overline{WE} WE允许写
地址线(单向) | 数据线(双向) | 芯片容量 |
---|---|---|
10 | 4 | 1 K ∗ 4 位 = 2 10 ∗ 4 1K*4位=2^{10}*4 1K∗4位=210∗4 |
16 | 1 | 8 K ∗ 1 位 = 2 16 ∗ 1 8K*1位=2^{16}*1 8K∗1位=216∗1 |
二、SRAM、DRAM的工作原理
1.SRAM和DRAM区别
2.DRAM的刷新
因为通过电容保存、电荷只能持续1到2ms,防止信息丢失就要刷新
- 刷新周期一般为2ms
- 使用行列线是因为用二维方式寻址能大大减少选通线数量
比如8位,如果一维要 2 8 2^8 28根选通线
如果二维只要 2 4 + 2 4 2^4+2^4 24+24根选通线
问题1:如何刷新,每次刷新多少存储单元?
- 以行为单位、每次刷新一行,有硬件支持,读出一行信息后重新写入,占用一个读/写周期
问题2:什么时刻刷新
-
①分散刷新
每读写完都刷新一次,也就是系统存取周期变为1us
前0.5us用于正常读写
后0.5us用于刷新某行 -
②集中刷新
2ms内集中安排时间全部刷新
刷新的那段时间无法访问存储器,称为访存死区 -
③异步刷新
计算好要刷新的行数,刷新的时间平均分配到每个部分 -
刷新对CPU是透明的
-
透明的意思是不知道内部工作原理,只提取结果
三、ROM只读存储器
1.分类
-
掩膜式只读 存储器(MROM)
在芯片生产过程中直接写入信息,然后不能更改 -
一次性可编程只读存储器(PROM或者OTPROM)
由用户用专门设备一次性写入之后无法修改 -
可擦除可编程只读存储器(EPROM)
①紫外线擦除(UVEPROM)
②电擦除(EEPROM) -
闪速存储器(Flash Memony)
U盘 -
固态硬盘(Solid state Drives)
控制单元+FLASH芯片
2.注意问题
- ROM是内存中的一种,广义的内存称为ROM,RAM和Cache三部分
四、习题补充
1.DRAM不存在死时间的方式
- 分散刷新,不是所有方式都有死时间,间隔太短的不算死时间的
2.SRAM芯片引脚最小数目
题目条件,容量为1024X8位,不算电源和接地端
- 容量1024的单位是B,因为后面是乘8位,B是字节
- 1024 B = 2 10 B 1024B=2^{10}B 1024B=210B
- 也就是10+8=18,然后还有读写控制线和片选线
- 再加3或者2,因为读写控制线可能一根也可能两根
3.RAM存储单元和地址线
- 地址线只与存储单元个数有关,与存储字长无关
- 存储单元有多长,比如16位,那么地址线也就是16位
4.SRAM需要刷新吗
- 不需要,因为它是触发器,双稳态,DRAM是电容
5.DRAM地址复用技术芯片引脚数
题目:DRAM容量为1024X8位,不算电源和接地端,读写控制线算两条
- 1024 B = 2 10 B 1024B=2^{10}B 1024B=210B直接减半为 2 5 2^5 25
- 然后片选线变成行通选和列通选两条
- 也就是5+8+2+2=17条
6.DRAM默认的就是地址复用
- 也就是通过容量算地址线的时候必须!必须!减半地址线
- 传两次地址的策略
7.Cache制作
- Cache一般用高速的SRAM制作
- DRAM也是可以用来制作的,但不占主体
- 不用ROM
8.U盘的读写速度
- 闪存是EEPROM的进一步发展
- 也就是说他可读可写
- 但写入时候必须擦除原有数据
- 也就是说写速度要比读速度满不少
9.内存概念
- 一般提到内存的RAM,一般都是DRAM ,因为DRAM的成本要比SRAM低很多
10.EEPROM改写
- 改写次数不止一次,可以多次,但是有限制
- 改写较为繁琐
- 写入时间很长
11.DRAM的特点
- 在工作中存储器内容会产生变化,这句话表述是错的
- 只是刷新
12.提高刷新存储器带宽
- ①采用高速DRAM芯片
- ②采用多体交叉存储结构
- ③刷新存储器至显示控制器的内部总线宽度加倍
- ④采用双端口存储器将刷新端口和更新端口分开
13.DRAM刷新计算
题目:一个1K X4位DRAM芯片,若其内部结构排列成64X64形式,且存取周期为0.1us。
(1)异步刷新的方式,刷新信号周期应取多少
(2)集中刷新的方式,则对该存储芯片刷新一遍 需多少时间?死时间率是多少?
-
① 2ms内要对64行各刷新一遍,刷新信号时间为 2 m s / 64 = 31.25 u s 2ms/64=31.25us 2ms/64=31.25us。因此可以取刷新周期为31us
-
② 存取周期是0.1us,则2ms内集中6.4us刷新,死时间率为(6.4/2000)=0.32%