PCI Express (PCIe) 現(xiàn)在是 PC 芯片組和嵌入式處理器上普遍存在的互連標準。盡管使用橋接器可以為現(xiàn)有 PCI 設備提供一種經(jīng)濟高效的 PCIe 升級路徑,但由此產(chǎn)生的 PCI 讀取會產(chǎn)生額外的延遲,從而嚴重影響系統(tǒng)性能。Craig 探討了實施 PCIe 橋接器如何解決由 PCI 讀取引起的性能問題。
雖然 PCIe 正在取代原來的 PCI 總線標準,但許多外圍設備和設備(例如 FPGA 和 I/O 模塊)仍在使用 PCI。沒有集成 PCIe 接口的組件需要從 PCI 總線到 PCIe 的橋接器。兩個需要橋接的應用示例包括一個 PCIe 附加處理器卡,它使用基于 PCI 的 DSP 進行通信應用,以及一個嵌入式視頻錄像機,它使用帶有 PCI 的 I/O 設備連接到帶有 PCIe 端口的嵌入式處理器。
在這些系統(tǒng)和其他系統(tǒng)中,添加總線橋會帶來設計挑戰(zhàn)。性能通常取決于網(wǎng)橋的 PCI 讀取性能。由于舊 PCI 協(xié)議的限制,一旦引入網(wǎng)橋,就會出現(xiàn)性能問題。使用市售的總線橋可以消除這些問題,從而最大限度地提高系統(tǒng)性能。
PCI 設備的繁重讀取負擔
PCI 總線上的設備通常嚴重依賴于從主機處理器讀取大量數(shù)據(jù)。PCI I/O 設備通常控制系統(tǒng)中的數(shù)據(jù)移動,并啟動對主機內(nèi)存的讀取和寫入周期。例如,主機處理器可能通過寫入外設上的寄存器來組織和協(xié)調(diào)數(shù)據(jù)移動,以在外設中設置 DMA 傳輸,但它會將自己從數(shù)據(jù)移動中移除以專注于其他任務。然后外圍設備將讀取或?qū)懭霐?shù)據(jù)以服務于 DMA請求。在其他時候,處理器可能會讀取狀態(tài)信息并寫入寄存器以進行控制。這種流量通常不涉及高帶寬或顯著有助于整體系統(tǒng)性能。
在處理器附加卡的情況下,它的 DSP 必須從主機 PC 內(nèi)存中讀取數(shù)據(jù)以進行數(shù)據(jù)處理或壓縮任務。同樣,諸如安全 DVR 之類的嵌入式處理系統(tǒng)將捕獲和壓縮將通過磁盤控制器寫入磁盤存儲的視頻。 磁盤控制器通過PCI 總線從主機的內(nèi)存中讀取數(shù)據(jù)來實現(xiàn)這一點。
從 PCI 外設到橋接器的寫入通常發(fā)布在內(nèi)部寫緩沖區(qū)中,以克服橋接器帶來的固有性能損失。然而,PCI 讀取會帶來一些問題,因為 PCIe 橋必須重試外圍設備,直到它從主機的內(nèi)存中獲得請求的數(shù)據(jù)。這通常涉及嘗試讀取許多小的 PCIe 數(shù)據(jù)包,從而增加延遲。
雖然 PCI-X 協(xié)議通過拆分事務繞過了這個問題,但傳統(tǒng)的 PCI 協(xié)議并沒有實現(xiàn)這個特性。 此外,一些 PCI 設備被設計為在接收到一到兩條高速緩存行數(shù)據(jù)后自動釋放總線,這加劇了 PCI 讀取的性能挑戰(zhàn)。
以 DSP 處理器卡應用為例。這個特殊的 DSP 使用 32 位 PCI 接口。與許多 PCI 設備一樣,它會在釋放 PCI 總線之前讀取一到兩條高速緩存行數(shù)據(jù)。在這種情況下,高速緩存行由 16 到 128 個字節(jié)組成,具體取決于系統(tǒng)設計和設備功能。
該卡將讀取大量原始數(shù)據(jù)進行處理,例如在電信應用程序中處理的音頻比特流。在DSP 直接通過 PCI 總線與主機處理器通信的傳統(tǒng)系統(tǒng)中,讀取性能將比添加橋之后更好,因為每個事務都有額外的延遲。
橋接引起的性能惡化
引入 PCIe 橋接器可能會對性能造成重大影響。這種讀取性能下降可能通過以下過程發(fā)生(圖 1):
1.DSP 將啟動從 PC 主存儲器的讀取。網(wǎng)橋?qū)㈡i定事務并繼續(xù)重試,直到網(wǎng)橋接收到數(shù)據(jù)。
2.網(wǎng)橋?qū)膬?nèi)存中預取數(shù)據(jù)并將其存儲在內(nèi)部緩沖區(qū)中。
3.DSP 將讀取一部分數(shù)據(jù)(一個或兩個高速緩存行),然后斷開連接,釋放 PCI 總線。
4.一旦斷開連接,網(wǎng)橋?qū)G棄其緩沖區(qū)中的所有剩余數(shù)據(jù)。隨著DSP 啟動下一次讀取,橋?qū)⑿枰俅潍@取數(shù)據(jù),重試直到數(shù)據(jù)可供 DSP 使用。
圖1
在此示例中,步驟 4 在讀取事務之間引入了顯著延遲,這極大地影響了讀取性能。 因此,與直接使用 PCI 總線相比,使用 PCIe 橋?qū)ψx取性能的影響會大大降低系統(tǒng)性能。
考慮另一種使用嵌入式 DVR 的常見情況。在這種情況下,系統(tǒng)必須將壓縮視頻數(shù)據(jù)的連續(xù)流寫入磁盤以供存儲和以后檢索或分析。在這個系統(tǒng)中,一個或多個SATA 磁盤控制器將從系統(tǒng)的主存儲器中讀取視頻數(shù)據(jù),以存儲在附加的磁盤陣列中。這些類型的系統(tǒng)可能包含額外的外圍設備,例如共享 PCI 總線的以太網(wǎng)控制器。
與前面的示例一樣,嵌入式 DVR 中的總線效率受到連續(xù)數(shù)據(jù)讀取、總線斷開以及多次重試和預取的嚴重影響,如圖 2 所示。
圖 2: DVR 系統(tǒng)中的 PCI 總線利用率
正如
指示正在讀取數(shù)據(jù)的位置的 PCI_TRDYn(PCI 目標就緒)跟蹤所證明的那樣,第一次讀?。ú襟E 3)和下一次讀取(步驟 6)之間存在很大差距。這意味著將視頻數(shù)據(jù)寫入磁盤的最大速度顯著降低,從而限制了系統(tǒng)性能。在這種情況下,最大限度地提高視頻數(shù)據(jù)的寫入速度對于最終產(chǎn)品至關重要,因為它能夠存儲監(jiān)控所需的盡可能多的高質(zhì)量視頻通道。
解決問題:短期緩存
Tundra 的 PCIe 橋接器(Tsi381、Tsi382 和 Tsi384)集成了一種稱為短期緩存 (STC)的功能,以幫助克服這一性能挑戰(zhàn)。STC允許在初始 PCI 讀取周期期間從連接的 PCIe 設備中預取數(shù)據(jù),并臨時存儲在橋接器中,以便在后續(xù)讀取周期期間快速周轉(zhuǎn)。當請求的設備停止事務時,將在后續(xù)讀取中讀取的數(shù)據(jù)不會立即丟棄。
與最初的橋接情況相比,STC 對性能的影響可能是巨大的。以前面的嵌入式 DVR 為例,但系統(tǒng)中添加了 Tsi381 橋接器。通過啟用 STC,后續(xù)讀取不會因為它們保留在緩存中而延遲。此外,橋接器不必在第一次讀取后從內(nèi)存中重新讀取數(shù)據(jù),從而確保有效地使用總線(參見圖 3)。
圖 3:使用 Tsi381 和短期緩存的嵌入式 DVR 系統(tǒng)
為了演示性能差異,請比較啟用 STC 之前和之后的 PCI 總線時序(參見圖 4)。在這個系統(tǒng)對每個設備執(zhí)行 32 位讀取的示例中,兩個設備可以在沒有 STC的情況下僅執(zhí)行兩次讀取的同一時間段內(nèi)執(zhí)行七次讀取。 因此,使用 STC可以將整體系統(tǒng)吞吐量提高三倍以上。對于具有執(zhí)行此類讀取的單個設備的系統(tǒng),改進將更大。
圖 4:啟用短期緩存之前和之后的 PCI 總線時序
PCIe 橋接器允許開發(fā)人員通過調(diào)整以下參數(shù)來進一步修改系統(tǒng):
數(shù)據(jù)保存在緩存中的時間。這允許設計人員確保陳舊數(shù)據(jù)一旦陳舊就被丟棄和預取。
PCI 讀取預取長度。理想情況下,橋接器預取的數(shù)據(jù)不應超過 PCI 外設通常需要的數(shù)據(jù),因此設計人員可以根據(jù)預期的典型傳輸長度設置此參數(shù)。
根據(jù)系統(tǒng)設計和設備行為,設計人員可以 通過調(diào)整預取長度和短期緩存丟棄定時器來提高整體性能或關鍵功能的性能。
橋接選項有助于消除瓶頸
使用 PCIe 橋接器將設計從 PCI 遷移到PCIe 的設計人員面臨著相當大的設計挑戰(zhàn)。PCI 外圍設備啟動的讀取會引入額外的延遲,這對 整體系統(tǒng)性能有很大貢獻。
Tundra 的 Tsi381 等 PCIe 橋接器為設計人員提供了調(diào)整橋接器的選項,從而提供最佳系統(tǒng)性能。使用 STC,這些橋接器可以輕松消除與 PCI 讀取相關的性能瓶頸。
審核編輯:郭婷
-
PCI
+關注
關注
5文章
679瀏覽量
131898 -
定時器
+關注
關注
23文章
3298瀏覽量
118770 -
PCIe
+關注
關注
16文章
1340瀏覽量
85089
發(fā)布評論請先 登錄
QDMA Subsystem for PCI Express v5.0產(chǎn)品指南

EE-86:將SHARC 2106x DSP與PLX 9080 PCI橋接芯片連接

PCI2250 PCI到PCI橋接器實施指南

通過PLX PCI9080橋接芯片實現(xiàn)TMS320C6000擴展總線與PCI總線的接口

使用PLX PCI9050 TMS320C6000 HPI到PCI接口

KeyStone設備的PCI Express (PCle)常見問題

VIAVI Xgig 4K16 PCI Express 4.0 協(xié)議分析儀平臺介紹

DS320PR810的PCI Express合規(guī)性測試

pci接口反射內(nèi)存卡
PCI 接口的反射內(nèi)存卡

使用TI PCI-Express Gen5.0轉(zhuǎn)接驅(qū)動器進行眼圖掃描

LMK3H0102 PCI Express合規(guī)性報告

LMK6H和LMKDB1xxx PCI Express合規(guī)性報告

LMK6H PCI Express合規(guī)性報告

LMKDB1xxx PCI Express合規(guī)性報告

評論