微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > IO Coherence有了解的么?

IO Coherence有了解的么?

时间:12-12 整理:3721RD 点击:

从硬件上支持让外设也参与coherence
这样就不用软件维护CPU和外设间的一致性了
常见的情景包括DMA、GPU等外设和CPU间的一致性
  
有如下几个问题想跟大家讨论:
请问目前使用IO Coherence的系统有哪些?
目前常用的ARM系统是否支持?
支持IO Coherence的利弊各有哪些?

ARM Cortex-A系列多核都带有ACP端口,可以外挂最多8个AXI master,ACP端口接到ARM多核内部的Snoop Control Unit,由SCU负责监控和转发这些外部AXI master通过ACP端口发出的传输事务,然后维持L1 data cache和external memory的数据一致性

嗯,谢谢
SCU只能监控L1 data cache
如何监控L2 data cache呢?
是否是直接把ACP的请求发给L2
让L2决定是否再转发给下一层的external memory?

直接发给L2,由L2 conroller决定是否需要访问L3

A15/A7支持ACE协议了,不再是被动的接受数据,系统bus里也包含snoop unit。ARM推出支持ACE协议的bus fabric叫CCI-400,使用A15的SoC应该都要用这个。
其他公司也有做类似产品的,我了解的有Arteris。

嗯,明白
不过这样频繁对L2访问是否压力比较大?
毕竟多数DMA请求都是和Cache无关的
现在主流的ARM SOC是否都是这样实现的呢?

ARM SOC种类太多了。。。估计AP这么干的多,就像上面兄弟说的,A15/A7用ACE协议在总线级别完成cache一致性维护,因为AP有这需求。主要看你们做什么类型的SOC,跑什么应用,这需要你和软件的人一起确定了

A9 这代io coherence 通过 A9的ACP接口实现,  有一致性需求的master 连到A9的ACP上,  复用A9的SCU 和L2。 为了降低对A9的影响,A9支持配2个AXI端口。 但这总方案总觉得怪怪的。
A15这代,就不再使用ACP了。 而通过level3的 SCU实现 多个cluster的一致性, 也就是CCI-400,这种结构看着顺眼多了。对于io coherence master 是通过ACE-lite 连接到CCI上, 也就是他们内部没有“cache”,但是需要update/get from A15/A7 cache里的内容。

我了解下来某些应用是需要cache-based和dma-based的data movement,
具体情况还是需要分析算法流程,系统结构
即便某些算法属于frame Level的处理,因为数据源的问题,也可采用经acp获取数据
不知道哪些兄弟也做了类似的活

A9只支持一级的Snoop,A15/A7支持L1/L2两级的snoop。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top