一种基于拟态计算的微处理器及数据处理方法与流程

文档序号:17637744发布日期:2019-05-11 00:28阅读:186来源:国知局
一种基于拟态计算的微处理器及数据处理方法与流程
本发明实施例涉及数据处理
技术领域
,具体涉及一种基于拟态计算的微处理器及数据处理方法。
背景技术
:按照拟态计算(mimiccomputing)原理构造的计算机称为拟态计算机,拟态计算机是一种具备高安全属性的新型计算体系结构,通过异构冗余构建了具备安全属性的计算空间。拟态计算从理论上解决了信息系统安全的可信和可测问题,通过广义鲁棒性概念的扩展,将信息系统的安全性问题等价为系统缺陷漏洞,并通过异构冗余的方式解决各种威胁和后门漏洞,可以实现内生安全机制。由于拟态技术引入了异构冗余技术,在应用于嵌入式处理器的时候,带来安全性的同时也导致了功耗的增加,但是对于嵌入式处理器,功耗是非常重要的衡量指标,尤其是在某些低功耗应用场合,例如电池驱动的物联网传感器上。因此,如何提出一种基于拟态计算的微处理器,能够在保证安全性的基础上,节省微处理器的功耗成为业界亟待解决的重要课题。技术实现要素:针对现有技术中的缺陷,本发明实施例提供一种基于拟态计算的微处理器及数据处理方法。一方面,本发明实施例提出一种基于拟态计算的微处理器,包括拟态调度器、输入输出通讯模块、功耗信息模块、异构处理模块和测量模块,其中:所述拟态调度器分别与所述输入输出通讯模块和所述功耗信息模块相连,所述拟态调度器与所述测量模块相连,所述测量模块与所述异构处理模块相连,所述测量模块与所述异构处理模块一一对应,所述测量模块用于测量对应的异构处理模块的功耗相关参数,所述功耗信息模块用于存储功耗信息表,所述功耗信息表储存各个所述异构处理模块的功耗相关参数,所述拟态调度器用于根据各个所述异构处理模块的功耗相关参数选择工作的所述异构处理模块;其中,所述异构处理模块的数量为2n+1个,n为正整数。另一方面,本发明实施例提供一种采用上述实施例所述的基于拟态计算的微处理器的数据处理方法,包括:拟态调度器接收输入输出模块发送的外部请求;其中,所述外部请求包括至少一个程序段标识,所述程序段标识是预设的,所述程序段标识对应一段数据;所述拟态调度器根据所述程序段标识,从功耗信息表中查询获得与所述程序段标识对应的2n+1个所述异构处理模块的功耗相关参数;其中,所述功耗信息表是预先获得的;所述拟态调度器获取与所述程序段标识对应的2n+1个所述异构处理模块的功耗相关参数中最小的n+1个功耗相关参数,并将所述程序段标识对应的数据发送至n+1个功耗相关参数各自对应的异构处理模块进行处理;所述拟态调度器接收n+1个功耗相关参数各自对应的异构处理模块返回的处理结果,若判断获知n+1个功耗相关参数各自对应的异构处理模块返回的处理结果满足预设条件,则将满足所述预设条件的处理结果作为输出结果。本发明实施例提供的基于拟态计算的微处理器及数据处理方法,包括拟态调度器、输入输出通讯模块、功耗信息模块、异构处理模块和测量模块,拟态调度器分别与输入输出通讯模块和功耗信息模块相连,拟态调度器与测量模块相连,测量模块与异构处理模块相连,测量模块与异构处理模块一一对应,测量模块用于测量对应的异构处理模块的功耗相关参数,功耗信息模块用于存储功耗信息表,拟态调度器用于根据各个异构处理模块的功耗相关参数选择工作的异构处理模块,可以减少工作的异构处理模块的数量,从而降低了微处理器的功耗。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的基于拟态计算的微处理器的结构示意图;图2为本发明一实施例提供的数据处理方法的流程示意图;图3为本发明另一实施例提供的数据处理方法的流程示意图;图4为本发明又一实施例提供的数据处理方法的流程示意图;附图标记说明:1-拟态调度器;2-测量模块;3-异构处理模块;4-功耗信息模块;5-输入输出通讯模块。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明一实施例提供的基于拟态计算的微处理器的结构示意图,如图1所示,本发明实施例提供的基于拟态计算的微处理器,包括拟态调度器1、输入输出通讯模块5、功耗信息模块4、异构处理模块3和测量模块2,其中:拟态调度器1分别与输入输出通讯模块5和功耗信息模块4相连,拟态调度器1与各个测量模块2分别相连,测量模块2与异构处理模块3相连,测量模块2与异构处理模块3一一对应,测量模块2用于测量对应的异构处理模块3的功耗相关参数,功耗信息模块4用于存储功耗信息表,所述功耗信息表储存各个异构处理模块3的功耗相关参数,拟态调度器1用于根据各个异构处理模块3的功耗相关参数选择工作的异构处理模块3;其中,异构处理模块3的数量为2n+1个,n为正整数。具体地,输入输出通讯模块5用于接收外部请求并向外发送数据,所述外部请求例如为网络数据、输入输出数据、总线数据、中断数据等。拟态调度器1用于驱动输入输出通讯模块5、功耗信息模块4、各个异构处理模块3和各个测量模块2工作,并可以接收上述各个模块发送的数据。测量模块2用于测量对应的异构处理模块3的功耗相关参数,所述功耗相关参数包括功率、温度、电压或者电流。功耗信息模块4用于存储功耗信息表,所述功耗信息表是预先获得的,储存各个异构处理模块3的功耗相关参数。下面介绍一下本发明提供的基于拟态计算的微处理器的工作过程,输入输出通讯模块5接收到外部请求,并将所述外部请求发送给拟态调度器1。拟态调度器1接收到所述外部请求之后,根据所述外部请求包括的程序段标识,在所述功耗信息表中查询与所述程序段标识对应的2n+1个异构处理模块3的功耗相关参数。拟态调度器1如果查询到与所述程序段标识对应的2n+1个异构处理模块3的功耗相关参数,那么从与所述程序段标识对应的2n+1个异构处理模块3的功耗相关参数中获取最小的n+1个功耗相关参数,选择最小的n+1个功耗相关参数各自对应的异构处理模块3工作,剩余的n个异构处理模块3可以处于休眠状态,以节省功耗。拟态调度器1将所述程序段标识对应的数据发送给与所述程序段标识对应的n+1个异构处理模块3,n+1个异构处理模块3接收所述程序段标识对应的数据之后,分别对所述程序段标识对应的数据进行处理,在处理完成之后,分别向拟态调度器1返回n+1个异构处理模块3各自的处理结果。拟态调度器1接收到n+1个所述处理结果,然后判断n+1个处理结果是否满足预设条件,如果n+1个处理结果满足所述预设条件,即n+1个所述处理结果中,有超过(n+1)/2个所述处理结果在语义上等价,那么将在语义上等价的超过(n+1)/2个所述处理结果作为满足所述预设条件的处理结果,并将满足所述预设条件的处理结果作为输出结果。拟态调度器1可以将所述输出结果发送给输入输出通讯模块5,输入输出通讯模块5将所述输出结果作为所述外部请求的响应,返回给发送所述外部请求的装置;拟态调度器1还可以将所述输出结果作为中间结果,进行后续处理。其中,所述预设条件包括各个所述处理结果中,超过一半的所述处理结果在语义上等价;语义等价的判断为现有技术,此处不进行赘述。可理解的是,所述外部请求包括至少一个所述程序段标识,每个所述程序段标识对应一段数据。本发明实施例提供的基于拟态计算的微处理器及数据处理方法,包括拟态调度器、输入输出通讯模块、功耗信息模块、异构处理模块和测量模块,拟态调度器分别与输入输出通讯模块和功耗信息模块相连,拟态调度器与测量模块相连,测量模块与异构处理模块相连,测量模块与异构处理模块一一对应,测量模块用于测量对应的异构处理模块的功耗相关参数,功耗信息模块用于存储功耗信息表,拟态调度器用于根据各个异构处理模块的功耗相关参数选择工作的异构处理模块,可以减少工作的异构处理模块的数量,从而节省了微处理器的功耗。在上述各实施例的基础上,进一步地,所述功耗相关参数为功率;相应地,各个测量模块2用于测量各自对应的异构处理模块3的功率,功率可以直接衡量各个异构处理模块3的功耗,有利于选择功率低的异构处理模块3进行工作。测量模块2可以采用霍尔电压传感器和霍尔电流传感器,通过测量获得的电压和电流计算出功率。在上述各实施例的基础上,进一步地,所述功耗相关参数为温度;相应地,各个测量模块2用于测量各自对应的异构处理模块3的温度,功耗越大异构处理模块3的温度就越高,温度可以间接衡量各个异构处理模块3的功耗。其中,测量模块2可以采用数字温度传感器。在上述各实施例的基础上,进一步地,所述功耗相关参数为电流;相应地,各个测量模块2用于测量各自对应的异构处理模块3的电流,功耗越大异构处理模块3的电流会升高,电流可以间接衡量各个异构处理模块3的功耗。其中,测量模块2可以采用霍尔电流传感器。在上述各实施例的基础上,进一步地,所述功耗相关参数为电压;相应地,各个测量模块2用于测量各自对应的异构处理模块3的电压,功耗越大异构处理模块3的电压会升高,电压可以间接衡量各个异构处理模块3的功耗。其中,测量模块2可以采用霍尔电压传感器。在上述各实施例的基础上,进一步地,功耗信息模块4采用存储器,储存所述功率信息表,拟态调度器1可以访问功耗信息模块4获取所述功率信息表。图2为本发明一实施例提供的数据处理方法的流程示意图,如图2所示,本发明实施例提供的采用上述任一实施例所述的基于拟态计算的微处理器的数据处理方法,包括:s201、拟态调度器接收输入输出模块发送的外部请求;其中,所述外部请求包括至少一个程序段标识,所述程序段标识是预设的,所述程序段标识对应一段数据;具体地,输入输出模块接收到外部请求,然后将所述外部请求发送给拟态调度器,所述拟态调度器可以接收所述外部请求。其中,所述外部请求包括至少一个程序段标识,所述程序段标识是预设的,所述程序段标识对应一段数据。s202、所述拟态调度器根据所述程序段标识,从功耗信息表中查询获得与所述程序段标识对应的2n+1个所述异构处理模块的功耗相关参数;其中,所述功耗信息表是预先获得的;具体地,所述拟态调度器接收到所述外部请求之后,访问输入输出通讯模块获得功耗信息表,可以根据所述程序段标识,从所述功耗信息表中查询获得与所述程序段标识对应的2n+1个所述异构处理模块的功耗相关参数;其中,所述功耗信息表是预先获得的;所述异构处理模块的数量为2n+1个,n为正整数;所述功耗相关参数为功率、温度、电流或者电压。s203、所述拟态调度器获取与所述程序段标识对应的2n+1个所述异构处理模块的功耗相关参数中最小的n+1个功耗相关参数,并将所述程序段标识对应的数据发送至n+1个功耗相关参数各自对应的异构处理模块进行处理;具体地,所述拟态调度器在获得2n+1个所述异构处理模块的功耗相关参数之后,从2n+1个所述异构处理模块的功耗相关参数中选择出最小的n+1个所述功耗相关参数,然后将所述程序段标识对应的数据发送到最小的n+1个所述功耗相关参数各自对应的所述异构处理模块进行处理。s204、所述拟态调度器接收n+1个功耗相关参数各自对应的异构处理模块返回的处理结果,若判断获知n+1个功耗相关参数各自对应的异构处理模块返回的处理结果满足预设条件,则将满足所述预设条件的处理结果作为输出结果。具体地,n+1个所述异构处理模块接收到所述程序段标识对应的数据之后,分别对所述程序段标识对应的数据进行处理,在处理完成之后,分别向所述拟态调度器返回n+1个所述异构处理模块各自对应的处理结果。所述拟态调度器判断n+1个所述处理结果是否满足预设条件,如果n+1个所述处理结果满足所述预设条件,那么将满足所述预设条件的处理结果作为输出结果。所述拟态调度器可以将所述输出结果发送给所述输入输出通讯模块,由所述输入输出通讯模块将所述输出结果作为所述外部请求的响应,返回给发送所述外部请求的装置;所述拟态调度器还可以将所述输出结果作为中间结果,进行后续处理。其中,所述预设条件为各个所述处理结果中,超过一半的所述处理结果在语义上等价。例如,所述拟态调度器获得了n+1个所述处理结果,比较n+1个所述处理结果的语义,如果有超过(n+1)/2个所述处理结果在语义上等价,那么将在语义上等价的超过(n+1)/2个所述处理结果作为满足所述预设条件的处理结果。其中,所述语义等价的判断为现有技术,此处不进行赘述。本发明实施例提供的数据处理方法,由于拟态调度器接收输入输出模块发送的外部请求,并根据外部请求中的程序段标识,从功耗信息表中查询获得与程序段标识对应的2n+1个异构处理模块的功耗相关参数,再获取与程序段标识对应的2n+1个异构处理模块的功耗相关参数中最小的n+1个功耗相关参数,并将程序段标识对应的数据发送至n+1个功耗相关参数各自对应的异构处理模块进行处理,然后接收n+1个功耗相关参数各自对应的异构处理模块返回的处理结果,在判断获知n+1个功耗相关参数各自对应的异构处理模块返回的处理结果满足预设条件之后,将满足预设条件的处理结果作为输出结果,可以减少工作的异构处理模块的数量,从而降低了微处理器的功耗。图3为本发明另一实施例提供的数据处理方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,本发明实施例提供的数据处理方法还包括:s301、所述拟态调度器若判断获知n+1个功耗相关参数各自对应的异构处理模块返回的处理结果不满足所述预设条件,则将所述程序段标识对应的数据发送至剩余的n个异构处理模块进行处理;其中,所述剩余的n个异构处理模块为2n+1个异构处理模块中除去n+1个功耗相关参数各自对应的异构处理模块之后剩余的异构处理模块;具体地,所述拟态调度器判断n+1个所述处理结果是否满足预设条件,如果n+1个所述处理结果不满足所述预设条件,那么将所述程序段标识对应的数据发送至剩余的n个异构处理模块进行处理。其中,所述剩余的n个异构处理模块为2n+1个异构处理模块中除去n+1个功耗相关参数各自对应的异构处理模块之后剩余的异构处理模块。例如,所述拟态调度器获得了n+1个所述处理结果,比较n+1个所述处理结果的语义,如果没有超过(n+1)/2个所述处理结果在语义上等价,那么n+1个所述处理结果不满足所述预设条件。s302、所述拟态调度器接收所述剩余的n个异构处理模块返回的处理结果,若判断获知2n+1个处理结果满足所述预设条件,则将满足所述预设条件的处理结果作为输出结果;其中,所述2n+1个处理结果包括n+1个功耗相关参数各自对应的异构处理模块返回的处理结果和所述剩余的n个异构处理模块返回的处理结果。具体地,n个所述异构处理模块接收到所述程序段标识对应的数据之后,分别对所述程序段标识对应的数据进行处理,在处理完成之后,分别向所述拟态调度器返回n个所述异构处理模块各自对应的处理结果。所述拟态调度器判断2n+1个所述处理结果是否满足预设条件,如果2n+1个所述处理结果满足所述预设条件,那么将满足所述预设条件的处理结果作为输出结果。其中,所述2n+1个处理结果包括n+1个功耗相关参数各自对应的异构处理模块返回的处理结果和所述剩余的n个异构处理模块返回的处理结果。例如,所述拟态调度器根据n+1个功耗相关参数各自对应的异构处理模块返回的处理结果和所述剩余的n个异构处理模块返回的处理结果,获得了2n+1个所述处理结果,比较2n+1个所述处理结果的语义,如果有超过(2n+1)/2个所述处理结果在语义上等价,那么2n+1个所述处理结果满足所述预设条件。在上述各实施例的基础上,进一步地,本发明实施例提供的数据处理方法还包括:所述拟态调度器若判断获知2n+1个处理结果不满足所述预设条件,则进入错误处理步骤。具体地,所述拟态调度器判断2n+1个所述处理结果是否满足预设条件,如果2n+1个所述处理结果不满足所述预设条件,那么进入错误处理步骤,所述进入错误处理步骤可以是停止对所述处理结果的后续操作,发出报警信息提示相关人员进行处理。其中,所述错误处理步骤可以根据实际情况进行设置,本发明实施例不做限定。图4为本发明又一实施例提供的数据处理方法的流程示意图,如图4所示,在上述各实施例的基础上,进一步地,本发明实施例提供的数据处理方法还包括:s401、若所述拟态调度器根据所述外部请求中的程序段标识,从所述功耗信息模块没有查询到与所述程序段标识对应的各个所述异构处理模块的功耗相关参数,则将所述程序段标识对应的数据分别发送至2n+1个所述异构处理模块进行处理;具体地,所述拟态调度器接收到所述外部请求之后,访问输入输出通讯模块,根据所述程序段标识从功耗信息表中查询与所述程序段标识对应的2n+1个所述异构处理模块的功耗相关参数,如果没有查询到与所述程序段标识对应的2n+1个所述异构处理模块的功耗相关参数,那么所述拟态调度器将所述程序段标识对应的数据分别发送给2n+1个所述异构处理模块进行处理。s402、所述拟态调度器接收所述2n+1个所述异构处理模块返回的处理结果,并从2n+1个所述测量模块获取2n+1所述处理结果各自对应的功耗相关参数,若判断获知2n+1个处理结果满足所述预设条件,则将满足所述预设条件的处理结果作为输出结果,并将所述处理结果各自对应的功耗相关参数与对应的所述程度段标识发送到所述功耗信息模块储存。具体地,2n+1个所述异构处理模块接收到所述程序段标识对应的数据之后,分别对所述程序段标识对应的数据进行处理,在处理完成之后,分别向所述拟态调度器返回2n+1个所述异构处理模块各自对应的处理结果,在2n+1个所述异构处理模块在对所述程序段标识对应的数据处理过程中,2n+1个所述异构处理模块各自对应的测量模块可以测量2n+1个所述异构处理模块的功耗相关参数。所述拟态调度器在接收2n+1所述处理结果时,可以从2n+1个所述测量模块分别获取2n+1所述处理结果各自对应的功耗相关参数,所述结果对应的功耗相关参数用于衡量各个所述异构处理模块从接收所述程序段标识对应的数据,到对所述程序段标识对应的数据处理完成获得处理结果的功耗。所述拟态调度器在接收到2n+1个所述异构处理模块各自对应的处理结果之后,判断2n+1个所述处理结果是否满足预设条件,如果2n+1个所述处理结果满足所述预设条件,那么将满足所述预设条件的处理结果作为输出结果,并将各2n+1个所述处理结果各自对应的功耗相关参数作为与所述程序段标识对应的2n+1个所述异构处理模块的功耗相关参数,然后将2n+1个所述异构处理模块的功耗相关参数与2n+1个所述异构处理模块一一对应,发送到功耗信息模块,储存到所述功耗信息表中,这样所述拟态调度器在下一次处理所述程序段标识对应的数据时,就可以从根据2n+1个所述功耗相关参数选出功耗最小的n+1个所述异构处理模块进行工作,以降低所述微处理器的功耗。本发明实施例方法实施例的具体流程可以参照上述各装置实施例的介绍,此处不再赘述。下面以一个具体的实施例介绍本发明实施例提供的数据处理方法的具体实现过程。本发明实施例采用的基于拟态计算的微处理器,包括三个异构处理模块:异构处理模块a、异构处理模块b和异构处理模块c;所述功耗相关参数为所述功率。所述输入输出通讯模块接收到一个所述外部请求,所述外部请求包括一个程序段标识1。所述输入输出通讯模块将程序段标识1发送给所述拟态调度器,所述拟态调度器访问所述功耗信息模块获取所述功耗信息表,并根据程序段标识1查询与程序段标识1对应的三个所述异构处理模块各自对应的功率。如果所述拟态调度器在所述功耗信息表中查询到与程序段标识1对应的异构处理模块a的功率为0.8毫瓦,与程序段标识1对应的异构处理模块b的功率为0.4毫瓦,与程序段标识1对应的异构处理模块c的功率为0.2毫瓦。由于0.4毫瓦和0.2毫瓦为三个所述功率中最小的2个功率,所述拟态调度器将程序段标识1对应的数据发送给0.4毫瓦对应的异构处理模块b和0.2毫瓦对应的异构处理模块c进行处理,让异构处理模块a处于休眠状态。异构处理模块b和异构处理模块c在处理完程序段标识1对应的数据之后,分别向所述拟态调度器返回处理结果b和处理结果c。所述拟态调度器判断处理结果b和处理结果c的是否满足所述预设条件,如果处理结果b和处理结果c满足所述预设条件,那么由于处理结果b和处理结果c在语义上是等价的,处理结果b和处理结果c都是满足所述预设条件的处理结果,可以将处理结果b或者处理结果c作为输出结果。如果处理结果b和处理结果c不满足所述预设条件,那么所述拟态调度器将程序段标识1对应的数据发送到异构处理模块a进行处理,并获得异构处理模块a返回的处理结果a。所述拟态调度器判断处理结果a、处理结果b和处理结果c是否满足所述预设条件,如果处理结果a和处理结果b在语义上等价,说明处理结果a、处理结果b和处理结果c满足所述预设条件,但是异构处理模块c的计算存在漏洞,所述拟态调度器可以选择处理结果a或者处理结果b作为所述输出结果。如果处理结果a、处理结果b和处理结果c在语义上互不等价,那么处理结果a、处理结果b和处理结果c不满足所述预设条件,说明同步或者微处理器出现问题,可以发出报警信息,以提示相关人员进行处理。下面再以一个具体的实施例介绍本发明实施例提供的数据处理方法的具体实现过程。本发明实施例采用的基于拟态计算的微处理器,包括三个异构处理模块:异构处理模块a、异构处理模块b和异构处理模块c;所述功耗相关参数为所述功率。所述输入输出通讯模块接收到一个外部请求req,外部请求req包括两个程序段标识req1和req2,执行序列为req1、req2、req2、req1、req2。所述输入输出通讯模块接收到上述外部请求req之后,将上述外部请求发送给所述拟态调度器,所述拟态调度器按照执行序列的顺序,先处理req1对应的数据,所述拟态调度器访问所述功耗信息模块获得所述功耗信息表,根据req1查找与req1对应的异构处理模块a、异构处理模块b和异构处理模块c的功率。如果所述功耗信息表中没有查找到与req1对应的异构处理模块a、异构处理模块b和异构处理模块c的功率,那么将req1对应的数据分别发送到异构处理模块a、异构处理模块b和异构处理模块c进行处理,并通过与异构处理模块a、异构处理模块b和异构处理模块c各自对应的测量模块,测量异构处理模块a、异构处理模块b和异构处理模块c在处理req1对应的数据的功率。所述拟态调度器接收到异构处理模块a、异构处理模块b和异构处理模块c各自返回的处理结果a1、处理结果b1和处理结果c1,并从异构处理模块a、异构处理模块b和异构处理模块c各自对应的测量模块获取到处理结果a1对应的功率为0.5毫瓦,处理结果b1对应的功率为0.6毫瓦,处理结果c1对应的功率为1毫瓦。所述拟态调度器如果判断出处理结果a1、处理结果b1和处理结果c1满足所述预设条件,那么按照执行序列继续向下执行,并将与req1对应的异构处理模块a的功率0.5毫瓦,异构处理模块b的功率0.6毫瓦和异构处理模块c的功率1毫瓦发送到所述功耗信息模块的功率信息表中存储起来,可以得到如表1所示的功率信息表一。表1功率信息表一程序段标识异构处理模块a的功率异构处理模块b的功率异构处理模块c的功率req10.5mw0.6mw1mw所述拟态调度器按照所述执行序列的顺序,接着处理req2对应的数据,所述拟态调度器访问所述功耗信息模块获得所述功耗信息表一,根据req2查找与req2对应的异构处理模块a、异构处理模块b和异构处理模块c的功率。在所述功耗信息表一中没有查找到与req2对应的异构处理模块a、异构处理模块b和异构处理模块c的功率,那么将req2对应的数据分别发送到异构处理模块a、异构处理模块b和异构处理模块c进行处理,并通过与异构处理模块a、异构处理模块b和异构处理模块c各自对应的测量模块,测量异构处理模块a、异构处理模块b和异构处理模块c在处理req2对应的数据的功率。所述拟态调度器接收到异构处理模块a、异构处理模块b和异构处理模块c各自返回的处理结果a2、处理结果b2和处理结果c2,并从异构处理模块a、异构处理模块b和异构处理模块c各自对应的测量模块获取到处理结果a2对应的功率为0.8毫瓦,处理结果b2对应的功率为0.4毫瓦,处理结果c2对应的功率为0.2毫瓦。所述拟态调度器如果判断出处理结果a2、处理结果b2和处理结果c2满足所述预设条件,那么按照所述执行序列继续向下执行,并将与req2对应的异构处理模块a的功率0.8毫瓦,异构处理模块b的功率0.4毫瓦和异构处理模块c的功率0.2毫瓦发送到所述功耗信息模块的功率信息表一中存储起来,可以得到如表2所示的功率信息表二。表2功率信息表二所述拟态调度器按照所述执行序列的顺序,处理下一个req2对应的数据,所述拟态调度器访问所述功耗信息模块获得所述功耗信息表二,根据req2查找与req2对应的异构处理模块a、异构处理模块b和异构处理模块c的功率,可以查找到与req2对应的异构处理模块a的功率为0.8mw、与req2对应的异构处理模块b的功率为0.4mw、和与req2对应的异构处理模块c的功率为0.2mw。由于与req2对应的异构处理模块b的功率0.4mw和与req2对应的异构处理模块c的功率0.2mw为上述三个功率中最小的两个所述功率,那么所述拟态调度器将req2对应的数据分别发送到异构处理模块b和异构处理模块c进行处理,并获得异构处理模块b和异构处理模块c分别返回的处理结果b2和c2。所述拟态调度器如果判断出处理结果b2和处理结果c2满足所述预设条件,那么按照所述执行序列继续向下执行。所述拟态调度器按照所述执行序列的顺序,处理下一个req1对应的数据,所述拟态调度器访问所述功耗信息模块获得所述功耗信息表二,根据req1查找与req1对应的异构处理模块a、异构处理模块b和异构处理模块c的功率,可以查找到与req1对应的异构处理模块a的功率为0.5mw、与req1对应的异构处理模块b的功率为0.6mw、和与req1对应的异构处理模块c的功率为1mw。由于与req1对应的异构处理模块a的功率0.5mw和与req1对应的异构处理模块b的功率0.6mw为上述三个功率中最小的两个所述功率,那么所述拟态调度器将req1对应的数据分别发送到异构处理模块a和异构处理模块b进行处理,并获得异构处理模块a和异构处理模块b分别返回的处理结果a1和b1。所述拟态调度器如果判断出处理结果a1和处理结果b1满足所述预设条件,那么按照所述执行序列继续向下执行。所述拟态调度器接着处理下一个req2,其处理过程与第二个req2的处理过程类似,此处不再赘述,所述拟态调度器可以获得异构处理模块b和异构处理模块c分别返回的处理结果b2和c2。所述拟态调度器如果判断出处理结果b2和处理结果c2满足所述预设条件,那么完成对外部请求req的处理,可以返回对外部请求req的响应,例如将最后一个req2的处理结果b2或者处理结果c2返回给发送外部请求req的装置。如果采用现有技术中的方法处理外部请求req,消耗的总功率为q1=2.1+1.4+1.4+2.1+1.4=8.4毫瓦。而采用本发明实施例提供的数据处理方法处理外部请求req,消耗的总功率为q2=2.1+1.4+0.6+1.1+0.6=5.8毫瓦。可见,本发明实施例提供的数据处理方法相对于现有技术,节省了(8.4-5.8)/8.4=31%的功耗。下面又以一个具体的实施例介绍本发明实施例提供的数据处理方法的具体实现过程。本发明实施例采用的基于拟态计算的微处理器,包括三个异构处理模块:异构处理模块a、异构处理模块b和异构处理模块c;所述功耗相关参数为所述功率。这里假设异构处理模块c的代码存在蠕虫病毒,所述蠕虫病毒会使异构处理模块c的运行变慢,相对于正常情况会消耗更多的功率。所述输入输出通讯模块接收到外部请求seq之后,将外部请求seq发送给所述拟态调度器,外部请求seq包括一个程序段标识req3。所述拟态调度器访问所述功耗信息模块获得所述功耗信息表,根据req3查找与req3对应的异构处理模块a、异构处理模块b和异构处理模块c的功率。假设所述功耗信息表中没有查找到与req3对应的异构处理模块a、异构处理模块b和异构处理模块c的功率,那么将req3对应的数据分别发送到异构处理模块a、异构处理模块b和异构处理模块c进行处理,并通过与异构处理模块a、异构处理模块b和异构处理模块c各自对应的测量模块,测量异构处理模块a、异构处理模块b和异构处理模块c在处理req3对应的数据的功率。所述拟态调度器接收到异构处理模块a、异构处理模块b和异构处理模块c各自返回的处理结果a3、处理结果b3和处理结果c3,并从异构处理模块a、异构处理模块b和异构处理模块c各自对应的测量模块获取到处理结果a3对应的功率为0.5毫瓦,处理结果b3对应的功率为0.6毫瓦,处理结果c3对应的功率为2毫瓦。假设处理结果a3、处理结果b3和处理结果c3在语义上等价,所述拟态调度器可以判断出处理结果a3、处理结果b3和处理结果c3满足所述预设条件,那么可以将处理结果a3、处理结果b3或者处理结果c3作为输出结果,并将与req3对应的异构处理模块a的功率0.5毫瓦,异构处理模块b的功率0.6毫瓦和异构处理模块c的功率2毫瓦发送到所述功耗信息模块的功率信息表中存储起来,可以得到如表3所示的功率信息表三。表3功率信息表三程序段标识异构处理模块a的功率异构处理模块b的功率异构处理模块c的功率req30.5mw0.6mw2mw当所述输入输出通讯模块再次接收到外部请求seq,并将外部请求seq发送给所述拟态调度器。所述拟态调度器根据seq可以从功率信息表三中查询获得与req3对应的异构处理模块a的功率为0.5mw、与req3对应的异构处理模块b的功率为0.6mw、和与req3对应的异构处理模块c的功率为2mw。由于与req3对应的异构处理模块a的功率0.5mw和与req3对应的异构处理模块b的功率0.6mw为上述三个功率中最小的两个所述功率,那么所述拟态调度器将req3对应的数据分别发送到异构处理模块a和异构处理模块b进行处理,并获得异构处理模块a和异构处理模块b分别返回的处理结果a3和b3,而使异构处理模块c处于休眠状态。所述拟态调度器可以判断出处理结果a3和处理结果b3满足所述预设条件,可以将处理结果a3或者处理结果b3作为输出结果。因此,虽然异构处理模块c由于感染病毒,存在执行时间慢和功耗大的问题,但是由于采用本发明实施例的数据处理方法,可以避开异构处理模块c的运行,使所述微处理器的功耗和执行效能被控制在合理的范围内。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1