Cortex-A510——APB/AHB/AXI/ACE/CHI协议和NIC/NOC互联
小狼@http://blog.youkuaiyun.com/xiaolangyangyang
https://developer.arm.com/Architectures/AMBA
1、NIC/NOC互联
CCI(Cache Coherent Interconnect)(DSU?)(CrossBar):保证互联Cache一致性,包括CCI-400、CCI-500、CCI-550
CCN(Cache Coherent Network)(ACE)(Ring):包括CCN-502、CCN-504、CCN-508
CMN(Coherent Mesh Network)(CHI)(CI700)(Mesh):企业版的CI700
NIC(Network Interconnect)(NIC400)(CrossBar):包括NIC-301、NIC-400、NIC-450
NOC(Network On Chip)(NI700)(Mesh):包括NI-700
APB/AHB/AXI/ACE/CHI是协议
CCN/CCI/NIC/NOC/CMN是互联
NIC(Network Interconnect):用于APB/AHB/AXI协议互联,CrossBar结构;
NOC(Network-on-Chip):用于各子系统互联,路由网络结构,独立协议,连接AXI时需要使用NIU进行协议转换。
NOC比NIC的优势:
1、速度上没有明显提升,latency差不多,甚至noc会略高于nic;
2、noc的面积优于nic,这是payload信号的减少,这点会有利于后端布局布线;
3、2L提到的拥塞问题,nic在某些节点会出现明显的拥塞情况;
4、noc可以做交织访问。
传统共享总线(Bus)结构
传统交叉开关矩阵(Crossbar)结构(NIC,NIC400)
Mesh网络路由结构(NOC,NI700)
2、APB协议
- 不支持Pipeline传输
- 不支持Burst传输
- 不支持Outstanding传输
- 单Master多Slave,不支持仲裁
- 半双工
- IDLE:这是APB的默认空闲状态;
- SETUP:总线进入SETUP状态,发送选择信号PSELx,持续一个时钟周期,随后进入ACCESS状态;
- ACCESS:PENABLE在ACCESS状态激活,地址、写、选择、写数据稳定。退出由Slave的PREADY控制,返回IDLE或进入SETUP状态。
3、AHB协议
- 支持Pipeline传输
- 支持Burst传输
- 支持分段传输
- 不支持Outstanding传输
- 多Master多Slave,支持仲裁
- 半双工
4、AXI协议
- 独立的地址、控制和数据总线
- 支持使用字节选通器进行非对齐数据传输
- 支持Burst传输
- 支持Outstanding传输
- 独立的读写数据通道以实现低成本的直接内存访问(DMA)
- 支持乱序事务
- 易于添加寄存器信号,以提供定时关闭
- 支持可选的扩展,涵盖低功耗操作
- 支持cache属性
- 支持安全属性
- 支持原子操作
- 支持锁定
- 支持低功耗
AXI总线信号
AXI5在AXI4基础上增加的信号
AXI4:
- 在各个Channel的端口上添加了质量以及用户自定义的信号;
- 添加了Slave的写响应的依赖关系,主要补充了AXI3中Slave的行为,具体是防止在接收到有效写地址之前不能去进行写的操作以及在Respond通道中进行反馈;
- 在AXI4中由于去掉了WID所以不再支持写数据的交叉,因为在AXI3中Master并没有一种机制去获取Slave是否支持交叉写;
- 在AXI中针对原子操作,引入了新的概念Single-copy atomicity size以及Multi-copy write atomicity,其中前者定义了在原子传输中更新的最小byte数量,他的重要性是因为给定通信中涉及的所有组件都必须支持所需的原子元素大小。
AXI4-Lite:
- 不支持AXI ID,这意味着所有事务必须按顺序进行,并且所有访问都使用一个固定的ID值。
AXI5在AXI4的基础升级:
- Atomic_Transactions:添加执行不止一次访问的原子事务,并且具有与它们相关联的某种形式的操作;
- Check_Type:添加数据检查信号,用于检测并可能纠正可能已损坏的数据字节;
- Poison:Poison信号,用于指示一组数据字节先前已损坏;
- QoS_Accept:增加两个额外的QoS接口信号,使slave能够指示它将接受的事务的QoS值;
- Trace_Signals:添加与每个通道关联的跟踪信号,以支持系统的调试、跟踪和性能度量;
- Loopback_Signals:添加环回信令,允许发出事务的代理在索引表中存储与事务相关的信息;
- Wakeup_Signals:添加唤醒信号,用于指示有与接口关联的活动;
- Untranslated_Transactions:添加非转换事务支持,并允许同一接口上的不同事务使用不同的转换方案;
- NSAccess_Identifiers:增加非安全访问标识符,支持受保护数据的存储和处理。
AXI5-Lite:
- 所有事务的burst长度为1;
- 当请求具有不同的ID时,允许对响应进行重新排序;
- 所有访问都被认为是设备不可缓冲的;
- 不支持独占访问。
5、ACE协议(AXI一致性扩展)
ACE是AXI的一致性扩展,其中增加了以上信号
ACE(AXI Coherency Extensions) 协议学习记录3:Channel Signaling(上)
ACE(AXI Coherency Extensions) 协议学习记录3:Channel Signaling(下)
6、CHI协议
ARM CoreLink 系列的互连产品包括哪些?
Arm AMBA 协议集
CHI 协议介绍
IC圈里,有多少人了解或做过AMBA总线CHI?
AMBA CHI知识分享专题
NOC CCN NIC CCI总线
AXI总线简介