单元处理器上的直接 SPU 到 SPU DMA 请求?
Cell 上的正常 DMA 请求发生在 SPU 和 PPU 之间。 不过,我读到可以在 SPU 之间直接设置 DMA。 有人知道这是如何实现的吗?
Normal DMA requests on the Cell happen between the SPUs and the PPU. However, I have read that it is possible to set up DMA directly between SPUs. Anyone have any idea how this is accomplished?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看一下 spe_get_ls()。 这将帮助您设置可用于在本地商店之间传输数据的有效地址列表。 您可能需要一些管理才能将 spe 标识符映射到物理 SPU。
Have a look at spe_get_ls(). This will help you to setup a list of effective addresses that you can use to transfer data between local stores. You may need some management to map spe identifiers to physical SPUs.
诀窍本质上就是克里斯所说的。 一个 SPE 的本地存储被内存映射到 PPE 的内存空间中。 然后,您只需执行从另一个 SPE 到 PPE 上该地址的常规 DMA 传输。
抱歉,我没有具体的代码。 自从我不得不做这些事情以来已经有一年左右的时间了。 :)
The trick is essentially what Chris said. The local store of one SPE is memory-mapped into the PPE's memory space. And then you just perform a regular DMA transfer from the other SPE to that address on the PPE.
I'm sorry I don't have the exact code for this. It's been a year or so since I had to do any of this. :)