pcie驱动读取模型:
cpu--pcie控制器--pcie设备
内存访问控制逻辑是指定一个内存地址 赋值或者左值 一句话搞定读写
pcie也实现类似方式, cpu和pcie控制器通过一个内存地址进行读写pcie设备
为了达到这个效果需要pcie驱动帮忙,cpu访存是cpu的地址空间 pcie控制器是pcie地址空间 序号映射,映射方式是pcie 配置空间的bar寄存器指定空间大小 然后告诉cpu cpu预留CPU空间给设备,映射之后cpu访存就能访问到pcie设备
这里的核心是pcie视图达到ram-like的访问接口模式,编入cpu访存空间 在用户层简单化。
当然pcie内部总线上协议还是传输deviceid vendoeid 以及reg进行访问
另外pcie总线上的物理层协议有待研究是类似于以太网的冲突检测还是类似wifi的冲突避免机制还是其他
ps:
CSMA/CD(Carrier Sense Multiple Access/collision detection,带有冲突检测的载波侦听多路存取)
CSMA/CA(Carrier Sense Multiple Access with Collision Avoid,即带有冲突避免的载波侦听多路访问)