caching - 尝试刷新 PowerPC 750 数据缓存

标签 caching embedded powerpc

我正在编写一个例程,用于在使用回写模式时将其关闭之前刷新 PowerPC750 数据缓存。

我找到了 IBM application note对包含刷新例程的缓存进行编程,但我对示例代码感到困惑。我认为示例中可能有错误,但我想检查一下。在 list 2 中,有两个循环,其中包括“移至下一个 block ”的指令。通过将 0x10 添加到当前地址来实现移动到下一个 block 。 我预计这会增加 0x20 (32),因为我认为缓存行是 32 字节宽。任何人都可以证实或否认我的想法吗?!

最佳答案

看来你是对的。他们的数学在列表顶部列出:

! CTR - the number of data blocks needed to fill the cache - save it in r3
!       32K (size of cache) / 32 (bytes per block) = 0x400

他们总是将计数寄存器设置为 0x400,并指出该文档中的几个位置每个 block 有 32 字节。因此,按照这个数学计算,您需要增加 0x20 而不是 0x10。与任何组件一样,您绝对应该以两种方式对其进行测试,以防出现一些奇怪的硅勘误表。

关于caching - 尝试刷新 PowerPC 750 数据缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1322955/

相关文章:

javascript - 为什么 Google Chrome 9 不显示来自 Amazon S3 的图像?

c# - 使用 IE 缓存

linux - 用于嵌入式 Linux 的 Qt : Hide cursor on startup

c - 您如何获得具有 HID 的复合 USB Linux 设备来唤醒挂起的主机?

c - 了解 PowerPC rlwinm 指令

xcode - 升级到 XCode 4 后无法链接 ppc

php - 服务器离线时的 AJAX 请求然后在服务器恢复时恢复

c# - 将应用程序缓存与 session 数据相结合时的信任边界违规

embedded - 以 44 kHz 的速率将 16 位数据记录到 SD 卡

disassembly - powerpc 通过其原始数据反汇编指令