AMBA:Advanced Microcontroller Bus Architecture,是ARMA公司的片內互聯總線協議。性能
1995 - AMBA1.0 APB外設總線及ASB系統總線發佈。優化
1999 - AMBA2.0 AHB系統總線發佈,APB總線升級爲同步總線。spa
2003 - AMBA3.0 高性能互聯協議AXI發佈,APB總線擴展,AHB-Lite協議發佈。B)設計
AHB用於高性能、高時鐘頻率的系統模塊,支持處理器,片上存儲器,片外存儲器以及低功耗外設宏功能單元之間的有效鏈接。接口
ASB用在並不須要AHB高性能特徵的地方。ip
APB優化了功耗,下降了接口複雜度,用於低功耗外設。同步
AXI是AMBA總線協議的3.0版本。AXI協議定位於高性能、高時鐘頻率系統設計,而且帶有不少適合於高速深亞微米互聯的特性。it
一,關於AXI總線的outstanding 和out of orderast
首先說明一點,outstanding和out of order,都是指AXI,AHB沒有outstanding 和out of order。dva
Outstanding操做是指Master在前一個操做尚未完成的時候,發出下一個操做或下幾個操做。Outstanding操做須要Slave的支持,Slave必須聲明能夠支持的Outstanding操做的深度,AXI兼容不支持Outstanding操做的slave(即Outstanding的深度爲1)。
相對於Outstanding操做,Out-of-order操做主要是針對Slave來講的,指Slave返回的數據的順序與Master發出指令的順序不一致。形成這種不一致的緣由有如下兩個:
AXI使用ID來處理亂序,ID由ARID[3:0]信號或AWID[3:0]信號肯定。AXI傳輸順序須要遵照的規則以下:
AXI協議中涉及到順序的操做主要包括讀數據亂序(Out-of-Order Read)、寫數據間插(Write Interleave)、讀和寫操做交互三種狀況。
需注意的幾點:
1,AXI和AHB總線都有主從之分,而APB總線無主從之分。