【Zynq UltraScale+ MPSoC解密學習10】Zynq UltraScale+的PS互連

目錄

一、功能介紹

二、互連框圖

2.1 FPD Main Switch

2.2 Cache一致性互連

2.2.1 Full Coherency

2.2.2 I/O Coherency

2.2.3 ACP Coherency

2.3 互連子模塊

三、互連寄存器


一、功能介紹

PS互連由多個Switch組成,這些Switch通過高級可擴展接口(AXI接口)點對點連接系統資源,用於master口和slave口之間傳輸地址、數據以及響應事務。ARM的AMBA 4.0 interconnect實現了用於QoS、調試和測試監測的完整的互連通信功能。
PS互連基於AXI HP數據通道交換機,有以下功能:
    互連交換機是基於ARM NIC-400
    Cache一致性互連(CCI-400)
    系統內存管理單元(SMMU)允許使用虛擬地址
    兩個電源域(FPD和LPD)的互連分離
    QoS服務支持更好的AXI事務處理
    AXI性能監測器(APM)能夠收集事務指標
    AXI超時模塊(ATB)掛載在互連上作爲看門狗
    AXI隔離模塊(AIB)負責將AXI/APB的主機和從機隔離,爲它們的關閉行爲做準備
    PS和PL之間有以下接口:
(1)S_AXI_HPC[0:1]_FPD和S_AXI_HP[0:3]_FPD:可以被PL端AXI主口訪問的高性能AXI從口
(2)M_AXI_HPM0/1_FPD:低延遲的可以訪問PL端AXI從口的AXI主口
(3)S_AXI_ACE_FPD:可以被PL端AXI主口訪問的雙向AXI一致性擴展口
(4)S_AXI_ACP_FPD:可以被PL端AXI主口訪問的緩存一致性加速從口
(5)S_AXI_LDP:低功耗域內可以被PL端AXI主口訪問的AXI從口
(6)M_AXI_HPM0_LPD:低功耗域內可以訪問PL端AXI從口的AXI主口


二、互連框圖

PS整體互連框圖如下圖,我們來詳細介紹下。 

2.1 FPD Main Switch

128位的FPD主開關是FPD主機和LPD從機(包括OCM和TCM)的top互連中的一個開關。該開關的主要作用爲:(1)提供到OCM的直接路徑(繞過LPD互連),可以使延遲最小並提高FPD到OCM的吞吐量(2)提供了一個單獨的路徑來訪問FPD主機的LPD外設寄存器。

2.2 Cache一致性互連

Cache一致性互連(CCI)將部分的interconnect和coherence功能合併成一個塊。它提供了以下接口:
(1)2個ACE從端口(用於完全一致性,上圖的S3/S4)
(2)3個ACE-lite從端口(用於I/O一致性,上圖的S0/S1/S2)
(3)2個ACE-lite主端口(用於DDR,上圖的M1/M2)
(4)1個ACE-lite主端口(用於非DDR內存映射訪問,上圖的M0)。
(5)1個分佈式虛擬內存消息接口(用於系統內存管理單元SMMU,上圖的DVM)
互連框圖裏顯示了CCI端口連接,CCI寄存器是全局映射的,可以從LPD訪問。

2.2.1 Full Coherency

完全(雙向)一致的主口可以監測彼此的緩存,爲了在APU和PL之間共享更細粒度的數據,系統可以在PL中實現緩存,然後讓APU監測PL緩存,同時PL也可以窺探APU的緩存。

2.2.2 I/O Coherency

I/O(單向)一致的主口可以通過CCI ACE-Lite從口監測APU緩存,當APU數據正在和I/O主口共享時,當APU緩存刷新時,可以避免實現額外的軟件需求來實現一致性。
所有的PS主口,包括RPU(不包括全功率DMA控制器、DisplayPort和S_AXI_HP{0:3}_FPD PS主口),都可以選擇配置爲I/O一致性。
PS中有兩個DMA,一個位於LPD中,另一個位於FPD中。FPD DMA沒有到CCI的物理通路,不支持I/O一致性。LPD DMA有一個通過CCI到DDR控制器的替代路徑,這允許它被標記爲I/O一致性。

2.2.3 ACP Coherency

PL的主口一樣可以通過APU的ACP端口去監測APU緩存,ACP訪問還能被用於分配L2緩存。

2.3 互連子模塊

PS互連有以下子模塊:
(1)Xilinx內存保護模塊,Xilinx memory protection unit,XMPU:FPD,OCM和DDR。
Xilinx內存保護模塊(XMPU)爲內存和FPD從口提供內存分片和TrustZone保護。
(2)Xilinx外設保護模塊,Xilinx peripheral protection unit,XPPU。
Xilinx外設保護模塊(XPPU)提供LDP外設隔離和IPI保護功能。可以通過配置XXPU來允許1個或多個主口訪問LDP外設。
(3)系統內存管理模塊,System memory management unit,SMMU。
系統內存管理單元(SMMU)爲從口提供保護服務,併爲I/O主口提供地址轉換以識別超出其實際尋址能力的空間。在缺乏內存隔離的情況下,I/O器件會破壞系統內存,SMMU會提供設備隔離來防止DMA攻擊。SMMU由譯碼控制單元(TCU)和多個譯碼緩衝單元(TBUs)組成。
(4)AXI超時模塊,AXI timeout block,ATB,掛載在互連上作爲看門狗。
AXI超時模塊主要是爲了確保互連不會因爲沒有響應而掛機卡死。該模塊時刻監視跟蹤着AXI上的事務,如果從口在設定的時間內不給主口響應,模塊自身會產生一個響應給主口,防止互連因爲等不到響應而掛死。超時模塊的原理圖如下,可以通過配置ATB_PRESCALE寄存器來設置超時值:
 
(5)AXI隔離模塊,AXI and APB isolation block,AIB,負責將AXI/APB的主機和從機隔離,爲它們的關閉行爲做準備。
AXI隔離模塊(AIB)負責將AXI/APB的主機和從機隔離,爲它們的關閉行爲做準備。AIB在隔離過程中管理AXI和APB接口,從而實現上電向斷電狀態的平穩過渡。AIB功能透明易懂,在正常事務期間零延遲。
(6)PS-PL之間的AXI接口
(7)AXI性能監視器,AXI performance monitor,APM。
AXI性能監控器(APM)在PS AXI互連的多個節點上收集實時事務度量指標來幫助系統軟件分析實時活動。


三、互連寄存器


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章