正文
存储系统的层次架构(三级存储体系):
- 外存(辅存):如硬盘,主要存放大量的后备程序和数据,速度慢,容量大;
- 内存(主存):如 DDR 内存条,主要存放 CPU 当前使用得指令和数据,速度中,容量中(相比之下);
- 缓存(Cache):全称高速缓冲存储器 Cache,如 SRAM,主要存放 CPU 在当前一小段时间内多次使用的程序和数据,以缓解 CPU 和主存之间的速度差异(比如你 CPU 工作频率很高,但是存储器的读写速度很慢,导致 CPU 数据的存取速度也很慢,那么,CPU 的性能再高也没用的,现如今,存储器的性能才是决定了你的速度,例如,通过更换机械硬盘为固态硬盘,可以极大地给电脑加速,就是这个原理);速度极快,容量小。
存储器的分类:
按照存储介质:
- 半导体存储器:静态存储器(双稳态触发器,功耗较大、速度极快,如 SRAM,Cache)、动态存储器(电容存储电荷,功耗较小、速度快,DDR);
- 磁表面存储器:磁层磁化,如 IDE,SATA;
- 光盘存储器:光斑晶相,如 CD;
按照存取方式:
- 随机存取存储器:
RAM:可读可写;如 SDR,DDR;
ROM:只读;如固化 ROM(用户不能写入数据)、PROM(芯片出厂时存储的内容全为零,用户可写入一次数据)、EPROM(有限的多次编程,紫外线擦除,芯片级擦除)、EEPROM(可多次写入,电擦除,比特级擦除)、Flash 闪存(如 U 盘,SSD 固态硬盘); - 顺序存取存储器:磁带机、电影胶片;
- 直接存取存储器:硬盘。
单管单元电路:
这是动态 MOS 存储单元与芯片(如下):
综上,通过 Z 线控制 MOS 管的导通与否(即 是否大于
,导通的时候就有
电流通过,不懂的请参考拉扎维的模拟 CMOS 集成电路设计) ,然后写入数据的话就是通过 W 线的高(1)低(0)电平为电容充电(1)放电(0),读出数据的话就是通过电容的充电(1)放电(0)改变 W 线的电平的高(1)低(0)。
存储器的设计:
- 关于存储器数据传输率:单位时间内存取信息的数据量,也叫带宽或频宽;例如:双通道 DDR4 内存传输频率为 3200MHz,位宽为 64Bits,其有效带宽为:64*3200/8*2 = 51.2GBps。
- 设计存储器考虑的因素:考虑接口协议的匹配如物理特性、功能规范、电平特性、时序逻辑等等;考虑存储器的指标如地址空间、数据位宽、工作频率等等;考虑芯片的布局和布线如地址线、数据线、片选、读写控制线等等。
- 存储器地址码组成元素:存储器的地址码片选地址加上片内地址,低位地址分配给片内逻辑,高位地址形成片选逻辑(下面是 1K X 4 SRAM芯片组成容量为 4K X 8 的存储器的控制信号和电路线路设计)。
动态存储器的刷新:
- 刷新:定期向电容补充电荷(会泄露的),以保持原来的存储信息。
- 重写:破坏性读出之后的自动操作,以恢复原来的存储信息。
- 最大刷新间隔:以封装后的一个存储芯片为单位,如 DDR 64ms 内必须对所有片内存储单元刷新一遍。
- 逐行刷新:是动态存储器的刷新方法,刷新一行所用的时间即为刷新周期 Tref;刷新周期的安排可以是在 64ms 内集中安排所有的刷新周期,也可以是各个刷新周期分散安排在存取周期中,也可以是每隔一段时间刷新一行。
- CPU 访存:由 CPU 通过地址总线提供行列地址,进行随机访问。
- SDRAM:即同步动态随机存取存储器。
- DDR SDRAM:即双倍数据速率、同步动态、随机存取存储器,采用差分时钟,在时钟的上升沿和下降沿各触发一次存储读写操作。
三级存储体系:
- 三级存储体系:外存、内存、Cache。
- 设置 Cache 的原因:为解决 CPU 和内存速度不匹配而采用的一项技术,使访问主存的平均速度接近于访问 Cache 的速度。
- Cache 的前提条件:CPU 从主存中取指令、数据,在一定时间内地址范围,常局限于内存的某个小区域,因此可以将正在使用的部分(热点区指令和数据),提前预取并存储到一个高速的、小容量的 Cache 中;使得 CPU 访存 “等价于” CPU 访问 Cache。(只能说这些前辈们是真的优秀啊,tql)
- 内存与 Cache 之间的地址映射:内存与 Cache 之间是通过以固定大小的数据块为单位进行整体调度的(交换 ),映射的方式有直接映射、全相连映射、组相连映射。
- 直接映射实例讲解:假设存储器按字节编址(即一个地址对应 1B),数据块大小为 512B,Cache 容量为 8KB,那么 Cache 就可以分为 16 块,内存容量大小为 1MB 的话,就可以分为 2048 块;那么在直接映射中,Cache 只分块不分组,内存既分块也分组(每组的块数等于 Cache 总块数),映射规则为内存的每一个数据块,只能映射到与其组内序号相同的 Cache 数据块位置(如下)。
- 内存与外存的关联:通过虚拟存储技术(页式、段式、段页式)。
- 虚拟存储技术:在内存与外存之间,由操作系统存储管理模块及相关硬件(存储管理部件)实现的一种存储映射技术。