为了支持exclusive操作,硬件会增加exclusive monitor来支持。
一、exclusive monitor
exclusive monitor分为2类:
local monitor: 实现在cpu内部,针对cacheable属性地址进行监测
global monitor:实现在cpu外部,针对non-cacheabal属性和device属性地址进行监测
从上图,能够看出local monitor和global monitor所处的位置。
每个cpu,均有一个local monitor,如果要检测的地址,是cacheable属性,并且没有shareable属性,也就是该地址,只有该cpu访问,那么只需要使用local monitor即可。
如果要监测的地址,是cacheable属性,并且有shareable属性,也就是该地址,除了本cpu访问,还会有其他cpu访问,那么需要local monitor和coherency logic配合。这里coherency logic的主要作用,是保证整个cluster中,当一个local monitor状态从exclusive状态切换到open状态,那其他的local monitor状态也要从exclusive状态切换到open状态。
如果要检测的地址,是non-cacheable属性,那么就需要global monitor。
二、local monitor
一般来说,local monitor是以c