附加信息:我正在使用PCI总线与3个SH4处理器通信的嵌入式系统工作。
发布于 2019-02-08 09:56:16
在PCIe世界中有两种内存映射。一个是入站映射,另一个是出站映射。
入站映射:内存空间位于设备上,主机CPU可以查找映射的内存空间。出站映射:内存空间位于主机CPU上,设备可以查找映射的内存空间。
两者似乎是相同的,但这是一个重要的区别。使用此特性,您不需要任何额外的内存副本来在主机CPU和设备之间进行通信。
发布于 2020-05-26 15:40:00
我知道这是个老问题,但我还是想回答。当您说“由PCI总线上的设备发起的事务”时,我假设您是指由设备发起的用于访问系统内存(RAM)的读/写。这被称为设备上的总线控制(也称为DMA),它可以通过让主机CPU分配DMA缓冲区(即。使用dma_alloc_coherent(),并让驱动程序向设备提供这个DMA地址。然后,是的,该设备可以读写系统内存,而不需要主机CPU干预。
发布于 2022-02-08 11:11:14
是的很有可能。您还可以使用PCIE的DMA功能“绕过”CPU。
https://stackoverflow.com/questions/24545632
复制相似问题