[发明专利]共享内存映射页的处理器系统产生进程号的方法及装置有效
申请号: | 201410166051.1 | 申请日: | 2014-04-24 |
公开(公告)号: | CN103995739B | 公开(公告)日: | 2017-12-19 |
发明(设计)人: | 张耀文;陈奇;江锋;刘波 | 申请(专利权)人: | 深圳中微电科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 深圳市科吉华烽知识产权事务所(普通合伙)44248 | 代理人: | 刘显扬 |
地址: | 518057 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 内存 映射 处理器 系统 产生 进程 方法 装置 | ||
技术领域
本发明涉及多线程处理器,更具体地说,涉及一种共享内存映射页的处理器系统产生进程号的方法及装置。
背景技术
在处理器领域,MMU(Memory Management Unit,内存管理单元)是处理器中用于管理虚拟存储器和物理存储器之间映射的电路,其用于将线性地址映射为物理地址,提供硬件机制的内存访问授权。多线程处理器具有多个物理线程(或硬件指令管道),每个物理线程在其上有软件线程运行时,均需要为其做出相应的存储器映射。所以,多个物理线程将分别对应不同的存储器区域。对于现有技术而言,在多线程处理器中,处理器中MMU映射页有以下形式:基于线程的页映射,该基于线程的页映射的MMU结构如图1所示,这种结构硬件电路庞大(芯片面积大),此外,在有空闲线程(物理线程)时,由于其他正在运行的线程无法使用其页映射,造到资源浪费;现有技术中另一种MMU映射是线程间共享的页映射,线程间共享的页映射的MMU结构如图2所示,这种结构可最大化利用映射页资源,线程动态分配映射页,不论多少个线程在运行,所有的映射页都能被有效利用;这种结构可大大减少硬件电路,减少芯片面积。但是这种结构面临软件对进程ID(以下简称PID)管理问题:软件为线程中的进程分配不同的PID,进程通过PID来标识MMU中属于自己的映射页。由于线程间共享MMU映射页,且PID是循环的数值,这样就可能出现不同线程下的进程同时使用相同的PID的情况。这种情况造成进程使用其他线程下进程的映射页,这种错误对于此进程来说是极其致命的。虽然可以在软件上对其进行改进,使得多个物理线程之间不会使用重复的PID,但是,这样做的后果是使得软件的开销变得极大,其处理性能受到较大的限制。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述芯片面积较大、操作系统软件开销较大、性能受到限制的缺陷,提供一种芯片体积较小、操作系统软件开销较小、性能较好的共享内存映射页的处理器系统产生进程号的方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种共享内存映射页的处理器系统产生进程号的方法,包括如下步骤:
A)运行在多个物理线程上的软件线程分别上报其正在使用的进程编号,并在需要产生新的进程时,发送进程编号请求到进程监测单元;
B)依据各线程上报的进程编号数据,进程监测单元由设定的进程编号中选择未被使用的进程编号作为当前可用编号,并按照设定的规则选择一个作为当前进程编号;
C)在所述多个物理线程中存在进程请求的情况下,按照物理线程的编号顺序形成请求队列,逐一将当前进程编号发送到发出请求的物理线程;一个当前进程编号被发送后,按照设定规则在所述可用编号中选择一个新的当前编号;
D)发送进程编号的物理线程接收所述进程监测单元发送的当前进程编号,并将其作为正在产生的进程编号,产生新进程。
更进一步地,所述步骤A)中,物理线程上报的进程编号包括在其上运行的所有进程的编号;所述进程编号请求中包括该物理线程的编号。
更进一步地,所述步骤B)进一步包括:
B1)进程监测单元按照上报的物理线程的编号,依次取得其上正在运行的进程编号;
B2)在允许使用的全部进程编号中除去由上述各物理线程上报的进程编号,剩下的即为当前可用的进程编号;选择当前可用的进程编号中最小一个作为当前进程编号并将其由所述当前可用的进程编号除去。
更进一步地,所述步骤C)中进一步包括:
C1)判断一个物理线程是否发送进程编号请求,如是执行步骤C2);否则,跳转到步骤C4);
C2)发送当前进程编号到该物理线程;
C3)由所述当前可用的进程编号中选择最小一个作为当前进程编号并将其由所述当前可用的进程编号除去;
C4)是否完成所有物理线程的编号请求判断,如是,退出;否则,进入下一个物理线程并跳转到步骤C1)。
更进一步地,一个所述物理线程分别通过不同的数据线传输数据到所述进程监测单元和接收来自所述进程监测单元的进程编号;多个物理线程分别通过不同的数据线与所述进程监测单元连接。
本发明还涉及一种实现上述方法的装置,包括:
上报及请求单元:用于将运行在多个物理线程上的软件线程分别上报其正在使用的进程编号,并在需要产生新的进程时,发送进程编号请求到进程监测单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳中微电科技有限公司,未经深圳中微电科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410166051.1/2.html,转载请声明来源钻瓜专利网。