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