一种用于嵌入式图形处理器的指令集设计方法_2

文档序号:8412306阅读:来源:国知局
述特殊函数查找指令中输入浮点数的有效数字部分归一化 到统一的范围(1. 0, 2. 0],查找表的分辨率为1/256,查找输入高8位有效数字。
[0042] 本发明的优点和积极效果是:
[0043] (1)本发明专利是针对嵌入式图形处理器设计的专有指令集,指令系统简单,计算 效率高,可以极大的减少计算单元的设计复杂度。
[0044] (2)本发明专利设计的指令集适应性强,可以根据不同的嵌入式应用对指令进行 适当调整即可符合应用场景。
【具体实施方式】
[0045] 下面结合优选实施例对本发明作更进一步的详细描述,但不限于此。
[0046] 实施例、
[0047] 参见表1所示:
[0048] 表1 :为本发明所设计的4大类指令类型示意表
[0049]
【主权项】
1. 一种用于嵌入式图形处理器的指令集设计方法,其特征在于,包括括如下4类指令, 其中,所述指令宽度为32位: (1) 浮点计算指令:浮点计算指令功能是完成浮点数的计算,所述浮点计算指令包括 指令类型标识符、指令操作码、两个源操作数地址、一个目的操作数地址、以及目的操作数 通道选通控制位; (2) 特殊函数查找指令:特殊函数查找指令功能是完成特殊函数计算,所述特殊函数 查找指令包括指令类型标识符、函数类型标识符、一个源操作数地址、一个目的操作数地 址、查找结果控制位以及目的操作数通道选通控制位; (3) 写入寄存器数据指令:写入寄存器数据指令功能是将数据从存储器中读取并写入 寄存器中,所述写入寄存器数据指令包括指令类型标识符、源操作数地址、目的操作数地址 以及目的操作数通道选通控制; (4) 读取寄存器数据指令:读取寄存器数据指令功能是将数据从寄存器中读取并写入 到存储器中,所述读取寄存器数据指令包括指令类型标识符、源操作数地址以及目的操作 数地址。
2. 根据权利要求1所述的一种用于嵌入式图形处理器的指令集设计方法,其特征在 于,所述浮点计算指令的指令类型标识符宽度为3位,指令操作码宽度为6位,两个源操作 数地址宽度均为8位,目的操作数地址宽度为3位,目的操作数通道控制位宽度为4位。
3. 根据权利要求1所述的一种用于嵌入式图形处理器的指令集设计方法,其特征在 于,所述特殊函数查找指令的指令类型标识符宽度为3位,函数类型标识符宽度为6位,源 操作数地址宽度为8位,目的操作数地址宽度为8位,查找结果控制位为3位,目的操作数 通道控制位宽度为4位。
4. 根据权利要求1所述的一种用于嵌入式图形处理器的指令集设计方法,其特征在 于,所述写入寄存器数据指令的指令类型标识符宽度为3位,源操作数地址宽度为16位,目 的操作数地址宽度为8位,目的操作数通道选通控制位宽度为4位,剩下的位作为保留位, 宽度为1位。
5. 根据权利要求1所述的一种用于嵌入式图形处理器的指令集设计方法,其特征在 于,所述读取寄存器数据指令的指令类型标识符宽度为3位,源操作数地址宽度为8位,目 的操作数地址宽度为16位。剩下的位作为保留位,宽度为5位。
6. 根据权利要求1所述的一种用于嵌入式图形处理器的指令集设计方法,其特征在 于,所述浮点计算指令的源操作数和目的操作数的宽度都是128位,包括4个通道,所述每 个通道由32位的单精度浮点数表示,浮点计算指令包括如下功能: (1) 浮点加法:浮点加法操作是对两个源操作数中的对应浮点数进行相加,其过程如 下所示: [Six,Sly,Slz,Slw] + [S2x,S2y,S2z,S2w]= [Slx+S2x,Sly+S2y,Slz+S2z,Slw+S2w] 其中,Six、Sly、Slz、Slw分别表示源操作数I的4个通道数据,S2x、S2y、S2z、S2w分 别表示源操作数2的4个通道数据,4个通道的计算结果分别保存到目的操作数的4个通道 中; (2) 浮点乘法:浮点乘法操作是对两个源操作数中的对应浮点数进行浮点乘法,其过 程如下所示: [Six,Sly,Slz,Slw]*[S2x,S2y,S2z,S2w]= [Slx*S2x,Sly*S2y,Slz*S2z,Slw*S2w] 其中,4个通道的计算结果分别保存到目的操作数的4个通道中; (3) 向量点乘:向量点乘操作是在浮点乘法的基础上对结果进行相加,其计算结果为 32位的单精度浮点数,如下所示: ResMADD= [Slx*S2x+Sly*S2y+Slz*S2z+Slw*S2w] 由于计算结果是单通道数据,而目的操作数是4通道的,因此需要将结果复制到其余3 个通道中,其中每个通道的结果都是一致的,如下所示: [ResMADD,ResMADD,ResMADD,ResMADD] (4) 求最大值和最小值: 求最大值操作是选出两个浮点操作数中较大的值作为计算结果保存到目的操作数 中: Max[Six,Sly,Slz,Slw,S2x,S2y,S2z,S2w] = {Max_x,Max_y,Max_z,Max_w} 求最小值操作是选出两个浮点操作数中较小的值作为计算结果保存到目的操作数 中: Min[Six,Sly,Slz,Slw,S2x,S2y,S2z,S2w] = {Min_x,Min_y,Min_z,Min_w}; (5) 取整数:取整数操作是对源操作数中的4个通道浮点数保留整数部分,并将整数结 果保存到对应的目的操作数通道中; (6) 取小数:取小数操作是对源操作数中的4个通道浮点数保留小数部分,并将小数结 果保存到对应的目的操作数通道中。
7. 根据权利要求1所述的一种用于嵌入式图形处理器的指令集设计方法,其特征在 于,所述特殊函数查找指令采用查找表方式计算特殊函数,包括如下函数的查找: (1) 浮点倒数的查找; (2) 浮点指数的查找; (3) 浮点对数的查找; (4) 浮点平方根的查找。
8. 根据权利要求1所述的一种用于嵌入式图形处理器的指令集设计方法,其特征在 于,所述特殊函数查找指令中输入浮点数的有效数字部分归一化到统一的范围(1. 〇, 2. 0], 查找表的分辨率为1/256,查找输入高8位有效数字。
【专利摘要】一种用于嵌入式图形处理器的指令集设计方法,其特征在于,包括:(1)浮点计算指令:浮点计算指令功能是完成浮点数的计算;(2)特殊函数查找指令:特殊函数查找指令功能是完成特殊函数计算;(3)写入寄存器数据指令:写入寄存器数据指令功能是将数据从存储器中读取并写入寄存器中;(4)读取寄存器数据指令:读取寄存器数据指令功能是将数据从寄存器中读取并写入到存储器中。本发明不仅能够提高数据处理速度,而且能够有效的降低功耗,提高资源的利用率。
【IPC分类】G06F9-30, G06F9-302
【公开号】CN104731558
【申请号】CN201510015392
【发明人】刘治, 陈鹏, 周莉, 孙涛, 高圆圆, 汪洋, 孙皓, 章元智
【申请人】山东大学
【公开日】2015年6月24日
【申请日】2015年1月13日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1