1.Memory –refetchable and non-refetchtable

(1)读无副作用

(2)多笔写事务可以合并为一笔

2.Using Read Commands

不同的读命令对系统性能有不同影响(I/O Read、memory read、configuration read、memory read multiple、memory read line)

cacheline size register

3.pci brust操作,需要CPU参与,与单独的一次读写操作相比,burst只需提供一个地址,以后的地址依次加1. 地址是跳跃的,无法使用burst操作。

4.FRAME#-指示一个PCI总线事务的开始和结束,低有效。

IRAY#-有效表示PCI主设备的数据已准备完毕

TRAY#-有效表示PCI目标设备的数据已准备完毕

5.PCI定义三个物理地址空间:memory space 、I/O space、configuration space

pci设备运行之前,都须先配置configuration address space。

6.HOST处理器对PCI设备数据访问的两个方式:处理器向PCI设备发起存储器和I/O读写请求;处理器对PCI设备进行配置读写。

7.处理器对PCI设备进行存储器写使用post方式,而处理器对PCI设备进行存储器读和I/O读写使用non-post方式。为什么不能使用post方式?

8.DMA-PCI设备与存储器直接进行数据交换。两者的地址空间得通过HOST桥进行转换才能访问彼此。MIPS架构使用什么方式进行转换?

9.PCI配置读写总线事务,使用ID号寻址:总线号(Bus Number)、设备号(Device Number)、功能号(Function Number)。

10.BAR(Base Address Register)- 保存PCI设备使用的地址空间的基地址。

11.PCI总线定义两类配置请求

HOST主桥或者PCI桥使用Type 00h配置请求,访问与其直接相连的PCI Agent设备或PCI桥

HOST主桥或者PCI桥使用Type 01h配置请求,访问不与其直接连的PCI Agent设备或PCI桥

12.DFS 深度优先算法

BUS初始化,使用DFS算法遍历PCI树,初始化PCI桥配置空间中的Primary Bus Number、Secondary Bus Number、Subordinate Bus Number。

13.PCI总线的AD[31:11]信号线只可以表示一条PCI总线只能挂载21个设备。

PCI协议推荐使用AD[31:17]与Device Number的对应关系,即AD17对应设备1-AD31对应设备15.

14.常用的处理器系统,实现存储器地址与PCI总线地址的映射常用“简单相等”方法。

15.PCI配置使用IO译码方式,PCI设备的数据传输使用地址译码寻址方式。

正向译码:总线上每个设备都监视地址总线上的访问地址,判断是否落在自己的地址范围内。

反向译码:指要接受未被其他设备在正向译码中接受的所有访问。

16.PCI cache一致性操作的问题?MESI协议

17.PCIe链路使用串行方式传输数据。因此PCIe链路接口须串并转换。

18.PCIe数据报文使用数据包形式传输,需要经过多个层次,包括事务层、数据链路层、物理层。

事务层定义PCIe总线使用总线事务;封装TLP包

数据链路层,报文被添加Sequence Number前缀和CRC后缀。TLP和DLLP?

物理层,为PCIe设备间通信提供传送介质。

19.PCIe总线规定两大类复位方式-传统的复位方式、FLR方式。

传统的复位方式-cold、warn、hot。

20.PCIe设备扩展0x40-0xFF配置空间,存放一些与MSI或者MSI-X中断机制和电源管理的相关Capability结构。

还支持0x100-0xFFF配置结构,PCIe独有。

PCIe Capability结构 存放和PCIe总线相关的信息,包括PCIe链路和插槽的信息。

PCIe                                                   4Extended Capability结构,PCIe独有结构,形成单向链路表,第一个基地址为0x100.

21.TLP由TLP Prefix、TLP头、Data Payload和TLP Digest组成。TLP头包含当前TLP的总线事务类型、路由信息等一系列信息。Data Payload长度0-1024DW。

通用TLP头由Fmt、Type、TC、Length等字段组成。

Fmt和Type确认当前TLP使用的总线事务。

Length表示Data Payload的长度。

22.TLP的路由:基于地址的路由、基于ID的路由、隐式路由。

23.原子操作:EP-to-EP、EP-to-RC、RC-to-EP

24.PCIe必须支持MSI或者MSI-X中断请求机制,而可以不支持INTx中断消息。MSI机制使用存储器写请求TLP向处理器提交中断请求。

MSI-X机制,中断请求可以使用独立的Message Address和Message Data

。MSI-X table和Pending table存于BAR空间。

25.初始化PCIe设备的MSI Capability空间:首先设置Message Address和Message Data字段,然后将MSI Enable字段置位,使能PCIe设备的MSI机制。

26.事务层的TLP发送至数据链路层,数据链路层将TLP加上Sequence前缀和LCRC后缀后,首先将这个TLP放入到Replay Buffer中,然后发送至物理层。

PCI/PCIe的学习笔记相关推荐

  1. hi3536 pcie驱动学习笔记

    Hi3536 PCIE学习笔记2(linux3.10.y) 一.PCI总线简单介绍 1.PCI总线配置 两类配置请求:Type00h配置请求,Type 01配置请求.Type 00h配置请求:访问与H ...

  2. pci总线协议学习笔记——PCI总线基本概念

    1.pci总线概述 (1)PCI,外设组件互连标准(Peripheral Component Interconnection),是一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准; ...

  3. PCIe协议学习笔记之--Configuration Overview

    1 BDF (Bus, Device, Function) BDF是在PCI中就有了的概念.在PCIe 拓扑结构中,我们通过总线号(bus number), 设备号(device numer)和功能号 ...

  4. 支付卡行业数据安全标准(PCI DSS)学习笔记

    PCI DSS 支付卡行业数据安全标准共有6个部分,分别是建立并维护安全的网络和系统(为数据构建安全的数据环境),保护持卡人数据(通过数据加密提高数据存储和传输安全性),维护漏洞管理计划(开发安全的软 ...

  5. pcie equalization学习笔记后续再整理

    简介 ************************************************************************************************* ...

  6. PCIe学习笔记之MSI/MSI-x中断及代码分析

    本文基于linux 5.7.0, 平台是arm64 1. MSI/MSI-X概述 PCIe有三种中断,分别为INTx中断,MSI中断,MSI-X中断,其中INTx是可选的,MSI/MSI-X是必须实现 ...

  7. PCIe学习笔记之Max payload size

    本文基于linux 5.7.0, 平台是arm64 在平时设备的使用过程中,有可能遇到过数据通信错误(malformed tlp), 或者网卡/磁盘在进行数据读写时性能没有达到预期,这些都可能和pci ...

  8. 【UEFI】PCIE学习笔记

    本文是本人学习记录,不保证准确,如有错误请指出.如果侵犯请联系删除. PCIE一共支持256条bus(8个bit),32个device(5个bit),8个function(3个bit), 假设负载全满 ...

  9. PCIe学习笔记之pcie初始化枚举和资源分配流程代码分析

    本文主要是对PCIe的初始化枚举.资源分配流程进行分析.代码对应的是linux 4.19, 平台是arm64. 文章首发于这里 1. PCIe architecture 1.1 pcie的拓扑结构 在 ...

  10. CUDA学习笔记之程序优化

    CUDA学习笔记之程序优化 标签: cuda优化conflict存储算法数学计算 2010-01-05 17:18 5035人阅读 评论(4) 收藏 举报 分类: CUDA(6) 版权声明:本文为博主 ...

最新文章

  1. 2017 Multi-University Training Contest 3 hdu 6063
  2. oracle 和 ' 特殊字符处理
  3. 字节码分析finally块对return返回值的影响
  4. 【ARM】Load Store指令
  5. php no input file specified.,nginx+php出现No input file specified解决办法
  6. 安装SQL2005只有配置工具或 错误码是29506 解决方案
  7. 上海交大张拳石:神经网络的变量交互可解释性研究
  8. Web前端笔记-画布拖动及放缩(two.js)
  9. bzoj1452 [JSOI2009]Count
  10. 毕业论文查重以后如何降重?
  11. 解决easyui html的写法初始化会短暂出现dialoge
  12. AUTOSAR NvMFee Configuration
  13. idea中TKK: 更新 TKK 失败,请检查网络连接
  14. android拍照保存照片方向,android 拍照的照片方向问题,读取图片EXIF信息
  15. 二、JSP常用小知识之http 403错误
  16. 华为除了鸿蒙麒麟,除了麒麟 华为五个厉害的芯片你知道哪些
  17. [BZOJ 3811]玛里苟斯(线性基)尽量理解的题解
  18. 神秘的西夏王朝和西夏王陵(上)
  19. android获取各种路径的方法
  20. 手机汉字输入法欲立国家标准

热门文章

  1. php本地解密,PHPDecode 在线解密工具
  2. Java Tomcat生成图片验证码不显示问题 超坑记录
  3. SATA 模式相关概念
  4. 555定时器组成的应用之流水灯
  5. 3.26 文字工具的使用 [原创Ps教程]
  6. python采集微信聊天信息_我用 Python 破解了微信聊天记录,自动同步微信文章
  7. 服务器主板电源适配器维修,自己修理笔记本电脑电源适配器
  8. 一些常见的Common类
  9. 提高工作效率的软件推荐
  10. 高速PCB阻抗设计阻抗控制内参