[发明专利]一条指令完成一次蝶形运算的微处理器实现方法无效
申请号: | 200910090205.2 | 申请日: | 2009-07-31 |
公开(公告)号: | CN101615113A | 公开(公告)日: | 2009-12-30 |
发明(设计)人: | 何虎;刘源;沈钲 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/302 | 分类号: | G06F9/302;G06F9/38 |
代理公司: | 北京市立方律师事务所 | 代理人: | 张 磊 |
地址: | 100084北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一条 指令 完成 一次 蝶形 运算 微处理器 实现 方法 | ||
1、一种一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,包括以下步骤:
解码级解析指令,并生成操作码和旁路控制信号;
根据指令从源寄存器中获取第一操作数和第二操作数;
根据所述旁路控制信号选择进行一级操作或者两级操作,并根据生成的所述操作码进行蝶形运算。
2、如权利要求1所述的一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,如果所述指令为BTFDTPR.2指令,则所述生成选择两级操作的旁路控制信号。
3、如权利要求2所述的一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,所述两级操作包括:
将第一操作数和第二操作数相乘的第一执行级,且所述第一执行级将相乘的乘积结果送入第二执行级;
和,将所述乘积结果相加和相减,并将相加和相减结果移位的第二执行级,且所述第二执行级将移位结果放入目标寄存器中的相应位置。
4、如权利要求3所述的一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,所述将第一操作数和第二操作数相乘包括:
将所述第一操作数和第二操作数的高16位和低16位分别相乘,并将两个32位的乘积结果送入流水线寄存器。
5、如权利要求4所述的一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,所述将所述乘积结果相加和相减,并将相加和相减结果移位包括:
将两个乘积结果分别相加和相减,存入临时寄存器;
将相加和相减的结果带补偿右移16位,并将两个移位后的16位分别放入目标寄存器的高16位和低16位。
6、如权利要求1所述的一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,所述微处理器包括一个指令获取单元、指令分发单元、六个执行单元XA,XM,XD,YA,YM,YD、和三组通用寄存器堆X,Y,G。
7、如权利要求6所述的一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,各个执行单元与寄存器的连接是完全对称的。
8、如权利要求6所述的一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,所述执行单元XM包括乘法单元、多路选择器MUX、加法单元,
所述乘法单元,用于根据所述操作码将第一操作数和第二操作数相乘;
所述MUX,用于根据所述旁路控制信号将所述第一操作数和第二操作数,或者所述乘法单元的乘积结果提供给所述加法单元;
所述加法单元,根据所述操作码或者操作码寄存器中暂存的操作码将所述乘积结果相加和相减,并将相加和相减结果移位。
9、如权利要求8所述的一条指令完成一次蝶形运算的微处理器实现方法,其特征在于,所述加法单元与操作码选择器相连,所述操作码选择器根据所述旁路控制信号选择所述操作码或者操作码寄存器中暂存的操作码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910090205.2/1.html,转载请声明来源钻瓜专利网。