TZC400是 ARM 公司提供的一個 IP 核,用於實現在系統級積體電路(SoC)中的安全性和可信任性。TZC400 是 TrustZone Address Space Controller 400 的縮寫,是 ARM 的 TrustZone 技術的一部分。
TrustZone 是 ARM 公司開發的一種硬體安全擴充套件技術,旨在為 SoC 提供硬體級別的隔離和安全性。它透過將處理器核心和相關資源劃分為安全的 "Secure World" 和非安全的 "Normal World",實現了安全和非安全程式碼的隔離。
TZC400 是 TrustZone 技術中的一個關鍵元件,它作為一個地址空間控制器,負責管理 Secure World 和 Normal World 的記憶體地址空間,並提供安全訪問控制機制。它允許系統設計者定義哪些記憶體區域可以被 Secure World 訪問,哪些只能被 Normal World 訪問,從而確保敏感資料和程式碼在 Secure World 中得到保護。
透過使用 TZC400,SoC 設計者可以實現更高階別的系統安全,保護重要的系統資源和資料免受惡意軟體或未授權訪問的威脅
TZC400的features:
tzc400提供了以下關鍵功能:
1、能夠在地址對映中定義最多8個地址區域。
2、filter單元可以支援相互獨立的非同步時鐘和由APB介面時鐘時鐘的控制單元
3、在多個filter單元之間共享的公共區域配置暫存器設定
4、只有當ACE-Lite事務的安全狀態及其身份與其地址的記憶體region的安全設定匹配時,filter單元才允許ACE-Lite主和ACE-Lite從之間的資料傳輸。
5、透過APB4介面對每個地址region的軟體可程式設計安全訪問許可權。這包括預設的基本region,region0。
6、透過filter可以實現允許訪問或者阻止訪問DMC
TZC400的示例系統:
上述示例有兩個filter,因為在DMC中有兩個ACE-lite路徑。這兩條路徑分別為:DMA(LCD)->AXI->ACE-lite和GPU->ACE->ACE-lite
基本概念:
DMC:Dynamic Memory Controller,用於管理動態儲存器(如 DDR SDRAM)的控制器。在計算機系統中,動態儲存器控制器負責協調處理器和動態儲存器之間的資料交換,以確保資料能夠被正確地讀取和寫入到儲存器中。
DRAM:Dynamic Random Access Memor,一種記憶體的基本型別,它表示動態隨機存取儲存器,DDR就是一種DRAM
ACE-lite:ARM 定義的一種輕量級協議擴充套件,ACE-lite 協議擴充套件了標準的 AXI匯流排協議
TZC400的重要概念:
Filter:tzc400的過濾單元,單個tzc400最多支援4個filter。
region:許可權配置的基本單元,單個filter最多支援 9 region(region0 --- region8)。region0預設使能,region1-8可配。所有未配置的空間均是屬於region0,單個filter 不同region地址空間不可重疊。
NSAID:Non-secure master access id,axi匯流排上的一個訊號,用來區分non-secure master
對於Secure的master,訪問DDR是始終支援
對於Non-Secure的master,對DDR發起訪問,則需要透過AWNSAID和ARNSAID,透過配置相關暫存器來實現對DDR的訪問,這是SOC設計時需要考慮的