作為一名新時代的ICer,一定必定肯定聽說過AMBA協議,但是卻少有人知道AMBA協議的evolution過程,本文將大致聊聊Evolution of the ARM AMBA Specifications!
高級微控制器總線架構(AMBA)總線協議是ARM的一組互連規范,用于標準化各種功能模塊(或IP)之間的片上通信機制,以構建高性能SOC設計。這些設計通常將一個或多個微控制器或微處理器以及其他幾個組件(內部存儲器或外部存儲器橋接器、DSP、DMA、加速器和各種其他外設(如PCIE、USB、UART、I2C等)集成在單個芯片上。AMBA協議的主要目的是建立一種標準且有效的方法來互連這些模塊,并在多個設計中重復使用。
學習AMBA協議的第一步是了解這些協議的確切使用場景,這些協議是如何演變的,以及它們如何適用于SOC設計。下圖(參考AMBA 2規范)說明了基于AMBA的傳統SOC設計,該設計使用AHB或ASB協議進行高帶寬互連,并使用APB協議進行低帶寬外設互連。
隨著越來越多的功能模塊集成到SOC設計中,共享總線協議AHB/ASB很快就開始受到限制。
2003年,新修訂版AMBA 3引入了點對點連接協議——AXI 3。2010年,又推出了增強版——AXI 4。如下圖,可以看出協議的演變以及業界SOC設計趨勢。
下圖則說明了如何使用AXI互連來構建具有各種功能模塊的SOC,并通過主從協議進行通信。互連可以是定制的crossbar或switch設計,甚至可以是支持多個AXI masters和slaves的現成NOC(片上網絡)IP。與以前的AHB/ASB總線相比,AXI互連有助于擴展agent數量的連接。其中一個slave端口上的AXI2APB橋接器,通常用于通信橋接到APB總線上的一組外設。
進一步的演變發生在移動和智能手機時代,SoC具有雙/四/八核處理器,使得在具有一致性緩存的多個CPU核集成在單個芯片上時,需要實現有效的數據共享和一致性管理。這導致在AMBA 4版本中引入了ACE。
最后,在當前HPC和數據中心市場異構計算的時代,集成趨勢繼續隨著處理器核心數量的增加以及GPU、DSP、FPGAs、memory controllers和IO子系統等幾種異構計算元素的增加而增加。2013年,AMBA 5引入了CHI協議,作為對AXI/ACE協議的重新設計。基于信號的AXI/ACE協議被新的基于數據包的CHI分層協議所取代。
以上就是AMBA協議演變的大致過程,ARM已經開源了所有協議,所有spec都可以從ARM網站免費下載:
APB:(Advanced Peripheral Bus)用于連接低帶寬外設。它是一種簡單的非流水線協議,可用于通過共享總線從brigde/master與多個slave進行通信(讀或寫)。讀和寫共享同一組信號,不支持burst傳輸。
AHB:(Advanced High-performance Bus)用于在共享總線上連接需要較高帶寬的組件。這些可以是內部存儲器或外部存儲器接口,DMA等,但共享總線將限制agent的數量。與APB類似,這是一個用于多個master和slave的共享總線協議,但可以通過burst傳輸實現更高的帶寬。
AHB-lite:AHB-lite協議是AHB的簡化版本。只支持單個master設計,并且移除了arbitration,retry,split等功能。
AXI:(Advanced eXtensible Interface)對于高帶寬和低延遲互連非常有用。這是一種點對點互連,克服了共享總線協議在可連接的agent數量方面的限制。該協議是AHB的增強版,支持outstanding傳輸、burst傳輸、獨立讀寫通道以及不同總線寬度。
AXI-lite:AXI-lite協議是AXI的簡化版本,不支持burst傳輸、亂序傳輸等等。
AXI-stream:它只支持數據從master流到slave。協議中沒有獨立的讀/寫通道,因為它只在一個方向上進行傳輸。不需要地址傳輸,只傳輸數據,沒有其他控制信號,在視頻流等設計中非常有用。
ACE:(AXI Coherency Extensions)是對AXI 4協議的擴展,它在多個CPU核心與一致性緩存集成在單個芯片上的時代得到了發展。ACE協議通過引入獨立的snoop地址、snoop數據和snoop響應通道,擴展了AXI讀寫數據通道。這些額外的通道提供了實現基于snoop的一致性協議的機制。
ACE-lite:ACE還為那些沒有自己的緩存,但仍然屬于可共享一致性域的agent提供了一個簡化版本的協議。典型的agent(如DMA或網絡接口agent)可以使用ACE-lite協議實現這種“單向”一致性。
CHI:(Coherent Hub Interface)隨著SOC上一致性cluster數量的增加,以及其他異構計算元素和內存控制器的加入,AMBA 5引入了CHI協議,作為ACE協議的完全重新設計。CHI協議使用分層的基于數據包的通信協議,包括協議層、鏈路層和物理層的實現,并支持基于QoS的流控制和重試機制。
進一步學習的最好方法是閱讀spec,了解協議的每一個細節。APB和AHB相對簡單,可以快速上手,AXI、ACE和CHI相對復雜,需要詳細閱讀并理解緩存一致性和通用通信協議的基礎知識。
審核編輯:劉清
-
加速器
+關注
關注
2文章
807瀏覽量
38087 -
微處理器
+關注
關注
11文章
2274瀏覽量
82776 -
SoC設計
+關注
關注
1文章
148瀏覽量
18817 -
片上網絡
+關注
關注
0文章
33瀏覽量
11833 -
AMBA協議
+關注
關注
0文章
7瀏覽量
6488
原文標題:一文了解AMBA總線協議和體系結構
文章出處:【微信號:IC修真院,微信公眾號:IC修真院】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論