指令驱动协处理器的任务中断方法及系统技术方案

技术编号:7549938 阅读:417 留言:0更新日期:2012-07-13 22:16
本发明专利技术提供了一种指令驱动协处理器的任务中断方法,包括以下步骤:S1、协处理器读取要执行的指令;S2、协处理器执行步骤S1中被读取的指令;S3、判断步骤S2中执行的指令是否有条件结束标记clcmd,并且clcmd=1,若是,则执行步骤S4;若否,则执行步骤S5;S4、判断使能标记runEna是否为0,若是,则执行步骤S6;若否,则执行步骤S5;S5、判断指令结束标志lcmd是否为0,若是,则执行步骤S1;若否,则执行步骤S6;S6、停止任务执行。采用本发明专利技术后,软件人员可以设置条件中断节点,协处理器可以采用简单和统一的方式在该节点停止任务,有效地处理了执行指令的协处理器的任务中断过程,简化了协处理器的硬件设计。

【技术实现步骤摘要】

本专利技术涉及集成电路信息处理
,尤其涉及一种指令驱动协处理器的任务中断方法及系统
技术介绍
在当前大规模集成电路的片上系统(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、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:妙维袁宏骏余红斌李张丰
申请(专利权)人:苏州希图视鼎微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术