一种面向向量处理器数据交换的方法及装置,该方法为:通过向量指令EXC完成两个向量寄存器之间指定部分内容的互相交换,向量指令EXC的指令格式为EXC mode VRiVRj,VRi和VRj用以指定要进行数据交换的两个向量寄存器,mode为一个立即数,用来指定这两个向量寄存器之间数据交换的模式,mode的取值为1、2、3……Log2N,其中N为向量处理器中处理单元PE的数目,一般为2的整数次幂。该装置包括译码逻辑单元、两路选择器以及时钟信号单元。本发明专利技术具有原理简单、操作方便、能够快速完成特殊数据交换、缩短整个算法的运算时间、提高执行效率、可满足运算密集型应用需求等优点。
【技术实现步骤摘要】
本专利技术主要涉及到向量处理器的设计领域,特指一种面向向量处理器数据交换 的方法及装置。
技术介绍
随着4G无线通信技术和高清视频图像处理技术的发展,向量处理器得到了广泛 的应用。参见图1,为向量处理器的一般结构示意图。向量处理器一般由N个处理单元 PE组成,每个PE包含数个功能单元,一般包括移位部件、ALU部件、乘法部件等,这 些功能部件可以读写一组局部寄存器,每个PE包行一组局部寄存器,所有PE的同一编 号的局部寄存器寄存器在逻辑上又组成一个向量寄存器。例如图示PE1-PEn的Rci寄存器 在逻辑上组成了向量寄存器VR0,每个PE所对应的R0称为向量寄存器的一个元素。向 量处理器采用SIMD的方式,在同一条向量指令的控制下,N个PE同时对各自的局部寄 存器进行相同操作,用以开发应用程序的数据级并行性。无线通信和视频图像处理算法中包含着大量高密集运算的子任务,如FFT/IFFT 运算、矩阵求逆运算等。这些运算过程在映射到向量处理器上时,往往需要充分利用所 有可并行的运算资源,以便于使其满足在功耗、实时行等方面的要求。然而,由于算法 本身的特性和向量数据通路的限制,算法在执行过程中不同的处理单元之间不可避免地 要进行数据交换。例如在基2FFT/IFFT算法中,本级蝶形运算所需要的数据并非和前一 级蝶形运算的结果顺序对应。因此,在进行本级蝶形运算之前就需要将前一级的结果交 换到需要它的PE中,以方便本级蝶形运算。参见图2,为16点基2FFT算法的4级蝶形 运算示意图。图中所示x0-xl5为位反序输入,X0-X15为顺序输出。图中每一级运算 输入点之间的交叉箭头指示了要进行蝶形运算的一对输入点,在每一级蝶形运算中,每 个点只参加一次蝶形运算。对于N点FFT共需要Iog2N级蝶形运算,每一级共进行N/2 次蝶形运算,产生N个结果被下一级蝶形运算使用。每一级蝶形运算所使用的一对输入 点之间的距离都是前一级的2倍,如第一级是每两个连续的输入点之间做蝶形运算,即 输入点之间的距离为1,第二级每个蝶形运算的两个输入点之间的距离为2,第三级每个 蝶形运算的两个输入点之间的距离为4,依次类推,直至第Iog2N级蝶形运算做完之后得 到顺序输出的结果。实现PE间的数据交换通常有两种途径1.利用共享向量存储器;2.使用数据混 洗单元。这两种方法在实现一般的数据交换时,效率是相当的。在实际应用中如FFT/ IFFT、矩阵求逆等又往往大量需要如下这种特殊的数据交换方式在数据交换完成后, 要保证每个向量寄存器最终的内容既有一部分保持不变,又有一部分来自于其它向量寄 存器。要用传统的方法实现上述的特殊数据交换,第一种方法需要向量处理器支持屏蔽 字技术,所谓屏蔽字技术是指通过配置屏蔽字寄存器来控制某些PE不执行当前指令,在 此基础上,还需要数条配置屏蔽字寄存器的指令和两条访问共享向量存储器的指令;第 二种方法则需要多条混洗指令。这两种方法都增加了每次交换的时间和所使用的指令条
技术实现思路
本专利技术要解决的技术问题就在于针对现有技术存在的技术问题,本专利技术提供 一种原理简单、操作方便、能够快速完成特殊数据交换、缩短整个算法的运算时间、提 高执行效率的面向向量处理器数据交换的方法及装置,以满足运算密集型应用的需求。为解决上述技术问题,本专利技术采用以下技术方案—种面向向量处理器数据交换的方法,其特征在于通过向量指令EXC完成 两个向量寄存器之间指定部分内容的互相交换,所述向量指令EXC的指令格式为EXC mode VR1VRj,所述VRjP VR1用以指定要进行数据交换的两个向量寄存器,所述mode为 一个立即数,用来指定这两个向量寄存器之间数据交换的模式,所述mode的取值为1、 2、3……Log2N,其中N为向量处理器中处理单元PE的数目,一般为2的整数次幂。作为本专利技术的进一步改进当mode的值为1时,表明该指令要执行的操作为将PEk中的局部寄存器Ri中 的内容和PEh中的局部寄存器Rj中的内容相互交换,没有进行数据互换的局部寄存器中 的内容保持不变,其中k=2、4···Ν;当mode的值为2时,表明该指令要执行的操作为 将PEk:PEk+1中的局部寄存器Ri中的内容和PEhPEH中的局部寄存器Rj中的内容相互交 换,没有进行数据互换的局部寄存器中的内容保持不变,其中K = 3、7…N-I ;当mode 的值为s时,表明该指令要执行的操作为将^^ : pe^ ■... ■ PA+p中的局部寄存器Ri中 的内容和: PEk+l-^ :…^巧_,中的局部寄存器Rj中的内容相互交换,没有进行数 据互换的局部寄存器中的内容保持不变,其中k=2s-l+l、2s-l+2s……N-2S-1+1。本专利技术进一步提供一种面向向量处理器数据交换的装置,其特征在于包括译 码逻辑单元、两路选择器以及时钟信号单元,所述译码逻辑单元根据向量指令EXC的 mode域进行译码,每次译码后产生N/2个有效的使能信号,每个使能信号分别连接至两 个两路选择器的使能端;所述两路选择器的输入来自将要发生数据交换的两个局部寄存 器的读端口;当使能信号有效时,两路选择器控制两个局部寄存器的内容各自写回到交 换目的地所对应的局部寄存器写端口,当时钟信号有效时,完成两个局部寄存器内容的 相互交换。所述向量指令EXC的指令格式为EXC mode VR1 VRj,所述VR1和VR1用以指定要进行数据交换的两个向量寄存器,所述mode为一个立即数,用来指定这两个向量寄存 器之间数据交换的模式,所述mode的取值为1、2、3……Log2N,其中N为向量处理器 中处理单元PE的数目,一般为2的整数次幂。当mode的值为1时,表明该指令要执行的操作为将PEk中的局部寄存器Ri中 的内容和PEh中的局部寄存器Rj中的内容相互交换,没有进行数据互换的局部寄存器中 的内容保持不变,其中k=2、4···Ν;当mode的值为2时,表明该指令要执行的操作为 将PEk:PEk+1中的局部寄存器Ri中的内容和PEhPEH中的局部寄存器Rj中的内容相互交 换,没有进行数据互换的局部寄存器中的内容保持不变,其中K = 3、7…Ni;当mode 的值为s时,表明该指令要执行的操作为将^^ : pe^ ■... ■ PA+p中的局部寄存器Ri中 的内容和: PEk+l-^ :…^P民_,中的局部寄存器Rj中的内容相互交换,没有进行数据互换的局部寄存器中的内容保持不变,其中k=2s-l+l、2s-l+2s……N-2S-1+1。与现有技术相比,本专利技术的优点在于本专利技术面向向量处理器数据交换的方 法及装置,可支持在向量寄存器间进行特殊方式数据交换,并设计完成该功能的相应指 令。通过本方法和装置能够减小FFT/IFFT和矩阵求逆等算法在向量处理器中的执行时 间,有效压缩了代码长度。采用本专利技术设计的指令比传统的混洗单元实现代价低,在实 现相同功能的情况下,降低了功耗。另外,本专利技术的装置,结构简单紧凑、成本低廉、 操作十分方便、可靠性好。附图说明图1是向量处理器的一般结构示意图;图2是16点FFT算法的4级蝶形运算示意图;图3是本专利技术方法的执行流程示意图;图4是本专利技术装置的结构原理示意图;图5是本专利技术在8数据通路的向量处理器上的执行本文档来自技高网...
【技术保护点】
一种面向向量处理器数据交换的方法,其特征在于:通过向量指令EXC完成两个向量寄存器之间指定部分内容的互相交换,所述向量指令EXC的指令格式为EXCmodeVR↓[i]VR↓[j],所述VR↓[i]和VR↓[j]用以指定要进行数据交换的两个向量寄存器,所述mode为一个立即数,用来指定这两个向量寄存器之间数据交换的模式,所述mode的取值为1、2、3……Log↓[2]N,其中N为向量处理器中处理单元PE的数目,一般为2的整数次幂。
【技术特征摘要】
【专利技术属性】
技术研发人员:陈书明,张凯,陈海燕,万江华,孙永节,彭元喜,刘胜,刘蓬侠,胡春媚,唐涛,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。