第A1章 概述
本章介绍了AXI协议的体系结构和本规范中使用的术语:
- 关于A1-26页的AXI协议
- 在A1-27页的AXI架构
- 第A1-30页的术语
A1.1 关于AXI协议
AMBA AXI协议支持高性能、高频的系统设计,用于主从组件之间的通信。
AXI协议的特性有:
- 它适用于高带宽和低延迟的设计。
- 提供高频操作,无需使用复杂的桥接。
- 该协议可以满足多种组件的接口需求。
- 它适用于具有高初始访问延迟的内存控制器。
- 在互连架构的实现方面提供了灵活性。
- 它向后兼容AHB和APB接口。
AXI协议的主要特性是: - 将地址/控制和数据阶段分开。
- 使用字节选通,支持非对齐的数据传输。
- 使用基于突发的事务,只发出起始地址。
- 独立的读写数据通道,可以提供低成本的直接内存访问(DMA)。
- 支持发送多个未完成的地址。
- 支持乱序事务完成。
- 允许方便地添加寄存器阶段,以提供定时关闭。
AXI协议包括: - AXI4-Lite是AXI4的一个子集,用于与组件内更简单的控制寄存器样式的接口进行通信。参见第B1章AMBA AXI4-Lite。
- AXI5-Lite是AXI5的一个子集,用于在组件中使用具有更简单的控制寄存器样式接口的AXI5特性。参见C2章AMBA AXI5-Lite。
A1.2 AXI结构
AXI协议是基于突发的,它定义了五个独立的事务通道:
- 读取地址,信号名称以AR开头。
- 读取数据,信号名称以R开头。
- 写地址,信号名称以AW开头。
- 写数据,信号名称以W开头。
- 写响应,信号名称以B开头。
地址通道携带描述要传输数据性质的控制信息。数据在master和slave之间传输使用以下任一方式: - 写数据通道,将数据从主从机传输到主从机。在写事务中,slave使用写响应通道向master发出完成传输的信号。
- 将数据从slave传输到master的读数据通道。
AXI协议: - 允许在实际数据传输之前发布地址信息。
- 支持多个未完成事务。
- 支持事务乱序完成。
写事务使用写地址、写数据和写响应通道,如图A1-1所示。
图A1-2展示了读事务如何使用读地址和读数据通道。
A1.2.1 通道定义
这5个独立通道中的每一个都由一组信息信号以及提供双向握手机制VALID和READY信号组成。参见第A3-41页的基本读写事务。
信息源使用VALID信号来显示通道上有效的地址、数据或控制信息何时可用。目的地使用READY信号来显示它何时可以接受信息。读数据通道和写数据通道还包括LAST信号,以指示在事务中传输最终数据项。
读和写地址通道
读和写事务都有自己的地址通道。适当的地址通道携带事务要求的地址和控制信息。
读数据通道
读数据通道将读数据和读响应信息从slave传送到master,通道包括:
- 数据总线, 可以是8, 16, 32, 64, 128, 256, 512, 或 1024 比特位宽。(1,2,4,8,16,32,64, 128)
- 读响应信号,指示读事务的完成状态。
写数据通道
写数据通道将写数据从master传送到slave,包括: - 数据总线, 可以是8, 16, 32, 64, 128, 256, 512, 或1024 比特位宽。
- 每8个数据位的字节通道选通信号,表示有效数据的字节数。
写数据通道信息总是作为缓冲处理,以便master可以执行写事务,而slave无需确认先前的写事务。
写响应通道
Slave使用写响应通道来响应写事务。所有写事务都需要在写响应通道上发送完成信号。
如A1-27中的图A1-1所示,完成信号只用于一个完整的事务,而不是一个事务中的每个数据传输。
A1.2.2 接口和互联
一个典型的系统由几个master和slave设备组成,它们通过某种形式的互连连接在一起,如图A1-3所示。
AXI协议提供了一个接口定义,用于以下接口:
- master和互联
- slave和互联
- master和slave
这个接口定义支持许多不同的互连实现。
注意
设备之间的互连相当于另一个具有对称的master、slave端口的设备,真正的master
、slave设备可以连接。
典型的系统拓扑结构
大多数系统使用三种互连拓扑中的一种: - 共享地址和数据总线
- 共享地址总线和多个数据总线
- 多层,具有多个地址和数据总线
在大多数系统中,地址通道带宽需求明显小于数据通道带宽需求。这样的系统可以通过使用具有多个数据总线的共享地址总线来启用并行数据传输,从而在系统性能和互连复杂性之间实现良好的平衡。
A1.2.3 寄存器片
每个AXI通道只在一个方向上传输信息,该体系结构不要求通道之间有任何固定的关系。这些特性意味着可以在任何通道的几乎任何点插入寄存器片,但要付出额外的延迟周期的代价。
注意
这些特性使以下几点成为可能:
- 在延迟周期和最大操作频率之间进行权衡。
- 处理器和高性能内存之间的直接、快速连接,但要使用简单的寄存器片来隔离到性能不那么关键的外设的较长的路径。
A1.3 术语
本节总结了本规范中使用的术语,并在术语表或其他地方定义了这些术语。在适当的地方,本节中列出的术语链接到相应的词汇表表定义。
A1.3.1 AXI 组件和拓扑
以下术语描述了AXI组件:
- 组件
- Master组件
- slave组件,包括内存slave组件和外围slave组件。
- 互联组件
对于特定的AXI事务,上游和下游指的是AXI组件在AXI拓扑中的相对位置。
A1.3.2 AXI事务和内存类型
当一个AXI master启动一个AXI操作,目标是一个AXI slave:
- AXI总线上所需的完整操作集构成AXI事务。
- 任何必需的有效负载数据都作为一个AXI Burst传输。
- 一个突发可以包含多个数据传输,或AXI拍。
A1.3.3 缓存和缓存操作
本规范没有定义标准的缓存术语,这是在任何有关缓存的参考著作中定义的。
但是,关于Cache和Cache线的术语表条目阐明了在本文档中如何使用这些术语。
A1.3.4 时序描述
AXI规范及时地使用了这个术语。