看看ARM处理器存储访问一致性问题.docxVIP

  • 8
  • 0
  • 约1.59千字
  • 约 3页
  • 2023-10-31 发布于黑龙江
  • 举报
第 第 PAGE 1 页 共 NUMPAGES 1 页 看看ARM处理器存储访问一致性问题 1.3 DMA造成的数据不一致问题 DMA操作直接访问主存,而不会更新cache和Write Buffer中相应的内容,这样就可能造成数据的不一致。 如果DMA从主存中读取的数据已经包含在cache中,而且cache中对应的数据已经被更新,这样DMA读到的将不是系统中最新的数据。同样DMA写操作直接更新主存中的数据,如果该数据已经包含在cache中,则cache中的数据将会比主存中对应的数据“老”,也将造成数据的不一致。 为了避免这种数据不一致情况的发生,根据系统的具体情况,执行下面操作序列中的一种或几种: 1)将DMA访问的存储区域设置成非缓冲的,即uncachable及unbufferable;2)将DMA访问的存储区域所涉及数据cache中的块设置成无效,或者清空数据cache;3)清空Write Buffer(执行Write Buffer中延迟的所有写操作);4)在DMA操作期间限制处理器访问DMA所访问的存储区域。1.4 指令预取和自修改代码 在ARM中允许指令预取,在CPU执行当前指令的同时,可以从存储器中预取其后若干条指令,具体预取多少条指令,不同的ARM实现中有不同的数值。 当用户读取P

文档评论(0)

1亿VIP精品文档

相关文档