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

PCIe控制逻辑介绍(一)

PCIe EP端控制器逻辑分为:应用层、事物层、链路层和物理层。

本文介绍的PCIe控制器逻辑主要包含以下几个部分:

  1. 端口逻辑(CXPL:Common Express Port Logic)。
    1. CXPL的主要组成部分包括:绝大部分事务层逻辑、全部的链路层逻辑和物理层中介质访问控制MAC逻辑,其中MAC逻辑实现了链路训练和链路状态机。
    2. CXPL与物理逻辑的硬IP通过PIPE连接。
  2. 应用层发送逻辑(XADM:Transmit Application-Dependent Module)。
    1. XADM主要包括:事物层协议(TLP:Transaction Level Protocol)仲裁、将应用数据包转换成TLP数据包、流控信令检查。
    2. 发送逻辑采用快通结构,即除了重传缓冲之外,发送通路上没有缓冲或队列,全部采用流水线实现TLP包的发送。
    3. XADM内部用LUT实现了一个目标完成查询表(TCLT:Target Completion Lookup Table)。当应用层通过发送接口发送一个读请求,XADM将应用层读请求转换成TLP读请求,并将该TLP读请求的头部信息存在TCLT中;最终,RADM会收到远端对该TLP读请求的响应报文,一般是TLP数据完成报文;只有正确接收到TLP数据完成报文,XADM才认为TLP读请求发送结束,应用层可以正确接收到数据。
  3. 应用层接收逻辑(RADM:Receive Application-Dependent Module)。
    1. RADM主要包括:将接收到的TLP数据包分类/排序/过滤、将接收到的TLP数据包放入队列、将接收到的TLP数据包路由到应用层接收接口。
    2. RADM内部用LUT实现了一个接收完成查询表(RCLT:Receive Completion Lookup Table)。RCLT可用于接收完成报文;RCLT还可以对应用层发送确认写请求进行超时监控,即本该在超时周期内收到一个完成报文,但并没有收到。
  4. 配置逻辑(CDM:Configuration-Dependent Module)。
    1. 标准PCIe配置空间。
    2. 控制器专用寄存器空间(端口逻辑寄存器),一般属于IOMem寄存器类。
  5. 电源逻辑(PMC:Power Management Controller)。
  6. 本地总线(LBC:Local Bus Controller)和数据总线接口(DBI:Data Bus Interface)
    1. 连接到DBI的CPU可以通过LBC访问以下资源,远程CPU可以通过PCIe总线最终可以通过LBC访问以下资源。
      1. CDM相关寄存器;
      2. 直连到ELBI上的外部应用层寄存器。
  7. 消息生成逻辑(MSG_GEN)。

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

相关文章:

  • 【C/C++】new关键字解析
  • 说下RabbitMQ的整体架构
  • K-means
  • 一款独立于游戏外的键盘源按键辅助工具他来了
  • C#发送之前转换为JSON格式
  • 美妆集合体验馆的「AI 焕新」:从人工到智能管理的蜕变
  • FPGA设计如何快速入门?(内附学习视频)
  • Kotlin Lambda优化Android事件处理
  • 极端工况的高频电流探头精度优化
  • Python实例题:Python操作excel自动化开发
  • 6.5 行业特定应用:金融、医疗、制造等行业的定制化解决方案
  • 数据结构 --- 栈
  • 基于RT-Thread的STM32F4开发第二讲第一篇——ADC
  • Flutter 布局
  • dubbo限流
  • Android OKHttp原理简单说明
  • 怎样通过API 实现python调用Chatgpt,gemini
  • 俄罗斯电商市场:增长与变革中的新势力崛起
  • 理解IP四元组与网络五元组:网络流量的“身份证”
  • vue+tsc+noEmit导致打包报TS类型错误问题及解决方法
  • 如何解决Kafka集群中Broker磁盘IO瓶颈?
  • ActiveMQ 安全机制与企业级实践(一)
  • Leetcode Hot 100最长连续序列
  • MongoDB常用操作示例
  • vue3+ts学习!
  • Banana Pi BPI-CM6 是一款八核 RISC-V 模块,兼容 Raspberry Pi CM 载板
  • 算法思想之深度优先搜索(DFS)、递归以及案例(最多能得到多少克黄金、精准核酸检测、最富裕的小家庭)
  • 【Redis篇】linux 7.6安装单机Redis7.0(参数优化详解)
  • Kotlin数据类在Android开发中的应用
  • Linux56 YUM源配置