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

【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)的特定的地址空间

相关文章:

  • LSTM-SVM多变量时序预测(Matlab完整源码和数据)
  • Django知识-视图
  • uni-app学习笔记三十--request网络请求传参
  • uni-app学习笔记二十四--showLoading和showModal的用法
  • 基于Python学习《Head First设计模式》第十章 状态模式
  • Vulkan 3D Tiles渲染器开发笔记1-脚手架搭建
  • 时间序列预测的机器学习方法:从基础到实战
  • 材料力学速通
  • 设置QDialog的setModal(true)对show()无法阻塞
  • Elasticsearch从安装到实战、kibana安装以及自定义IK分词器/集成整合SpringBoot详细的教程ES(三)
  • 从 Kubernetes 学习大规模 Go 项目架构
  • 初级程序员入门指南
  • Psychopy音频的使用
  • (一)单例模式
  • 【Blender】Blender 通过 Python 实现模型大小压缩
  • 作为点的对象CenterNet论文阅读
  • GitHub 常见高频问题与解决方案(实用手册)
  • Compose笔记(二十六)--DatePicker
  • 数据类型 -- 布尔
  • 第二章 无刷电机硬件控制
  • 中小企业网站建设与推广/郑州网站技术顾问
  • 十堰市茅箭区建设局网站/网站优化检测工具
  • 如何进入网站后台管理系统/软文推广代理平台
  • 苏州企业建设网站价格/免费的云服务器有哪些
  • 重庆綦江网站制作公司哪家专业/佛山百度seo代理
  • 武安企业做网站推广/北京百度搜索优化