如果你是一個IC工程師,并且當(dāng)前的芯片設(shè)計是 基于各種復(fù)用IP的SOC芯片 ,你肯定聽說過AMBA、AHB、APB、AXI、AXI-lite、ACE、CHI等。
AMBA總線協(xié)議是一套由ARM提供的互連規(guī)范,該規(guī)范標(biāo)準(zhǔn)化了各種IP之間的芯片通信機(jī)制。這些設(shè)計通常有一個或多個微處理器以及集成其他一些組件——內(nèi)部存儲器或外部存儲器橋、DSP、DMA、加速器和各種其他外圍設(shè)備,如USB、UART、PCIE、I2C等。AMBA協(xié)議的主要動機(jī)是用一種標(biāo)準(zhǔn)和高效的方法來重用這些跨多個設(shè)計的IP。
學(xué)習(xí)AMBA協(xié)議的第一步是了解這些不同的協(xié)議在哪里使用,是如何演進(jìn)的,以及它們適合什么樣SOC設(shè)計。 下圖展示了傳統(tǒng)基于AMBA的SOC設(shè)計,它使用AHB(高級高性能)協(xié)議進(jìn)行高帶寬互連,以及針對低帶寬外圍互連的APB(高級外圍總線)協(xié)議。
隨隨著越來越多的IP集成到SOC設(shè)計中,讀寫共享的AHB、APB總線已經(jīng)無法滿足互聯(lián)需求了。2003年,AMBA3.0引入了 點(diǎn)對點(diǎn)連接協(xié)議 ——AXI(高級可擴(kuò)展接口)。此外在2010年,又推出了一個增強(qiáng)版——AXI4。下圖說明了協(xié)議的演變以及行業(yè)中的SOC設(shè)計趨勢。
下圖說明了如何使用AXI互連來構(gòu)建各種IP通信的的SOC。與以前的AHB/ASB總線相比,AXI互連有助于提高連接數(shù)量。
在移動和智能手機(jī)時代發(fā)生了進(jìn)一步的演進(jìn),SOC集成了2/4/8核處理器和共享cache,并且需要跨內(nèi)存子系統(tǒng)的硬件管理一致性。這導(dǎo)致了在AMBA修訂版4中引入了 ACE(AXI一致性協(xié)議擴(kuò)展) 。
在當(dāng)前HPC和數(shù)據(jù)中心市場的異構(gòu)計算時代,單個芯片上集成越來越多的處理器核心以及GPU、DSP、FPGA、內(nèi)存控制器和IO子系統(tǒng)。2013年,AMBA5引入了CHI協(xié)議,作為AXI/ACE協(xié)議的重新設(shè)計。基于信號的AXI/ACE協(xié)議被新的基于包的CHI協(xié)議所取代。
ARM已經(jīng)開源了所有的協(xié)議,所有的規(guī)范都可以從ARM的網(wǎng)站上免費(fèi)下載。
1、APB:高級外圍設(shè)備總線(APB) 用于連接低帶寬的外圍設(shè)備。它是一個簡單的非流水線協(xié)議。讀寫操作共享同一組信號,不支持burst數(shù)據(jù)傳輸。最新的規(guī)范(APB2.0)可以在ARM網(wǎng)站上找到, 是最容易學(xué)習(xí)的AMBA 協(xié)議 。
2、AHB:高級高性能總線(AHB) 用于連接共享總線上需要更高帶寬的組件。這些slave組件可以是內(nèi)部內(nèi)存或外部內(nèi)存接口、DMA、DSP等。AHB可以通過burst數(shù)據(jù)傳輸來獲得更高的帶寬。
3、AHB-lite協(xié)議是AHB的一個簡化版本。簡化后 只支持一個主設(shè)計 ,這消除了對任何仲裁、重試、分割事務(wù)等的需求。
4、高級可擴(kuò)展接口(AXI) 適合于高帶寬和低延遲互連。這是一個點(diǎn)對點(diǎn)的互連,并克服了AHB、APB等共享總線協(xié)議在可連接的代理數(shù)量方面的限制性。該協(xié)議支持多個outstanding 的數(shù)據(jù)傳輸、burst數(shù)據(jù)傳輸、單獨(dú)的讀寫通道和支持不同的總線寬度。
5、AXI-lite協(xié)議是AXI的簡化版本,簡化后不支持突發(fā)數(shù)據(jù)傳輸。
**6、AXI-stream **協(xié)議是AXI協(xié)議的另一種風(fēng)格,它只支持?jǐn)?shù)據(jù)流從master 流到slave。與完整的AXI或AXI-lite不同,AXI-stream 協(xié)議中沒有單獨(dú)的讀/寫通道,因?yàn)槠淠康氖侵辉谝粋€方向上流。
7、ACE-AXI協(xié)議是AXI4協(xié)議的擴(kuò)展,應(yīng)用于在一個芯片上集成多個CPU核心與一致性cache的場景。ACE協(xié)議擴(kuò)展了AXI讀寫數(shù)據(jù)通道,同時 引入了單獨(dú)的snoop 地址、snoop 數(shù)據(jù)和snoop 響應(yīng)通道 。這些額外的通道提供了實(shí)現(xiàn)基于snoop 的一致性協(xié)議的機(jī)制。
8、ACE-Lite —對于沒有自己cache的agents ,但仍屬于可共享一致性域的一部分,如DMA或網(wǎng)絡(luò)接口agent,使用ACE-lite協(xié)議實(shí)現(xiàn)這種“單向”一致性。
9、CHI —ACE協(xié)議作為AXI的擴(kuò)展而開發(fā),以支持一致性互連。ACE協(xié)議使用了master/slave之間的信號電平通信,因此互連需要大量的線和增加的通道來進(jìn)行snoops 和響應(yīng)。這對于具有2/4核移動SOC 的小一致性clusters非常有效。隨著SOC上集成越來越多的一致性clusters ——AMBA5修訂版引入了CHI協(xié)議。CHI協(xié)議使用基于分層分組的通信協(xié)議,具有協(xié)議、鏈路層和物理層實(shí)現(xiàn),還支持基于QoS的流控制和重試機(jī)制。
概述是我們深入地了解這些協(xié)議的開始,進(jìn)一步了解的最好方法是閱讀規(guī)范,以了解每個協(xié)議的細(xì)節(jié)。APB和AHB相對簡單,而且很容易學(xué)習(xí)。AXI和ACE/CHI相對復(fù)雜,需要詳細(xì)閱讀,以及了解緩存一致性和一般通信協(xié)議的基本知識。
-
dsp
+關(guān)注
關(guān)注
554文章
8059瀏覽量
349831 -
ARM
+關(guān)注
關(guān)注
134文章
9156瀏覽量
368555 -
dma
+關(guān)注
關(guān)注
3文章
566瀏覽量
100828 -
AMBA
+關(guān)注
關(guān)注
0文章
69瀏覽量
15020 -
總線協(xié)議
+關(guān)注
關(guān)注
0文章
116瀏覽量
14872
發(fā)布評論請先 登錄
相關(guān)推薦
評論