[发明专利]一种处理器装置及其循环处理方法有效
申请号: | 201110319091.1 | 申请日: | 2011-10-19 |
公开(公告)号: | CN102508635A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 张铁军;王东辉;王琪;洪缨;侯朝焕 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理器 装置 及其 循环 处理 方法 | ||
技术领域
本发明涉及一种处理器技术,尤其涉及一种处理器装置及其循环处理方法。
背景技术
随着计算机和信息技术的飞速发展,数字信号处理(Digital Signal Processing,DSP)技术应运而生并得到迅速的发展。DSP处理器则广泛的应用于数据密集型计算类应用,如图像、视频编码等。这些应用的计算复杂性和实时性特点对处理器的性能提出了更高的要求。而这些应用大部分计算都集中在循环以及循环嵌套中完成。
在DSP的应用中,如果DSP处理器能够实现零开销循环,将可以大大提高DSP处理器的性能。所谓零开销循环是DSP处理器在执行循环时,不用花时间去检查循环计数器的值就能执行一组指令,由硬件完成循环跳转和循环计数器的增减。
现有的零循环开销技术大多不支持超长指令字(Very Long Instruction Word,VLIW)结构的DSP处理器,而且增加的循环指令众多,硬件实现方法复杂。所支持的循环体内指令数目和循环次数有限,循环的控制不能完全由硬件实现,循环开销依然存在。
如2010年12月6-8号在成都举办的第18届智能信号处理与通信系统国际会议(ISPACS)上Zhenqi Wei,Peilin Liu,Ji Kong,Rendong Ying等人发表的《Low-Power Microarchitecture of Zero-Overhead Nested Loops in Embedded Processors》文章中公开了通过增加专用的循环指令:LOOP.C,LOOP.B,LOOP.R,LOOP.BR来通知硬件接下来循环体的指令数目和循环次数,或者刷新硬件中循环计数器等专用寄存器的值。通过增加硬件单元,包括一个循环寄存器堆栈和循环缓存器,其中循环寄存器堆栈用于存储循环体的起始地址、结束地址、当前循环PC、循环次数和循环体是否可用、是否使用循环缓冲的标志位,循环缓存器用于存储小循环的循环指令。文章所公开的方法虽然能较好的解决零循环开销的问题,但是增加的指令较多,虽然文章提出其支持循环嵌套,但是没有提出具体的硬件实现方式。而且该方法只适用于单发射的DSP处理器结构,不适用于具有VLIW结构的高性能DSP处理器。
如计算机期刊IEEE Transactions on computers,Vol 57,NO.2,February 2008中Nikolaos Kavvadias and Spirdon Nikoladis等人发表的《Elimination of overhead operations in complex loop structures for embedded microprocessors》文章中提到通过任务控制循环图(Task Control-flow Graph,TCFG)优化应用程序的循环节点,编译产生优化后的代码。增加的循环硬件模块包括:循环参数表、索引计算单元和任务选择单元。可以支持循环嵌套,以及多入口和多出口循环。多入口和多出口循环主要用于控制密集型循环,而大多数程序的计算密集型循环控制逻辑简单,不存在多入口和多出口。而且这种方法只支持单发射的处理器结构,而且不能被传统编译器优化,硬件结构复杂。
如德州仪器(Texas Instruments,TI)公司DSP芯片C64X+系列支持VLIW,主要采用软件流水机制减少循环开销。硬件部分包括1个缓冲器和两个计数器,另外还有7条相关指令。其中,缓冲器可以用来存储最多14个指令执行包的循环体代码,使得循环时不用每次访问内存重新取值,节省功耗和存储访问带宽。在程序编译过程中,编译器会自动将可以放入缓冲器的循环指令用特殊指令标识,用MVC指令将循环次数装载到内部循环计数器,循环代码的开始和结束分别用指令SPLOOP和SPKERNEL指令标识。这样循环体执行结束时,其硬件机制可以控制代码从循环体开始处继续执行,减少了分支指令的开销。但是该方法中,对计数器的写入和读取,循环体的开始和结束都需要通过指令实现,浪费指令周期。循环次数由循环计数器的值决定,而且从加载循环计数器值到它的内容可以使用需要4个时钟周期,因而要求在SPLOOP指令前4个周期加载循环计数器。这种方法对指令顺序要求严格,而且这4个周期的间隔通道需要通过插入空指令来实现,浪费指令周期。
发明内容
本发明的目的是通过在超长指令字的处理器中增加一条指令和一个循环单元,解决超长指令字的处理器循环控制不能完全由硬件实现,循环执行开销大的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110319091.1/2.html,转载请声明来源钻瓜专利网。