具有对可变长度数的支持的浮点单元制造技术

技术编号:14640627 阅读:70 留言:0更新日期:2017-02-15 14:59
公开了用于对与机器独立的数格式执行算术运算的处理器的实施例。该处理器可以包括浮点单元以及数单元。数格式可以包括符号/指数块、长度块以及多个尾数数位。数单元可被配置为通过转换每个操作数的每一个尾数数位的数位格式对两个操作数执行操作,以利用转换后的尾数数位执行操作,然后将操作的结果的每一个尾数数位转换回原始的数位格式。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及集成电路,并且更具体而言,涉及处理器和浮点数单元。
技术介绍
处理器被用在从台式计算机到蜂窝电话的各种应用中。在一些应用中,多个处理器或处理器核心可以连接在一起,使得计算任务可以在各个处理器之间共享。无论是单独地还是作为组的一部分被使用,处理器都使用时序逻辑电路、内部存储器等来执行程序指令并对可以用二进制数系统表示的输入数据进行操作。例如,处理器常常以各个数据对象的尺寸(诸如16位)来表征。现代处理器通常包括各种功能块,每一个功能块具有专门的任务。例如,处理器可以包括指令提取单元、存储器管理单元以及算术逻辑单元(ALU)。指令提取单元可以通过解码程序指令和检查调度风险来准备用于执行的程序指令,而诸如加、减和布尔运算(例如,AND、OR等)的算术运算可以由ALU执行。一些处理器包括用于存储频繁使用的指令或数据的高速存储器(通常被称为“高速缓冲存储器”或“高速缓存”)。随着数据对象的尺寸增加,数(number)可以以不同的格式表示,从而允许更高的精度和准确性。为了完成期望的功能,对这样的数据对象的处理可能需要多条程序指令。例如,在一些位片(bitslice)应用中,通过在设计为处理16位数据对象的处理器上经多个处理周期执行多条程序指令,可以处理32位的数据对象。一些处理器可以采用协处理器或其它专用硬件来执行更复杂的算术运算,诸如例如浮点乘法。这样的协处理器可以在单独的集成电路芯片上制造,或者可以作为单独功能块被包括在处理器内。虽然专用算术硬件的使用可能在一些应用中产生改进的计算性能,但是被处理的数的格式可能特定于给定的硬件实现。在这样的情况下,可能需要附加的程序指令来允许不同的处理器硬件对共同的数据对象集合进行操作。
技术实现思路
公开了用于处理与机器独立的数格式的装置和方法的各种实施例。广泛地说,预期了一种方法和装置,其中处理器包括浮点单元和数单元。数单元可被配置为接收运算以及第一和第二操作数。每一个接收到的操作数可以包括符号/指数块、长度块以及一个或多个尾数数位(digit),并且每个尾数数位可以用第一数位格式来格式化。数单元还可被配置为将第一操作数和第二操作数的每一个尾数数位转换成第二数位格式。然后,可以由数单元利用转换后的尾数数位对第一和第二操作数执行接收到的运算,以生成包括符号/指数块、长度块和一个或多个尾数数位的结果。数单元还可被配置为将结果的每一个尾数数位转换成第一数位格式。在非限制性实施例中,用第一数位格式格式化的每一个尾数数位可以包括在1和100之间的正整数集合当中的一个。每一个正整数可以对应于在0和99之间的以100为底数的数的集合当中分别的一个。在一个实现方式中,用第二数位格式格式化的每一个尾数数位可以包括在0和99之间的以100为底数的数的集合中的给定数。在另一非限制性实施例中,数单元还可被配置为响应于运算是乘法操作或除法操作的确定而将第一操作数和第二个操作数的每一个尾数数位转换成第三数位格式,并且对第一操作数和第二操作数执行操作,以生成结果。数单元还可被配置为利用第二数位格式编码结果的每一个尾数数位。附图说明图1是分布式计算单元的实施例的框图。图2是处理器的实施例的框图。图3是处理器核心的实施例的框图。图4图示出了数格式的实施例的框图。图5图示出了另一数格式的实施例的框图。图6图示出了描绘用于处理可变长度数格式的方法的实施例的流程图。图7图示出了描绘用于处理固定长度和可变长度数格式的方法的实施例的流程图。图8图示出了描绘用于在执行操作之前处理固定长度操作数的方法的实施例的流程图。图9图示出了描绘用于处理对两个固定长度操作数执行的操作的结果的方法的实施例的流程图。具体实施例通过示例的方式在附图中示出并且将在本文详细描述。然而,应当理解的是,附图和详细描述不是旨在将权利要求限制到所公开的特定实施例,即使其中关于特定特征仅描述了单个实施例。相反,意图是覆盖对受益于本公开内容的对本领域技术人员将显而易见的所有修改例、等同例和替代例。除非另外说明,否则在公开内容中提供的特征的示例旨在是说明性的而不是限制性的。如贯穿本说明书所使用的,单词“可以”用于许可的意义(即,意味着有可能)而不是强制的意义(即,意味着必须)。类似地,单词“包括”的意思是包括,但不是限于。各种单元、电路或其它部件可被描述为“被配置为”执行一个或多个任务。在这种语境下,“被配置为”是一般地指“具有”在操作期间执行一个或多个任务的“电路系统”的结构的广义阐述。因此,即使当单元/电路/部件当前没有开启时,该单元/电路/部件也可以被配置为执行任务。一般而言,构成对应于“被配置为”的结构的电路系统可以包括硬件电路。类似地,为了描述的方便,各种单元/电路/部件可以被描述为执行一个或多个任务。此类描述应当被解释为包括短语“被配置为”。阐述被配置为执行一个或多个任务的单元/电路/部件明确地不是要对那个单元/电路/部件援引35U.S.C.§112第六段的解释。具体实施方式在计算系统中,数值可以利用各种位模式的编码被存储和处理。因此,不同的处理器实现会具有给定数值的不同表示。而且,一些处理器可以允许数的多种表示并且各种表示可以在不同的计算系统之间不兼容。然而,可以采用与机器独立的数表示,这种表示的使用可能需要附加的程序指令来处理与机器独立的格式。附加的指令会导致计算性能的降低。附图中图示的和下面描述的实施例可以提供用于在不损失计算性能的情况下处理与机器独立的可变长度数的技术。图1示出图示出分布式计算单元(DCU)100的一种实施例的框图。在图示出的实施例中,DCU100包括服务处理器110,其通过可扩展系统接口(SSI)130耦合到多个处理器120a-120c。处理器120a-120c又耦合到系统存储器130和外围存储设备140。DCU100耦合到网络150,网络150又耦合到计算机系统160。在各种实施例中,DCU100可以被配置为机架式服务器系统、独立的系统或者具有任何合适的形状因子。在一些实施例中,DCU100可被配置为客户端系统,而不是服务器系统。系统存储器130可以包括任何合适类型的存储器,例如,诸如全缓冲双列直插存储器模块(FB-DIMM)、双倍数据速率或双倍数据速率2同步动态随机存取存储器(DDR/DDR2SDRAM)或DRAM应该注意的是,虽然示出了一个系统存储器,但是在各种实施例中,可以采用任何合适数量的系统存储器。在一些实施例中,外围存储设备140可以包括磁、光、或固态存储介质,诸如硬盘驱动器、光盘、非易失性随机存取存储器设备等。在其它实施例中,外围存储设备140可以包括更复杂的存储设备,诸如盘阵列或存储区域网络(SAN),其可以经由标准的小型计算机系统接口(SCSI)、光纤信道接口、(IEEE1394)接口或另一种合适的接口耦合到处理器120a-120c。此外,可以预期,在其它实施例中,任何其它合适的外围设备可以耦合到处理器120a-120c,诸如多媒体设备、图形/显示设备、标准输入/输出设备等。在一种实施例中,服务处理器110可以包括现场可编程门阵列(FPGA)或专用集成电路(ASIC),它们被配置为协调处理器120a-120c的诸如从上电复位状态的初始化和引导。此本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201580019509.html" title="具有对可变长度数的支持的浮点单元原文来自X技术">具有对可变长度数的支持的浮点单元</a>

【技术保护点】
一种处理器,包括:浮点单元;数单元,耦合到浮点单元,其中数单元被配置为:接收运算、第一操作数和第二操作数;其中第一操作数和第二操作数当中每一个包括符号/指数块、长度块以及一个或多个尾数数位,其中每一个尾数数位利用第一数位格式被格式化;将第一操作数和第二操作数的每一个尾数数位转换成第二数位格式;响应于接收到的运算是加法运算或减法运算的确定而使用转换后的尾数数位对第一操作数和第二操作数执行所述运算,以生成结果,其中,结果包括符号/指数块、长度块和一个或多个尾数数位;及将结果的每一个尾数数位转换成第一数位格式。

【技术特征摘要】
【国外来华专利技术】2014.03.06 US 14/198,7461.一种处理器,包括:浮点单元;数单元,耦合到浮点单元,其中数单元被配置为:接收运算、第一操作数和第二操作数;其中第一操作数和第二操作数当中每一个包括符号/指数块、长度块以及一个或多个尾数数位,其中每一个尾数数位利用第一数位格式被格式化;将第一操作数和第二操作数的每一个尾数数位转换成第二数位格式;响应于接收到的运算是加法运算或减法运算的确定而使用转换后的尾数数位对第一操作数和第二操作数执行所述运算,以生成结果,其中,结果包括符号/指数块、长度块和一个或多个尾数数位;及将结果的每一个尾数数位转换成第一数位格式。2.如权利要求1所述的处理器,其中利用第一数位格式格式化的每一个尾数数位包括1和100之间的正整数集合当中的一个,其中,该正整数集合中的每一个对应于0和99之间的以100为底数的数的集合当中分别的一个。3.如权利要求1所述的处理器,其中,利用第二数位格式格式化的每一个尾数数位包括0和99之间的以100为底数的数的集合当中的一个。4.如权利要求1所述的处理器,其中,数单元还被配置为:响应于确定运算是乘法运算或除法运算而将第一操作数和第二操作数当中每一个的每一个尾数数位转换成第三数位格式;对第一操作数和第二操作数执行运算,以生成结果,其中,结果包括符号/指数块、长度块和一个或多个尾数数位,其中,第一操作数、第二操作数和结果中每一个的每一个尾数数位的每一个数位利用第三数位格式被格式化;及利用第二数位格式编码结果的每一个尾数数位的数位。5.如权利要求1所述的处理器,其中,数单元还被配置为:响应于确定第一操作数的尾数数位未被使用而清除第一操作数的该尾数数位;及响应于确定第二操作数的尾数数位未被使用而清除第二操作数的该尾数数位。6.如权利要求1所述的处理器,其中数单元还被配置为响应于结果的尾数数位未被使用的确定而清除结果的该尾数数位。7.一种方法,包括:接收运算、第一操作数和第二操作数;其中,第一操作数和第二操作数当中每一个包括符号/指数块、长度块以及一个或多个尾数数位,其中每一个尾数数位利用第一数位格式被格式化;将第一操作数和第二操作数的每一个尾数数位转换成第二数位格式;响应于接收到的运算是加法运算或减法运算的确定而利用转换后的尾数数位对第一操作数和第二操作数执行所述运算,以生成结果,其中,结果包括符号/指数块、长度块和一个或多个尾数数位;及将结果的每一个尾数数位转换成第一数位格式。8.如权利要求7所述的方法,其中,利用第一数位格式格式化的每一个尾数数位包括1和100之间的正整数集合当中的一个,其中,该正整数集合中的每一个对应于0和99之间的以100为底数的数的集合当中分别的一个。9.如权利要求7所述的方法,其中,利用第二数位格式格式化的每一个尾数数位包括0和99之间的以100为底数的数集合当中的一个。10.如权利要求7所述的方法,还包括:响应于运算是乘法运算或除法运算的确定而将第一操作数和第二操作数当中每一个的每一个尾数数位转...

【专利技术属性】
技术研发人员:J·S·布鲁克斯C·H·奥尔森H·F·莫汉达姆J·C·艾伯根
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

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

1