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

AMBA 3.0 AXI總線接口協(xié)議的研究與應(yīng)用
聊聊AMBA 是如何演變的?

評論