[发明专利]线程运行方法及装置有效
申请号: | 201310370098.5 | 申请日: | 2013-08-22 |
公开(公告)号: | CN104424027B | 公开(公告)日: | 2018-07-13 |
发明(设计)人: | 张立新;侯锐;冯晓兵 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用户线 线程运行 硬件线程 目标硬件 分配 调度器 线程 调度配置 分配请求 系统资源 指令执行 响应 操作系统 发送 返回 | ||
1.一种线程运行方法,其特征在于,包括:
正在运行的当前用户线程向操作系统OS发送硬件线程分配请求;
接收所述OS返回的硬件线程分配响应,所述硬件线程分配响应包括所述OS分配的目标硬件线程的标识;
所述当前用户线程指示待运行用户线程在所述目标硬件线程中运行。
2.根据权利要求1所述的方法,其特征在于,所述当前用户线程指示待运行用户线程在所述目标硬件线程中运行,包括:
所述当前用户线程执行线程启动指令,以使所述待运行用户线程在所述目标硬件线程中运行。
3.根据权利要求2所述的方法,其特征在于,所述当前用户线程执行线程启动指令之前,还包括:
初始化所述目标硬件线程的系统寄存器。
4.根据权利要求2或3所述的方法,其特征在于,所述当前用户线程执行线程启动指令,包括:
将所述待运行用户线程的函数入口值、参数个数和参数内容分别拷贝到所述目标硬件线程的相应通用寄存器中。
5.根据权利要求4所述的方法,其特征在于,所述将所述待运行用户线程的函数入口值、参数个数和参数内容分别拷贝到所述目标硬件线程的相应寄存器中,包括:
将所述线程启动指令译码为三条微指令,所述三条微指令分别用于将所述待运行用户线程的函数入口值拷贝到所述目标硬件线程的程序计数器PC中,将所述待运行用户线程的参数个数拷贝到所述目标硬件线程的第一寄存器,将所述待运行用户线程的各参数拷贝到所述目标硬件线程的第二寄存器;并行执行所述三条微指令。
6.根据权利要求4所述的方法,其特征在于,所述将所述待运行用户线程的函数入口值、参数个数和参数内容分别拷贝到所述目标硬件线程的相应寄存器中,包括:
对所述线程启动指令进行译码;
依次执行将所述待运行用户线程的函数入口值拷贝到所述目标硬件线程的PC中,将所述待运行用户线程的参数个数拷贝到所述目标硬件线程的第一寄存器,将所述待运行用户线程的各参数拷贝到所述目标硬件线程的第二寄存器。
7.根据权利要求3所述的方法,其特征在于,所述初始化所述目标硬件线程的系统寄存器之后,还包括:
将所述目标硬件线程的程序状态寄存器PSR的激活位设置为0。
8.根据权利要求7所述的方法,其特征在于,所述当前用户线程执行线程启动指令之后,还包括:
将所述目标硬件线程的PSR的激活位设置为1。
9.根据权利要求2所述的方法,其特征在于,所述当前用户线程执行线程启动指令之后,还包括:
所述当前用户线程执行所述当前用户线程的指令流中所述线程启动指令之后的指令。
10.根据权利要求1或2所述的方法,其特征在于,所述待运行用户线程为指令行数不超过800行的用户线程。
11.一种线程运行方法,其特征在于,包括:
操作系统OS接收正在运行的当前用户线程发送的硬件线程分配请求;
确定一个可用的目标硬件线程;
向所述当前用户线程返回硬件线程分配响应,所述硬件线程分配响应包括所述目标硬件线程的标识,以使所述当前用户线程指示待运行用户线程在所述目标硬件线程中运行。
12.根据权利要求11所述的方法,其特征在于,所述确定一个可用的目标硬件线程,包括:
选择一个除运行所述当前用户线程的硬件线程之外的目标硬件线程,停止所述目标硬件线程中正在运行的用户线程,并将所述目标硬件线程中已停止运行的用户线程从所述目标硬件线程中调离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310370098.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种圆形橡胶织带的生产工艺及其装置
- 下一篇:请求的处理方法和处理设备