用一个具体的 多核处理器协同工作 场景来说明上述多拷贝原子性的两个核心要求。
场景:一个包含四个CPU核心(Core A, B, C, D)的片上系统,它们共享同一片内存。内存中有一个共享的
任务标志变量,初始值为0。
要求一:同一位置的写入被所有代理以相同顺序观察
行为:
Core A 将
任务标志从0写入1(表示“任务开始”)。稍后,Core B 将
任务标志从1写入2(表示“任务完成”)。
在多拷贝原子系统中:
无论 Core C 和 Core D 在何时、以何种速度读