1. 程式人生 > >圖解PCIE原理(從軟件角度)

圖解PCIE原理(從軟件角度)

配置 gist 分享圖片 iop 轉載 strong base byte bsp

1 PCIE基本概念

1.1 PCIE拓撲架構圖

技術分享圖片

1.2 PCIE Switch內部結構圖

技術分享圖片

1.3 PCIE協議結構圖

技術分享圖片

2 PCIE枚舉原理

2.1 Type0&Type1配置頭空間

技術分享圖片

2.2 拓撲示例

連接Device0的端口設為Port0,連接Device1的端口設為Port1 (Port可以看作PCI Bridge)

技術分享圖片

2.3 枚舉過程

Port0、Port1的相關Bus Register變化過程如下圖

技術分享圖片

2.4 資源分配

2.4.1 非橋設備資源分配

以Device0的資源分配為例:需要64KB IO Memory 以及 256 Byte IOPort

(IOPort Base = 0x10000000, IOMem Base = 0x20000000)

技術分享圖片

2.4.2 橋設備資源分配

Port0為支持Devic0 IO & Memory Routing相關的Register設定

技術分享圖片

3 PCIE事務交互

3.1 配置空間讀寫

Read Conf Space: Device0 offset 4

技術分享圖片

3.2 內存空間讀寫

MMIO Read: addr = 0x20000004

技術分享圖片

3.3 中斷發起、取消

技術分享圖片

轉載:http://blog.csdn.net/hulidong971/article/details/41412199

圖解PCIE原理(從軟件角度)