CSAPP之RAM要点快记

146天前 · 代码 · 231次阅读

这几天在复习计组,希望可以通过记笔记加深印象,后面也可以方便回顾。

RAM

随机访问存储器(RAM),分为静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)。

速度:SRAM > DRAM

价格:SRAM > DRAM

应用:

  • SRAM:多用于高速缓存
  • DRAM:多用于主存 | 图形帧缓冲区

DRAM芯片构造

DRAM中有很多很多单元(位),而DRAM中的单元一般被划分为d个超单元。每个超单元都有w个单元。所以一个$d\times w$的DRAM芯片可以储存$dw$位数据。

超单元不是一排排到底的,是被划分为r行,c列,形成一个矩阵。这样子做的好处在接下来的数据读取可以体现出来。

从单DRAM芯片中存取数据

从DRAM芯片中存取数据需要通过内存控制器。而内存控制器与DRAM芯片又是通过引脚交流。在传统的DRAM中,两者之间存在着两组引脚。

第一组被称为addr引脚,用于指示DRAM芯片应该对哪个超单元进行访问。第二组被称为data引脚,顾名思义用于传输数据。addr引脚是从内存控制器到DRAM的单向流通引脚,而data引脚则是双向流通的。毕竟DRAM没有将地址返回给内存控制器的需求。

随着计算机的发展,单位面积上我们希望塞进去更多的单元,存储更多的数据,这个时候就需要尽可能减少一些不必要的空间,例如引脚的数量。

但是有些引脚可以动,有些引脚动不得。

例如data引脚,如果每个超单元由8个单元构成,即每个超单元存储的数据是8位的。也就是说data引脚必须要8位才能实现完整的数据交流。引脚多了没用,少了数据被截断。所以data引脚一般是不会去动它的。

而addr引脚就可以稍微优化一下。加入这是一个16x8的DRAM,即有16个超单元,每个超单元有8位。那么如果将所有的超单元排排站,我们就会发现总共需要$log_2 16 = 4$个引脚来传输地址。但是如果我们将超单元排列成一个4x4的矩阵,那么我们可以将addr引脚优化到2个指针。我们可以先传输行地址,锁定目标行,再传输列地址,确定目标超单元。

实际上这也是传统的DRAM的设计与存取方法。实际的读取流程如下:

  1. 内存控制器向DRAM发送行地址i
  2. DRAM将i行存储至DRAM内置的行缓冲区。
  3. 内从控制器向DRAM发送列地址j
  4. DRAM从行缓冲区去除第j列的超单元数据,通过data引脚传出
  5. 行缓冲区被清空

其中第一步被称为RAS(Row Access Strobe,行访问选通脉冲),第三步被称为CAS(Column Access Strobe,列访问选通脉冲)。

将超单元排排站还是组成团,各有优劣

排排站的好处是一步到位,缺点是引脚增多

组成团的好处是引脚减少,缺点是过程复杂

内存模块

DRAM芯片不都是单枪匹马战斗的,他们被封装在内存模块里面。这样子可以统一调配多个DRAM芯片,而且每一个超单元的存储位数也能“变多”。怎么回事呢?

例如将8个64Mbit的8M×8的DRAM芯片封装成一个内存模块,那么和这个内存模块总共可以存储64MB的数据。其中每一个“超单元”可以存储64位的数据。这里的“超单元”实际上不是简单的一个超单元,而是在8个DRAM中相同的$(i,j)$对应的每一个超单元的集合!每一个超单元可以存储8位,那么将8个DRAM中相同地址的超单元的数据串起来就可以存储64位的数据。具体的实现过程如下:

  • 内存控制器向内存模块发送地址$(i,j)$
  • 模块内将ij广播到每一个DRAM中
  • 内存模块取得每一个DRAM中$(i,j)$对应的超单元数据,并将它们拼接为64位的数据,传输给内存控制器

(这里的拼接实际上是有内存模块中的电路实现的)

更快更强的DRAM

  • 快页模式DRAM(FPM DRAM),即行缓冲区在使用后不清空,如果下一次需要访问的数据还在该行,就可以直接从缓冲区读取。
  • 拓展数据输出DRAM(EDO DRAM),让CAS信号能够更加紧凑
  • 同步DRAM(SDRAM),使用与外部相同的时钟信号来控制(一般的DRAM内部有自己的时钟信号,即异步的)
  • 双倍速率同步DRAM(Double Data-rate Synchronous DRAM, DDR SRAM),是SDRAM的升级版。原本的SDRAM只在时钟上升沿或下降沿更新,现在被升级为上升沿和下降沿都更新,从而将速率翻倍。
  • 视频RAM(Video RAM,VRAM)。主要用于图形系统的帧缓冲区,思想与FPM DRAM类似,不过稍有区别。

    • VRAM可以对内存并行读写,FPM 不行
    • VRAM的输出是通过整个内部缓冲区的内容移位得到的

以上就是我在学习CSAPP中对RAM的一些理解,欢迎交流讨论~

👍 7

CSAPP

还没有修改过

评论

贴吧 狗头 原神 小黄脸
收起

贴吧

狗头

原神

小黄脸

目录

avatar

季悠然

寻找有趣的灵魂

127

文章数

1954

评论数

3

分类

好热啊

arknights!

孤独的人不会伤害别人,只会不断地伤害自己罢了。

107