在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

PCIe與PCI之間的區(qū)別

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2022-07-03 16:20 ? 次閱讀

1. 概述

1)PCIe(Peripheral Component Interconnect Express)是繼ISA和PCI總線之后的第三代I/O總線。一般翻譯為周邊設備高速連接標準。

2)PCIe協(xié)議是一種端對端的互連協(xié)議,提供了高速傳輸帶寬的解決方案。目前PCIe已經(jīng)發(fā)展到第四代PCIe4.0, 每一代的發(fā)展,最明顯的特征就是速率翻倍。

3)是Intel公司1991年推出的。批準組織:PCI SIG (PCI興趣小組)

4)一個x16插槽可以運行x1、x2、x4、x8、x16的卡

2. PCIe 布線規(guī)則

從金手指邊緣到PCIe芯片管腳的走線長度應限制在4英寸(約100MM)以內(nèi)。

PCIe的PERP/N,PETP/N,PECKP/N是三個差分對線,注意保護(差分對之間的距離、差分對和所有非PCIe信號的距離是20MIL,以減少有害串擾的影響和電磁干擾(EMI)的影響。芯片及PCIe信號線反面避免高頻信號線,最好全GND)。

差分對中2條走線的長度差最多5MIL。2條走線的每一部分都要求長度匹配。差分線的線寬7MIL,差分對中2條走線的間距是7MIL。

當PCIe信號對走線換層時,應在靠近信號對過孔處放置地信號過孔,每對信號建議置1到3個地信號過孔。PCIE差分對采用25/14的過孔,并且兩個過孔必須放置的相互對稱。

PCIe需要在發(fā)射端和接收端之間交流耦合,差分對的兩個交流耦合電容必須有相同的封裝尺寸,位置要對稱且要擺放在靠近金手指這邊,電容值推薦為0.1uF。

SCL等信號線不能穿越PCIe主芯片。

3. PCIe 分類、速度

按lane( 車道 --》 通道 )的個數(shù)分有 x1 x2 x4 x8 x16 (最大可支持32個通道)

按代來分 有 gen1 gen2 gen3 gen4 gen5

速度:

b867d040-ed2a-11ec-ba43-dac502259ad0.png

b8913e80-ed2a-11ec-ba43-dac502259ad0.png

PCIe 與 PCI 之間的區(qū)別

速度上

PCI的工作頻率分為33MHz和66MHz,最大吞吐率 266MB/s

PCIe如3中描述,PCIe 1.0 x1 的吞吐率就達到了250MB/s

傳輸方式上

PCI 是并行數(shù)據(jù)傳輸,一次傳輸4字節(jié)/8字節(jié),半雙工

PCIe是串行數(shù)據(jù)傳輸,全雙工

硬件上

傳輸PCI信號的是普通電平

傳輸PCIe信號的是差分電平

鏈路上

PCI是總線的連接方式

PCIe是點對點的連接方式

點對點拓撲是什么樣的?

b8b975d0-ed2a-11ec-ba43-dac502259ad0.png

PCIe的物理連接方式:

b8de4e46-ed2a-11ec-ba43-dac502259ad0.png

5. 編碼方式介紹

PCIe gen1 和 PCIe gen2 采用的編解碼方式是 8b/10b,PCIe gen3 和 之后的 采用的是 128b/130b 的編碼方式。

8b/10b 意思是說,當我們要傳輸8b的數(shù)據(jù)時,實際在通道上傳輸?shù)氖?0b的數(shù)據(jù),解碼的時候,我們希望得到的是8b的有效數(shù)據(jù)。這樣,相當于有效的帶寬是實際帶寬的 80%。

同理128b/130b,是傳輸128bit數(shù)據(jù)實際線路中傳輸?shù)氖?30bit數(shù)據(jù)。

速率圖中的單位間的關系:

傳輸速率單位 GT/s,表示 千兆傳輸/秒,是實際每秒傳輸?shù)奈粩?shù),他不包括額外吞吐量的開銷位。

兩個例子:

PCIe gen1 x1 傳輸速率 2.5GT/s = 2500MT/s = ( 2500 / 10 ) MB/s

PCIe gen3 x1 傳輸速率 8GT/s = 8000MT/s = ( 8000 / 130 ) x ( 128/8 ) MB/s= 984.6153.。. MB/s

6. inbound 和 outbound

在PCIe設備和系統(tǒng)內(nèi)存互相訪問時,outbound是指CPU到設備方向;inbound指Device--》 RC(CPU端)方向。從這個概念上說,設備(device)都是外部的,沒有內(nèi)部設備之說。CPU讀寫RC 端的寄存器時,還是屬于片上系統(tǒng)的范圍,所以既不是inbound 也不是outbound。

7. PCI 配置空間

PCI設備擁有256B的配置空間,PCIe還提供另外4KB的擴展,這256B的配置空間中前64B是規(guī)范了的,其他的字節(jié)是各個廠商自己定義的。

7.1 PCI 設備的地址組成

① 總線號 --- 廠家ID

② 設備號 --- 設備ID

③ 功能號 --- 設備類

查看PCI設備的工具是 lspci

使用工具 lspci 查找 ①②③

》lspci

b90663cc-ed2a-11ec-ba43-dac502259ad0.png

上邊輸出的每行開頭邏輯地址(XX:YY.Z)分別表示①②③,

其中一個PCI域能容納 256 個總線,

每個總線可以支持 32 個PCI設備,

每個PCI設備可容納 8 個PCI功能

》 lspci -t (以樹狀結(jié)構(gòu)顯示)

》 lspci -x (打印出配置空間前64字節(jié)的內(nèi)容)

》 lspci -s (指定哪個)

b948a69c-ed2a-11ec-ba43-dac502259ad0.png

挑選一個 VGA compatible controller,如下

》 lspci -s 01:00.0 -vxx

b98c379a-ed2a-11ec-ba43-dac502259ad0.png

字節(jié)序是小端格式,

[ 0 - 1 ] 表示的是廠家 ID,上圖的是 0x10de

[ 2 - 3 ] 表示的是設備 ID,上圖的是 0x0659

[ 9 - 11 ] 表示的是設備類型代碼,上圖的是 0x030000

[14]表示的是設備類型,00表示普通端點設備;01表示Bridge設備;02表示CardBus bridges

使用命令查詢PCI設備的廠商號和設備號

》 lspci -n -s 01:00.0

列出格式 【設備類型:廠商ID:設備ID】

b9a7c226-ed2a-11ec-ba43-dac502259ad0.png

設備類型介紹:

設備類型可以在 http://pci-ids.ucw.cz/read/PD 網(wǎng)站進行查詢,包括 classes、subclasses、Program interfaces 三部分,上圖中的設備類型是 030000依次對應下圖,03是 Device classes,00是Device subclasses,00是Program interfaces

b9cfb5b0-ed2a-11ec-ba43-dac502259ad0.png

7.2 基地址/BAR

BAR0: 0XF6000000

BAR1: 0XC000000C

。..。

BAR5:0X0000E001

有6個BAR空間,每個BAR記錄了該設備映射的一段地址空間,為了區(qū)分 IO空間和 IO內(nèi)存,分開描述如下:

當BAR的最后一位為0,如下圖,表示這是映射的IO內(nèi)存,1-2位表示內(nèi)存的類型,00=任意32位地址,01=少于1M,10=任意64位地址,11保留。bit1為1表示區(qū)間大小超過1M,為0表示不超過1M。bit3表示是否支持可預取。

如上例子中,BAR0是 映射的IO內(nèi)存,32位地址,不超過1M,不支持預取。

BAR1(最后幾位0110)也是映射的IO內(nèi)存,64位地址,區(qū)間大小超過1M,不支持預取。

b9f50fa4-ed2a-11ec-ba43-dac502259ad0.png

當BAR的最后一位為1,如下圖,表示這是映射的IO地址空間。上邊例子中的BAR5(最后一位是1)是映射的是IO地址空間,基地址是 0x0000e

ba180d74-ed2a-11ec-ba43-dac502259ad0.png

中斷

由配置空間的IRQ Pin決定是否支持中斷,1表示支持,0表示不支持,加入支持,IRQ Line是中斷號。

上邊的例子中支持中斷號,中斷號是0x0b

訪問PCI

PCI設備包含3個尋址空間:配置空間、I/O端口 和 設備內(nèi)存。

驅(qū)動中操作 PCI 的配置區(qū)(上邊討論的64B的空間)

pci_read_config_[byte|word|dword](struct pci_dev *pdev, int offset, int *value);

pci_write_config_[byte|word|dword](struct pci_dev *pdev, int offset, int value);

offset, 想訪問的配置空間中字節(jié)位置

value, 對read函數(shù)來說,用于存放讀回來的數(shù)據(jù)

對write函數(shù)來說,是要寫進去的值(這個int.。..。)

驅(qū)動中操作 I/O和內(nèi)存

I/O區(qū)域包含寄存器,內(nèi)存區(qū)域存放數(shù)據(jù)。

驅(qū)動中操作 PCI 的I/O和內(nèi)存

unsigned long pci_resource = pci_resource_[start|len|end|flags] (struct pci_dev *pdev, int bar);

start, 區(qū)域的基地址

bar, 取值 0 - 5

8. PCIe 的配置空間

PCI的配置空間是256字節(jié),即 0x00~0xFF,而PCIe的配置空間是4k字節(jié),即 0x00~0xFFF。

PCIe 一共支持 256條bus,32個dev,8個fun。同PCI是一樣的。共需要內(nèi)存大小= 4k * 256 *32*8 = 256K Bytes = 256M,這個256M的內(nèi)存空間是為PCIe設備準備的空間系統(tǒng)不可用。

PCIe設備發(fā)展向前兼容PCI,每個設備的配置空間的前256個Byte是PCI空間,后(4k-256)個Byte的空間是PCIe擴展空間

Root和Switch的每一個端口中都包含一個P2P橋,橋的配置空間是Type1型

ba3423d8-ed2a-11ec-ba43-dac502259ad0.png

每個Type1型的Header中都包含最后一級總線號(Subordinate Bus Number)、下一級總線號(Secondary Bus Number)和上一級總線號(Primary Bus Number)等信息。當配置請求進行BDF路由的時候,正是依靠這些信息來確定要找的設備的。

9. PCIe 屬性

服務質(zhì)量(Qos)

決斷振幅和帶寬

ba497846-ed2a-11ec-ba43-dac502259ad0.png

10. FAQ

TLP 和 DLLP 是什么?

TCP 是 事務層包的簡寫,結(jié)構(gòu)下圖

ba6a80c2-ed2a-11ec-ba43-dac502259ad0.png

Capability是什么?

Capability是device通過在4k Byte的Configuration Space里告訴host它支持哪些特性的,而Capability又大致分為基本的Capability與之后擴展的Capability,在使用4K的配置空間時兩者大同小異,都是采用鏈表形式來自定義Capability的位置的,唯一的區(qū)別是后者種類多,且不同廠商所支持的Capability有很大區(qū)別。如下圖為Configuration Space的基本架構(gòu)——0-3Fh(PCI Head域),40h-FFh(基本Capability區(qū)域),100-FFF(擴展Capability區(qū)域)。

ba81342a-ed2a-11ec-ba43-dac502259ad0.png

baaf595e-ed2a-11ec-ba43-dac502259ad0.png

基本的Capability

bad3a94e-ed2a-11ec-ba43-dac502259ad0.png

Capability point是在0-3Fh(PCI Head域),偏移為34h,用于存放第一個Capability的偏移量,偏移量的范圍是40h-FFh(基本Capability區(qū)域),這段區(qū)間可任意讓你分配各種基本Capability。

擴展的Capability

bae7ac14-ed2a-11ec-ba43-dac502259ad0.png

第一個擴展Capability默認就從100h的偏移位置開始放置,而不是像基本的Capability那樣從34h通過指針指過來。

PCI總線空間與處理器空間隔離

PCI設備具有獨立的地址空間,即PCI總線地址空間,該空間與存儲器地址空間通過HOST主橋隔離。處理器需要通過HOST主橋才能訪問PCI設備,而PCI設備需要通過HOST主橋才能訪問主存儲器。

處理器訪問PCI設備時,必須通過HOST主橋進行地址轉(zhuǎn)換,反過來也是。HOST主橋的一個重要作用就是將處理器訪問的存儲器地址轉(zhuǎn)換成PCI總線地址。

bafe5324-ed2a-11ec-ba43-dac502259ad0.png

原文標題:FPGA學習-PCIe基礎知識

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51283

    瀏覽量

    427823
  • 數(shù)據(jù)傳輸

    關注

    9

    文章

    1961

    瀏覽量

    64867
  • PCI
    PCI
    +關注

    關注

    4

    文章

    672

    瀏覽量

    130502
  • PCIe
    +關注

    關注

    15

    文章

    1265

    瀏覽量

    83270

原文標題:FPGA學習-PCIe基礎知識

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    不到兩年,PCI-SIG宣布完成PCIe 5.0標準制定工作

    PCIe 4.0 發(fā)布才不到兩年,PCI-SIG決定加速推進 PCIe 5.0 的制定工作了。最新消息是,PCI-SIG 剛剛完成了 PCIe
    發(fā)表于 05-31 12:03 ?2999次閱讀

    #硬聲創(chuàng)作季 PCIe-QuickLearn-PCIe-Overview-Data

    PCIPCIe
    Mr_haohao
    發(fā)布于 :2022年10月20日 23:00:07

    PCIE板設計規(guī)則--PCI Express Board Design Guidelines

    PCI Express  Board Design Guidelines -PCIE板設計規(guī)則
    發(fā)表于 03-26 22:27

    PCIPCIE 轉(zhuǎn)多串口方案資料

    PCIE PCI轉(zhuǎn)多串口方案[attach]***[/attach]
    發(fā)表于 05-05 09:20

    國外PCIE的書籍《pci express system architecture》

    `國外PCIE的書籍《pci express system architecture》寫的很不錯,受益匪淺,分享給大家是200頁的精簡版本,完整版的也有,不過太多不值得看,精華的200頁不錯`
    發(fā)表于 06-06 13:18

    能分享PCI轉(zhuǎn)PCIe的PCB原理圖嗎

    有大佬能分享一下PCI總線轉(zhuǎn)PCIePCIe轉(zhuǎn)PCI)的PCB原理圖嗎?
    發(fā)表于 01-25 11:38

    PCIe總線和PCI總線有哪些不同之處呢

    PCIe是什么?PCIe的架構(gòu)是由哪些部分組成的?PCIe總線和PCI總線有哪些不同之處呢?
    發(fā)表于 10-26 08:10

    求分享關于PCIPCIE轉(zhuǎn)串口的芯片

    你好,請問關于PCIPCIE轉(zhuǎn)串口的芯片貴司網(wǎng)站上只能下載一個綜合文檔
    發(fā)表于 09-30 06:01

    PCIPCI-X到PCI-Express之間的連接

    本內(nèi)容介紹了PCI總線/PCI-X接口及PCI-PCI-Express的知識,講解了從PCIPCI-X到
    發(fā)表于 06-05 16:16 ?3521次閱讀
    從<b class='flag-5'>PCI</b>、<b class='flag-5'>PCI</b>-X到<b class='flag-5'>PCI</b>-Express<b class='flag-5'>之間</b>的連接

    pciepci插槽有什么區(qū)別

    在兼容性方面,PCI-E在軟件層面上兼容目前的PCI技術(shù)和設備,支持PCI設備和內(nèi)存模組的初始化,也就是說過去的驅(qū)動程序、操作系統(tǒng)無需推倒重來,就可以支持PCI-E設備。目前
    發(fā)表于 12-12 11:29 ?42.6w次閱讀
    <b class='flag-5'>pcie</b>和<b class='flag-5'>pci</b>插槽有什么<b class='flag-5'>區(qū)別</b>

    PCI-SIG發(fā)布的PCIe板卡結(jié)構(gòu)規(guī)范

    PCI-SIG發(fā)布的PCIe板卡結(jié)構(gòu)規(guī)范。Revision 4.0 Version 0.9.
    發(fā)表于 06-19 09:59 ?15次下載

    理解PCIPCIE的關鍵

    之間干擾會加大,無法將速率提升到很高。 PCIe 接口速覽 PCI-E 是串行口,引腳明顯少很多,使用差分信號傳輸數(shù)據(jù)。 本文參考 百問網(wǎng)-韋東山驅(qū)動大全
    的頭像 發(fā)表于 07-30 09:44 ?1529次閱讀
    理解<b class='flag-5'>PCI</b>和<b class='flag-5'>PCIE</b>的關鍵

    訪問PCI/PCIe設備的流程

    訪問 PCI/PCIe 設備的流程 PCI/PCIe 設備的配置信息 PCI/PCIe 設備上有
    的頭像 發(fā)表于 07-30 09:44 ?1686次閱讀

    PCI CAN卡和PCIE CAN卡的區(qū)別

    PCI CAN卡和PCIe CAN卡主要在接口標準、性能、以及應用場景等方面存在不同。
    的頭像 發(fā)表于 08-02 09:36 ?668次閱讀

    PCIe接口的工作原理 PCIePCI區(qū)別

    PCI Express(PCIe)是一種高速串行計算機擴展總線標準,主要用于計算機內(nèi)部硬件設備之間的連接。以下是PCIe接口的工作原理的簡要概述: 串行通信 :與傳統(tǒng)的并行
    的頭像 發(fā)表于 11-06 09:19 ?2332次閱讀
    主站蜘蛛池模板: 好硬好大好爽女房东在线观看 | 狠狠做深爱婷婷综合一区 | 成人区精品一区二区毛片不卡 | 色视频网址 | 播播开心激情网 | 欧美色图亚洲综合 | 久久综合九九亚洲一区 | 天堂种子 | 狠狠干狠狠艹 | 日韩亚 | 亚洲最新网站 | www.激情五月 | 99久久成人国产精品免费 | 日日干狠狠操 | 日韩毛片在线看 | 欧美线人一区二区三区 | 国产精品免费一级在线观看 | 超级极品白嫩美女在线 | 禁h粗大太大好爽好涨受不了了 | 亚洲国产精品乱码一区二区三区 | 男人视频网站 | 亚洲午夜免费视频 | www.九色视频 | 亚洲第一色在线 | 色婷婷亚洲 | 欧美日韩生活片 | 精品国产麻豆免费人成网站 | 免费特黄一区二区三区视频一 | 一级a爰片久久毛片 | 日本片巨大的乳456线观看 | 色天天综合色天天碰 | free性乌克兰高清videos | 亚洲a视频| 久草婷婷 | 天天操天天爱天天干 | 看黄a大片 免费 | 第四色视频 | 777黄色片| 免费看你懂的 | 伊人久久大香线蕉综合bd高清 | 天天做天天玩天天爽天天 |