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

文档序号:8412306阅读:335来源:国知局
一种用于嵌入式图形处理器的指令集设计方法
【技术领域】
[0001] 本发明涉及一种用于嵌入式图形处理器的指令集设计方法,属于硬件处理器的指 令集设计的技术领域。
【背景技术】
[0002] 随着移动通信技术以及半导体工艺的进步,移动终端芯片的集成度和性能不断地 提高。移动领域的庞大市场前景极大地带动了相关产业的发展,尤其是嵌入式芯片设计行 业。由于其特殊的应用场景,嵌入式芯片有特殊的设计要求:
[0003] (1)低功耗:由于嵌入式设备大多采用锂电池供电,电量有限,因此,电子设备的 功耗极大地影响了电子设计的使用时间。低功耗的芯片设计能够提高用户的体验水平。
[0004] (2)兼容性高:嵌入式场景的多样性使得嵌入式芯片的设计需要更多地考虑兼容 性。
[0005] 在嵌入式应用中,数据处理芯片发挥着重要的作用,如CPU、GPU、DSP等。在这里芯 片中,计算单元是核心部分,而计算单元的设计取决于其对应的指令集系统。计算单元的效 率很大程度上取决于其设计的指令集效率。高效率的指令集设计不仅能够提高数据处理速 度,而且能够有效的降低功耗,提高资源的利用率。然而,目前针对嵌入式应用设计的指令 集系统较少,大部分指令集都是由PC机中的芯片指令演化而来,效率较低。

【发明内容】

[0006] 针对现有技术的不足,本发明提供一种用于嵌入式图形处理器的指令集设计方 法,提高数据处理速度,降低功耗,提高资源利用率。
[0007] 本发明的技术方案如下:
[0008] 一种用于嵌入式图形处理器的指令集设计方法,其特征在于,包括括如下4类指 令,其中,所述指令宽度为32位:
[0009] (1)浮点计算指令:浮点计算指令功能是完成浮点数的计算,所述浮点计算指令 包括指令类型标识符、指令操作码、两个源操作数地址、一个目的操作数地址、以及目的操 作数通道选通控制位;
[0010] (2)特殊函数查找指令:特殊函数查找指令功能是完成特殊函数计算,所述特殊 函数查找指令包括指令类型标识符、函数类型标识符、一个源操作数地址、一个目的操作数 地址、查找结果控制位以及目的操作数通道选通控制位;
[0011] (3)写入寄存器数据指令:写入寄存器数据指令功能是将数据从存储器中读取并 写入寄存器中,所述写入寄存器数据指令包括指令类型标识符、源操作数地址、目的操作数 地址以及目的操作数通道选通控制;
[0012] (4)读取寄存器数据指令:读取寄存器数据指令功能是将数据从寄存器中读取并 写入到存储器中,所述读取寄存器数据指令包括指令类型标识符、源操作数地址以及目的 操作数地址。
[0013] 根据本发明优选的,所述浮点计算指令的指令类型标识符宽度为3位,指令操作 码宽度为6位,两个源操作数地址宽度均为8位,目的操作数地址宽度为3位,目的操作数 通道控制位宽度为4位。
[0014] 根据本发明优选的,所述特殊函数查找指令的指令类型标识符宽度为3位,函数 类型标识符宽度为6位,源操作数地址宽度为8位,目的操作数地址宽度为8位,查找结果 控制位为3位,目的操作数通道控制位宽度为4位。
[0015] 根据本发明优选的,所述写入寄存器数据指令的指令类型标识符宽度为3位,源 操作数地址宽度为16位,目的操作数地址宽度为8位,目的操作数通道选通控制位宽度为 4位,剩下的位作为保留位,宽度为1位。
[0016] 根据本发明优选的,所述读取寄存器数据指令的指令类型标识符宽度为3位,源 操作数地址宽度为8位,目的操作数地址宽度为16位。剩下的位作为保留位,宽度为5位。
[0017] 根据本发明优选的,所述浮点计算指令的源操作数和目的操作数的宽度都是128 位,包括4个通道,所述每个通道由32位的单精度浮点数表示,浮点计算指令包括如下功 能:
[0018] (1)浮点加法:浮点加法操作是对两个源操作数中的对应浮点数进行相加,其过 程如下所示:
[0019] [Six, Sly, Slz, Slw] +[S2x, S2y,S2z,S2w] = [Slx+S2x, Sly+S2y, Slz+S2z,Slw+S 2w]
[0020] 其中,3&、517、512、51?分别表示源操作数1的4个通道数据,521、527、522、52¥ 分别表示源操作数2的4个通道数据,4个通道的计算结果分别保存到目的操作数的4个通 道中;
[0021] (2)浮点乘法:浮点乘法操作是对两个源操作数中的对应浮点数进行浮点乘法, 其过程如下所示:
[0022] [Six, Sly, Slz, Slw]*[S2x, S2y, S2z, S2w] = [Slx*S2x, Sly*S2y, Slz*S2z, Slw*S 2w]
[0023] 其中,4个通道的计算结果分别保存到目的操作数的4个通道中;
[0024] (3)向量点乘:向量点乘操作是在浮点乘法的基础上对结果进行相加,其计算结 果为32位的单精度浮点数,如下所示:
[0025] ResMADD = [Slx*S2x+Sly*S2y+Slz*S2z+Slw*S2w]
[0026] 由于计算结果是单通道数据,而目的操作数是4通道的,因此需要将结果复制到 其余3个通道中,其中每个通道的结果都是一致的,如下所示:
[0027] [ResMADD, ResMADD, ResMADD, ResMADD]
[0028] (4)求最大值和最小值:
[0029] 求最大值操作是选出两个浮点操作数中较大的值作为计算结果保存到目的操作 数中:
[0030] Max[Six, Sly, Slz, Slw, S2x, S2y, S2z,S2w] = {Max_x, Max_y, Max_z, Max_w}
[0031] 求最小值操作是选出两个浮点操作数中较小的值作为计算结果保存到目的操作 数中:
[0032] Min [Six, Sly, Slz, Slw, S2x, S2y, S2z, S2w] = {Min_x, Min_y, Min_z, Min_w};
[0033] 上述两种操作都是对源操作数的4个通道分别进行比较,输出结果分别保存到目 的操作数中;
[0034] (5)取整数:取整数操作是对源操作数中的4个通道浮点数保留整数部分,并将整 数结果保存到对应的目的操作数通道中;
[0035] (6)取小数:取小数操作是对源操作数中的4个通道浮点数保留小数部分,并将小 数结果保存到对应的目的操作数通道中。
[0036] 根据本发明优选的,所述特殊函数查找指令采用查找表方式计算特殊函数,包括 如下函数的查找:
[0037] (1)浮点倒数的查找;
[0038] (2)浮点指数的查找;
[0039] (3)浮点对数的查找;
[0040] (4)浮点平方根的查找。
[0041] 根据本发明优选的,所
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1