一种面向SIMT统一染色阵列的指令集制造技术

技术编号:17940839 阅读:31 留言:0更新日期:2018-05-15 20:58
本发明专利技术公开了一种面向SIMT统一染色阵列的指令集,该指令集采用RISC结构,每条指令均为单字长;支持32个通用定点寄存器、32个通用浮点寄存器、32个特殊功能定点寄存器、32个特殊功能浮点寄存器;该指令集包括定点指令、浮点指令、控制指令和存储加载指令,构成了一个完整的图形处理器SIMT统一染色阵列中染色内核的指令集。本发明专利技术可以极大地方便染色程序的编写,并有效提升染色的效率,可用于自主图形处理器芯片的研制。

An instruction set for SIMT unified dyed array

The invention discloses an instruction set for SIMT unified dyed array. The instruction set uses a RISC structure, each instruction is a single word length; it supports 32 general purpose point registers, 32 general floating point registers, 32 special functional fixed-point registers, 32 special function floating point registers; the instruction set includes fixed point instructions and floating-point instructions. Point instructions, control instructions and storage loading instructions form a complete set of instruction sets of the coloring kernel in the unified color array of SIMT. The invention can greatly facilitate the preparation of dyeing procedures and effectively enhance the efficiency of dyeing, and can be used for the development of autonomous graphics processor chips.

【技术实现步骤摘要】
一种面向SIMT统一染色阵列的指令集
本专利技术属于图形处理器设计领域,涉及图形处理器染色内核的指令集设计,尤其涉及一种面向SIMT统一染色阵列的指令集。
技术介绍
图形处理器(GPU)是进行图形绘制、图像及视频处理和显示的关键部件,普遍存在于各类需对窗口系统、图形界面、游戏场景、图像应用和视频播放等进行加速的系统之中。SIMT统一染色阵列是统一染色图形处理器中负责顶点和像素染色的核心部件。SIMT统一染色阵列(USA)由多个SIMT染色器簇(SSC)成,而每个SSC则又有多个染色处理单元(SPU)组成,每个SPU由4个染色内核(SC)和1个特殊功能单元(SFU)组成。为具备较强的通用性,通用的CPU内核控制逻辑和实现复杂,集成度不能做到很高,且为具有广泛的适应性,指令集较为庞大,指令种类繁多、寻址方式复杂;SSC作为图形处理器中专门用于对顶点、像素染色进行并行处理的专用处理器簇,具有专用性,运算面向特定应用,更加注重专用运算能力、并行度和集成度,故需要控制简便、实现简单、运算定制、可大量集成的染色内核。因此,SIMT统一染色阵列的指令集不宜采用通用性强的通用CPU指令集,而需要采用面向图形处理染色任务专门设计、定制的指令集。此外,图形处理器、以及统一染色阵列设计和实现的差异,决定了不同的设计和实现,必须采用与之适应的指令集,才能获得较高的图形加速性能。
技术实现思路
本专利技术的目的是:提供一种适用于图形处理器SIMT统一染色阵列中染色内核设计的指令集。本专利技术的技术解决方案是:一种面向SIMT统一染色阵列的指令集,该指令集采用RISC结构,每条指令均为单字长;该指令集支持32个通用定点寄存器、32个通用浮点寄存器、32个特殊功能定点寄存器、32个特殊功能浮点寄存器;该指令集包括定点指令、浮点指令、控制指令和存储加载指令,共4类139条指令,构成了一个完整的图形处理器SIMT统一染色阵列中染色内核的指令集。1、所述的定点指令:包括算术运算指令、特殊运算指令、条件传送指令、条件设置指令、无条件传送指令、位操作指令;算术运算、特殊运算、条件传送、条件设置指令默认为有符号运算;无条件传送、位操作指令默认为无符号运算;算术运算指令包括:加法、带进位加法、减法、带借位减法、乘法、乘累加、除法、取余;特殊运算指令包括:对数、指数、倒数、倒数平方根、平方根、正弦、余弦;条件传送指令包括:小于传送、大于传送、小于等于传送、大于等于传送、等于传送、不等于传送;条件设置指令包括:小于设置、大于设置、小于等于设置、大于等于设置、等于设置、不等于设置;无条件传送指令包括:无条件传送、特殊寄存器无条件传送、SFU无条件传送、SFU特殊寄存器无条件传送;位操作指令包括:与、与非、或、或非、异或、异或非、逻辑左移、算术左移、逻辑右移、算术右移;定点指令,除特殊寄存器无条件传送和SFU特殊寄存器无条件传送指令外,每条指令的源操作数均有寄存器操作数和立即数操作数两种格式,(即目的操作数-源操作数,具有R-R、R-I两种;其中,R:寄存器,I-立即数);特殊寄存器无条件传送和SFU特殊寄存器无条件传送指令源操作数仅具有寄存器格式(R-R)。2、所述的浮点指令:浮点指令数据类型默认为单精度浮点;包括算术运算指令、特殊运算指令、传送指令和设置指令;算术运算指令包括:浮点加法、浮点减法、浮点乘法、浮点乘累加、浮点除法、浮点取整、浮点求绝对值、浮点转定点、定点转浮点;特殊运算指令包括:浮点对数、浮点指数、浮点倒数、浮点倒数平方根、浮点平方根、浮点正弦、浮点余弦;传送指令包括:浮点无条件传送、浮点小于传送、浮点大于传送、浮点小于等于传送、浮点大于等于传送、浮点等于传送、浮点不等于传送;设置指令包括:浮点小于设置、浮点大于设置、浮点小于等于设置、浮点大于等于设置、浮点等于设置、浮点不等于设置。3、所述的控制指令:控制指令默认为无符号运算;包括流程控制指令和Mask控制指令;流程控制指令包括:等于零跳转、不等于零跳转、绝对跳转、保存PC并跳转、恢复PC、空操作;Mask控制指令包括:压栈、出栈、取反。4、所述的存储加载指令:包括加载指令和存储指令;加载指令的源存储器包括:局部存储器、常量存储器、纹理单元;加载指令的目的寄存器包括:SC寄存器、SFU寄存器;存储指令的源寄存器包括:SC寄存器、SFU寄存器;存储指令的目的存储器包括:局部存储器;局部存储器加载和存储的模式包括:独享模式和共享模式;存储加载指令的寻址模式为:局部存储器和常量存储器采用“寄存器间接+立即数”寻址,即Mem[(RS1)+#Imm1],局部存储SFU存储指令除外;局部存储SFU存储指令中,局部存储器采用立即数寻址,即Mem[#Imm1];纹理单元采用寄存器间接寻址,即Tex[(RS1)];加载指令包括:局部存储SC定点独享加载、局部存储SC定点共享加载、局部存储SFU定点独享加载、局部存储SFU定点共享加载、常量存储SC定点加载、常量存储SFU定点加载、纹理SC定点加载;局部存储SC浮点独享加载、局部存储SC浮点共享加载、局部存储SFU浮点独享加载、局部存储SFU浮点共享加载、常量存储SC浮点加载、常量存储SFU浮点加载;局部存储SC定点独享存储、局部存储SC定点共享存储、局部存储SFU定点独享存储、局部存储SFU定点共享存储;局部存储SC浮点独享存储、局部存储SC浮点共享存储、局部存储SFU浮点独享存储、局部存储SFU浮点共享存储。本专利技术的有益效果是:一、本专利技术提供的一种面向SIMT统一染色阵列的染色处理器的指令集,可用作统一染色图形处理器中支持单指令多线程统一染色阵列的指令集;二、使用本专利技术指令集编写染色程序,可完成顶点染色和像素染色的各项功能;三、本专利技术的指令集依据图形处理器染色程序的需求专门设计,支持乘累加及多种特殊功能计算,以及局部存储器的多种访问模式,极大地方便染色程序的编写,并有效提升染色的效率;四、本专利技术提供的一种面向SIMT统一染色阵列的染色处理器的指令集,可用于自主图形处理器芯片的研制。附图说明图1是本专利技术中加载指令的分类及示例;图2是本专利技术中存储指令的分类及示例。具体实施方式下面结合附图和具体实施例,对本专利技术的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本专利技术的保护范围。面向SIMT统一染色阵列的指令集的指令整体上分为4类:定点指令、浮点指令、控制指令和存储加载指令。其中,定点指令共分6类,分别为:算术运算指令、特殊运算指令、条件传送指令、条件设置指令、无条件传送指令、位操作指令,具体如表1所示。表1定点指令浮点指令共分4类,分别为:算术运算指令、特殊运算指令、传送指令和设置指令,具体如表2所示。表2浮点指令控制指令分为2类:流程控制指令和Mask控制指令,具体如表3所示。出于单指令多线程(SIMT)的特殊性,本指令集中对于绝对跳转仅提供立即数格式,不提供寄存器格式(可能导致多个线程的跳转目的地址不同)。此外,在当前指令集中,能改变程序执行流程的指令仅有绝对跳转(J、JS、JR)和条件分支(BEQZ、BNEZ)指令,其本文档来自技高网...
一种面向SIMT统一染色阵列的指令集

【技术保护点】
一种面向SIMT统一染色阵列的指令集,其特征在于:所述指令集采用RISC结构,每条指令均为单字长;所述指令集支持32个通用定点寄存器、32个通用浮点寄存器、32个特殊功能定点寄存器、32个特殊功能浮点寄存器;所述指令集包括定点指令、浮点指令、控制指令和存储加载指令,构成了一个完整的图形处理器SIMT统一染色阵列中染色内核的指令集;其中:—所述定点指令包括算术运算、特殊运算、条件传送、条件设置、无条件传送、位操作;算术运算指令、特殊运算指令、条件传送指令、条件设置指令默认为有符号运算;无条件传送指令、位操作指令默认为无符号运算;其中:算术运算指令包括:加法、带进位加法、减法、带借位减法、乘法、乘累加、除法、取余;特殊运算指令包括:对数、指数、倒数、倒数平方根、平方根、正弦、余弦;条件传送指令包括:小于传送、大于传送、小于等于传送、大于等于传送、等于传送、不等于传送;条件设置指令包括:小于设置、大于设置、小于等于设置、大于等于设置、等于设置、不等于设置;无条件传送指令包括:无条件传送、特殊寄存器无条件传送、SFU无条件传送、SFU特殊寄存器无条件传送;位操作指令包括:与、与非、或、或非、异或、异或非、逻辑左移、算术左移、逻辑右移、算术右移;定点指令,除特殊寄存器无条件传送和SFU特殊寄存器无条件传送指令外,每条指令的源操作数均有寄存器操作数和立即数操作数两种格式;特殊寄存器无条件传送和SFU特殊寄存器无条件传送指令源操作数仅具有寄存器格式;—所述浮点指令,其数据类型默认为单精度浮点,包括算术运算指令、特殊运算指令、传送指令和设置指令;其中:算术运算指令包括:浮点加法、浮点减法、浮点乘法、浮点乘累加、浮点除法、浮点取整、浮点求绝对值、浮点转定点、定点转浮点;特殊运算指令包括:浮点对数、浮点指数、浮点倒数、浮点倒数平方根、浮点平方根、浮点正弦、浮点余弦;传送指令包括:浮点无条件传送、浮点小于传送、浮点大于传送、浮点小于等于传送、浮点大于等于传送、浮点等于传送、浮点不等于传送;设置指令包括:浮点小于设置、浮点大于设置、浮点小于等于设置、浮点大于等于设置、浮点等于设置、浮点不等于设置;—所述控制指令,其默认为无符号运算;包括流程控制指令和Mask控制指令;其中:流程控制指令包括:等于零跳转、不等于零跳转、绝对跳转、保存PC并跳转、恢复PC、空操作;Mask控制指令包括:压栈、出栈、取反;—所述存储加载指令,包括加载指令和存储指令;其中:加载指令的源存储器包括:局部存储器、常量存储器、纹理单元;加载指令的目的寄存器包括:SC寄存器、SFU寄存器;存储指令的源寄存器包括:SC寄存器、SFU寄存器;存储指令的目的存储器包括:局部存储器;局部存储器加载和存储的模式包括:独享模式和共享模式;存储加载指令的寻址模式为:局部存储器和常量存储器采用“寄存器间接+立即数”寻址,局部存储SFU存储指令除外;局部存储SFU存储指令中,局部存储器采用立即数寻址;纹理单元采用寄存器间接寻址;加载指令包括:局部存储SC定点独享加载、局部存储SC定点共享加载、局部存储SFU定点独享加载、局部存储SFU定点共享加载、常量存储SC定点加载、常量存储SFU定点加载、纹理SC定点加载;局部存储SC浮点独享加载、局部存储SC浮点共享加载、局部存储SFU浮点独享加载、局部存储SFU浮点共享加载、常量存储SC浮点加载、常量存储SFU浮点加载;局部存储SC定点独享存储、局部存储SC定点共享存储、局部存储SFU定点独享存储、局部存储SFU定点共享存储;局部存储SC浮点独享存储、局部存储SC浮点共享存储、局部存储SFU浮点独享存储、局部存储SFU浮点共享存储。...

【技术特征摘要】
1.一种面向SIMT统一染色阵列的指令集,其特征在于:所述指令集采用RISC结构,每条指令均为单字长;所述指令集支持32个通用定点寄存器、32个通用浮点寄存器、32个特殊功能定点寄存器、32个特殊功能浮点寄存器;所述指令集包括定点指令、浮点指令、控制指令和存储加载指令,构成了一个完整的图形处理器SIMT统一染色阵列中染色内核的指令集;其中:—所述定点指令包括算术运算、特殊运算、条件传送、条件设置、无条件传送、位操作;算术运算指令、特殊运算指令、条件传送指令、条件设置指令默认为有符号运算;无条件传送指令、位操作指令默认为无符号运算;其中:算术运算指令包括:加法、带进位加法、减法、带借位减法、乘法、乘累加、除法、取余;特殊运算指令包括:对数、指数、倒数、倒数平方根、平方根、正弦、余弦;条件传送指令包括:小于传送、大于传送、小于等于传送、大于等于传送、等于传送、不等于传送;条件设置指令包括:小于设置、大于设置、小于等于设置、大于等于设置、等于设置、不等于设置;无条件传送指令包括:无条件传送、特殊寄存器无条件传送、SFU无条件传送、SFU特殊寄存器无条件传送;位操作指令包括:与、与非、或、或非、异或、异或非、逻辑左移、算术左移、逻辑右移、算术右移;定点指令,除特殊寄存器无条件传送和SFU特殊寄存器无条件传送指令外,每条指令的源操作数均有寄存器操作数和立即数操作数两种格式;特殊寄存器无条件传送和SFU特殊寄存器无条件传送指令源操作数仅具有寄存器格式;—所述浮点指令,其数据类型默认为单精度浮点,包括算术运算指令、特殊运算指令、传送指令和设置指令;其中:算术运算指令包括:浮点加法、浮点减法、浮点乘法、浮点乘累加、浮点除法、浮点取整、浮点求绝对值、浮点转定点、定点转浮点;特殊运算指令包括:浮点对数、浮点指数、浮点倒数、...

【专利技术属性】
技术研发人员:任向隆张骏韩立敏郑新建牛少平
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1