计算机体系架构(4)存储器

本文深入探讨了计算机存储体系的三级架构——外存、内存和Cache,详细阐述了各自的特点和作用。内存包括DRAM和SRAM,Cache用于缓解CPU与内存速度差异。此外,介绍了存储器的分类,如半导体存储器和磁表面存储器,以及随机存取、只读和顺序存取存储器。动态存储器的刷新和重写机制也被提及。最后,文章讨论了虚拟存储技术如何连接内存和外存,并分析了内存与Cache之间的地址映射策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正文

存储系统的层次架构(三级存储体系):

  1. 外存(辅存):硬盘,主要存放大量的后备程序和数据,速度慢,容量大
  2. 内存(主存): DDR 内存条,主要存放 CPU 当前使用得指令和数据,速度中,容量中(相比之下);
  3. 缓存(Cache):全称高速缓冲存储器 Cache,如 SRAM,主要存放 CPU 在当前一小段时间内多次使用的程序和数据,以缓解 CPU 和主存之间的速度差异(比如你 CPU 工作频率很高,但是存储器的读写速度很慢,导致 CPU 数据的存取速度也很慢,那么,CPU 的性能再高也没用的,现如今,存储器的性能才是决定了你的速度,例如,通过更换机械硬盘为固态硬盘,可以极大地给电脑加速,就是这个原理);速度极快,容量小

存储器的分类:

按照存储介质:

  1. 半导体存储器:静态存储器(双稳态触发器,功耗较大、速度极快,如 SRAM,Cache)、动态存储器(电容存储电荷,功耗较小、速度快,DDR);
  2. 磁表面存储器:磁层磁化,如 IDE,SATA;
  3. 光盘存储器:光斑晶相,如 CD;

按照存取方式:

  1. 随机存取存储器:
    RAM:可读可写;如 SDR,DDR;
    ROM:只读;如固化 ROM(用户不能写入数据)、PROM(芯片出厂时存储的内容全为零,用户可写入一次数据)、EPROM(有限的多次编程,紫外线擦除,芯片级擦除)、EEPROM(可多次写入,电擦除,比特级擦除)、Flash 闪存(如 U 盘,SSD 固态硬盘);
  2. 顺序存取存储器:磁带机、电影胶片;
  3. 直接存取存储器:硬盘。

单管单元电路:

        这是动态 MOS 存储单元与芯片(如下):

        综上,通过 Z 线控制 MOS 管的导通与否(即 V_{GS} 是否大于 V_{TH},导通的时候就有 I_{DS} 电流通过,不懂的请参考拉扎维的模拟 CMOS 集成电路设计) ,然后写入数据的话就是通过 W 线的高(1)低(0)电平为电容充电(1)放电(0),读出数据的话就是通过电容的充电(1)放电(0)改变 W 线的电平的高(1)低(0)。

存储器的设计:

  1. 关于存储器数据传输率:单位时间内存取信息的数据量,也叫带宽频宽;例如:双通道 DDR4 内存传输频率为 3200MHz,位宽为 64Bits,其有效带宽为:64*3200/8*2 = 51.2GBps。
  2. 设计存储器考虑的因素:考虑接口协议的匹配如物理特性、功能规范、电平特性、时序逻辑等等;考虑存储器的指标如地址空间、数据位宽、工作频率等等;考虑芯片的布局和布线如地址线、数据线、片选、读写控制线等等。
  3. 存储器地址码组成元素:存储器的地址码片选地址加上片内地址,低位地址分配给片内逻辑,高位地址形成片选逻辑(下面是 1K X 4 SRAM芯片组成容量为  4K X 8 的存储器的控制信号和电路线路设计)。

动态存储器的刷新:

  1. 刷新:定期向电容补充电荷(会泄露的),以保持原来的存储信息。
  2. 重写:破坏性读出之后的自动操作,以恢复原来的存储信息。
  3. 最大刷新间隔:以封装后的一个存储芯片为单位,如 DDR 64ms 内必须对所有片内存储单元刷新一遍。
  4. 逐行刷新:是动态存储器的刷新方法,刷新一行所用的时间即为刷新周期 Tref;刷新周期的安排可以是在 64ms 内集中安排所有的刷新周期,也可以是各个刷新周期分散安排在存取周期中,也可以是每隔一段时间刷新一行。
  5. CPU 访存:由 CPU 通过地址总线提供行列地址,进行随机访问。
  6. SDRAM:即同步动态随机存取存储器。
  7. DDR SDRAM:双倍数据速率、同步动态、随机存取存储器,采用差分时钟,在时钟的上升沿和下降沿各触发一次存储读写操作。

三级存储体系:

  1. 三级存储体系:外存、内存、Cache。
  2. 设置 Cache 的原因:为解决 CPU 和内存速度不匹配而采用的一项技术,使访问主存的平均速度接近于访问 Cache 的速度。
  3. Cache 的前提条件:CPU 从主存中取指令、数据,在一定时间内地址范围,常局限于内存的某个小区域,因此可以将正在使用的部分(热点区指令和数据),提前预取并存储到一个高速的、小容量的 Cache 中;使得 CPU 访存 “等价于” CPU 访问 Cache。(只能说这些前辈们是真的优秀啊,tql)
  4. 内存与 Cache 之间的地址映射:内存与 Cache 之间是通过以固定大小的数据块为单位进行整体调度的(交换 ),映射的方式有直接映射、全相连映射、组相连映射
  5. 直接映射实例讲解:假设存储器按字节编址(即一个地址对应 1B),数据块大小为 512B,Cache 容量为 8KB,那么 Cache 就可以分为 16 块,内存容量大小为 1MB 的话,就可以分为 2048 块;那么在直接映射中,Cache 只分块不分组,内存既分块也分组(每组的块数等于 Cache 总块数),映射规则为内存的每一个数据块,只能映射到与其组内序号相同的 Cache 数据块位置(如下)。
  6. 内存与外存的关联:通过虚拟存储技术(页式、段式、段页式)。
  7. 虚拟存储技术:在内存与外存之间,由操作系统存储管理模块及相关硬件(存储管理部件)实现的一种存储映射技术。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

新芯设计

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

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

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

打赏作者

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

抵扣说明:

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

余额充值