适应低延迟或高吞吐要求的协处理器指令执行方法及系统的制作方法

文档序号:6440054阅读:139来源:国知局
专利名称:适应低延迟或高吞吐要求的协处理器指令执行方法及系统的制作方法
技术领域
本发明涉及集成电路信息处理技术领域,尤其涉及一种适应低延迟或高吞吐要求的协处理器指令执行方法及系统。
背景技术
为了分担主处理器的工作,协处理器的使用在现代SOC系统中非常广泛。有的协处理器本身足够复杂,因此需要自己的指令集。对于这样的协处理器,需要一定的机制使其执行自己的指令。以下是使用广泛的两种基本方法。一、主处理器直接将指令发送给协处理器。这种方法要求主处理器频繁干预协处理器的工作,且每一条指令都有发送的时间,所以当要执行的指令较多时,效率低下。二、主处理器告诉协处理器指令存放地址,协处理器自己读入指令并执行。这种方法下,主处理器被释放出来。协处理器可以连续的读入指令并执行,因此指令执行的吞吐量也高。但是因为协处理器需要访问公共内存,读入第一条指令的延迟较长。有鉴于此,有必要提供一种适应低延迟或高吞吐要求的协处理器指令执行方法及系统以解决上述问题。

发明内容
本发明的目的在于提供一种适应低延迟或高吞吐要求的协处理器指令执行方法及系统。本发明的一种适应低延迟或高吞吐要求的协处理器指令执行方法,所述方法包括以下步骤
51、协处理器从指令寄存器读取指令;
52、判断所述指令是否包含一个指令序列在系统存储空间中的起始地址,若否,执行步骤S3,若是,执行步骤S4;
53、协处理器执行所述指令;
54、协处理器通过DMA引擎逐条读入指令序列并依次执行。作为本发明的进一步改进,所述步骤Sl前还包括主处理器通过APB总线将指令写入指令寄存器。作为本发明的进一步改进,所述“主处理器通过APB总线将指令写入指令寄存器” 前还包括确认指令的有效标志是否设置,若否,主处理器写入指令后设置有效标志;若是,协处理器停止写入指令。作为本发明的进一步改进,所述步骤步骤Sl后还包括清除指令的有效标志。作为本发明的进一步改进,所述步骤S4前还包括启动DMA引擎。作为本发明的进一步改进,所述协处理器通过DMA引擎从AHB总线逐条读入指令。相应地,一种适应低延迟或高吞吐要求的协处理器指令执行系统,所述系统包括
指令寄存器用于存储主处理器写入的指令; DMA引擎用于协处理器从指令寄存器读取指令; 指令执行单元用于执行协处理器读取的指令。作为本发明的进一步改进,所述指令存储器通过APB总线与系统交互。作为本发明的进一步改进,所述DMA引擎通过AHB总线与系统交互。本发明的有益效果是本发明通过判断所述指令是否包含一个指令序列在系统存储空间中的起始地址,从而选择不同的指令执行方式,满足了协处理器适应低延迟或高吞吐的要求。


图1为本发明一实施方式中适应低延迟或高吞吐要求的协处理器指令执行方法的流程图。图2为本发明一实施方式中指令驱动协处理器的任务中断系统的示意图。图3为本发明一实施方式中指令驱动协处理器的任务中断方法及系统中主处理器的工作流程图。图4为为本发明一实施方式中指令驱动协处理器的任务中断方法及系统中协处理器的工作流程图。
具体实施例方式以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。参图1所示为本发明一实施方式中适应低延迟或高吞吐要求的协处理器指令执行方法的流程图,该方法包括以下步骤
51、协处理器从指令寄存器读取指令;
52、判断所述指令是否包含一个指令序列在系统存储空间中的起始地址,若否,执行步骤S3,若是,执行步骤S4;
53、协处理器执行所述指令。协处理器执行这条指令,结束后从指令寄存器读取下一条指令;
54、协处理器通过DMA引擎逐条读入指令序列并依次执行。启动DMA引擎,协处理器通过DMA引擎从AHB总线逐条读入指令序列,并依次执行指令直至指令序列结束,结束后从指令寄存器读取下一条指令。当然,也可以通过其它方式读入,重点是从系统空间逐条读入指令。其中,在步骤Sl前还包括
确认指令的有效标志是否设置,若否,主处理器通过APB总线将指令写入指令寄存器, 主处理器写入指令后设置有效标志;若是,协处理器停止写入指令。当然,在硬件实现方面, 主处理器还有很多方法写入协处理器的寄存器,不再赘述。进一步地,步骤步骤Sl后还包括清除指令的有效标志。
参图2所示为本发明一实施方式中指令驱动协处理器的任务中断系统100的示意图,该系统包括
指令寄存器10 用于存储主处理器写入的指令。指令存储器通过APB总线与系统交
互;
DMA引擎20 用于协处理器从指令寄存器读取指令。DMA引擎通过AHB总线与系统交
互;
指令执行单元30 用于执行协处理器读取的指令。参图3、图4,并结合图1、图2所示,对本发明的优选实施方式进行进一步说明。主处理器首先确认指令的有效标志是否设置,若未设置有效标志,则主处理器通过APB总线将指令写入指令寄存器,主处理器写入指令后设置有效标志;若是,协处理器停止写入指令。主处理器依次写入所有指令至协处理器的指令寄存器中。协处理器从指令寄存器读取指令,读取指令后协处理器清除该指令的有效标志, 然后判断该指令是否为包含一个指令序列在系统存储空间中的起始地址,若否,说明该指令为普通指令,协处理器执行所述指令,结束从指令寄存器读取下一条指令,直至所有的指令都执行完成;若是,协处理器启动DMA引擎,通过DMA引擎逐条读入指令序列,并依次执行指令直至指令序列结束,结束后从指令寄存器读取下一条指令。本发明实现基本的由主处理器直接发送指令到协处理器的功能,主处理器依次发送指令到协处理器,协处理器依次取出指令并执行。对于要求低延迟的协处理器任务,用这种方式实现了低延迟的要求;主处理器发送的指令中有一种特殊指令,指令内容包含一个指令序列在系统存储空间中的起始地址,协处理器接到该指令后从系统存储空间中自动读入指令序列并执行,当需要高指令吞吐量时,即可采用这种方式。由于执行完指令序列后, 协处理器可以继续执行下一条由主处理器直接发送的指令,两种方式从主处理器的角度来看,处理过程并没有区别。与现有技术相比,本发明通过判断所述指令是否包含一个指令序列在系统存储空间中的起始地址,从而选择不同的指令执行方式,满足了协处理器适应低延迟或高吞吐的要求。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种适应低延迟或高吞吐要求的协处理器指令执行方法,其特征在于,所述方法包括以下步骤51、协处理器从指令寄存器读取指令;52、判断所述指令是否包含一个指令序列在系统存储空间中的起始地址,若否,执行步骤S3,若是,执行步骤S4 ;53、协处理器执行所述指令;54、协处理器通过DMA引擎逐条读入指令序列并依次执行。
2.根据权利要求1所述的方法,其特征在于,所述步骤Sl前还包括主处理器通过APB 总线将指令写入指令寄存器。
3.根据权利要求2所述的方法,其特征在于,所述“主处理器通过APB总线将指令写入指令寄存器”前还包括确认指令的有效标志是否设置,若否,主处理器写入指令后设置有效标志;若是,协处理器停止写入指令。
4.根据权利要求3所述的方法,其特征在于,所述步骤步骤Sl后还包括清除指令的有效标志。
5.根据权利要求1所述的方法,其特征在于,所述步骤S4前还包括启动DMA引擎。
6.根据权利要求5所述的方法,其特征在于,所述协处理器通过DMA引擎从AHB总线逐条读入指令。
7.—种如权利要求1所述的适应低延迟或高吞吐要求的协处理器指令执行系统,其特征在于,所述系统包括指令寄存器用于存储主处理器写入的指令; DMA引擎用于协处理器从指令寄存器读取指令; 指令执行单元用于执行协处理器读取的指令。
8.根据权利要求7所述的系统,其特征在于,所述指令存储器通过APB总线与系统交互。
9.根据权利要求7所述的系统,其特征在于,所述DMA引擎通过AHB总线与系统交互。
全文摘要
本发明提供了一种适应低延迟或高吞吐要求的协处理器指令执行方法,包括以下步骤S1、协处理器从指令寄存器读取指令;S2、判断所述指令是否包含一个指令序列在系统存储空间中的起始地址,若否,执行步骤S3,若是,执行步骤S4;S3、协处理器执行所述指令;S4、协处理器通过DMA引擎逐条读入指令序列并依次执行。本发明通过判断所述指令是否包含一个指令序列在系统存储空间中的起始地址,从而选择不同的指令执行方式,满足了协处理器适应低延迟或高吞吐的要求。
文档编号G06F9/30GK102520910SQ201110398179
公开日2012年6月27日 申请日期2011年12月5日 优先权日2011年12月5日
发明者余红斌, 妙维, 李张丰, 袁宏骏 申请人:苏州希图视鼎微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1