linux内存管理 (二) 1 硬件总览 ARMv6 存储系统 Memory and System Architectures

存储相关硬件及机制

  • 存储相关硬件及机制
需要关注的硬件
	CACHE/BUFFER/TCM
		根据 [linux内存管理 () Linux内存管理发展历史及进程地址空间抽象](https://blog.csdn.net/u011011827/article/details/105778371) 中 对 存储金字塔的由来 描述 ,增加了 CACHE/BUFFER/TCM 来优化拷贝时间
	MMU
		根据 [linux内存管理 () Linux内存管理发展历史及进程地址空间抽象](https://blog.csdn.net/u011011827/article/details/105778371) 中的需求,硬件上需要作出一些更新,增加了MMU来做 进程地址空间抽象

需要关注的机制
	SMP的Consistency
		内存操作的原子化
		内存操作顺序的保证
  • 存储相关硬件及机制 引出的话题
	CACHE/BUFFER/TCM 的引出,新增了
		1. CACHE/BUFFER/TCM 如何访问
		2. cache 组织
		3. TCM 的用途及 与 CACHE异同
	MMU 的引出, 新增了
		1. 存储访问流程
		2. 内存访问控制
		3. 存储访问异常
	内存操作顺序的保证 的引出, 新增了
		1. 内存访问顺序
		2. 内存访问属性
	CACHE/BUFFER/TCM/MMU/内存操作顺序的保证 , 新增了
		1. CP15 协处理器 // 用于配置管理 CACHE/BUFFER/TCM/MMU/内存操作顺序的保证

内存管理armv6硬件 INDEX

  • DDI0100I_armv4v5v6_architecture_reference_manual.pdf 章节index

Memory and System Architectures
	存储顺序模型
		读写定义
		内存属性
		内存访问的顺序要求
		内存屏障
		存储一致性
	系统控制协处理器
		介绍了控制
	VMSA
		内存访问顺序
		内存访问控制
		内存访问属性
		内存访问异常
		异常地址和状态寄存器
		table walk
		CP15寄存器
	CACHE 和 Write Buffers
		cache 组织
		cache 类型
		L1 cache
		CP15寄存器
	TCM
		CP15寄存器
	fast context switch extension
  • 章节对应的主题index

Memory and System Architectures
	基础
		读写定义
		内存属性

	SMP的Consistency
		内存操作的原子化
			说明的是,我做一个内存操作,什么是原子的?会不会我写入一个寄存器,被别人看到我只写了一半?
		内存操作顺序的保证 // 内存顺序模型
			说明的是,我执行了多个原子操作,别人能否按我要求的顺序看见我这些操作?

			内存访问的顺序要求
			内存屏障
			存储一致性

	系统控制协处理器
		介绍了控制 Memory and System Architectures 中各组件及ARM处理器的指令与寄存器

	VMSA
		内存访问流程
			1.1 tlb 
			1.2 table walk
			2.1 cache hit
			2.2 mem access
		流程中涉及的访问控制属性
		流程中涉及的内存顺序模型属性
		流程中产生的异常及 异常地址/状态寄存器

	
	CACHE 和 Write Buffers
		cache 组织
			缓存集
			缓存线
		cache 分类(按照不同方式的分类)

		L1 cache 的实现
	
	TCM
		TCM 的用途及 与 CACHE异同
		TCM 配置
			如何将 代码 和 数据 分别放到 ITCM 和 DTCM
	
	fast context switch extension
		从ARMv6开始,ARM反对使用FCSE机制。
		在ARMv7中FCSE是可选的,而ARMv7多处理扩展不在支持FCSE
  • 内容概览index

SMP的Consistency包括两个问题:
	内存操作的原子化
		说明的是,我做一个内存操作,什么是原子的?会不会我写入一个寄存器,被别人看到我只写了一半?
	内存操作顺序的保证
		说明的是,我执行了多个原子操作,别人能否按我要求的顺序看见我这些操作?
		强弱顺序模型 // arm 扩充了 一个设备模型
		引入了 内存属性字段
		还引入了 共享字段
		内存操作的限制(分了不同类型,不能同时操作不同类型的内存)
		内存访问顺序图解: A1 A2 谁先执行 谁先执行完
		内存屏障 助力 弱顺序模型 及 内存屏障分类 及 内存屏障使用场合

		其他内存及寄存器的内存操作顺序指导
			同步原语和内存顺序模型
			分支预测器维护操作和内存顺序模型
			对CP15寄存器的更改和内存顺序模型
			对CPSR的更改和内存顺序模型

		存储一致性
			A primer on memory consistency and cache coherence

ARMv6 内存访问流程
	VMSA
		权限相关
			Domain 和 access permission
		内存属性模型相关
			强顺序模型 弱顺序模型 设备模型

ARMv6 内存访问流程优化 // 在 提供低延迟内存 上的努力
	cache && write buffers
	TCM
	FCSE 

你可能感兴趣的:(Linux内存管理)