AMBA匯流排基礎知識簡介

宙斯黃發表於2017-12-27

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匯流排無主從之分。

 

相關文章