[发明专利]用于多线程处理的使用信号量的方法和设备有效

专利信息
申请号: 201110460725.5 申请日: 2004-12-23
公开(公告)号: CN102622271A 公开(公告)日: 2012-08-01
发明(设计)人: 江宏;T·A·皮亚扎 申请(专利权)人: 英特尔公司
主分类号: G06F9/48 分类号: G06F9/48;G06F9/52
代理公司: 上海专利商标事务所有限公司 31100 代理人: 姬利永
地址: 美国加利*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 多线程 处理 使用 信号量 方法 设备
【说明书】:

本发明专利申请是国际申请日为2004年12月23日、中国国家阶段申请号为200480039052.4、题为“基于行为模型的多线程体系结构”的专利申请的分案申请。

技术领域

本发明涉及用于多线程处理的技术和体系结构,尤其涉及用于多线程处理的使用信号量的技术和体系结构。

背景

“信号量”(也称为“临界段”或“互斥信号”)是一种允许其中多个进程竞争共享资源(例如,存储器、文件)的操作的协调或同步的硬件和软件构造。一般而言,信号量是储存在操作系统存储器的指定位置中进程可检查和改变的值。基于信号量的值,进程可访问共享资源,或等待一段时间并再次检查信号量。

常规计算机系统中的信号量通常使用对原子“测试与置位”或相似类型的指令(例如,锁定、位测试、位测试与置位、位测试与复位)的硬件支持而被实现为软件例程。使用该信号量实现,可通过共享(例如,全局)数据以及一个或多个信号量来建立生产者-消费者通信关系。信号量允许由试图修改数据的多个进程中选中的一个来修改共享数据,这提供了数据一致性。

该信号量构造是“被动的”,因为线程必须执行轮询操作来获取信号量。轮询需求消耗了以别的方式可用于其它目的的处理器和系统资源。因此,传统的信号量会导致效率低下。

附图简述

在附图的各图中作为示例而非局限示出了本发明,附图中,相同的参考标号引用相同的元素。

图1是大量的多线程处理器体系结构的一个实施例的框图。

图2是线程调度和信号量初始化操作的协调的一个实施例的流程图。

图3a-3d是其中可使用信号量来同步线程执行的从属关系的概念图示。

详细描述

在以下描述中,为解释起见,陈述了众多具体细节以提供对本发明的全面理解。然而,本领域的技术人员可以清楚,本发明可不采用这些具体细节来实施。在其它情况下,以框图形式示出了结构和设备以避免模糊本发明。

对主动信号量的示例使用的综述

此处所描述的是其中多个并行被动指令线程(后文称为“线程”)使用“主动”信号量来协调对共享资源的访问的体系结构和相关联的方法。该信号量被称为主动的是因为信号量实体向执行和/或控制电路发送消息以使线程状态改变。例如,线程可由线程调度器响应于未决从属关系而置于睡眠(或不活动)模式,这可由信号量来指示。对应于该从属关系的线程状态变量用于指示该线程处于睡眠模式中。

当解决了从属关系时,向控制电路(例如,线程调度器)传递一消息,以使该从属关系变量被清除。响应于所清除的从属关系变量,该线程被置于活动(或唤醒)状态中。执行可在活动状态的线程上继续。

继续上述示例,如果线程试图获取信号量却无法获得,则该线程被置于不活动状态。由于线程是不活动的,因此它无法轮询该信号量以确定由该信号量指示的从属关系何时被解决,这是现有技术中所需要的。该线程保留在不活动状态,直到接收(例如,从信号量实体)到指示从属关系被解决的消息。响应于该消息,线程被置于活动状态中,这允许执行继续。

图1是大量多线程处理器体系结构的一个实施例的框图。如此处所使用的,标签“大量多线程”体系结构指的是包括可支持多线程执行的多个处理器的体系结构。在一个实施例中,每一处理器可支持一个或多个线程。单个处理器上的多线程通过允许在其它线程处于非活动状态的同时执行活动线程来实现高执行效率。在信号量上待决的非活动状态中的线程不会消耗/浪费处理器资源。尽管描述是针对大量多线程体系结构的,但是信号量构造和相关联的方法适用于任何多线程体系结构,而无论支持的线程数是多少。

大量多线程系统100包括储存要在执行期间由一个或多个处理核心使用的数据和指令的存储器分层结构110。存储器分层结构110可以包括本领域中已知的任何方式的动态随机存取存储器(DRAM)、一级或多级指令高速缓存、一级或多级数据高速缓存、以及一级或多级共享指令和数据高速缓存。线程分派器120与存储器分层结构110耦合,它接收诸如与新线程相关联的指令指针以及数据和/或数据指针等信息。线程分派器120也经由消息总线125与处理核心耦合。在一个实施例中,线程分派器120负责管理处理核心的线程资源。在接收新待决线程之后,线程分派器120选择具有执行该待决线程的资源的一个处理核心,并将该线程分派到所选择的处理核心。在处理核心上完成现有线程之后,通知线程分派器120,从而使得该处理核心上的线程资源可用于将来的待决线程。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110460725.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top