AMBA總線基礎知識簡介
AMBA:Advanced Microcontroller Bus Architecture,是ARMA公司的片內互聯總線協議。
1995 - AMBA1.0 APB外設總線及ASB系統總線發布。
1999 - AMBA2.0 AHB系統總線發布,APB總線升級為同步總線。
2003 - AMBA3.0 高性能互聯協議AXI發布,APB總線擴展,AHB-Lite協議發布。B)
- The Advanced System Bus (ASB)
- The Advanced Peripheral Bus (APB)
AHB用于高性能、高時鐘頻率的系統模塊,支持處理器,片上存儲器,片外存儲器以及低功耗外設宏功能單元之間的有效連接。
ASB用在并不需要AHB高性能特征的地方。
APB優化了功耗,降低了接口復雜度,用于低功耗外設。
AXI是AMBA總線協議的3.0版本。AXI協議定位于高性能、高時鐘頻率系統設計,并且帶有很多適合于高速深亞微米互聯的特性。
一,關于AXI總線的outstanding 和out of order
首先說明一點,outstanding和out of order,都是指AXI,AHB沒有outstanding 和out of order。
Outstanding操作是指Master在前一個操作還沒有完成的時候,發出下一個操作或下幾個操作。Outstanding操作需要Slave的支持,Slave必須聲明可以支持的Outstanding操作的深度,AXI兼容不支持Outstanding操作的slave(即Outstanding的深度為1)。
相對于Outstanding操作,Out-of-order操作主要是針對Slave來說的,指Slave返回的數據的順序與Master發出指令的順序不一致。造成這種不一致的原因有以下兩個:
- Slave之間的響應速度不一致
- 某些復雜的slave接口設計本身支持亂序操作
AXI使用ID來處理亂序,ID由ARID[3:0]信號或AWID[3:0]信號確定。AXI傳輸順序需要遵守的規則如下:
- 來自不同Master的傳輸之間沒有順序要求,可以按任意順序完成。
- 來自同一Master的不同ID的傳輸沒有順序要求,可以按任意順序完成。
- 相同AWID的寫數據序列必須和發起該傳輸的Master確定的寫地址順序一致。
- 相同ARID的讀數據序列如果來自同一個Slave,則該Slave必須保證讀數據的順序與其收到地址的順序一致;如果來自不同的Slave,則Interconnect必須保證讀數據的順序與其收到地址的順序一致。
- 讀操作和寫操作之間沒有順序要求,如果有此要求,Master必須在前一個傳輸完成之后再開始下一次傳輸。
AXI協議中涉及到順序的操作主要包括讀數據亂序(Out-of-Order Read)、寫數據間插(Write Interleave)、讀和寫操作交互三種情況。
需注意的幾點:
1,AXI和AHB總線都有主從之分,而APB總線無主從之分。

浙公網安備 33010602011771號