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总线无主从之分。
AMBA总线基础知识简介的更多相关文章
- 【单片机通信协议】CAN总线基础知识
CAN总线基础知识(一) 1.1 CAN总线是什么? CAN(Controller Area Network)是ISO国际标准化的串行通信协议.广泛应用于汽车.船舶等.具有已经被大家认可的高性能和可靠 ...
- SpringCloud(1) 架构演进和基础知识简介
一.传统架构演进到分布式架构 简介:讲解单机应用和分布式应用架构演进基础知识 (画图) 高可用 LVS+keepalive 1.单体应用:开发速度慢.启动时间长.依赖庞大.等等 2.微服务:易开发.理 ...
- 【STM32H7教程】第47章 STM32H7的FMC总线基础知识和HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第47章 STM32H7的FMC总线基础知识和HA ...
- PON系统基础知识简介
一 PON基础知识 1.1 PON技术概念 PON(Passive Optical Network)即无源光网络,一种基于点到多点(P2MP)拓朴的技术.“无源”指ODN(光分配网络)不含有任何电子 ...
- Vue基础知识简介
基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destorye ...
- GIS 基础知识简介
前言 前一段时间,在公司进行了分析 GIS 基础信息的介绍.之所以会有这个介绍以及为什么是我?这个个中缘由说下. 公司不是一个GIS方面的公司,但是由于业务的需要,经常需要用到地图(要和地图打交道), ...
- 二、MongoDB的基础知识简介
1.文档.集合和数据库 a).文档:因为MongoDB是面向文档的数据库,那么可想而知文档是它的基本单元,相当于关系型数据库中的行! Ⅰ.它是由键值对组成的一个有序集:注:键不能为空且是字符串类型的. ...
- CAN总线基础知识(三)
1.CAN协议 1.1 帧类型 通讯时使用下面5个类型的帧: 数据帧 遥控帧 错误帧 过载帧 帧间空隙 在所有这些帧中,数据帧和遥控帧由用户设置,而其它帧则由CAN硬件设置. 数据和遥控帧有两种格式: ...
- CAN总线基础知识(二)
CAN协议和标准规范 1 由ISO标准化的CAN协议 CAN协议已经由ISO标准化,有2个版本,如ISO11898和ISO11519-2,它们之间在数据链路层没什么不同,但是在物理层有些区别. (1) ...
随机推荐
- 【C语言天天练(二)】预处理
引言: 学C语言之初.一提到预处理,脑子里想到的就是#define的宏定义以及#include包括的头文件.后来随着对C的深入学习发现.预处理不止这些.比方条件编译.提前定义的宏等等.以下对此进行总结 ...
- iOS开发之--storyboary下,为btn/lab/view等添加裁剪和阴影的方法
在开发过程中,很多时候我们都需要定制一个控件的属性,比如边框.阴影.圆角裁剪等,使用代码创建控件的时候,我们都知道,直接对layer图层进行各种属性的操作, self.button.layer.cor ...
- android eclipse 环境配置(win 7)
一.下载安装android SDK 两种方式: (1)官网下载(需FQ):https://developer.android.com/studio/index.html (2)无需FQ下载:http: ...
- GRPC使用错误排查记录
1. 编译报错 f.fr.SetReuseFrames undefined (type *http2.Framer has no field or method SetReuseFrames) 该问题 ...
- ORA-08002: sequence TESTTABLE1_ID_SEQ.CURRVAL is not yet defined in this session (未完全解决)
说明: 断开连接后 重新连接执行序列号当前值查找 会报错. 解决方法一:先查询序列号下一个值 SELECT testTable1_ID_SEQ.nextval from dual;
- Chomsky_hierarchy
Grammar Languages Automaton Production rules (constraints) Type-0 Recursively enumerable Turing ma ...
- Eclipse打包java工程
Eclipse打包java工程步骤如下: 1.选择预打包的工程->Export. 2.选择java->JAR file. 3.导出JAR文件设置. 这里有几个选项: Export gene ...
- 手动拼写出来的sp_who结果集
SELECT SPID = er.session_id ,STATUS = ses.STATUS ,[Login] = ses.login_name ,Host = ses.host_name ...
- Vue中动态添加多个class
vue中可以通过 :class=""这样来根据一定的条件来动态添加class,但是有时候需要判断的条件比较多,需要动态添加的class也比较多,这个时候其实也很简单 先看一下示例: ...
- 目标检测之R-FCN
R-FCN:Object Detection via Region-based Fully Convolutional Networks R-FCN的网络结构 一个Base的convolutional ...