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总线无主从之分。

相关文章
相关标签/搜索