<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

Flow Control機制可以顯著地提高總線的傳輸效率

SwM2_ChinaAET ? 來源:未知 ? 作者:李倩 ? 2018-05-24 09:26 ? 次閱讀

Flow ControlFlow Control即流量控制,這一概念起源于網絡通信中。PCIe總線采用Flow Control的目的是,保證發送端的PCIe設備永遠不會發送接收端的PCIe設備不能接收的TLP(事務層包)。也就是說,發送端在發送前可以通過Flow Control機制知道接收端能否接收即將發送的TLP。

在PCI總線中,并沒有Flow Control這樣的機制,因此發送端并不知道當前時刻,接收端能夠接收對應的TLP。因此,發送端只能先嘗試發送,期間可能會被插入多個等待周期(接收設備尚未就緒等原因),甚至是重發(Retries)等。

PCIe Spec規定,PCIe設備的每一個端口(Ports)都必須支持Flow Control機制,在發送TLP之前,Flow Control必須先檢查接收端口是否有足夠的Buffer空間來接收這個TLP。當PCIe設備支持多個VC(Virtual Channel)時,Flow Control機制可以顯著地提高總線的傳輸效率。

PCIe Spec規定,每個PCIe設備最多支持8個VC,并且每個VC的Flow Control Buffer是完全獨立的。也就是說,某一個VC的Flow Control Buffer滿了,并不會影響其他的VC的通信。

前面的文章中介紹過,Flow Control機制是通過相鄰兩個端口(Ports)的數據鏈路層之間發送DLLP(Flow Control DLLPs)來實現的。在進行初始化的時候,接收端需要向發送端報告(reports)其Buffer的大小,在正常運行狀態(Run-time)時,會周期性地通過Flow Control DLLPs來告知發送端,接收端的各個Buffer的大小。

需要注意的是,雖然Flow Control DLLP只在相鄰的數據鏈路層之間傳輸,但是相關的Buffer和計數器(FC Counter)確實存在于事務層(Transaction Layer)的。如下圖所示:

前面的文章中多次介紹過,TLP一共有三大類:

Posted Transactions(包括Memory Writes和Messages)、Non-Posted Transactions(包括Memory Reads、Configuration Reads and Writes、IO Reads and Writes)以及Completions(包括Read and Write Completion)。并且知道,TLP可以分為兩個部分,Header和Data部分。Flow Control為了獲得更高的數據傳輸效率,將這三類TLP分開存放,同時將Header與Data部分也分開存放。因此,一共存在六種不同的Flow Control Buffer類型,如下圖所示:

Flow Control Buffer的存儲單元(Unit)被稱作Flow Control Credits。對于Header來說,Requests TLP每個unit等于5DW,而Completions TLP每個unit等于4DW。對于Data來說,每個unit等于4DW,即Data Buffer是按照16個字節對齊的。對于各種類型的Buffer的最小值如下表所示:

最大值如下表所示:

注:0 unit表示無限(Infinite)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 總線
    +關注

    關注

    10

    文章

    2722

    瀏覽量

    87322
  • PCIe
    +關注

    關注

    13

    文章

    1101

    瀏覽量

    81154

原文標題:【博文連載】PCIe掃盲——Flow Control基礎(一)

文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    提高系統效率的幾個誤解解析

    的默認值都是按最保守的參數設置的,在實際應用中應結合總線工作頻率和等待周期等參數進行合理調配。有時把頻率降低反而可提高效率,如RAM的 存取周期是70ns,總線頻率為40M時,設3個周期的存取時間,即
    發表于 01-15 07:29

    軟件仿真為什么可以提高PCB的設計效率?

    有哪位大神可以解釋一下軟件仿真為什么可以提高PCB的設計效率嗎?
    發表于 04-23 06:30

    1553b總線的特點和消息傳輸機制,有什么應用?

    本文介紹了1553b總線的特點和消息傳輸機制,并對其在武器通信中的應用情況進行了探討。
    發表于 06-03 06:41

    關于AHB總線 Master的回復機制解析

    1、AHB Master的回復機制描述上文提到,AHB 協議傳輸的最小單位是Transfer,但是為了傳輸效率,一般都會把多個相鄰地址和相同類型的Transfer組合成一個Burst
    發表于 06-08 17:05

    STM32總線CPU和DMA可以同時工作嗎?有仲裁機制嗎?

    使用 AHB 外設總線 1,兩個 Master 最終也會使用相同的總線 APB1。據我了解,沒有任何仲裁機制,因為總線矩陣上沒有重疊。在這種情況下,CPU和DMA
    發表于 12-27 06:34

    采用Flow Control機制的PCIe總線

    PCIe總線為了解決這一問題,提出了Flow Control的概念,如下圖所示。PCIe總線中要求接收方必須經常(在特定時間)向發送方報告其VC Buffer的使用情況。而報告的方式是
    的頭像 發表于 04-26 08:54 ?5504次閱讀
    采用<b class='flag-5'>Flow</b> <b class='flag-5'>Control</b><b class='flag-5'>機制</b>的PCIe<b class='flag-5'>總線</b>

    PCIe總線必須要先完成Flow Control初始化

    由于VC0是默認使能的,所以當Flow Control初始化開始時,其會被自動的初始化。其他的Virtual Channel是可選的,只有當被配置為使能的時候才會被初始化。
    的頭像 發表于 05-24 09:18 ?7620次閱讀
    PCIe<b class='flag-5'>總線</b>必須要先完成<b class='flag-5'>Flow</b> <b class='flag-5'>Control</b>初始化

    區塊鏈機制設計,可以解決可信性以及效率問題

    機制可以提高隱私;中心化的身份驗證可以防止出現單個參與者擁有多個賬戶的不公平現象;多方計算可以解決賄賂問題。
    發表于 09-12 10:31 ?1658次閱讀

    一種高效率PLB2AXI總線橋設計方案

    為實現片上系統不同P核之間的協議轉換與高效通信,提出一種高效率PLB2AⅪI總線橋設計方案。利用PLB與AXI高性能總線的帶寬優勢,通過引入流水線傳輸和讀寫重疊
    發表于 03-30 15:21 ?8次下載
    一種高<b class='flag-5'>效率</b>PLB2AXI<b class='flag-5'>總線</b>橋設計方案

    CET為何而生?CET安全防御機制解析

    CET(Control-flow Enforcement Technology)機制是 Intel提出基于硬件的?于緩解 ROP/JOP/COP的新技術。特別強調下,他是基于硬件?持的解決?案。
    的頭像 發表于 11-25 09:09 ?1013次閱讀

    W-CDMA電源顯著提高傳輸效率

    MAX1820開關模式電源經過優化,可提高WCDMA手機的傳輸效率。通過動態降低Vcc裕量 在功率放大器(PA)中,電池電流在低于最大發射功率的所有功率水平下都會顯著降低。MAX182
    的頭像 發表于 03-09 15:29 ?601次閱讀
    W-CDMA電源<b class='flag-5'>顯著</b><b class='flag-5'>提高</b><b class='flag-5'>傳輸</b><b class='flag-5'>效率</b>

    扒一扒PCIe中的Flow Control

    在處理TLP報文時,根據Fmt字段以及Type字段可以將TLP報文分為二十多種,當TLP報文送至數據鏈路層時,數據鏈路層在進行流量控制處理時則不會考慮這么多種情況。數據鏈路層里面的Flow Control,則會將報文分為三類:
    的頭像 發表于 07-03 09:20 ?1483次閱讀
    扒一扒PCIe中的<b class='flag-5'>Flow</b> <b class='flag-5'>Control</b>

    高性能整流器顯著提高服務器供電效率

    電子發燒友網站提供《高性能整流器顯著提高服務器供電效率.pdf》資料免費下載
    發表于 07-26 09:46 ?0次下載
    高性能整流器<b class='flag-5'>顯著</b><b class='flag-5'>提高</b>服務器供電<b class='flag-5'>效率</b>

    雷達傳感器如何顯著提高智能家居的能源效率

    雷達傳感器如何顯著提高智能家居的能源效率
    的頭像 發表于 12-06 15:25 ?255次閱讀
    雷達傳感器如何<b class='flag-5'>顯著</b><b class='flag-5'>提高</b>智能家居的能源<b class='flag-5'>效率</b>

    can總線傳輸距離

    、高速性和優秀的網絡管理能力。 在CAN總線中,數據通過兩根線進行傳輸,即CAN-H線和CAN-L線。CAN-H線為高電平,CAN-L線為低電平。這兩根線同時傳輸數據,其中高優先級的消息可以
    的頭像 發表于 12-07 18:09 ?2006次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>