嵌入式系统硬件:内存与通信技术解析
1. 内存技术概述
在嵌入式系统和计算服务器中,小内存的架构需确保可预测的实时性能。将存储常用数据和指令的小内存与存储其余数据和指令的大内存结合使用,通常比单一的大内存更节能。目前介绍的内存通常采用易失性内存技术,为实现持久存储,则需使用不同的内存技术。对于嵌入式系统,闪存常是最佳选择;在其他情况下,也可使用硬盘或基于互联网的存储解决方案(如云存储)。
2. 寄存器文件
存储容量对访问时间和能耗的影响,在诸如寄存器文件这样的小内存中同样存在。寄存器文件的周期时间和功耗与内存大小相关,由于寄存器频繁被访问,其功耗问题需重点关注,过热可能影响其性能。
3. 高速缓存
高速缓存的引入旨在提高运行时效率,其名称源于法语“cacher”(隐藏),意味着程序员无需关注缓存的更新,因为这是自动完成的。硬件会检查缓存中是否有与特定地址相关信息的有效副本,这通过比较缓存的标签字段来实现。若缓存中没有有效副本,缓存信息会自动更新。
以Drepper的研究为例,分析遍历线性列表程序的执行时间。对于Pentium P4处理器,不同大小的列表访问所需的平均周期数不同。小列表几乎总是访问一级缓存,随着列表增大,会访问二级缓存,当列表更大时,尽管二级缓存会自动预取以隐藏部分主存访问延迟,但访问时间仍会增加。此外,当列表项大小增加时(如NPAD增大),预取失败,访问时间会大幅增加,这表明缓存架构对应用程序执行时间有显著影响。同时,缓存访问小内存所需能量比大内存少,可提高内存系统的能源效率,但在设计时预测缓存的命中和缺失较为困难,这对实时性能的准确预测造成了负担。