此文章是我学习存储器时的学习笔记记录。先了解硬件原理,再对应Linux内核源码去啃动内核的mm。内核给人一种感觉就是恢宏庞大,且混元一体,给人一种找不到入口的感觉,那么我就打算直接从存储管理开始硬啃,先打破它的混元一体。
下图中一个存储芯片包含存储矩阵,也就是多个有序排列的存储单元,在加上控制电路,通过读控制线,写控制线,当然有的时候,这两线合一,分别使用低电平和高电平来控制存储单元写数据和读数据。
片选线,一个内存条中就包含多个存储芯片,也就有多个如下图所示的结构,一个黑块就是一个存储芯片,但要读写一个地址的信息,只能在这某一个存储芯片中,如何找到那个存储芯片,并且只给这个存储芯片电压,来实现读写操作,就需要用到片选线,去给指定的存储芯片电压。
整体逻辑就如下图所示:
这样的存储芯片在现实生活中和此图对应,逻辑图中两边的地址线和片选线,数据线和读写控制线,就对应了实际芯片左右两边的引脚,另外还有供电引脚和接地引脚。
一个存储芯片的存储容量计算:
当有n位地址,就说明存储芯片有 2^n (2的n次方) 个存储单元,总容量=存储单元数 * 存储字长。
例如:8K*8位存储芯片,就意为有8k个存储单元,存储字长为8bit,即总容量为:2^13 * 8 bit