ARM存储器结构
ARM架构的处理器的存储器寻址空间有4G字节,存储空间可以分为:
-可快存/可缓冲(Cacheable/Bufferable)区域
-不可快存/不可缓冲区域
ARM架构的处理器,有的带有指令快存(I-Cache)和数据快存(D-Cache),片内都不带有片内RAM和片内ROM。系统所需的RAM和ROM(包括闪存FLASH)都通过总线处接;由于系统的地址范围较大(232=4G字节),故有的片内还带有存储器管理单元MMU(Memory Management Unit)
本节课主要内容
缓冲存储器(Cache)
存储器管理
系统控制协处理器CP15
缓冲存储器(Cache)
什么是 cache?
位于处理器中的少量高速缓冲存储器,
保存最近被访问的存储空间内容的备份
哪些存储空间需要读入到cache中,要通过MMU 或 MPU来控制
依赖于内存的重使用
仅用来改善速度较慢的存储器或总线宽度较窄的存储器的性能
降低对总线宽度的要求
减少功耗
外部
存储器
CPU
Cache
地址
数据
总线
接口
带Cache的 ARM 宏单元举例
Cache
ARM
内核
地址
地址
写缓冲
MMU
或
MPU
数据读
数据写
数据
控制逻辑
CP15
AMBA
总线
接口
JTAG 及非AMBA信号
AMBA接口
ARM 快存(Cache)结构
快存Cache是一种小容量,高速度的存储器,用于处理器与主存储器之间,存放当前被使用的主存部分内容,以减少访问主存的等待时间
常用的Cache有指令和数据统一的Cache和指令和数据分离的I-Cache与D-Cache。新型的ARM架构处理器较多采用了
I-Cache与D-Cache的独立块存结构,如Intel公司的SA1110处理器内含16K字节I-Cache和8K字节D-Cache
统一Cache的结构示意图
分离Cache的结构示意图
Cache 的用法
数据以每次传送一行的方式复制到cache 中
每个cache行包含连续的数据
Cache行按其自然的行边界尺寸分配
Cache中的数据一旦被获取后,立即对内核有效
这一处理就是大家所知的数据流动
在一个cache 读操作不命中后,将激发cache 行内容的填充
但新数据应放在cache 的什么位置?
ARM 处理器支持以下置换策略中的一个或多个:
随机,
循环轮换
轮换指针指向下一个要填充的cache 行
已经使用过的行将被收回和替换
对回写数据cache而言, 任何改过的数据都要写到存储器中
ARM存储器结构 来自淘豆网www.taodocs.com转载请标明出处.