一种VLIW处理器中重复程序的执行控制方法及装置制造方法及图纸

技术编号:25947332 阅读:21 留言:0更新日期:2020-10-17 03:39
本发明专利技术公开一种VLIW处理器中重复程序的执行控制方法及装置,该方法步骤包括:S1.配置一个指令缓存;S2.控制将需要重复执行的各重复程序的执行包信息按照执行顺序缓存至指令缓存中,对执行程序进行识别,当识别到各重复程序时,控制暂停存取指、译码,并将指令缓存中对应的执行包信息直接派发给功能部件。本发明专利技术能够适用于VLIW处理器体系结构控制重复程序执行,且具有实现方法简单、成本及功耗低、访存延迟小、重复程序执行效率高等优点。

【技术实现步骤摘要】
一种VLIW处理器中重复程序的执行控制方法及装置
本专利技术涉及VLIW(VeryLongInstructionWord,超长指令字)处理器
,尤其涉及一种VLIW处理器中重复程序的执行控制方法及装置。
技术介绍
DSP(DigitalSignalProcessor,数字信号处理器)是一种特别适合与数字信号处理运算的微处理器,其主要应用是实时快速的实现各种数字信号处理算法。自从数字信号处理器问世以来,由于它具有高速、灵活、可编程、低功耗和便于接口等特点,目前已广泛应用于以下几个方面:·通用数字信号处理-自适应滤波,卷积,相关,数字滤波,希尔伯特变换等;·语音信号处理-语音增强,语音识别,语音合成,语音编码,文字转换等;·图形图像处理-三维动画,图像鉴别/增强/压缩/传输,模式识别,电子地图等;·特殊应用数字信号处理-振动和噪声分析与处理,声纳和雷达信号处理,地震信号分析与处理等。VLIW体系结构的DSP的指令特点是将固定长度的指令字段封装成一个取指包,执行包是由同一拍需要同时执行的指令字段组成,长度不固定,一个取指包中可能只包含一个执行包,也可能包含多个执行包,一个执行包可能只包含一个功能部件的指令,也可能包含多个功能部件的指令。VLIW体系结构的DSP处理器的执行特点是需要对一些特定算法程序进行反复调用,重复执行其中的核心程序段,即代码中存在大量需要重复执行的程序段,其中最为典型的即为循环程序,甚至可能需要执行成千上万次。据统计在一些多媒体应用中消耗在重复程序段的执行时间可以占到总时间的70%以上。代码执行过程中存在大量需要重复执行的程序段对其执行效率带来了很大影响:一方面,会增加对指令存储的访问次数,而由于访存延迟的存在会极大的降低程序执行效率,对于嵌入式应用而言不仅增加了访存延迟,更增大了访存功耗;另一方面,程序反复执行需要频繁从指令缓存中取指译码,将取指包译码成执行包,而频繁对重复程序进行译码会造成不必要的功耗浪费,增大程序执行的功耗。针对应用中存在的大量需要重复执行的程序段,目前通常都是在软件层面来提高指令的并行度,主要采用以下两种方式:一种是循环展开的方式,另一种是软件流水方式,其中循环展开方式是通过多次复制循环体,增加代码量来提高循环指令的并行度,软件流水方式则是通过并行执行不同循环迭代的指令来提高循环程序的执行速度。但是上述提高重复程序指令并行度的方式,重复执行的程序段仍然需要重新访存取指译码,导致依然会增加访存延迟对程序执行效率的影响,同时也会加大程序执行时的功耗,即仍然会存在执行效率低、访存延迟及功耗大等的问题。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种实现方法简单、成本及功耗低、访存延迟小以及重复程序执行效率高的VLIW处理器中重复程序的执行控制方法及装置。为解决上述技术问题,本专利技术提出的技术方案为:一种VLIW处理器中重复程序的执行控制方法,步骤包括:S1.配置一个指令缓存;S2.控制将需要重复执行的各重复程序的执行包信息按照执行顺序缓存至所述指令缓存中;对执行程序进行识别,当识别到各所述重复程序时,控制暂停存取指、译码,并将所述指令缓存中对应的执行包信息直接派发给功能部件。进一步的,所述步骤S2中将所述执行包信息缓存至所述指令缓存包括:对指令派发站派发的指令进行识别,通过识别指令组合里的分支指令和分支目标指令以确定所述重复程序的起始位置和结束位置,当识别到出现所述分支目标指令时,启动所述指令缓存,将所述分支目标指令之间的所有执行包信息按照执行顺序缓存到所述指令缓存中。进一步的,所述步骤S2中,当识别到再次出现所述分支目标指令时,停止缓存所述执行包信息,将当前的分支目标指令与所述指令缓存中的指令信息进行比对,如果相同则判定当前执行程序为所述重复程序,控制暂停存取指、译码,并将所述指令缓存中对应的执行包信息直接派发给功能部件,如果不同则控制作废所述指令缓存中缓存的信息以重新启动所述指令缓存进行下一次缓存。进一步的,所述步骤S2中将所述执行包信息缓存至所述指令缓存中时,若缓存到分支指令,记录分支指令在所述指令缓存中的位置,将所述执行包信息派发给功能部件时,每次在派发所述分支指令时启动取指和译码,当所述分支目标指令到达指令派发站时,比对当前派发的执行包信息和所述指令缓存中指令信息以判断分支跳转时所述分支目标指令是否相同,如果相同则判定所述重复程序未执行达到所需次数,继续控制从所述指令缓存中派发指令,并控制暂停取指和译码,如果不同则判定所述重复程序已执行完且达到所需次数,控制所述指令缓存不再继续派发所述执行包信息。进一步的,所述步骤S2中将所述执行包信息缓存至所述指令缓存中时,若所述指令缓存被全部充满还未识别到所述分支目标指令,控制将所述指令缓存中的指令信息作废并停止缓存,直至再次识别到所述分支目标指令再启动缓存。进一步的,所述步骤S2中具体通过配置状态机控制所述指令缓存,所述状态机包括空闲状态、装载状态、等待状态以及派发状态,所述空闲状态时对指令派发站派发的指令进行识别,判断是否出现所述分支目标指令,所述装载状态时开始启动所述指令缓存,将需要派发到每个功能部件的执行包信息缓存到所述指令缓存中对应位置,当所述指令缓存完成一个重复程序的缓存后进入所述等待状态以比对当前派发的执行包和所述指令缓存中的执行包是否相同,所述派发状态时控制所述指令缓存开始向功能部件派发指令。进一步的,所述状态机控制所述指令缓存时包括:当检测到当前派发站派发的执行包是所述分支目标指令,控制将状态切换到所述装载状态以开始缓存指令;当所述指令缓存充满时还未再次遇到所述分支目标指令时,控制将状态切换到所述空闲状态,同时作废所述指令缓存中已经缓存的指令;当装载指令过程中再次遇到所述分支目标指令时,控制将状态切换到所述等待状态开始逐拍比对当前派发的执行包和所述指令缓存中的执行包是否相同;当判断到指令站派发的执行包信息和所述指令缓存中的执行包信息不一致时,控制从所述等待状态直接切换到所述空闲状态;当判断到从再次遇到所述分支目标指令时指令站派发的执行包信息和所述指令缓存中的执行包信息逐拍比对都一致时,控制将状态切换到所述派发状态进行指令派发;当派发到所述分支指令时,重新启动取指,当所述分支目标指令再次到达且所述分支目标指令的指令包信息和所述指令缓存中的第一条指令信息不同时,控制将状态切换到所述空闲状态;当装载指令时再次出现所述分支目标指令且所述分支目标指令的执行包信息和所述指令缓存中的指令信息不一致时则控制将状态重新切换到所述装载状态;当派发到所述分支指令时,重新启动取指,当所述分支目标指令再次到达且所述分支目标指令的指令包信息和所述指令缓存中的第一条指令信息相同时,继续保持在所述派发状态。进一步的,所述步骤S2中还包括配置缓存读写指针以及缓存计数器,每缓存一个所述执行包信息时,控制所述缓存读指针加一、所本文档来自技高网
...

【技术保护点】
1.一种VLIW处理器中重复程序的执行控制方法,其特征在于,步骤包括:/nS1.配置一个指令缓存;/nS2.控制将需要重复执行的各重复程序的执行包信息按照执行顺序缓存至所述指令缓存中;对执行程序进行识别,当识别到各所述重复程序时,控制暂停存取指、译码,并将所述指令缓存中对应的执行包信息直接派发给功能部件。/n

【技术特征摘要】
1.一种VLIW处理器中重复程序的执行控制方法,其特征在于,步骤包括:
S1.配置一个指令缓存;
S2.控制将需要重复执行的各重复程序的执行包信息按照执行顺序缓存至所述指令缓存中;对执行程序进行识别,当识别到各所述重复程序时,控制暂停存取指、译码,并将所述指令缓存中对应的执行包信息直接派发给功能部件。


2.根据权利要求1所述的VLIW处理器中重复程序的执行控制方法,其特征在于,所述步骤S2中将所述执行包信息缓存至所述指令缓存包括:对指令派发站派发的指令进行识别,通过识别指令组合里的分支指令和分支目标指令以确定所述重复程序的起始位置和结束位置,当识别到出现所述分支目标指令时,启动所述指令缓存,将所述分支目标指令之间的所有执行包信息按照执行顺序缓存到所述指令缓存中。


3.根据权利要求2所述的VLIW处理器中重复程序的执行控制方法,其特征在于,所述步骤S2中,当识别到再次出现所述分支目标指令时,停止缓存所述执行包信息,将当前的分支目标指令与所述指令缓存中的指令信息进行比对,如果相同则判定当前执行程序为所述重复程序,控制暂停存取指、译码,并将所述指令缓存中对应的执行包信息直接派发给功能部件,如果不同则控制作废所述指令缓存中缓存的信息以重新启动所述指令缓存进行下一次缓存。


4.根据权利要求3所述的VLIW处理器中重复程序的执行控制方法,其特征在于:所述步骤S2中将所述执行包信息缓存至所述指令缓存中时,若缓存到分支指令,记录分支指令在所述指令缓存中的位置,将所述执行包信息派发给功能部件时,每次在派发所述分支指令时启动取指和译码,当所述分支目标指令到达指令派发站时,比对当前派发的执行包信息和所述指令缓存中指令信息以判断分支跳转时所述分支目标指令是否相同,如果相同则判定所述重复程序未执行达到所需次数,继续控制从所述指令缓存中派发指令,并控制暂停取指和译码,如果不同则判定所述重复程序已执行完且达到所需次数,控制所述指令缓存不再继续派发所述执行包信息。


5.根据权利要求2或3或4所述的VLIW处理器中重复程序的执行控制方法,其特征在于:所述步骤S2中将所述执行包信息缓存至所述指令缓存中时,若所述指令缓存被全部充满还未识别到所述分支目标指令,控制将所述指令缓存中的指令信息作废并停止缓存,直至再次识别到所述分支目标指令再启动缓存。


6.根据权利要求2或3或4所述的VLIW处理器中重复程序的执行控制方法,其特征在于,所述步骤S2中具体通过配置状态机控制所述指令缓存,所述状态机包括空闲状态、装载状态、等待状态以及派发状态,所述空闲状态时对指令派发站派发的指令进行识别,判断是否出现所述分支目标指令,所述装载状态时开始启动所述指令缓存,将需要派发到每个功能部件的执行包信息缓存到所述指令缓存中对应位置,当所述指令缓存完成一个重复程序的缓存后进入所述等...

【专利技术属性】
技术研发人员:陈小文郭阳陈纪孝李勇鲁建壮陈海燕孙书为陈胜刚刘胜雷元武扈啸刘仲
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

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

1