1.物理组成
缓存线个数/缓存集 叫做 缓存的集合关联性
2.cache 的管理
加载到cache
缓存是自动管理更新的。每当处理器想要访问可缓存位置时,都会检查缓存。
当在cache 未命中时,将分配一个位置并从内存加载缓存线.
管理cache
清除出cache
3.cache 信息 访问
3.1 hit
如何匹配
way/set ???
3.2 miss
4.cache 的 拓扑(有多少级cache) 及 访问策略(不同cache间是否进行缓存)
1. 拓扑
不同的缓存拓扑是可能的
所有缓存拓扑都必须符合内存一致性模型。
2. 访问策略
不同的访问策略是可能的
所有访问策略都必须符合内存一致性模型。
5. 其他
•缓存是否独立
•缓存命中时,写回内存的方法
•缓存未命中时,加载数据到cache 的方法
•缓存未命中时,替换cache line 的方法
写缓冲区是一块高速存储器,其目的是优化对主存储器的存储
1. 存储的过程
当存储一个数据发生时,
1.store指令将信息写到写缓冲区,信息包括
数据
地址
其他详细信息(例如数据大小
2.写入缓冲区以主存速度完成存储。
2.1 什么时候 完成存储
2.2 会不会做一些重新排序
2. write buffer 的实际作用
写入主存通常比ARM处理器的速度慢得多.
但是 write buffer 可以代理 这个过程 .
在该 store 指令执行之后(此时其实还没写入主存),ARM处理器可以继续以全速执行下一个指令
TCM 为什么出现
缓存的问题
缓存可以提供低延迟内存,但是 它 不可预测性
缓存的升级 : TCM
提供低延迟内存
可预测性
TCM 用途
作用
提供可预测性的 低延迟 内存
一般用来保存什么
关键的例程
中断处理例程
实时任务
草稿行数据
局部性属性不太适合缓存的数据类型
中断堆栈之类的关键数据结构