CMN简述

以下仅是个人对CMN的浅显理解:
CMN全称为coherent mesh network,是一种互联技术,通过在系统中设立多个节点之间的互联来实现高性能和可靠性
CMN的具体应用:应用于多核之间的cache一致性
0
以上图为例,每个cluster均有片内cache,当CPU对DDR写一个值时,例如向ddr 0x100地址写入0x1
 
当没有CMN时的操作:
Cluster0写值首先是存放在cache中的,cache line常见为32/64字节。当Cluster0的cache中的数据还未刷入ddr中时,Cluster1要读取ddr 0x100地址的数据,那么此时便存在cache一致性的问题。该问题可以通过软件方法来进行解决,Cluster1在对ddr 0x100地址操作之前,先flush cache,再进行操作,但这样会导致相当麻烦,一旦忘记操作便会出现很大问题。
 
有CMN时:
同样,Cluster0写值首先是存放在cache中,当Cluster0的cache中的数据还未刷入ddr中时,Cluster1要读取ddr 0x100地址的数据时,由于有CMN的存在,CMN对Cluster0刚操作同样的地址是有“记录”的,那么CMN会将Cluster0操作的值给到Cluster,这样就可以保证数据的一致性
 
想具体可参考ARM官网对CMN的介绍
网络讲解CMN的博客:
 
 
 
posted @ 2024-03-05 23:55  lethe1203  阅读(428)  评论(0编辑  收藏  举报