The invention relates to a method for producing the process of sharing processor system memory mapped pages, which comprises the following steps: report is the use of the process number, and generate new process when needed, the sending process number request to process monitoring unit; get the current available process number, and select a number as the current process of formation; the request queue, one by one number is sent to the current process of physical process thread number requested; update the current process number; the current process number receives the process monitoring unit transmits, and as is the process number, new process. The invention also relates to a device for realizing the above method. The method and device for generating the process number by implementing the processor system of the shared memory mapping page of the invention has the following beneficial effects: the cost of generating the new process is smaller, the internal mapping efficiency of the processor is higher, and the performance is better.
【技术实现步骤摘要】
共享内存映射页的处理器系统产生进程号的方法及装置
本专利技术涉及多线程处理器,更具体地说,涉及一种共享内存映射页的处理器系统产生进程号的方法及装置。
技术介绍
在处理器领域,MMU(MemoryManagementUnit,内存管理单元)是处理器中用于管理虚拟存储器和物理存储器之间映射的电路,其用于将线性地址映射为物理地址,提供硬件机制的内存访问授权。多线程处理器具有多个物理线程(或硬件指令管道),每个物理线程在其上有软件线程运行时,均需要为其做出相应的存储器映射。所以,多个物理线程将分别对应不同的存储器区域。对于现有技术而言,在多线程处理器中,处理器中MMU映射页有以下形式:基于线程的页映射,该基于线程的页映射的MMU结构如图1所示,这种结构硬件电路庞大(芯片面积大),此外,在有空闲线程(物理线程)时,由于其他正在运行的线程无法使用其页映射,造到资源浪费;现有技术中另一种MMU映射是线程间共享的页映射,线程间共享的页映射的MMU结构如图2所示,这种结构可最大化利用映射页资源,线程动态分配映射页,不论多少个线程在运行,所有的映射页都能被有效利用;这种结构可大大减少硬件电路,减少芯片面积。但是这种结构面临软件对进程ID(以下简称PID)管理问题:软件为线程中的进程分配不同的PID,进程通过PID来标识MMU中属于自己的映射页。由于线程间共享MMU映射页,且PID是循环的数值,这样就可能出现不同线程下的进程同时使用相同的PID的情况。这种情况造成进程使用其他线程下进程的映射页,这种错误对于此进程来说是极其致命的。虽然可以在软件上对其进行改进,使得多个物理线程之 ...
【技术保护点】
一种共享内存映射页的处理器系统产生进程号的方法,其特征在于,包括如下步骤:A)运行在多个物理线程上的软件线程分别上报其正在使用的进程编号,并在需要产生新的进程时,发送进程编号请求到进程监测单元;其中,进程通过进程编号来标识内存管理单元中属于自己的映射页;B)依据各线程上报的进程编号数据,进程监测单元由设定的进程编号中选择未被使用的进程编号作为当前可用编号,并按照设定的规则选择一个作为当前进程编号;C)在所述多个物理线程中存在进程请求的情况下,按照物理线程的编号顺序形成请求队列,逐一将当前进程编号发送到发出进程编号请求的物理线程;一个当前进程编号被发送后,按照设定规则在所述可用编号中选择一个新的当前编号;D)发送进程编号请求的物理线程接收所述进程监测单元发送的当前进程编号,并将其作为正在产生的进程编号,产生新进程;其中,所述进程监测单元分别与所述多个物理线程通过不同的数据线连接,一个物理线程上传数据或请求到所述进程监测单元的数据线与接收由所述进程监测单元发出数据的数据线是不同的或分开的。
【技术特征摘要】
1.一种共享内存映射页的处理器系统产生进程号的方法,其特征在于,包括如下步骤:A)运行在多个物理线程上的软件线程分别上报其正在使用的进程编号,并在需要产生新的进程时,发送进程编号请求到进程监测单元;其中,进程通过进程编号来标识内存管理单元中属于自己的映射页;B)依据各线程上报的进程编号数据,进程监测单元由设定的进程编号中选择未被使用的进程编号作为当前可用编号,并按照设定的规则选择一个作为当前进程编号;C)在所述多个物理线程中存在进程请求的情况下,按照物理线程的编号顺序形成请求队列,逐一将当前进程编号发送到发出进程编号请求的物理线程;一个当前进程编号被发送后,按照设定规则在所述可用编号中选择一个新的当前编号;D)发送进程编号请求的物理线程接收所述进程监测单元发送的当前进程编号,并将其作为正在产生的进程编号,产生新进程;其中,所述进程监测单元分别与所述多个物理线程通过不同的数据线连接,一个物理线程上传数据或请求到所述进程监测单元的数据线与接收由所述进程监测单元发出数据的数据线是不同的或分开的。2.根据权利要求1所述的共享内存映射页的处理器系统产生进程号的方法,其特征在于,所述步骤A)中,物理线程上报的进程编号包括在其上运行的所有进程的编号;所述进程编号请求中包括该物理线程的编号。3.根据权利要求2所述的共享内存映射页的处理器系统产生进程号的方法,其特征在于,所述步骤B)进一步包括:B1)进程监测单元按照上报的物理线程的编号,依次取得其上正在运行的进程编号;B2)在允许使用的全部进程编号中除去由上述各物理线程上报的进程编号,剩下的即为当前可用的进程编号;选择当前可用的进程编号中最小一个作为当前进程编号并将其由所述当前可用的进程编号除去。4.根据权利要求3所述的共享内存映射页的处理器系统产生进程号的方法,其特征在于,所述步骤C)中进一步包括:C1)判断一个物理线程是否发送进程编号请求,如是执行步骤C2);否则,跳转到步骤C4);C2)发送当前进程编号到该物理线程;C3)由所述当前可用的进程编号中选择最小一个作为当前进程编号并将其由所述当前可用的进程编号除去;C4)是否完成所有物理线程的编号请求判断,如是,退出;否则,进入下一个物理线程并跳转到步骤C1)。5.根据权利要求4所述的共享内存映射页的处理器系统产生进程号的方法,其特征在于,一个所述物理线程分别通过不同的数据线传输数据到所述进程监测单元和接收来自所述进程监测单元的进程编号;多个物理线程分别通过不同的数据线与所述进程监测单元连接。6.一种共享内存映射页的处理...
【专利技术属性】
技术研发人员:张耀文,陈奇,江锋,刘波,
申请(专利权)人:深圳中微电科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。