内存是一种半导体
本质上,内存芯片和CPU、GPU等处理器芯片一样,都是一种半导体芯片,成分都是硅。
一个芯片制造过程大致分为:拉单晶,切片,磨片,抛光,增层,光刻,掺杂,热处理,针测,划片。
晶圆(wafer):制作半导体电路所用的硅晶片,原始材料为硅。高纯度多晶硅溶解以后慢慢拉出,形成柱形单晶硅,硅晶棒经过研磨、抛光、切片以后形成硅晶圆片,也就是晶圆(直径10 inches左右)。
Die:wafer被切割成的小块。Die是硅片中的很小的一个单位,包含了单个芯片的完整设计。Die经过封装形成颗粒(内存颗粒,memory chip)。
Cell:比die更小的单位。
同步动态随机存储器(SDRAM)
SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器),目前基本上所有的DRAM都是这种类型。
目前SDRAM经历不同迭代:第一代(SDR SDRAM)、第二代(DDR SDRAM)、第三代(DDR2 SDRAM)、第四代(DDR3 SDRAM)、第五代(DDR4 SDRAM)等。
SDR SDRAM(single data rate SDRAM,单速率同步动态随机存储器):采用单端(single-ended)始终信号,只在时钟信号的上升沿进行数据传输。
DDR SDRAM(double data rate SDRAM,双倍速率同步动态存储器):主要的改变是在数据传输时,在时钟信号的上升沿和下降沿均可进行数据处理,使得数据传输率达到同等频率的SDR(single data rate)的2倍。对于寻址与控制信号则与SDR相同,仅在时钟上升沿传送。
DDRx随着每一代的更新,传输速率基本上加倍,不过对底层的存储芯片的频率没有这样的提升速率,所以通过双沿传输(相较于SDR)和预取。DDRx传输速率的加倍基本来自于预取宽度的加倍。这篇博客有介绍
DRAM结构
SIMM和DIMM
在内存的早期时代,内存颗粒是直接焊接在主板上的,叫做DIP(Dual In-line Package)。随着内存的发展,内存颗粒被焊接封装在电路板上,然后通过模块化的插在主板上。SIMM(Single Inline Memory Module)和(Dual Inline Memory Module)是两种不同的封装形式。SIMM内存条通过“金手指”与主板相连,两侧的“金手指”提供相同的信号,所以某种程度上其实也可只是单侧有“金手指”;DIMM内存条两侧的“金手指”提供不同的信号。
Channel,DIMM,Rank,Chip,和bank之间的关系
DRAM 结构层级
从大到小:Channel > DIMM > Rank > Chip > bank > row/column。CPU支持单通道或多通道(channel),每个通道上可以插一个或多个DIMM内存条(内存模块)。现在的内存DIMM内存模块位宽通常是64 bits,而一个内存颗粒(chip)通常没有这个大,通常为8 bits,所以需要8个内存颗粒组成一组(rank)。这个图很清晰的表示了DRAM的结构。
内存的工作原理相当复杂,先整理一下结构,对DDR有一个简单的认识,后面需要了解工作原理在整理一下工作原理,包括如何存取数据,地址线,数据线,控制线之间如果规定和作用等等。
Reference
DDR的Controller、Channel、Chip、Rank、Bank、Row、Column、Sided
Heterogeneous CPU/ (GP) GPU Memory Hierarchy Analysis and Optimization
最新评论
感谢博主,让我PyTorch入了门!
博主你好,今晚我们下馆子不?
博主,你的博客用的哪家的服务器。
您好,请问您对QNN-MO-PYNQ这个项目有研究吗?想请问如何去训练自己的数据集从而实现新的目标检测呢?
where is the source code ? bomb1 188 2 8 0 0 hello world 0 0 0 0 0 0 1 1 9?5
在安装qemu的过程中,一定在make install 前加入 sudo赋予权限。
所以作者你是训练的tiny-yolov3还是yolov3...
很有用