AMBA總線基礎知識簡介

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)設計

  • The Advanced System Bus (ASB)
  • The Advanced Peripheral Bus (APB)

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發出指令的順序不一致。形成這種不一致的緣由有如下兩個:

  • 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總線無主從之分。

相關文章
相關標籤/搜索