内存 「爱情、让人受尽委屈。」 2022-03-29 08:52 204阅读 0赞 内存分为RAM和ROM: RAM, 是断电就会丢失数据,又分为SRAM和DRAM。 SRAM访问速度快,主要是作为cpu的内存,dram主要是作为硬盘,隔断时间需要自刷新一次,以保存电荷的状态。 1. 物理bank(Physical Ban, 简称P-Bank) 传统内存系统为例保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输周期内能接受的数据容量就是CPU数据总线的宽度,单位是bit. SDRAM: synchronous dynamic random access memory, 同步动态随机存储器。 同步是指其时钟频率与CPU前端总线的系统时钟频率相同,并且内部的命令的发送与数据的传输数都以它为基准。 动态是指存储阵列需要不断的刷新来保证书据不丢失。 随机是指数据不是线性依次存储,而是自由制定地址进行数据的读写。 SIMM: single in-line memory module, 单列内存模组。 内存模组就是我们常说的内存条,所谓单列是指模组电路板与主板插槽的接口只有一列引脚(虽然两侧都有金手指) DIMM:double in-line memory module, 双列内存模组。所谓双列是指模组电路板与主板插槽的接口有两列引脚,模组电路板两侧的金手指对应一列引脚。 芯片位宽 sdram内存系统必须要要组成一个P-Bank的位宽,才能是CPU正常工作,那么这个P-Bank位宽是怎么得到的呢?这里涉及岛略内存芯片的结构。 每个内存芯片都有自己的位宽,理论上哇怒气那可以作出一个位宽为64Bit的芯片来满足P-Bank的需求,但是这对技术的要求太高,在成本和实用性方面都处于劣势。所以芯片的位宽一般都比较小,台式机所用使用的SDRAM芯片位宽最高也就是16bit, 常见的是8bit. 所以为例组成P-Bank,需要多个芯片并联工作。 对于16bit的内存芯片,需要4颗才能组成64bit的P-Bank。8bit的芯片,则需要8颗。 P-Bank其实就是一组内存芯片的集合。随着应用的不断发展,一个P-Bank已经不能满足容量的需求,芯片组开始支持多个P-Bank,一次选择一个P-Bank工作。这就有啦芯片组支持多少Bank的说法。Intel的定义中,称P-Bank为行(Row), 比如85G芯片组支持4个行,就是指它支持4个P-Bank, 另外一些文档中也把P-Bank称为Rank DIMM是SDRAM集合形式的最终体现,每个DIMM至少包含一个P-Bank的芯片集合。在目前的DIMM标准中,每个模组最多可以包含两个P-Bank的内存芯片集合,虽然理论上一个DIMM可以支持多个P-Bank,但是受限于成本和工艺等原因,并没有这么去做。 SDRAM内存芯片的内部结构 1. 逻辑bank与芯片位宽 上面说的是SDRAM的外在形式,现在是了解SDRAM的内部结构。主要的概念是逻辑Bank, logic Bank, L-Bank 简单来说,SDRAM的内部是一个存储阵列,如果不是,而是管道式存储,就如排队买票,很难做到随机访问。 阵列就像表格,和表格的检索原理一样,先制定一个行row,然后指定一个列column,我们就可以准确的找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,单个单元格称为存储单元,那么这个表格(存储阵列)叫什么呢?它就是逻辑Bank, L-Bank 能不能做一个全容量的L-Bank呢,把所有的存储单元放在一个L-Bank里面,答案是不行。 由于技术,成本等原因,最重要的是:SDRAM的工作原理限制,单一的L-Bank将会造成非常严重的寻址冲突,大幅度降低内存效率。 所以人们在SDRAM内部分割称多个L-Bank,以前是两个,现在基本是4个,这也是SDRAM规范中最高的L-Bank数量,在最新的DDR2标准中,L-Bank的数量提高到啦8个。 这样在寻址的时候第一步就要先确定是哪个L-Bank,然后在选择的L-Bank中选择对应的行和列。可见对内存的方位,一次只能是一个L-Bank工作,而每次与北桥交换的数据就是L-Bank存储阵列中的一个“存储单元”的容量。有一些厂商将L-Bank中的存储单元称为Word 2. 内存芯片的容量 内存芯片的容量就是所有L-Bank中的存储单元的容量总和。 总容量= 行数×列数(得到一个L-Bank的存储单元数量)×L-Bank的数量。 很多产品文档中都用M×W的方式来表示芯片的容量。 M是芯片中存储单元的总数,单位是M, 精确指是1048576,而不是1000000. W代表每个存储单元的容量,也就是SDRAM的芯片位宽,单位是Bit。 下面是3种规格的容量,但是容量都是128Mbit. 2,097,152-WORDS\*4Banks×16Bits -- 1 WORD表示两个Bytes 4,194,304-WORDS\*4Banks×8Bits 8,388,608-WORDS\*4Banks×4Bits 为什么会有多种不同位宽的设计呢?是为了满足不同领域的需要。 P-Bank的位宽是固定的,当芯片位宽确定下来后,一个P-Bank中芯片的个数也就是自然确定略,P-Bank对芯片集合的位宽有要求,但是对芯片集合的容量则没有任何限制。高位宽的芯片可以让DIMM的设计简单那一些,但在芯片容量相同时,这种DIMM的容量就肯定比不上采用低位宽芯片的模组,因为后者在一个P-Bank中可以容纳更多的芯片。 比如上面提到的容量128Mbit,合计16MB.如果DIMM采用双P-Bank+16bit芯片设计,那么只能容纳8颗芯片。但是同样的使用4bit位宽芯片设计,可容纳32颗芯片,总计512MB, DIMM前后容量相差4倍,可见芯片位宽对DIMM设计的重要性。 8Bit 位宽芯片一般用于桌面台式机。 16bit位宽一般用于更大位宽的场合,比如显卡。 4bit位宽适用于大容量内存应用领域。
相关 物理内存、虚拟内存、buffers、cached、共享内存、swap 物理内存: 实际使用的内存; 虚拟内存: 虚拟内存是操作系统内核为了对进程地址空间进行管理(process address space management)而精心 迷南。/ 2023年01月05日 14:29/ 0 赞/ 360 阅读
相关 共享内存 1.共享内存 a.操作步骤 (1)创建共享内存 (2)映射共享内存 (3)分离共享内存 (4)控制、删除共享内存 b.相关函数 1.shmget 作用:在 男娘i/ 2022年07月15日 13:23/ 0 赞/ 166 阅读
相关 共享内存 共享内存 是被多个进程共享的一部分物理内存,共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以理科看到其 小灰灰/ 2022年07月15日 01:38/ 0 赞/ 213 阅读
相关 共享内存 共享内存 是被多个进程共享的一部分物理内存,共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以理科看到其 淡淡的烟草味﹌/ 2022年07月15日 01:38/ 0 赞/ 199 阅读
相关 共享内存 之前我们已经了解了管道和消息队列:[http://blog.csdn.net/qq\_34021920/article/details/79596262][http_blog. 蔚落/ 2022年06月14日 03:52/ 0 赞/ 219 阅读
相关 内存 内存分为RAM和ROM: RAM, 是断电就会丢失数据,又分为SRAM和DRAM。 SRAM访问速度快,主要是作为cpu的内存,dram主要是作为硬盘,隔断时间需要自刷新一 「爱情、让人受尽委屈。」/ 2022年03月29日 08:52/ 0 赞/ 205 阅读
相关 Java内存 版权声明:本文为博主原创文章,未经博主允许不得转载 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_te ﹏ヽ暗。殇╰゛Y/ 2022年02月03日 02:19/ 0 赞/ 210 阅读
相关 java内存 内存划分 1,寄存器 2,本地方法区:各个版本不同 3,方法区 4,栈内存 凡是定义在方法中的变量,都是局部变量,而栈空间存储的都是局部变量。 并且变量所属的作用域 向右看齐/ 2022年01月09日 12:39/ 0 赞/ 211 阅读
相关 共享内存 共享内存头文件为shm.h 共享内存可以视为进程间通信速度最快的方式 共享内存实现函数非常简单, shmctl shmget shmat shmdt 这四个函数是共... 我就是我/ 2021年05月17日 14:09/ 0 赞/ 471 阅读
还没有评论,来说两句吧...