首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主机系统内存到PCI域地址的映射

主机系统内存到PCI域地址的映射
EN

Stack Overflow用户
提问于 2014-07-03 05:31:25
回答 3查看 1.1K关注 0票数 1
  1. 我对PCI的理解 主机CPU负责通过在PCI配置空间中设置设备条寄存器将PCI域地址分配给PCI总线上的所有其他设备 主机CPU可以将PCI地址域映射到其域(即系统域),从而可以使用主机CPU的简单加载/存储指令来实现由PCI总线上的设备发起的"PCI内存事务“。
  2. 问题->是否可以将系统内存(即主机的主内存(实际内存))映射到PCI域地址,这样当主机系统是由设备在PCI总线上启动的"PCI内存事务“的目标设备时,在不需要主机CPU干预的情况下读写主内存吗?

附加信息:我正在使用PCI总线与3个SH4处理器通信的嵌入式系统工作。

EN

回答 3

Stack Overflow用户

发布于 2019-02-08 09:56:16

在PCIe世界中有两种内存映射。一个是入站映射,另一个是出站映射。

入站映射:内存空间位于设备上,主机CPU可以查找映射的内存空间。出站映射:内存空间位于主机CPU上,设备可以查找映射的内存空间。

两者似乎是相同的,但这是一个重要的区别。使用此特性,您不需要任何额外的内存副本来在主机CPU和设备之间进行通信。

票数 0
EN

Stack Overflow用户

发布于 2020-05-26 15:40:00

我知道这是个老问题,但我还是想回答。当您说“由PCI总线上的设备发起的事务”时,我假设您是指由设备发起的用于访问系统内存(RAM)的读/写。这被称为设备上的总线控制(也称为DMA),它可以通过让主机CPU分配DMA缓冲区(即。使用dma_alloc_coherent(),并让驱动程序向设备提供这个DMA地址。然后,是的,该设备可以读写系统内存,而不需要主机CPU干预。

票数 0
EN

Stack Overflow用户

发布于 2022-02-08 11:11:14

是的很有可能。您还可以使用PCIE的DMA功能“绕过”CPU。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24545632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档