当前位置: 首页 > backend >正文

【PCIe总线】-- inbound、outbound配置

PCI、PCIe相关知识整理汇总
【PCIe总线】 -- PCI、PCIe相关实现


由之前的PCIe基础知识可知,pcie的组成有:RC(根节点)、siwtch(pcie桥)、EP(设备)。

RC和EP,以及EP和EP能够互相通信之前,需要一系列的配置,即配置inbound、outbound。

什么是inbound,outbound?

它本质上是地址转换翻译

SOC芯片在 PCIe 内部配置寄存器空间提供了一系列寄存器接口用以配置地址转换单元(ATU)。通过这一组寄存器,可以实现对发送方向和接收方向的各个地址转换区的配置。

一个EP如何访问RC?

它们之间只有PCIE链路。EP侧要产生PCIE读写事务,那应用程序如何产生这样的事务?应用程序操作特定的地址,进行读写。如写一个地址,然后产生个写事务。各soc有PCIE控制器,配置好,然后访问特定的地址,就可以转换成写事务。

即,EP访问RC:EP配置outbound地址,对应RC的DDR地址。EP访问特定的地址,会产生一个事务,访问RC侧的DDR地址。

实例:

如ti816x, 2000 0000h - 2FFF FFFFh 共256M大小的地址空间,对应着32个outbound配置, 每个配置对应着8M。

配置ob0  : 0x4 0000 0000 (RC侧DDR地址)

EP侧应用程序访问0x2000 0000, 会产生一个事务,访问RC侧的0x4 0000 0000

RC如何访问EP?

它们之间只有PCIE链路。RC侧可以访问EP侧的BAR空间。EP侧提供了翻译机制,将对BAR空间的访问,转化成对本侧DDR的访问。

如:

EP BAR2: 0x380010000000

EP配置inbound bar2: 0xb2e00000

RC侧应用程序访问 0x380010000000,会产生一个事务,访问EP侧的0xb2e0 0000。

EP-A如何访问EP-B?

同样它们之间只有PCIE链路。

  1.  EP-A配置好outbound,到EP-B侧的PCIE BAR地址
  2.  EP-B配置好inbound到EP-B的DDR
  3.  EP-A访问 本侧(soc)的特定的地址空间

http://www.xdnf.cn/news/12967.html

相关文章:

  • 小游戏不能玩了?最好用flash扩展程序
  • Deep-Live-Cam电脑部署避坑大全:环境搭建、常见错误排查与终极修复方案
  • Transceiver线速率配置
  • Redis实战-消息队列篇
  • 利用coze工作流制作一个自动生成PPT的智能体
  • 针对异构数据的联邦学习
  • Linux:守护进程(进程组、会话和守护进程)
  • OC学习—命名规范
  • 八、数据库恢复技术
  • 【Bluedroid】蓝牙启动之btm_ble_init源码分析
  • 基于51单片机的花样流水灯
  • JS的传统写法 vs 简写形式
  • 打卡第39天:Dataset 和 Dataloader类
  • MySQL强化关键_020_SQL 优化
  • Opnelayers:封装Popup
  • 【推荐算法】Deep Crossing:端到端深度推荐系统的奠基者
  • PCB设计教程【大师篇】——STM32开发板原理图设计(电源部分)
  • CKA考试知识点分享(3)---sidecar
  • DAY 45 Tensorboard使用介绍
  • 主体与代理的义项选择用意: 融智学视域下的三元操作机制
  • Python数据分析7
  • VMware导入vmdk文件
  • Beckhoff(倍福) -- MES(ITAC) TCP 通讯
  • DQN强化学习怎么来使用
  • 后Optane时代的NVM技术演进与挑战
  • 算法题(165):汉诺塔问题
  • GitFlow 工作模式(详解)
  • 智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
  • Java中单向队列的多种实现类详解
  • 智警杯备赛--excel模块