1.一种满足SystemC语法的多核处理器的处理单元,包括:动态进程生成单元,与所述处理单元的交换单元适配器和处理器核相连,用于基于进程句柄使用地址重新映射来生成动态进程;所述动态进程生成单元包括:数据接收引擎、数据发送引擎、动态进程生成引擎和SC_SPAWN寄存器组;其中,所述SC_SPAWN寄存器组用于存储进程句柄和进程生成命令和进程处理单元地址;所述动态进程生成引擎根据SC_SPAWN寄存器组中的进程句柄和进程生成命令并通过所述进程处理单元地址来控制数据发送引擎发送数据包;所述数据发送引擎根据来自动态进程生成引擎的发送请求来发送数据包到交换单元适配器;所述数据接收引擎接收来自交换单元适配器的数据包,确定所述数据包中所包含的内容并提交给动态进程生成引擎。
2.权利要求1的处理单元,其中,所述动态进程生成单元通过信号组连接到所述处理单元的处理器核交换单元桥,所述信号组用于实现处理器数据和指令总线地址到实际存储器地址的转换。
3.权利要求2的处理单元,其中,所述信号组包括存储器的基地址、存储器所在的外设单元的坐标和翻译地址。
4.权利要求1的处理单元,其中,所述动态进程生成单元还包括进程状态寄存器,所述动态进程生成引擎维护所述进程状态寄存器:当本地处理器核运行的进程为静态进程,将进程状态寄存器更新为“静态锁定”;当在“空闲”时接收到来自其他处理器核的子进程生成请求,将进程状态寄存器更新为“动态锁定”;当一个动态进程执行完毕,将进程状态寄存器更新为“空闲”。
5.权利要求1的处理单元,其中,当需要动态生成子进程的父进程搜索可用的处理单元并发送子进程生成请求时,所述动态进程生成单元将可用的处理单元锁定为候选处理单元并发送远程存储器地址映射信息;所述父进程设定子进程的句柄,并向候选处理单元发送进程启动请求并携带进程句柄;候选处理单元执行进程,返回进程句柄。
6.权利要求5的处理单元,其中,通过让句柄值等于子进程编号来设定所述子进程的句柄。
7.权利要求1的处理单元,其中,所述SC_SPAWN寄存器组包括:子进程句柄寄存器,存储子进程的句柄的表示;动态进程生成命令寄存器,本地处理器核向该寄存器写入命令,数据发送引擎根据该寄存器的值执行生成命令;目的子进程所在处理单元地址、本子进程所在处理单元地址和子进程生成命令执行状态寄存器。
8.一种满足SystemC语法的多核处理器的处理单元的动态进程生成方法,包括:步骤10)、需要动态生成子进程的父进程搜索可用的处理单元并发送子进程生成请求时,锁定可用的处理单元为候选处理单元并发送远程存储器地址映射信息;步骤20)、所述父进程设定子进程的句柄,并向候选处理单元发送携带进程句柄的进程启动请求;步骤30)、候选处理单元执行进程,返回进程句柄。
9.权利要求8的方法,其中,步骤10)还包括:所述父进程搜索可用的处理单元前,将处理单元所运行进程更新为静态进程。
10.权利要求8的方法,其中,步骤10)还包括:若当前远程处理单元的进程状态寄存器为“空闲”,则将进程状态寄存器更新为“动态锁定”;向发送请求的处理单元发送“动态锁定成功”应答,将当前远程处理单元锁定为候选处理单元。
11.权利要求8的方法,其中,步骤20)还包括:当本地处理器核向动态进程生成命令寄存器写入“远程更新存储器地址映射信息”命令时,通过数据发送引擎向处理器核交换单元桥地址空间转换远程坐标地址所指示的远程处理单元发送的所在动态进程生成单元的寄存器的值。
12.权利要求8的方法,其中,步骤20)还包括:向远程坐标地址所指示的远程处理单元发送包含“进程启动请求”命令和句柄信息的远程进程启动请求数据包,接收到该数据包的远程处理单元存储接收到的句柄值并触发所在处理单元的处理器核复位。
13.权利要求8的方法,其中,步骤30)还包括:当远程处理器核写入“远程进程释放”命令,则向远程坐标地址所指示的处理单元发送携带缓存的句柄信息的“远程进程释放”应答,确定对应的子进程完成执行。
展开