深入解析CPU内存系统机制与性能影响因素
1. 内存系统机制
1.1 缓存机制
CPU能够区分是在获取指令(通过程序计数器PC直接或间接计算地址)还是数据,因此可以选择缓存指令、数据或者两者都缓存。若缓存空间有限,指令缓存应被优先考虑,因为它通常能提供更高的命中率。同时包含指令和数据的缓存被称为统一缓存。
不同的ARM实现采用了不同的缓存大小和组织方式:
- ARM600:包含一个4KB、64路的统一指令/数据缓存。
- StrongARM:使用一个16KB、32路的指令缓存,块大小为32字节;以及一个16KB、32路的数据缓存,块大小同样为32字节,数据缓存采用回写策略。
C5510(C55x系列的一款)使用一个16KB的指令缓存,组织方式为两路组相联缓存,每行包含四个32位字。该指令缓存可通过软件禁用。此外,它还包含两个RAM组,用于存储大的连续代码块。每个RAM组最多可存储4KB的代码,组织为256行,每行四个32位字。每个RAM都有一个标签,用于指定RAM中地址的范围,还包含一个标签有效字段,用于显示RAM是否正在使用,以及每行的行有效位。
1.2 内存管理单元(MMU)与地址转换
MMU负责在CPU和物理内存之间进行地址转换,这个过程通常被称为内存映射,即将逻辑地址空间映射到物理地址空间。在嵌入式系统中,MMU主要出现在主处理器中。对于那些需要MMU的复杂嵌入式系统来说,了解其基本原理是很有帮助的。
许多数字信号处理器(DSP),如C55x系列,并不使用MMU。这是因为DSP主要用于计算密集型任务,通常不需要硬件对逻辑地址空间提供帮助。
早期计
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



