One way is to receive floating point scaling instructions. Floating-point scaling instructions indicate a first source including one or more floating-point data elements, a second source including one or more corresponding floating-point data elements, and a destination. In response to the floating point scaling instruction, the result is stored in the destination. The result includes one or more corresponding result floating-point data elements, each of which includes the corresponding floating-point data element of the second source multiplied by the cardinality of one or more floating-point data elements of the first source representing the integer power of the corresponding floating-point data element of the first source. Other methods, devices, systems and instructions are disclosed.
【技术实现步骤摘要】
浮点缩放处理器、方法、系统和指令本申请是国际申请号为PCT/US2011/067684,国际申请日为2011/12/28,进入国家阶段的申请号为201180076106.4,题为“浮点缩放处理器、方法、系统和指令”的专利技术专利申请的分案申请。
本申请的实施例涉及处理器。具体地,实施例涉及响应于浮点缩放指令对浮点数进行缩放的处理器。
技术介绍
浮点数通常用在处理器、计算机系统和其它电子设备中。浮点数的一个优点是它们允许以相对紧凑的数值格式和/或位数表示宽范围的数值。现有技术中已知若干不同的浮点格式。浮点格式通常将用于表示浮点数的位分配成若干连续字段,称为浮点数的符号、有效位和指数。在本领域中已知用于处理浮点数的各种机器指令。例如,本领域中已知用于在浮点和整数值之间转换的机器指令。附图说明可通过参考以下描述以及用于示出实施例的附图最佳地理解本专利技术。在附图中:图1是具有含一个或多个浮点缩放指令的指令集的处理器的实施例的框图。图2是具有操作用于执行浮点缩放指令的实施例的浮点执行单元的指令处理装置的实施例的框图。图3是示出可响应于浮点缩放指令的实施例而执行的浮点缩放操作的实施例的框图。图4A-E是示出适当的浮点格式的示例实施例的框图。图5是处理浮点缩放指令的实施例的方法的实施例的流程框图。图6A-C是示出可对打包32位单精度浮点数据执行的浮点缩放操作的实施例的框图。图7A-B是示出可对打包64位双精度浮点数据执行的浮点缩放操作的实施例的框图。图8是示出可对标量32位单精度浮点数据执行的浮点缩放操作的实施例的框图。图9是示出可对标量64位双精度浮点数据执行的浮点 ...
【技术保护点】
1.一种处理器,包括:多个向量寄存器,包括第一向量寄存器,以及第二向量寄存器,所述第一向量寄存器用于存储具有多个浮点数据元素的第一源向量;多个掩码寄存器,包括第一掩码寄存器,所述第一掩码寄存器用于存储具有多个掩码元素的掩码;解码单元,用于解码指令,所述指令具有第一字段以指定所述第一向量寄存器,具有第二字段以指定所述第二向量寄存器,并具有第三字段以指定所述第一掩码寄存器;以及浮点执行单元,其与所述解码单元耦合,并与所述多个向量寄存器耦合,所述浮点执行单元用于,响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素将表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素将包括来自所述第一源向量的对应浮点数据元素。
【技术特征摘要】
1.一种处理器,包括:多个向量寄存器,包括第一向量寄存器,以及第二向量寄存器,所述第一向量寄存器用于存储具有多个浮点数据元素的第一源向量;多个掩码寄存器,包括第一掩码寄存器,所述第一掩码寄存器用于存储具有多个掩码元素的掩码;解码单元,用于解码指令,所述指令具有第一字段以指定所述第一向量寄存器,具有第二字段以指定所述第二向量寄存器,并具有第三字段以指定所述第一掩码寄存器;以及浮点执行单元,其与所述解码单元耦合,并与所述多个向量寄存器耦合,所述浮点执行单元用于,响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素将表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素将包括来自所述第一源向量的对应浮点数据元素。2.如权利要求1所述的处理器,还包括控制寄存器以存储舍入模式,并且其中所述浮点执行单元,响应于对所述指令的解码,还用于根据所述舍入模式来舍入所述结果浮点数据元素。3.如权利要求1所述的处理器,其特征在于,当所述第一源向量的浮点数据元素为非数(NaN)时,对应的结果浮点数据元素为NaN。4.如权利要求1所述的处理器,其特征在于,所述指令还包括数据元素宽度字段,用于指示所述第一源向量的浮点数据元素的宽度。5.如权利要求4所述的处理器,其特征在于,所述数据元素宽度字段能够将所述第一源向量的浮点数据元素的宽度指示为半精度、单精度和双精度中的任一种。6.如权利要求1所述的处理器,其特征在于,所述多个掩码寄存器包括八个掩码寄存器。7.如权利要求1所述的处理器,其特征在于,所述第一向量寄存器包括512位。8.如权利要求1所述的处理器,还包括:L1高速缓存;以及L2高速缓存。9.如权利要求1所述的处理器,其特征在于,所述处理器是精简指令集计算(RISC)处理器。10.如权利要求1所述的处理器,其特征在于,所述解码单元和所述浮点执行单元被包括在无序核中,并且其中所述无序核包括重排序缓冲器(ROB)。11.如权利要求1所述的处理器,其特征在于,所述第一源向量的所述多个浮点数据元素是64位双精度浮点数据元素,并且其中每个结果浮点数据元素是64位双精度结果浮点数据元素。12.如权利要求1所述的处理器,其特征在于,所述第一源向量具有至少四个64位双精度浮点数据元素。13.一种由处理器执行的方法,该方法包括:在多个向量寄存器中存储数据,包括在第一向量寄存器中存储具有多个浮点数据元素的第一源向量,以及在第二向量寄存器中存储数据;在多个掩码寄存器中存储数据,包括在第一掩码寄存器中存储具有多个掩码元素的掩码;解码指令,所述指令具有指定所述第一向量寄存器的第一字段,指定所述第二向量寄存器的第二字段,以及指定所述第一掩码寄存器的第三字段;以及响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素包括来自所述第一源向量的对应浮点数据元素。14.如权利要求13所述的方法,还包括:响应于对所述指令的解码,根据存储在控制寄存器中的舍入模式来舍入所述结果浮点数据元素。15.如权利要求13所述的方法,其中,存储所述第一源向量的步骤包括存储其为非数(NaN)的给定浮点数据元素,并且其中存储所述结果的步骤包括:存储对应于所述给定浮点数据元素的、也为NaN的结果浮点数据元素。16.如权利要求13所述的方法,其特征在于,所述解码的步骤包括:解码具有数据元素宽度字段的所述指令,所述数据元素宽度字段将所述第一源向量的浮点数据元素的宽度指示为是半精度浮点。17.如权利要求13所述的方法,其特征在于,所述存储第一源向量的步骤包括:在所述第一向量寄存器中存储至少四个64位双精度浮点数据元素。18.一种制品,包括非瞬态的机器可读存储介质,所述非瞬态的机器可读存储介质包括数个指令,所述数个指令中包括指令,该指令若被机器所执行,将致使所述机器执行操作,包括:在多个向量寄存器中存储数据,包括在第一向量寄存器中存储具有多个浮点数据元素的第一源向量,以及在第二向量寄存器中存储数据;在多个掩码寄存器中存储数据,包括在第一掩码寄存器中存储具有多个掩码元素的掩码;解码指令,所述指令具有第一字段以指定所述第一向量寄存器,具有第二字段以指定所述第二向量寄存器,并具有第三字段以指定所述第一掩码寄存器;以及响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素包括来自所述第一源向量的对应浮点数据元素。19.如权利要求18所述的制品,其中所述指令若被所述机器所执行,致使所述机器根据存储在控制寄存器中的舍入模式来舍入所述结果浮点数据元素。20.如权利要求18所述的制品,其中所述指令若被所述机器所执行,致使所述机器在所述第一源向量的对应浮点数据元素为非数(NaN)时,存储为非数的结果浮点数据元素。21.如权利要求18所述的制品,其中所述指令具有数据元素宽度字段以指示所述第一源向量的所述浮点数据元素的宽度,并且其中所述数据元素宽度字段能够将所述第一源向量的浮点数据元素的宽度指示为半精度、单精度和双精度中的任一种。22.如权利要求18所述的制品,其中所述第一源向量应包括至少四个64位双精度浮点数据元素。23.一种系统,包括:系统存储器;以及如权利要求1-12中任一项所述的处理器,所述处理器耦合到所述系统存储器。24.如权利要求23所述的系统,还包括耦合到所述处理器的海量存储设备。25.如权利要求23所述的系统,还包括耦合到所述处理器的盘驱动器。26.如权利要求23所述的系统,还包括耦合到所述处理器的I/O设备。27.如权利要求23所述的系统,还包括耦合到所述处理器的通信设备。28.如权利要求23所述的系统,还包括耦合到所述处理器的第二处理器。29.如权利要求23所述的系统,还包括耦合到所述处理器的外围部件互连(PCI)Express总线。30.如权利要求23所述的系统,还包括耦合到所述处理器的音频I/O设备。31.如权利要求23所述的系统,还包括耦合到所述处理器的动态随机访问存储器(DRAM)。32.一种由系统执行的方法,所述方法包括:在所述系统的系统存储器中存储数据;在多个向量寄存器中存储数据,包括在第一向量寄存器中存储具有多个浮点数据元素的第一源向量,以及在第二向量寄存器中存储数据;在多个掩码寄存器中存储数据,包括在第一掩码寄存器中存储具有多个掩码元素的掩码;解码指令,所述指令具有指定所述第一向量寄存器的第一字段,指定所述第二向量寄存器的第二字段,以及指定所述第一掩码寄存器的第三字段;以及响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素包括来自所...
【专利技术属性】
技术研发人员:C·S·安德森,A·格雷德斯廷,R·凡伦天,S·卢巴诺维奇,B·艾坦,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。