[发明专利]一种多处理器系统、装置及方法有效
| 申请号: | 200710304657.7 | 申请日: | 2007-12-28 |
| 公开(公告)号: | CN101216781A | 公开(公告)日: | 2008-07-09 |
| 发明(设计)人: | 安学军;王凯;李晓民;孙凝晖;苗艳超 | 申请(专利权)人: | 中国科学院计算技术研究所 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F15/17 |
| 代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;陈振 |
| 地址: | 100080北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 处理器 系统 装置 方法 | ||
技术领域
本发明涉及在多处理器系统内实现资源共享的领域,特别是涉及一种全局统一编址的多处理器系统、多处理器系统中的硬件锁装置及硬件锁的访问方法。
背景技术
在处理大规模、计算密集的应用时,通常需要有多个处理器的计算机系统来执行运算。这种系统由许多相同的处理器节点构成,每个节点都包含计算机的4个基本组成部分:运算器、控制器、存储器和输入输出设备;所有的处理器节点通过互连网络连接到一起。
多处理器系统中每个处理器节点可以与其它处理器节点间共享资源。
多处理器系统面对的一个问题是处理器节点间资源的有序共享问题,具体的体现就是进程间的互斥操作。
现有技术中,为实现进程间的互斥操作,在多处理器问设置硬件锁,处理器节点通过使用硬件锁来实现对资源的独享,避免进程间的冲突而导致系统的崩溃。
常见的硬件锁为测试和置位锁,它简单并且对于大多数应用是足够的。
测试和置位锁通常是依靠硬件的读修改写操作实现的,读修改写操作由读和其后没有中断的写组成。
测试和置位锁的设置如下:如果未锁定的状态是0而锁定的状态是1,则处理器节点通过尝试对锁的读修改操作来获取锁,读修改操作允许1被写到存储器的位置并返回先前处于该位置(在写之前)的值;如果返回的值是0,则说明在读修改操作前锁是打开的,并被此次操作修改为1,即锁定;如果返回的值是1,则说明锁在读修改操作之前已经被锁定了,修改操作写入的1不会影响锁定的状态。对硬件锁的写0操作可以释放锁定,打开锁。
对于共享内存的多处理器系统,硬件锁通常是用内存实现的,用内存实现硬件锁就是将某个或某些内存地址的值与多处理器系统中的共享资源建立一一对应的关系,对这些内存值的特殊的访问和修改命令就实现了对共享资源的锁定和释放。
但是,通过内存实现的硬件锁访问内存时需要使用存储总线,完成一次存取需要十几个周期甚至几十个周期,时间过长,不能快速地进行硬件锁的操作,影响多处理器系统的整体性能。
发明内容
本发明的目的在于提供一种多处理器系统、装置及方法,其能提供简单、快速的硬件锁实现,简化硬件,实现快速地访问共享资源。
为实现本发明的目的而提供的一种多处理器硬件锁装置,包括多个硬件锁和网络接口,还包括:
I/O总线接口,用于硬件锁装置与处理器之间的连接;
全局地址配置模块,用于对每个所述硬件锁编设其对应的全局地址,并在处理器通过网络接口远程访问所述硬件锁时,根据远程访问指令中的全局地址映射到相应的所述硬件锁;
本地地址配置模块,用于对每个所述硬件锁编设其对应的本地地址,并在处理器通过所述I/O总线接口访问所述硬件锁,根据本地访问指令中的本地地址映射到相应的所述硬件锁。
所述硬件锁是用1比特位实现的测试和位置锁,每4个字节表示一个锁,仅最低位有效。
所述访问指令,为32位的读/写访问指令,通过全局地址配置模块和本地地址配置模块对硬件锁装置中的多个硬件锁编设地址后,每个处理器可以通过读/写指令访问该硬件锁。
所述全局地址配置模块,采取全局统一编址方法对所述硬件锁进行编址。
所述本地地址配置模块,采取本地连续编址方法对所述硬件锁进行编址。
所述本地连续编址方法,是指所述硬件锁对应的本地地址是连续的,第一个硬件锁的地址为操作系统设置的硬件锁装置的基地址,第二个锁的地址为基地址加上4,第n个锁的地址为基地址加上4(n-1)。
本发明还提供一种多处理器系统,包括多个处理器节点,其中每个处理器节点包括至少两个处理器,用于连接处理器节点内的至少两个处理器的I/O总线,处理器间的共享资源,处理器节点之间通过互连网络连接,其特征在于,其中每个处理器节点还包括:
一硬件锁装置,通过硬件锁装置上的网络接口与互连网络连接,用于编设与该装置中的多个硬件锁相对应的全局地址和本地地址,实现节点间的共享资源访问和节点内的共享资源访问。
所述每个处理器节点包括的至少两个本地处理器。
所述本地处理器通过本地地址和全局地址两种方式访问所述硬件锁装置。
所述多个处理器通过全局地址访问所述硬件锁。
所述硬件锁装置,包括多个硬件锁,网络接口,I/O总线接口,全局地址配置模块和本地地址配置模块,其中:
所述总线接口,用于硬件锁装置与处理器之间的连接;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710304657.7/2.html,转载请声明来源钻瓜专利网。





