当前位置: 首页 > news >正文

建设安全带官方网站天元建设集团招聘官网

建设安全带官方网站,天元建设集团招聘官网,如何设置中国建设银行网站,WordPress话题插件物理内存的组织结构 我们平时所称的内存也叫随机访问存储器也叫 RAM 。RAM 分为两类: 一类是静态 RAM( SRAM ),这类 SRAM 用于 CPU 高速缓存 L1Cache,L2Cache,L3Cache。其特点是访问速度快,访…

物理内存的组织结构

我们平时所称的内存也叫随机访问存储器也叫 RAM 。RAM 分为两类:

  • 一类是静态 RAM( SRAM ),这类 SRAM 用于 CPU 高速缓存 L1Cache,L2Cache,L3Cache。其特点是访问速度快,访问速度为 1 - 30 个时钟周期,但是容量小,造价高。
  • 另一类则是动态 RAM ( DRAM ),这类 DRAM 用于我们常说的主存上,其特点的是访问速度慢 (相对高速缓存),访问速度为 50 - 200 个时钟周期,但是容量大,造价便宜些(相对高速缓存)。
内存由一个一个的存储器模块(memory module)组成,它们插在主板的扩展槽上。常见的存储

器模块通常以 64 位为单位( 8 个字节)传输数据到存储控制器上或者从存储控制器传出数据。

多个存储器模块连接到存储控制器上,就聚合成了主存。

DRAM 芯片就包装在存储器模块中,每个存储器模块中包含 8 个 DRAM 芯片,依次编号为0-7:

每一个 DRAM 芯片的存储结构是一个二维矩阵,二维矩阵中存储的元素称为超单元(supercell),每个 supercell 大小为一个字节(8 bit),每个 supercell 都有一个坐标地址(i,j)。

i 表示二维矩阵中的行地址,在计算机中行地址称为 RAS (row access strobe,行访问选通脉冲)。 j 表示二维矩阵中的列地址,在计算机中列地址称为 CAS (column access strobe,列访问选通脉冲)。

DRAM 芯片的访问

以读取坐标地址为(2,2)的 supercell 为例,来说明访问 DRAM 芯片的过程。

DRAM 芯片的 IO 单位为一个 supercell ,也就是一个字节(8 bit)。

CPU 如何读写主存

CPU 从内存读取数据过程

假设 CPU 现在需要将物理内存地址为 A 的内容加载到寄存器中进行运算。

对于第三步,存储控制器如何通过物理内存地址 A 从主存中读取出对应的数据 X 的?

存储控制器会将物理内存地址转换为 DRAM 芯片中 supercell 在二维矩阵中的坐标地址(RAS,
CAS),并将这个坐标地址发送给对应的存储器模块。随后存储器模块会将 RAS 和 CAS 广播到存储器模块中的所有 DRAM 芯片。依次通过 (RAS,CAS) 从 DRAM0 到 DRAM7 读取到相应的supercell 。

我们知道一个 supercell 存储了一个字节( 8 bit ) 数据,这里我们从 DRAM0 到 DRAM7 依次读
取到了 8 个 supercell 也就是 8 个字节,然后将这 8 个字节返回给存储控制器,由存储控制器将数
据放到存储总线上。

  • CPU 总是以 word size 为单位从内存中读取数据,在 64 位处理器中的 word size 为 8 个字节。64 位的内存每次只能吞吐 8 个字节。
  • CPU 每次会向内存读写一个 cache line 大小的数据( 64 个字节),但是内存一次只能吞吐 8 个字节。

所以在物理内存地址对应的存储器模块中,DRAM0 芯片存储第一个低位字节( supercell ),DRAM1 芯片存储第二个字节,......依次类推 DRAM7 芯片存储最后一个高位字节。

由于存储器模块中这种由 8 个 DRAM 芯片组成的物理存储结构的限制,内存读取数据只能是按照
物理内存地址,8 个字节 8 个字节地顺序读取数据。所以说内存一次读取和写入的单位是 8 个字
节。 

CPU 向内存写入数据过程

注:CPU 只会访问虚拟内存地址,总线上传输的是物理内存地址,在操作总线之前,需要通过一个地址转换硬件将虚拟内存地址转换为物理内存地址,然后将物理内存地址作为地址信号在总线上传输。

从 CPU 角度看物理内存模型

FLATMEM 平坦内存模型

将物理内存划分成连续的内存页,每页的大小是固定的,用一个数组来组织这些连续的物理内存页 struct page 结构,其在数组中对应的下标即为 PFN。这种内存模型就叫做平坦内存模型。

内核中使用了一个 mem_map 的全局数组用来组织所有划分出来的物理内存页。mem_map 全局
数组的下标就是相应物理页对应的 PFN 。

在平坦内存模型下 ,page_to_pfn 与 pfn_to_page 的计算逻辑非常简单,本质就是基于mem_map 数组进行偏移操作。 

Linux 早期使用的就是这种内存模型,因为在 Linux 发展的早期所需要管理的物理内存通常不大
(比如几十 MB),那时的 Linux 使用平坦内存模型 FLATMEM 来管理物理内存就足够高效了。

内核中的默认配置是使用 FLATMEM 平坦内存模型。

 

DISCONTIGMEM 非连续内存模型

SPARSEMEM 稀疏内存模型

随着内存技术的发展,内核可以支持物理内存的热插拔了,这样一来物理内存的不连续就变为常态了,在 DISCONTIGMEM 内存模型中,其实每个 node 中的物理内存也不一定都是连续的,而且每个 node 中都有一套完整的内存管理系统,如果 node 数目多的话,那这个开销就大了。

SPARSEMEM 稀疏内存模型已经完全覆盖了前两个内存模型的所有功能,因此稀疏内存模型可被用于所有内存布局的情况。

什么是物理内存热插拔?

对于 SPARSEMEM 内存模型,每个 mem_section 都可以在系统运行时改变 offline ,online 状态,以便支持内存的热插拔(hotplug)功能。 当 mem_section offline 时, 内核会把这部分内存隔离开, 使得该部分内存不可再被使用, 然后再把 mem_section 中已经分配的内存页迁移到其他 mem_section 的内存上。

从 CPU 角度看物理内存架构

一致性内存访问 UMA 架构

非一致性内存访问 NUMA 架构

注:NUMA 节点中可能会包含多个 CPU,这些 CPU 均是物理 CPU。

在 NUMA 架构下,只有 DISCONTIGMEM 非连续内存模型和 SPARSEMEM 稀疏内存模型是可用的。而 UMA 架构下,前面介绍的三种内存模型都可以配置使用。

NUMA 的内存分配策略

NUMA 的内存分配策略是指在 NUMA 架构下 CPU 如何请求内存分配的相关策略。

内核如何管理 NUMA 节点

内核如何统一组织 NUMA 节点

内核 2.4 版本之前,内核使用一个单链表将这些 NUMA 节点串联起来;内核 2.4 版本之后,内核使用了一个全局数组来管理所有的 NUMA 节点。

UMA 架构下,内核中只用一个 NUMA 节点来管理所有物理内存。 

NUMA 节点物理内存区域的划分 

内核会根据各个物理内存区域的功能不同,将 NUMA 节点内的物理内存主要划分为以下四个物理内存区域:

除了上面四种物理内存区域,还有两个区域: 

既然有了这些实际的物理内存区域,那么内核为什么又要划分出一个 ZONE_MOVABLE 这样的虚拟内存区域呢 ?

 

内核中请求分配的物理页面数只能是 2 的次幂。

CPU 高速缓存

程序局部性原理表现为:时间局部性和空间局部性。时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某块数据被访问,则不久之后该数据可能再次被访问。空间局部性是指一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问。 

 

http://www.yayakq.cn/news/546189/

相关文章:

  • 国内优秀网站用什么软件做楼盘微网站
  • php响应式网站重庆工程项目
  • 哈尔滨建设工程信息网官方网站宿迁做网站建设的公司
  • 做网站的怎么学京东云免费建wordpress
  • 蚌埠网站建设在什么平台可以发布信息
  • 建设工程查询网站网站设计网站机构
  • 网站建设 指标服装公司网站建设规划方案
  • html5 视频网站 模板为什么做网站网站
  • 温州网站建设钢筋工小程序账号申请
  • 一般的美工可以做网站吗北京广告
  • 旅游网站建设公司哪家好wordpress 封包 app
  • 怎么样免费做公司网站网站主机要多少钱
  • 宣城网站制作建行输了三次密码卡锁怎么解
  • 惠州哪个房地产网站做的比较好营销导向网站建设流程
  • 免费建网站可信吗网络营销成功案例有哪些
  • 南阳建站公司做直播网站vps可以吗
  • 主流的网站建设的软件wordpress已卸载插件数据
  • 平台设计是做什么关键词seo优化服务
  • 北京网站建设 爱牛三种分销渠道
  • 如何建设内部网站百度投诉电话24小时
  • 焦作网站建设设计网站图片展示代码
  • 单位网站建设内容云搜索网页版入口
  • 深圳高品质网站建设服务淘宝网站都是怎么做的
  • 威海住房和城乡建设局官方网站黄骅港旅游景点大全
  • 搭建网站需要什么工具竞价排名点击器
  • 公司网站制作有哪些店面设计图片
  • 建设厅网站怎么打印不出来宁波梅山建设局网站
  • 网站平台怎么推广如何进入网站后台 被黑
  • 用什么网站开发wordpress点击量设置
  • 南通企业网站怎么建设网站品牌高端定制