处理器访问共享数据的方法、装置及系统制造方法及图纸

技术编号:3909812 阅读:323 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种处理器访问共享数据的方法、装置及系统,涉及计算机领域,解决了存储系统效率较低的问题。该方法包括:处理器通过硬件线程向存储系统发送存储块锁定命令,以指示所述存储系统将所述存储块锁定;在预设的时钟周期内,判断是否接收到所述存储系统发送的所述存储块锁定完成信息;若在预设的时钟周期内,接收到所述存储系统发送的所述存储块锁定完成信息,则调度所述硬件线程访问所述存储块中的共享数据;若在预设的时钟周期内,没有接收到所述存储系统发送的所述存储块的锁定完成信息,则所述硬件线程继续等待所述存储系统发送的存储块锁定完成信息。本发明专利技术实施例主要用于多处理器系统下处理器访问共享数据的过程中。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及处理器访问共享数据的方法、装置及系统
技术介绍
当前,多处理器系统蓬勃发展,其中多处理器通过共享存储器来处理数据, 是多处理器处理数据的主要方式之一。所谓多处理器共享存储器是多个处理器 共享单个集中式的存储器。目前多处理器共享存储器的结构主要是三级的存储结构,即多个处理器中的每个处理器有自己私有的容量比较小的一级高速緩沖存储器(Cache),所述多个处理器共享的容量比较大的二级高速缓冲存储器, 最后所述多个处理器共享海量的单一物理存储器。具有该种存储器结构的多处 理系统结构比较简单,性价比合算,得到了广泛应用。但是,当所述多个处理器访问共享数据时,如果所述多处理器中的各个处 理器的读写顺序没有合理的处理,导致多个处理器同时并发的读写共享存储器 中的同一块存储区所包含的共享数据,使各处理器的读写互相交织,从而导致 任何一个处理器都无法正确的访问所述共享存储器中的共享数据。为了使多个处理器在访问共享数据时,能够排他性的访问共享存储器中的 共享数据,现有技术中有以下两种处理方法,该两种多处理器访问共享数据的 方法具体为第一种,采用总线锁技术,实现多处理器排他性的访问共享数据。该方法 具体为在处理器访问共享数据之前,查询总线是否处于非锁定状态,在总线 处于非锁定状态时,通过命令将整个总线或者整个存储系统锁住,使除了所述处理器以外,其他处理器或者总线设备都不得访问存储系统中的共享数据,保 证所述处理器对共享数据的独占访问。该方法虽然可以实现多处理器在并发的读写共享数据时排他性的访问共享 数据,但是,由于该方法是将整个通信总线或者整个存储系统锁定,只允许所 述一个处理器使用所述总线和存储系统,使其他不访问共享数据的操作也无法 进行,从而导致整个系统的利用率比较低。第二种,采用软件锁技术,实现多处理器排他性的访问共享数据。所述软 件锁,就是一个共享的变量,各处理器通过系统提供的原子操作指令,争夺这 个变量的某个固定值(比如该固定值为0),哪个处理器获得了这个值,就代表 哪个处理器获得了排他性访问共享数据的权利,便可以排他性的访问所述共享 数据。该方法在实现多处理器排他性的访问共享数据时,由各处理器之间竟争软 件锁来实现排他性的访问共享数据,不用将整个通信总线或者整个存储系统锁 定,即不用将整个通信总线或者整个存储系统独占,^使其他非访问共享数据的操作可以正常进行,在一定程度上提高了系统的利用率;但是该种通过软件锁 技术实现多处理器排他性的访问共享数据的方法,需要各处理器不停的向存储 器发出存储器访问命令,直到获取软件锁成功为止,使所述处理器无谓的增加 很多无效访问,而所述存储系统要不断的处理所述无效访问,使存储系统效率 较低。
技术实现思路
本专利技术的实施例提供一种处理器访问共享数据的方法、装置及系统,提高 了存储系统的效率。为达到上述目的,本专利技术的实施例采用如下技术方案6一种处理器访问共享数据的方法,包括通过硬件线程向存储系统发送存储块锁定命令,以指示存储系统将所述存储块锁定;在预设的时钟周期内,判断是否接收到所述存储系统发送的所述存储块锁定完成信息;若在预设的时钟周期内,接收到所述存储系统发送的所述存储块锁定完成 信息,则调度所述硬件线程访问所述存储块中的共享数据;若在预设的时钟周期内,没有接收到所述存储系统发送的所述存储块锁定 完成信息,则所述硬件线程继续等待所述存储系统发送的存储块锁定完成信息。一种处理器,包括发送单元,用于通过硬件线程向存储系统发送存储块锁定命令,以指示所 述存储系统将所述存储块锁定;判断单元,用于在预设的时钟周期内,判断是否接收到所述存储系统发送 的所述存储块锁定完成信息;执行单元,用于当在预设的时钟周期内,所述判断单元判定接收到所述存 储系统发送的所述存储块锁定完成信息时,调度所述硬件线程访问所述存储块 中的共享ll据;所述执行单元,还用于在预设的时钟周期内,所述判断单元判定没有接收 到所述存储系统发送的所述存储块锁定完成信息,所述硬件线程继续等待所述 存储系统发送的存储块锁定完成信息。一种处理器访问共享数据的系统,包括处理器系统和存储系统,所述处理 器系统由至少一个处理器构成;所述处理器通过硬件线程向存储系统发送存储 块锁定命令,以指示所述存储系统将所述存储块锁定;在预设的时钟周期内,判断是否接收到所述存储系统发送的所述存储块锁定完成信息;若在预设的时 钟周期内,接收到所述存储系统发送的所述存储块锁定完成信息,则调度所述 硬件线程访问所述存储块中的共享数据;若在预设的时钟周期内,所述处理器 没有接收到所述存储系统发送的所述存储块锁定完成信息,则所述硬件线程继 续等待所述存储系统发送的存储块锁定完成信息。所述存储系统接收所述处理器发送的存储块锁定命令,并将所述存储块锁 定完成信息发送给所述处理器,以指示所述处理器访问所述锁定的存储块所包 含的共享数据。本专利技术技术方案,在处理器访问共享数据时,通过处理器的硬件线程向所 述存储系统发送锁定共享数据所在的存储块;并在接收到所述存储系统返回的 所述存储块锁定完成信息时,通过调度所述硬件线程访问所述锁定的存储块所 包含的共享数据;使所述处理器获得所述共享数据的访问权限时,只需要等待 所述存储系统发送的所述存储块锁定完成信息即可,不需要不断的向所述存储 系统发送访问所述共享数据的请求信息,使所述存储系统不用处理过多的无效 访问,提高了所述存储系统效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地,下面描述 中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例1中处理器访问共享数据的方法流程图2为本专利技术实施例1中存储系统共享数据的方法流程图3为本专利技术实施例1和2中处理器的组成框图;图4为本专利技术实施例1和2中存储系统的组成框图; 图5为本专利技术实施例1中处理器访问共享数据的系统组成框图; 图6为本专利技术实施例2中处理器访问共享数据的方法流程图; 图7为本专利技术实施例2中存储系统共享数据的方法流程图; 图8为本专利技术实施例2中处理器访问共享数据的系统组成框图; 图9为本专利技术实施例3中处理器访问共享数据的操作流程图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是 全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1本专利技术实施例提供一种处理器访问共享数据的方法,如图1所示,该方法 包括101、 处理器通过硬件线程向存储系统发送存储块锁定命令,以指示存储系 统将所述存储块锁定,以^^所述处理器可以排他性的访问所述共享数据。102、 在将所述存储块的锁定命令发送给所述存储系统后,所述处理器需要 在预设的时钟周期内,判断是否接收到所述存储系统发送的所述存储块锁定完 成信息,所述预设的时钟周期为一经验值,可以根据存储系统执行指令的周期 设定;若在预设的时钟周期内,所述处理本文档来自技高网
...

【技术保护点】
一种处理器访问共享数据的方法,其特征在于,包括 通过硬件线程向存储系统发送存储块锁定命令,以指示所述存储系统将所述存储块锁定; 在预设的时钟周期内,判断是否接收到所述存储系统发送的所述存储块锁定完成信息; 若在预设的时钟周期内,接收到所述存储系统发送的存储块锁定完成信息,则调度所述硬件线程访问所述存储块中的共享数据; 若在预设的时钟周期内,没有接收到所述存储系统发送的所述存储块锁定完成信息,则所述硬件线程继续等待所述存储系统发送的所述存储块锁定完成信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:高秋明
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1