用于向量处理器的程序流控制方法及系统技术方案

技术编号:7454127 阅读:184 留言:0更新日期:2012-06-23 01:34
本发明专利技术公开了一种用于向量处理器的程序流控制方法及系统,方法步骤如下:向量数据处理单元在执行取指单元输出的向量数据操作指令时输出向量数据处理状态,程序流控制单元获取所述向量数据处理状态,根据向量数据处理状态生成程序流改变标志,取指单元根据程序流改变标志从程序流改变地址开始顺序获取指令,并将获取到的指令输出给向量数据处理单元;系统包括取指单元、向量数据处理单元和程序流控制单元,向量数据处理单元包括用于生成向量数据处理状态的状态生成单元,所述状态生成单元的输出端与所述程序流控制单元相连。本发明专利技术能够在处理过程中改变程序流,具有节约向量数据处理时间、减少处理数据量、数据处理效率高的优点。

【技术实现步骤摘要】

本专利技术涉及微处理器领域,具体涉及一种用于向量处理器的程序流控制方法及系统
技术介绍
无线通信、图像视频处理等应用算法包含大量的向量操作,例如执行16对数据的加法等。向量处理器是一种支持向量数据操作的处理器,通过向量处理器的一条向量指令就可以执行上述16对数据的加法操作。现有技术中,向量处理器的程序流控制一般通过标量程序流控制(包括分支、跳转或过程调用/返回等)实现。但是,这种标量程序流控制的程序流控制方法难以处理复杂的算法。例如以在向量数据中搜索字符的算法为例,当向量数据中的某一元素匹配搜索字符时,就可以停止搜索。由于标量程序流控制方法与各向量元素的处理状态没有任何关联,这种程序流控制方法不能在搜索到字符后停止搜索,而是需要对所有向量数据进行比较完毕以后才能停止搜索。如图1所示,现有技术的程序流控制系统包括取指单元、向量数据处理单元和程序流控制单元,取指单元分别与向量数据处理单元、程序流控制单元相连。取指单元用于获取程序流控制单元输出的程序流地址,并为向量数据处理单元提供向量数据操作指令、为程序流控制单元提供程序流控制指令;向量数据处理单元包含一个或者多个能够执行向量指令的运算单元,用于执行取指单元提供的向量数据操作指令;程序流控制单元对执行的程序流控制指令进行译码,产生程序流控制标志和程序流地址并发送给取指单元。但是,由于向量数据处理单元的各个运算单元执行向量数据操作指令时相互之间独立,例如在执行上述搜索字符时,必须在所有运算单元运算完毕以后,程序流控制单元才会执行新的程序流,标量程序流控制不能有效处理与向量数据处理状态有关的算法,不能够在处理过程中改变程序流,存在向量数据处理时间长、处理数据量大、数据处理效率低的问题。
技术实现思路
本专利技术要解决的技术问题是针对上述问题,提供一种能够在处理过程中改变程序流、节约向量数据处理时间、减少处理数据量、数据处理效率高的用于向量处理器的程序流控制方法及系统。为了解决上述技术问题,本专利技术采用的技术方案为一种用于向量处理器的程序流控制方法,其实施步骤如下向量处理器的向量数据处理单元在执行完任意向量指令序列时输出向量数据处理状态;向量处理器的程序流控制单元获取所述向量数据处理状态, 根据所述向量数据处理状态生成程序流改变地址和程序流改变标志;向量处理器的取指单元根据程序流改变标志从程序流改变地址开始顺序获取指令,并将获取到的指令输出给向量数据处理单元。作为本专利技术用于向量处理器的程序流控制方法的进一步改进所述程序流控制单元根据向量数据处理状态生成程序流改变地址和程序流改变标志的详细步骤包括首先对3当前的程序流控制指令进行译码,将所述向量数据处理状态与所述译码得到的当前程序流控制指令的触发状态进行比较,如果匹配则程序流控制单元生成程序流改变地址和程序流改变标志。本专利技术还提供一种用于向量处理器的程序流控制系统,包括取指单元、向量数据处理单元和程序流控制单元,所述向量数据处理单元包括用于生成向量数据处理状态的状态生成单元,所述状态生成单元的输出端与所述程序流控制单元相连,所述状态生成单元在向量数据处理单元执行完任意向量指令序列时输出向量数据处理状态给程序流控制单元,所述程序流控制单元根据所述向量数据处理状态生成程序流改变地址和程序流改变标志并输出至取指单元;所述取指单元根据所述程序流改变标志从程序流改变地址开始顺序获取指令,并将获取到的指令输出给向量数据处理单元。作为本专利技术用于向量处理器的程序流控制系统的进一步改进所述程序流控制单元包括用于对程序流控制指令进行译码的程序流控制指令处理单元、用于实时根据译码结果产生程序流改变地址和程序流改变标志的向量处理状态处理单元,所述程序流控制指令处理单元与取指单元相连,所述向量处理状态处理单元的输入端分别与程序流控制指令处理单元、状态生成单元相连,所述向量处理状态处理单元的输出端与取指单元相连,所述向量处理状态处理单元将状态生成单元输出的向量数据处理状态与所述程序流控制指令处理单元译码得到的当前程序流控制指令的触发状态进行比较,如果匹配则所述程序流控制单元生成程序流改变地址和程序流改变标志并输出至取指单元。本专利技术用于向量处理器的程序流控制方法具有下述优点本专利技术的向量数据处理单元实时输出向量数据处理状态;程序流控制单元获取所述向量数据处理状态,根据所述向量数据处理状态生成程序流改变标志,取指单元根据程序流改变标志,从程序流改变地址开始顺序获取指令,并将获取到的指令输出给向量数据处理单元,因此本专利技术能够在处理过程中改变程序流,具有节约向量数据处理时间、减少处理数据量、数据处理效率高的优点ο本专利技术用于向量处理器的程序流控制系统由于具有与本专利技术用于向量处理器的程序流控制方法对应的结构,因此也应当具有本专利技术用于向量处理器的程序流控制方法相对应的优点。附图说明图1为现有技术的程序流控制方法示意图。图2为本专利技术实施例的框架结构示意图。图3为本专利技术实施例中执行BRVNZ指令的一个向量数据处理状态示意图。图4为本专利技术实施例中执行BRVNZ指令的另一个向量数据处理状态示意图。图5为本专利技术实施例中执行BRVZ指令的一个向量数据处理状态示意图。图6为本专利技术实施例中执行BRVZ指令的另一个向量数据处理状态示意图。图例说明1、取指单元;2、向量数据处理单元;21、状态生成单元;3、程序流控制单元;31、程序流控制指令处理单元;32、向量处理状态处理单元。具体实施方式如图2所示,本实施例用于向量处理器的程序流控制方法的实施步骤如下向量处理器的向量数据处理单元在执行完任意向量指令序列时输出向量数据处理状态;向量处理器的程序流控制单元获取向量数据处理状态,根据向量数据处理状态生成程序流改变地址和程序流改变标志;向量处理器的取指单元根据程序流改变标志从程序流改变地址开始顺序获取指令,并将获取到的指令输出给向量数据处理单元。本实施例中,程序流控制单元根据向量数据处理状态生成程序流改变地址和程序流改变标志的详细步骤包括首先对当前的程序流控制指令进行译码,将向量数据处理状态与译码得到的当前程序流控制指令的触发状态进行比较,如果匹配则程序流控制单元生成程序流改变地址和程序流改变标志。如图2所示,本实施例用于向量处理器的程序流控制系统包括取指单元1、向量数据处理单元2和程序流控制单元3,向量数据处理单元2包括用于生成向量数据处理状态的状态生成单元21,状态生成单元21的输出端与程序流控制单元3相连,状态生成单元21在向量数据处理单元2执行完任意向量指令序列时输出向量数据处理状态给程序流控制单元3,程序流控制单元3根据向量数据处理状态生成程序流改变地址和程序流改变标志并输出至取指单元1 ;取指单元1根据程序流改变标志从程序流改变地址开始顺序获取指令, 并将获取到的指令输出给向量数据处理单元2。当向量数据处理单元2执行完成某一向量指令序列时,状态生成单元21能够产生向量数据处理状态,程序流控制单元3则对程序流控制指令进行译码,产生程序流控制指令类型信息和程序流地址,然后根据程序流控制指令类型信息和向量数据状态产生标志是否进行程序流改变的信息,取指单元1括接收程序流控制单元3的程序流地址和程序流改变信息,若程序流改变标志改变,则从程序流改变地址开始顺序获取指令,并将获取到本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:万江华陈书明王海波王慧丽孙书为陈胜刚陈海燕刘宗林鲁建壮王耀华
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:

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

1
相关领域技术