[发明专利]基于传输触发架构可配置处理器指令冗余消除方法无效
申请号: | 201010150063.7 | 申请日: | 2010-04-19 |
公开(公告)号: | CN101833435A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 郭炜;鲁超;王粟;魏继增;史再峰 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 李素兰 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 传输 触发 架构 配置 处理器 指令 冗余 消除 方法 | ||
技术领域
本发明属于嵌入式处理器设计技术领域,特别是涉及基于传输触发架构的可配置处理器设计领域。
背景技术
基于传输触发架构(Transport Triggered Architecture,TTA)的处理器是由荷兰Delft大学的Henk Corporaal教授提出来的。传统的CISC、RISC、VLIW架构的处理器均是通过指定操作来编程的。例如ADD r1,r2,r3这条指令,先将r2和r3寄存器中的值相加,然后送入r1寄存器中,因此我们称此类处理器架构为操作触发处理器架构。TTA的核心思想是利用数据传输来触发操作,即任何数据在通过总线写入功能单元FU(Function Unit)的特定寄存器的同时会触发一次完整的操作。
基于传输触发架构的处理器由很多的功能单元FU、控制器(CTRL,Controller)构成,每个功能单元FU包含三种基本寄存器:操作数寄存器(operand register),触发寄存器(trigger register)和结果寄存器(result register)。功能单元FU和控制器(CTRL通过多条总线相连,如图1所示,为一个包含4条总线和5个功能单元FU的TTA架构处理器示意图。在编程时,只需指定数据在功能单元FU间的传输方向,而由控制单元CTL负责取指令、译码以及控制每一个功能单元FU从各个总线中读写数据。功能单元FU可以是一个乘法器(MUL)、加法器(ADD)、运算单元(ALU)、通用寄存器(GPR),还可以是一个存取单元(LD/ST)。TTA架构处理器中的功能单元FU的选择是由应用的复杂程度所决定的,并且FU的数量和功能单元类型以及总线数量等都是可以配置的。而基于TTA架构处理器的总线数量则决定了整个处理器的并行度。
传统的TTA架构的指令字格式如图2所示,包括并行子指令槽slot 1·slot n和长立即数槽LI,并行子指令槽的个数由处理器的总线数量决定,长立即数槽的位宽由指令中长立即数的大小和数据总线的位宽决定。并行子指令由源域和目的域构成:源域决定了源寄存器的标号(S)或短立即数(SI),目的域决定了目的寄存器的标号(D),而源域和目的域的宽度是由功能单元FU中的寄存器及通用寄存器的数量所决定的。因此,如果指令字中有长立即数,则指令字位宽度可以表示成公式1
l=(s+d)×n+w 公式1
其中l是指令字的位宽,s是源域的位宽,d是目的域的位宽,n代表指令中操作的个数,即子指令槽的个数,w是长立即数槽的位宽。
对于指令级并行的可配置处理器,由于其高性能及可扩展性,被广泛应用于片上系统(SoC)中,尤其是在数字信号处理领域。TTA架构作为超长指令字(VLIW,VeryLong Instruction Word)架构的超集,具有指令级并行的特点。但低代码密度以及需要较大的指令存储空间是基于TTA架构处理器的主要问题。由于功能单元FU数量有限,所有的操作不可能在同一时间内全部执行,因此这就产生了许多的空操作(NOP);而且,由于长立即数太长而不能放入子指令槽中,因此需要引进额外的子指令槽空间。
为了解决上述两个问题,基于字典编码、哈夫曼编码等的指令压缩方法可以用来减少代码量从而减少指令存储空间。但是这些指令压缩的方法需要额外的硬件电路,因此本发明引进了一种新的而非指令压缩的指令冗余消除的方法,此种方法对TTA指令字中的空操作槽进行了充分地复用,克服了上述现有技术的缺陷。
发明内容
基于上述技术问题,本发明提出了一种新的基于传输触发架构的可配置处理器指令字以及指令冗余消除的方法,基于传输触发架构的可配置处理器,对其指令字中存在的一些空操作槽进行复用,以存放长立即数,达到缩短指令字长度的目的。
本发明提出了一种基于传输触发架构的可配置处理器中指令字格式,该处理器的指令字格式包括若干个普通子指令槽,其中:普通子指令槽包括条件位、源域以及目的域;普通子指令槽如果存放空子指令则变成空操作槽;
指令字的位宽
l=(c+s+d)×n
其中,l是指令字的位宽,c是条件位的位宽,s是源域的位宽,d是目的域的位宽,n代表指令中操作的个数,即子指令槽的个数;
在对指令字进行编码的过程中,决定源域中存放内容的条件位,其位宽c
其中,lw是长立即数的位宽,sw是短立即数的位宽;
指令冗余消除方法包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010150063.7/2.html,转载请声明来源钻瓜专利网。