指令驱动协处理器的任务中断方法及系统的制作方法

文档序号:6440051阅读:273来源:国知局
专利名称:指令驱动协处理器的任务中断方法及系统的制作方法
技术领域
本发明涉及集成电路信息处理技术领域,尤其涉及一种指令驱动协处理器的任务中断方法及系统。
背景技术
在当前大规模集成电路的片上系统(SOC)中,为了分担主处理器的工作,经常采用协处理器处理特定任务。复杂的协处理器拥有自己的指令集,并且通过执行指令序列(微码)来完成任务。对于这样的协处理器,通常的工作方式是主处理器通过编程协处理器的寄存器,通知协处理需要执行的任务和微码地址,协处理器读入微码并执行直到任务结束。
面对复杂任务的SOC芯片,如智能手机芯片,往往支持多任务处理。而为了节省硬件成本,作为硬件资源的协处理器往往只有有限的数量(通常是一个)。这就要求通过软件的控制来在不同的任务之间分享有限的协处理器资源。另一方面,任务有优先级,高优先级的任务有可能需要抢占协处理器资源。在这种情况下,如果协处理器正在执行一个低优先级的任务,软件需要先停止协处理器。软件发出的中断任务的命令会在不确定的时间到达协处理器,协处理器必须在收到命令后妥善处理其当前任务和内部状态,然后停止任务。对于执行指令的协处理器,在停止任务时面临两方面的复杂性第一,这种协处理器的内部构造和处理流程本身比较复杂;第二,指令序列的组合具有太多的可能性。以上复杂性使得仅仅要求协处理器自己处理任务的中断变得困难,很大的增加了协处理器硬件设计的挑战。
有鉴于此,有必要提供一种指令驱动协处理器的任务中断方法及系统以解决上述问题。发明内容
本发明的目的在于提供一种指令驱动协处理器的任务中断方法及系统。
本发明的一种指令驱动协处理器的任务中断方法,所述方法包括以下步骤51、协处理器读取要执行的指令;52、协处理器执行步骤Sl中被读取的指令;53、判断步骤S2中执行的指令是否有条件结束标记clcmd,并且clcmd=l,若是,则执行步骤S4;若否,则执行步骤S5;54、判断使能标记rimEna是否为0,若是,则执行步骤S6;若否,则执行步骤S5 ;55、判断指令结束标志Icmd是否为0,若是,则执行步骤Sl;若否,则执行步骤S6 ;56、停止任务执行。
作为本发明的进一步改进,所述使能标记rimEna在协处理器的寄存器中。
作为本发明的进一步改进,所述使能标记rimEna的读写动作由主处理器控制。
相应地,一种指令驱动协处理器的任务中断系统,所述系统包括 用于协处理器读取要执行的指令的单元;用于协处理器执行被读取的指令的单元;用于判断执行的指令是否有条件结束标记clcmd,并且clcmd=l的单元; 用于判断使能标记rimEna是否为0的单元; 用于判断指令结束标志Icmd是否为0的单元; 用于停止任务执行的单元。
作为本发明的进一步改进,所述使能标记rimEna在协处理器的寄存器中。
作为本发明的进一步改进,所述使能标记rimEna的读写动作由主处理器控制。
本发明的有益效果是采用该方法后,软件人员可以设置条件中断节点,协处理器可以采用简单和统一的方式在该节点停止任务,有效地处理了执行指令的协处理器的任务中断过程,简化了协处理器的硬件设计。


图1为本发明指令驱动协处理器的任务中断示意图。
图2为本发明一实施方式中指令驱动协处理器的任务中断方法的具体流程图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
参图1所示为本发明指令驱动协处理器的任务中断示意图。协处理器通过识别出任务处理过程中的中断节点(以方便处理为要求),在指令序列中设置相应的有条件中断功能的指令。通过使能信号对协处理器进行控制,当协处理器执行到指示条件结束的指令时, 检查使能信号,如果使能信号为真,协处理器继续执行,如果为假,协处理器停止执行。
协处理器可定义多条指令,在本实施方式中,其中一条指令定义为3130:272625:0IcmdOpcodeclcmdresv其中,Icmd为指令结束标志,Opcode为指令编码字段,clcmd为条件结束标志。
Icmd表示一个任务的指令序列正常结束。Icmd=I为结束,Icmd=O为继续。该标志出现在所有指令中。clcmd为条件结束标志,即完成本发明所述条件结束功能。clcmd=l 为结束,clcmd=0为继续。
在协处理器的寄存器中有一个使能标记rimEna,主处理器可以对该标志进行读写。runEna=0 ^/^j^lh, runEna=l ^T^iifelo
参图2所示为本发明一实施方式中指令驱动协处理器的任务中断方法的具体流程图。一种指令驱动协处理器的任务中断方法,包括以下步骤51、协处理器读取要执行的指令;52、协处理器执行步骤Sl中被读取的指令;53、判断步骤S2中执行的指令是否有条件结束标记clcmd,并且clcmd=l,若是,则执行步骤S4 ;若否,则执行步骤S5。若clcmd=l,则下一步判断使能标记rimEna ;若clcmd=0,则下一步判断指令结束标志Icmd ;54、判断使能标记rimEna是否为0,若是,则执行步骤S6;若否,则执行步骤S5。若 runEna=。,则停止任务执行;若runEna=l,则下一步判断指令结束标志Icmd ;55、判断指令结束标志Icmd是否为0,若是,则执行步骤Sl;若否,则执行步骤S6。若 Icmd=O,则继续读取要执行的指令,重复步骤S1 S4 ;lcmd=l,则停止任务执行;
56、停止任务执行。相应地,本发明一实施方式中指令驱动协处理器的任务中断系统,其包括 用于协处理器读取要执行的指令的单元;
用于协处理器执行被读取的指令的单元;
用于判断执行的指令是否有条件结束标记clcmd,并且clcmd=l的单元; 用于判断使能标记rimEna是否为0的单元; 用于判断指令结束标志Icmd是否为0的单元; 用于停止任务执行的单元。综上所述,本发明通过识别出任务处理过程中的中断节点,在指令序列中设置相应的有条件中断功能的指令。通过使能信号对协处理器进行控制,当协处理器执行到指示条件结束的指令时,检查使能信号,如果使能信号为真,协处理器继续执行,如果为假,协处理器停止执行。与现有技术相比,采用该方法后,软件人员可以设置条件中断节点,协处理器可以采用简单和统一的方式在该节点停止任务,有效地处理了执行指令的协处理器的任务中断过程,简化了协处理器的硬件设计。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种指令驱动协处理器的任务中断方法,其特征在于,所述方法包括以下步骤s1、协处理器读取要执行的指令;s2、协处理器执行步骤Sl中被读取的指令;s3、判断步骤S2中执行的指令是否有条件结束标记clcmd,并且clcmd=l,若是,则执行步骤S4;若否,则执行步骤S5;s4、判断使能标记rimEna是否为0,若是,则执行步骤S6;若否,则执行步骤S5 ;s5、判断指令结束标志Icmd是否为0,若是,则执行步骤Sl;若否,则执行步骤S6 ;s6、停止任务执行。
2.根据权利要求1所述的方法,其特征在于,所述使能标记rimEna在协处理器的寄存器中。
3.根据权利要求2所述的方法,其特征在于,所述使能标记rimEna的读写动作由主处理器控制。
4.一种如权利要求1所述的指令驱动协处理器的任务中断系统,其特征在于,所述系统包括用于协处理器读取要执行的指令的单元; 用于协处理器执行被读取的指令的单元;用于判断执行的指令是否有条件结束标记clcmd,并且clcmd=l的单元; 用于判断使能标记rimEna是否为0的单元; 用于判断指令结束标志Icmd是否为0的单元; 用于停止任务执行的单元。
5.根据权利要求4所述的系统,其特征在于,所述使能标记rimEna在协处理器的寄存器中。
6.根据权利要求5所述的系统,其特征在于,所述使能标记rimEna的读写动作由主处理器控制。
全文摘要
本发明提供了一种指令驱动协处理器的任务中断方法,包括以下步骤S1、协处理器读取要执行的指令;S2、协处理器执行步骤S1中被读取的指令;S3、判断步骤S2中执行的指令是否有条件结束标记clcmd,并且clcmd=1,若是,则执行步骤S4;若否,则执行步骤S5;S4、判断使能标记runEna是否为0,若是,则执行步骤S6;若否,则执行步骤S5;S5、判断指令结束标志lcmd是否为0,若是,则执行步骤S1;若否,则执行步骤S6;S6、停止任务执行。采用本发明后,软件人员可以设置条件中断节点,协处理器可以采用简单和统一的方式在该节点停止任务,有效地处理了执行指令的协处理器的任务中断过程,简化了协处理器的硬件设计。
文档编号G06F9/48GK102521036SQ201110398168
公开日2012年6月27日 申请日期2011年12月5日 优先权日2011年12月5日
发明者余红斌, 妙维, 李张丰, 袁宏骏 申请人:苏州希图视鼎微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1