【技术实现步骤摘要】
保持多处理器共享内存数据一致性的方法和多处理器系统
本专利技术计算机
,尤其涉及一种保持多处理器共享内存数据一致性的方法和多处理器系统。
技术介绍
在多处理器系统中,系统总线将多个处理器连接在一起,系统内存可以被各个处理器访问。各个处理器独立运行,但有时需要相互协作来完成特定任务,为此,多个处理器可以通过访问系统内存中一块公共的内存块作为共享内存,以实现数据共享。各个处理器的缓存中都存在一份共享内存数据的副本。然而,不同的处理器读写各自的缓存会导致缓存中的数据与系统内存出现差异,系统运行会由于共享内存数据不一致而出错。为解决这个问题,现有的办法是针对共享内存块禁用处理器的缓存,各处理器直接读写系统内存完成对共享内存的操作,但是这样会导致处理器读写共享内存的速度严重下降。
技术实现思路
有鉴于此,本专利技术实施例提供一种保持多处理器共享内存数据一致性的方法和多处理器系统,用于解决现有多处理器系统中处理器访问共享内存数据不一致的问题,以及禁用缓存来实现读写内存会造成处理器性能下降的问题。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种保持多处理器共享内存数据一致性的方法,用于多处理器系统,所述多处理器系统中包括至少一个主处理器和至少一个从处理器,所述主处理器具有共享内存写入权限,所述从处理器无共享内存写入权限,各处理器通过系统总线彼此相连,且共用系统内存中预先划分的共享内存,所述方法包括:所述主处理器更新自身缓存中与所 ...
【技术保护点】
1.一种保持多处理器共享内存数据一致性的方法,其特征在于,用于多处理器系统,所述多处理器系统中包括至少一个主处理器和至少一个从处理器,所述主处理器具有共享内存写入权限,所述从处理器无共享内存写入权限,各处理器通过系统总线彼此相连,且共用系统内存中预先划分的共享内存,所述方法包括:/n所述主处理器更新自身缓存中与所述共享内存对应的缓存数据,并将更新后的与所述共享内存对应的缓存数据写入所述共享内存;/n所述主处理器通知所述从处理器更新缓存;/n所述从处理器清除自身缓存中与所述共享内存对应的缓存数据,并读取当前所述共享内存中的数据写入自身与所述共享内存对应的缓存中。/n
【技术特征摘要】
1.一种保持多处理器共享内存数据一致性的方法,其特征在于,用于多处理器系统,所述多处理器系统中包括至少一个主处理器和至少一个从处理器,所述主处理器具有共享内存写入权限,所述从处理器无共享内存写入权限,各处理器通过系统总线彼此相连,且共用系统内存中预先划分的共享内存,所述方法包括:
所述主处理器更新自身缓存中与所述共享内存对应的缓存数据,并将更新后的与所述共享内存对应的缓存数据写入所述共享内存;
所述主处理器通知所述从处理器更新缓存;
所述从处理器清除自身缓存中与所述共享内存对应的缓存数据,并读取当前所述共享内存中的数据写入自身与所述共享内存对应的缓存中。
2.根据权利要求1所述的保持多处理器共享内存数据一致性的方法,其特征在于,所述主处理器通知所述从处理器更新缓存,包括:
所述主处理器向所述从处理器对应的同步寄存器写入预设控制字;
所述从处理器清除自身缓存中与所述共享内存对应的缓存数据,包括:
所述从处理器对应的同步寄存器根据所述预设控制字,触发所述从处理器清除自身缓存中与所述共享内存对应的缓存数据。
3.根据权利要求2所述的保持多处理器共享内存数据一致性的方法,其特征在于,多个所述从处理器各自对应一个所述同步寄存器,或者多个所述从处理器对应同一个所述同步寄存器。
4.根据权利要求1所述的保持多处理器共享内存数据一致性的方法,其特征在于,在所述主处理器更新自身缓存中与所述共享内存对应的缓存数据之前,还包括:
确定当前多处理器系统中的主处理器和从处理器;
打开所述主处理器对所述共享内存的写入权限,关闭所述从处理器对所述共享内存的写入权限。
5.根据权利要求4所述的保持多处理器共享内存数据一致性的方法,其特征在于,所述确定当前多处理器系统中的主处理器,包括:
在当前多处理器系统中指定多个主处理器;
所述主处理器更新自身缓存中与所述共享内存对应的缓存数据,并将更新后的与所述共享内存对应的缓存数据写入所述共享内存,包括:
多个主处理器各自更新自身缓存中与所述共享内存对应的缓存数据;
根据预先设置的同步机制,控制本次更新缓存的多个主处理器将更新后的与所述共享内存对应的缓存数据先后写入系统的共享内存中。
6.根据权利要求1所述的保持多处理器共享内存数据一致性的方法,其特征在于,在所述主处理器更新自身缓存中与所述共享内存对应的缓存数据之前,还包括:
在系统内存中为所述主处理器和从处理器分配共享内存;...
【专利技术属性】
技术研发人员:冯浩,应志伟,
申请(专利权)人:海光信息技术有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。