AMBA總線新一代標(biāo)準(zhǔn)AXI分析和應(yīng)用
1 引言
ARM 作為業(yè)界頂尖的32 位RISC 嵌入式處理器,占有嵌入式處理器75%以上的市場。它不生產(chǎn)和銷售芯片,只是出售芯片技術(shù)授權(quán)。ARM 技術(shù)幾乎無所不在,ARM 嵌入式微處理器是一種高性能、低功耗的RISC 芯片,大量應(yīng)用于電子設(shè)備、無線系統(tǒng)、汽車、工業(yè)控制等各類產(chǎn)品中。
ARM 公司提出用于SoC 設(shè)計中的AMBA 總線結(jié)構(gòu),由于它的高性能,以及ARM 微處理器的廣泛應(yīng)用,已經(jīng)成為了SoC 設(shè)計中使用相當(dāng)廣泛的總線標(biāo)準(zhǔn)。AXI 是AMBA 中一個新的高性能協(xié)議。AXI 技術(shù)豐富了現(xiàn)有的AMBA 標(biāo)準(zhǔn)內(nèi)容,滿足超高性能和復(fù)雜的片上系統(tǒng)(SoC)設(shè)計的需求。
2 AMBA 片上總線及應(yīng)用實例
在一個 SoC 中,有處理器(有時不止一個)、存儲器和眾多的各種各樣的設(shè)備,要使它們高速度并且高效率地工作,我們需要一個高性能的片上總線。同時,高性能的片上總線可以使得SoC 具有更小的面積、更低的功耗和更高的性能。從而使我們的產(chǎn)品能以更低的成本獲得更優(yōu)異的性能?,F(xiàn)有技術(shù)上比較成熟的片上總線標(biāo)準(zhǔn)其實數(shù)量不少,如OCP、CoreConnect、Wishbone等,由于ARM微處理器在嵌入式領(lǐng)域占據(jù)絕對市場優(yōu)勢,其片上總線協(xié)議AMBA也成為了事實上的SoC總線標(biāo)準(zhǔn)。AMBA協(xié)議的目的是為了要推出片上總線的規(guī)范,一開始AMBA 1.0只有ASB與APB,為了節(jié)省面積,所以這時候的總線協(xié)議都是三態(tài)總線,由于三態(tài)總線要設(shè)計者花更多的精力去注意時鐘,所以到了后來AMBA 2.0的AHB,為了更加方便設(shè)計者,總線改用多路復(fù)用器(multiplexor)的架構(gòu),并增加了新的特性。
圖 1 DWT(數(shù)字對講機(jī))SoC系統(tǒng)結(jié)構(gòu)圖
AMBA 總線除了基本的數(shù)據(jù)訪問功能外,還具有許多其他不可或缺的特性如下:
AMBA有優(yōu)秀的握手協(xié)議,由專門的仲裁模塊(Arbiter)來決定各主設(shè)備(Master)的訪問請求。這種優(yōu)先級的設(shè)定是靈活而又隨時可變的,這使系統(tǒng)總線的調(diào)度非常有效率。
AMBA2.0以上版本都是基于單沿時鐘、單向信號線的協(xié)議。這使它非常適合于現(xiàn)代大規(guī)模集成電路設(shè)計自動化的要求,與EDA工具的耦合非常自然,容易達(dá)到更高的時鐘頻率。
AMBA的地址和數(shù)據(jù)相位間有流水線的關(guān)系,使存儲器訪問可以提前準(zhǔn)備,使主設(shè)備間的切換不浪費額外的時鐘周期,尤其特別適合與內(nèi)置流水線的處理器接口。
AMBA2.0支持許多先進(jìn)的訪問方式,如連續(xù)型訪問(burST)可以加快某些快速存儲器的訪問速度;離線型訪問(split)可以讓某些慢速設(shè)備在不占用總線的情況下,先將數(shù)據(jù)準(zhǔn)備好,再發(fā)起相應(yīng)的總線訪問行為。在AMBA3.0中,對各種突發(fā)訪問、亂序訪問將有更好的支持。這些技術(shù)特點使AMBA可以運行在更高的時鐘頻率,在相同的頻率下可以提供更高的數(shù)據(jù)吞吐量。
一個以AMBA架構(gòu)的SoC,一般來說包含了高性能(high-performance)系統(tǒng)總線(AMBA ASB或 AMBA AHB 或 AMBA AXI)與低功耗(low-power)的外圍總線(AMBA APB)。現(xiàn)在市場上大部分的基于AMBA架構(gòu)的SoC產(chǎn)品,系統(tǒng)總線采用AHB,外部總線采用APB。系統(tǒng)總線負(fù)責(zé)連接例如ARM嵌入式處理器、DMA控制器、片上存儲器或其他需要高帶寬的元件。而外圍總線則是用以連接系統(tǒng)的外圍元件,其協(xié)議相對來說較為簡單,而兩種總線通過總線橋相連。通過這種機(jī)制來減輕系統(tǒng)總線的負(fù)擔(dān)。
筆者參與了清華大學(xué)與意法半導(dǎo)體合作開發(fā)民用數(shù)字對講機(jī)(Digital Walkie-Talkie,簡稱DWT)SoC芯片的項目研發(fā)工作,這是一款基于ARM9處理器、AMBA總線的典型數(shù)?;旌蟂oC,其系統(tǒng)框圖如圖2所示,方框內(nèi)為SoC集成的模塊。
圖 2 基于AXI應(yīng)用結(jié)構(gòu)框圖
3 AXI
隨著SoC 設(shè)計復(fù)雜性的增加和CPU 處理能力的提升,總線結(jié)構(gòu)會成為系統(tǒng)性能的瓶頸。在多處理器SoC 設(shè)計中,這種瓶頸現(xiàn)象更加明顯。綜合考慮成本、功耗和面積,SoC 設(shè)計中選用何種高效的總線結(jié)構(gòu)是比較困難的,同時總線結(jié)構(gòu)對系統(tǒng)所要求達(dá)到的性能又是非常重要的。
隨著下一代高性能 SoC 設(shè)計的需要,比如多處理器核、多重存儲器結(jié)構(gòu)、DMA 控制器等,AMBA 需要新一代靈活性更強(qiáng)的總線結(jié)構(gòu),這就是AMBA 3.0 AXI 總線。AXI 是1999年發(fā)布的AMBA 2.0 的繼承和提升,是ARM 公司與其他的芯片制造商包括高通、東芝和愛立信等公司共同研發(fā)的。新協(xié)議的發(fā)布,為新一代高性能SoC 的設(shè)計鋪平了道路。
AXI 能夠使SoC 以更小的面積、更低的功耗,獲得更加優(yōu)異的性能。AXI 獲得如此優(yōu)異性能的一個主要原因,就是它的單向通道體系結(jié)構(gòu)。單向通道體系結(jié)構(gòu)使得片上的信息流只以單方向傳輸,減少了延時。
選擇采用何種總線,我們要*估到底怎樣的總線頻率才能滿足我們的需求,而同時不會消耗過多的功耗和片上面積。ARM一直致力于以最低的成本和功耗追求更高的性能。這一努力已經(jīng)通過連續(xù)一代又一代處理器內(nèi)核的發(fā)布得到了實現(xiàn),每一代新的處理器內(nèi)核都會引入新的流水線設(shè)計、新的指令集以及新的高速緩存結(jié)構(gòu)。這促成了眾多創(chuàng)新移動產(chǎn)品的誕生,并且推動了ARM架構(gòu)向性能、功耗以及成本之間的完美平衡發(fā)展。
AXI總線是一種多通道傳輸總線,將地址、讀數(shù)據(jù)、寫數(shù)據(jù)、握手信號在不同的通道中發(fā)送,不同的訪問之間順序可以打亂,用BUSID來表示各個訪問的歸屬。主設(shè)備在沒有得到返回數(shù)據(jù)的情況下可發(fā)出多個讀寫操作。讀回的數(shù)據(jù)順序可以被打亂,同時還支持非對齊數(shù)據(jù)訪問。
AXI總線還定義了在進(jìn)出低功耗節(jié)電模式前后的握手協(xié)議。規(guī)定如何通知進(jìn)入低功耗模式,何時關(guān)斷時鐘,何時開啟時鐘,如何退出低功耗模式。這使得所有IP在進(jìn)行功耗控制的設(shè)計時,有據(jù)可依,容易集成在統(tǒng)一的系統(tǒng)中。AXI與上一代總線AHB的主要性能比較見表1。
新的高性能AXI協(xié)議技術(shù)性能新的特點主要包括:
單向通道體系結(jié)構(gòu)。信息流只以單方向傳輸,簡化時鐘域間的橋接,減少門數(shù)量。當(dāng)信號經(jīng)過復(fù)雜的片上系統(tǒng)時,減少延時。
支持多項數(shù)據(jù)交換。通過并行執(zhí)行猝發(fā)操作,極大地提高了數(shù)據(jù)吞吐能力,可在更短的時間內(nèi)完成任務(wù),在滿足高性能要求的同時,又減少了功耗。
獨立的地址和數(shù)據(jù)通道。地址和數(shù)據(jù)通道分開,能對每一個通道進(jìn)行單獨優(yōu)化,可以根據(jù)需要控制時序通道,將時鐘頻率提到最高,并將延時降到最低。
增強(qiáng)的靈活性。AXI技術(shù)擁有對稱的主從接口,無論在點對點或在多層系統(tǒng)中,都能十分方便地使用AXI技術(shù)。
4 AXI 的應(yīng)用
SoC系統(tǒng)中總線的選擇不僅要看其性能,還要看其應(yīng)用范圍,更加重要的是,是否有足夠的IP核資源可供利用。為了加速基于AXI總線的應(yīng)用設(shè)計,ARM最新發(fā)布了面向片內(nèi)總線AXI的3種IP內(nèi)核。分別為:二級緩存控制電路L220、輸出AXI標(biāo)準(zhǔn)總線的工具PL300以及同步DRAM控制電路PL340。3種產(chǎn)品的供貨將加快AXI的普及步伐。3種產(chǎn)品均為可邏輯合成的軟核,支持ARM1156T2F-S、ARM1176JZF-S與MPCore三種CPU內(nèi)核。
這些預(yù)先檢驗的AXI系統(tǒng)元件將協(xié)助研發(fā)者迅速針對內(nèi)建ARM11系列處理器的SoC開發(fā)出高集成度的產(chǎn)品。AXI系統(tǒng)元件提供一條具備高效率的傳輸管道,從處理器連接快速緩存、存儲控制器及外部存儲器。上述優(yōu)勢使ARM11系列處理器即使搭配速度較慢的內(nèi)存,也可以發(fā)揮出相當(dāng)高的性能。由于CPU與芯片外部存儲器之間的通信已成為主要的性能瓶頸,因此設(shè)計人員將會視該項技術(shù)為極具價值的方案。
二級緩存控制電路L220是面向ARM內(nèi)核中首款支持二級緩存的電路。二級緩存除可用于個人電腦微處理器等一般用途外,還支持MIPS微處理器等。使用此次二級緩存控制電路、同時配備256kB的二級緩存時,MPEG-4的解碼處理所需的時間只相當(dāng)于沒有配備二級緩存時的一半。另外,256kB二級緩存的面積采用臺灣TSMC的130nm設(shè)計規(guī)格、為6mm2,成本大約為0.41美元(約合人民幣3.4元)。L220支持ARM的電源電壓與工作頻率控制技術(shù)“IEM”,可有效控制二級緩存的電源電壓等。
PL300是一種可以生成具有任意數(shù)量主從設(shè)備的總線的工具。傳送速度在平均每層166MHz工作頻率下為1.3GB/秒。使用XML記述主從設(shè)備等的設(shè)定,就會生成相應(yīng)總線的設(shè)計數(shù)據(jù)。同步DRAM控制電路PL340配備16位×64位寬的DDR接口。今后將支持DDR2與奇偶校驗。L220、PL300與PL340均已開始提供使用授權(quán)。只需在簽合同時支付授權(quán)費用,之后的生產(chǎn)中不必每枚芯片交納授權(quán)費用。
5 結(jié)束語
筆者在參與一個基于 ARM9 的SoC 研發(fā)的基礎(chǔ)上,從應(yīng)用需求的角度上研究和比較了AMBA 總線的優(yōu)異性能和新特性。本文的創(chuàng)新點,是詳細(xì)比較了AXI 和老一代總線AHB的性能,并再此基礎(chǔ)上給出了他們的工程應(yīng)用實例結(jié)構(gòu),為SoC 設(shè)計中總線選擇以及使用AMBA 總線進(jìn)行應(yīng)用產(chǎn)品開發(fā)提供了參考。從上面的比較和總結(jié)可以看出,AXI 總線技術(shù)上可以提供內(nèi)核速度的吞吐量,經(jīng)濟(jì)上ARM 有豐富而且免費的IP 核資源可供利用。
目前市場上的應(yīng)用產(chǎn)品基本都是基于 AMBA 2 AHB,基于AXI 和ARM11 的應(yīng)用產(chǎn)品還比較少,但是AXI 的廣泛應(yīng)用只是一個時間的問題。AXI 片上總線的推出,把SoC 的設(shè)計推向了一個新的臺階,設(shè)計者可以更加方便快速的設(shè)計出高性能SoC。
評論