内存子系统

笔记导航

现代 CPU 的内存子系统,主要包括 on-CPU memory(SRAM/cache)和 off-CPU memory(DRAM)两部分。

DRAM 的层级为 CPU -> memory controller -> channel -> DIMM -> logical rank -> die -> bank group -> bank (-> MAT/Tile) -> memory cell at (row, column)。

device 和 die 的关系由封装决定,需要另外讨论。

device 和 logical rank 的关系具体由 logical rank 和 die 的关系,device 和 die 的关系,两者决定。

所以,这个栈里面的话题有:

内存子系统总结

off-CPU DDR4 memory 物理实体

off-CPU DDR4 memory 层级关系

从 CPU 到 logical rank、logical rank 到 die、die 到 memory cell,一路都是包含关系。

然后特殊关注一下 device 和 die 的关系、logical rank 和 device 的关系。

i7-8700 例子

访问过程

DRAM 命令

对于一个 8Gb x8 的 die,16 个 bank,column 10 根线,row 16 根线。那么一个 bank 的逻辑结构是,2^16 个 row,2^10 个 column,一个 column 8 个 bit。

如果我们选用 512x512 的 MAT/Tile,那么我们需要 128 行 16 列 MAT/Tile。

DRAM Timing

ddr4 标准第 10 章 Speed Bin 和第 14 章 Electrical Characteristics & AC Timing 给出了和时序有关的信息。

内存基础知识

Cache

DRAM

JDEC DRAM 文档

海力士内存颗粒与封装类型

https://product.skhynix.com/products/dram/ddr/ddr4sd.go

H5AN 4G 6 N B J R-VK C 4Gb     x16     2666Mbps        FCBGA   MP
H5AN 4G 6 N B J R-VK I 4Gb     x16     2666Mbps        FCBGA   MP
H5AN 4G 8 N B J R-VK C 4Gb     x8      2666Mbps        FCBGA   MP
H5AN 4G 8 N B J R-VK I 4Gb     x8      2666Mbps        FCBGA   MP
H5AN 8G 6 N C J R-VK C 8Gb     x16     2666Mbps        FCBGA   MP
H5AN 8G 6 N C J R-WM C 8Gb     x16     2933Mbps        FCBGA   MP
H5AN 8G 6 N C J R-WM I 8Gb     x16     2933Mbps        FCBGA   MP
H5AN 8G 6 N C J R-XN C 8Gb     x16     3200Mbps        FCBGA   MP
H5AN 8G 6 N C J R-XN I 8Gb     x16     3200Mbps        FCBGA   MP
H5AN 8G 6 N D J R-VK C 8Gb     x16     2666Mbps        FCBGA   MP
H5AN 8G 6 N D J R-WM C 8Gb     x16     2933Mbps        FCBGA   MP
H5AN 8G 6 N D J R-XN C 8Gb     x16     3200Mbps        FCBGA   MP
H5AN 8G 8 N C J R-VK C 8Gb     x8      2666Mbps        FCBGA   MP
H5AN 8G 8 N C J R-VK I 8Gb     x8      2666Mbps        FCBGA   MP
H5AN 8G 8 N C J R-WM C 8Gb     x8      2933Mbps        FCBGA   MP
H5AN 8G 8 N C J R-WM I 8Gb     x8      2933Mbps        FCBGA   MP
H5AN 8G 8 N C J R-XN C 8Gb     x8      3200Mbps        FCBGA   MP
H5AN 8G 8 N D J R-VK C 8Gb     x8      2666Mbps        FCBGA   MP
H5AN 8G 8 N D J R-WM C 8Gb     x8      2933Mbps        FCBGA   MP
H5AN 8G 8 N D J R-XN C 8Gb     x8      3200Mbps        FCBGA   MP
H5AN AG 6 N C J R-VK C 16Gb    x16     2666Mbps        FCBGA   MP
H5AN AG 6 N C J R-WM C 16Gb    x16     2933Mbps        FCBGA   MP
H5AN AG 6 N C J R-XN C 16Gb    x16     3200Mbps        FCBGA   MP
H5AN AG 6 N C M R-VK C 16Gb    x16     2666Mbps        FBGA    MP
H5AN AG 6 N C M R-VK I 16Gb    x16     2666Mbps        FBGA    MP
H5AN AG 6 N C M R-WM C 16Gb    x16     2933Mbps        FBGA    MP
H5AN AG 6 N C M R-XN C 16Gb    x16     3200Mbps        FBGA    MP
H5AN AG 6 N C M R-XN I 16Gb    x16     3200Mbps        FBGA    MP
H5AN AG 6 N D M R-VK C 16Gb    x16     2666Mbps        FBGA    MP
H5AN AG 6 N D M R-WM C 16Gb    x16     2933Mbps        FBGA    MP
H5AN AG 6 N D M R-XN C 16Gb    x16     3200Mbps        FBGA    MP
H5AN AG 8 N C J R-XN C 16Gb    x8      3200Mbps        FCBGA   MP
H5AN AG 8 N C M R-VK C 16Gb    x8      2666Mbps        FBGA    MP
H5AN AG 8 N C M R-VK I 16Gb    x8      2666Mbps        FBGA    MP
H5AN AG 8 N C M R-WM C 16Gb    x8      2933Mbps        FBGA    MP
H5AN AG 8 N C M R-XN C 16Gb    x8      3200Mbps        FBGA    MP
H5AN AG 8 N C M R-XN I 16Gb    x8      3200Mbps        FBGA    MP
H5AN AG 8 N D M R-VK C 16Gb    x8      2666Mbps        FBGA    MP
H5AN AG 8 N D M R-WM C 16Gb    x8      2933Mbps        FBGA    MP
H5AN AG 8 N D M R-XN C 16Gb    x8      3200Mbps        FBGA    MP
H5AN BG 6 N A M R-VK C 32Gb    x16     2666Mbps        FBGA    MP
H5AN BG 6 N A M R-WM C 32Gb    x16     2933Mbps        FBGA    MP
H5AN BG 6 N A M R-XN C 32Gb    x16     3200Mbps        FBGA    MP
H5AN BG 8 N A B R-VK C 32Gb    x8      2666Mbps        FBGA    MP
H5AN BG 8 N A B R-WM C 32Gb    x8      2933Mbps        FBGA    MP
H5AN BG 8 N A B R-XN C 32Gb    x8      3200Mbps        FBGA    MP

TODO 把PPT看掉、把GDDR6看一下、把 cache 高级设计看一下、完成kernel具体执行的例子、完善roofline model。