什么是AMBA? ARM官方給出的應用定義如下:
ARM AMBA (Advanced Microcontroller Bus Architecture)協議是一種公開標準,主要用于片上系統(SoC)中功能模塊連接和管理的互聯規范。它有助于一次性正確開發具有大量控制器和外設的多處理器設計。AMBA通過定義SoC模塊的通用接口標準來促進設計的重用性。
01
AMBA的歷史脈絡
AMBA的故事可以追溯到1995年,當時ARM的規模要小得多,在歐盟的資助,ARM內部做了高級微控制器總線結構的研發。在1996年,ARM將內部研究的高級微控制器總線體系結構(不是ARM總線體系結構)公開作為一個開放體系,從而促進了具有大量控制器和外設的多處理器設計的發展。
自從ARM架構開放之后,AMBA的應用已經遠遠超出了微控制器的領域。今天AMBA已經被廣泛的應用在ASIC和SoC設計中,而這些設計通常是應用在移動設備,如智能手機等領域。
第一代總線是1997年發布的AMAB標準。主要包括兩種總線協議,Advanced System Bus (ASB) 和 Advanced Peripheral Bus (APB). 此時的定位是ASB作為高性能總線,滿足高性能處理器的需求,支持pipeline與多master操作。APB作為低速總線,屬于二級總線滿足外設與微處理器的通信需求。
第二代總線是1999年發布的AMBA2標準。ARM增加了AMBA High-performance Bus (AHB)協議。AMBA2被廣泛應用在ARM7,ARM9的設計中,并且現在還一直應用在Cortex-M系列的設計中。在AMBA2中,AHB是ASB的一個升級,同樣作為高性能總線除了支持pipeline與多master,還支持burst傳輸和split事務處理。逐漸用AHB替代了ASB總線,ASB總線被淘汰,AHB和APB這對組合得到了廣泛的應用。
第三代總線是2003年發布的AMBA3標準。在第三代總線中,除了增加AHB-Lite精簡協議,升級了APB總線外,為了滿足更高的互聯性能需求,增加了Advanced eXtensible Interface (AXI),這是一個重要的標志,至此開啟了高性能系統設計的通道,在AXI總線的加持下,系統性能得到了質的提升。在AMBA3中,同時增加了Advanced Trace Bus (ATB)總線作為片上調試的總線接口,為debug和trance提供一種解決方案。
第四代總線是2010年發布的AMBA4標準。AMBA4中對APB做了進一步的升級成為APB4協議,另外AMBA4中主要增加了AXI4,AXI4-lite,AXI Stream協議,算是針對AMBA3的升級,總線的性能得到了進一步的提升,同時針對微處理器的需求進一步優化了相關協議。在2011年又增加了ACE(AXI Coherency Extensions),ACE-Lite一致性總線,是在AXI的基礎上為了滿足多處理器簇的一致性需求而制訂的系統總線。ACE可以讓不同的處理器簇共享系統內存,比如ARM的big.LITTLE處理器。它被廣泛應用在ARM的Cortex-A9和ARM Cortex-A15處理器中。
第五代總線是從2013年開始,一直持續到現在。最重要的是增加了CHI (Coherent Hub Interface) 協議標準,CHI是一種重新定義與設計的告訴傳輸層總線,可以有效的較少通路阻塞。它的架構針對多設備大流量接入時如何保持高性能做了可伸縮的設計。通過構建更有效的一致性協議傳輸保證了復雜系統傳輸的性能。另外AMBA5也陸續升級了其他的協議版本,如AXI5,ACE5,AHB5,APB5,ATP,DTI 以滿足系統的最新需求。
02
—
不同AMBA協議介紹
AMBA CHI :定義了支持處理器全一致性接口協議。例如在Cortex-A76和Cortex-A65,動態memory控制器例如CoreLink DMC-620,以及高性能無阻塞互聯矩陣如CoreLink CMN600。它適合廣泛應用在需要一致性應用的系統中,包括移動設備,互聯網設備,汽車電子以及數據中心等。CHI規范對協議層與傳輸層做了分離,以滿足針對PPA的不同設計需求。這種拆分可以允許設計者選擇實現小的高效cross-bar結構,或者實現一個高性能大規模的mesh網絡結構。
AMBA AXI and ACE:定義了高性能,高帶寬的互聯設計協議。被廣泛應用在電信設備,消費電子,互聯網,汽車電子以及嵌入式中。
AMBA AHB:定義了高性能總線接口協議,AHB協議被廣泛應用在Cortex-M系列的處理器中,如一些嵌入式設備或者低延時的SoC外設中。
AMBA APB:是一種低功耗,低帶寬配置總線,主要應用在在一些低帶寬數據傳輸以及一些寄存器的配置中。
AMBA AXI-Stream:定義了一種單向數據傳輸協議,大大減少信號路由時間,實現數據高速傳輸。
AMBA CXS:定義了一個可信的,非阻塞流接口協議,用于實現點對點的包傳輸。針對片上互聯和PCIe控制器之間的CCIX和CXL包傳輸協議進行了優化。CXS針對寬接口進行了優化,使得數據包可以高速率的傳輸到外部接口,并且可以將多個報文合并為一次傳輸。
AMBA ATP(Adaptive Traffic Profiles):自適應流量配置,是一個綜合流量控制架構,可以方便的實現模型系統master,slave在高層次級別簡單、有效的訪問內存。這種流量控制架構可以被方便的應用在多種工具以及設計驗證環境中,以滿足設計與驗證復雜SoC系統的需求。實現一種簡單高效、方便調節的系統仿真機制。
AMBA DTI(Distributed Translation Interface):AMBA分布式傳輸接口,主要是應用在系統MMU (SMMU) 架構中,定義了一種可伸縮的分布式消息傳輸協議。主要實現SMMU中TCU與TBU,以及TCU與PCIe ATS的通信。
-
ARM
+關注
關注
134文章
9054瀏覽量
366827 -
soc
+關注
關注
38文章
4122瀏覽量
217948 -
AMBA
+關注
關注
0文章
68瀏覽量
14952
發布評論請先 登錄
相關推薦
評論