具有近似计算功能单元的处理器的制造方法

文档序号:9553207阅读:354来源:国知局
具有近似计算功能单元的处理器的制造方法
【专利说明】具有近似计算功能单元的处理器
[0001]相关申请的交叉引用
[0002]本发明主张申请号为14/522,530、申请日为2014年10月23日的美国正式申请的优先权,此美国正式申请主张临时案号为61/937,741、申请日为2014年2月10日的美国临时申请的优先权,此美国临时申请名称为可执行近似计算指令的处理器;可从过多的近似计算误差中恢复的处理器;具有近似计算功能单元的处理器,其全部内容并入本申请中作参考。
技术领域
[0003]本发明涉及处理器技术领域,尤其涉及一种具有近似计算功能单元的处理器。
【背景技术】
[0004]在近似计算(approximate computing)领域中,已经存在大量的理论基础。近似计算尝试以一种减少功率消耗的方式以执行计算,而代价为可能会降低计算的精确度。虽然近似计算已成为学术界最受欢迎的题目,但几乎没有应用于商业上可使用的处理器中。

【发明内容】

[0005]本发明提供一种处理器,该处理器包括:一指示器,被配置以表示一第一模式或一第二模式;以及一功能单元,被配置以在该指示器表示该第一模式时以一完整精确度执行计算,以及在该指示器表示该第二模式时以低于该完整精确度的一较低精确度执行计算。
[0006]在另一实施例中,本发明提供一种透过具备一指示器与一功能单元的一处理器执行的方法,该方法包括设定该指示器以表示一第一模式或一第二模式;以及透过该功能单元,在该指示器表示该第一模式时以一完整精确度执行计算,以及在该指示器表示该第二模式时以低于该完整精确度的一较低精确度执行计算。
[0007]在又一实施例中,本发明提供一种功能单元。该功能单元包括一输入,被配置以表示一第一模式或一第二模式;以及计算逻辑,被配置以在一指示器表示该第一模式时以一完整精确度执行计算,以及在该指示器表示该第二模式时以低于该完整精确度的一较低精确度执行计算。
【附图说明】
[0008]图1是依据本发明一实施例的处理器的方块图;
[0009]图2是图1的近似功能单元的三种实施例的方块图;
[0010]图3是依据本发明一实施例的近似指令的方块图;
[0011]图4是依据本发明一实施例中,图1的处理器的操作流程图;
[0012]图5是依据本发明一实施例,在一计算机系统中,图1的处理器的操作流程图;
[0013]图6是本发明的计算系统的三种实施例的方块图;
[0014]图7是依据本发明一实施例中,图6的计算系统的系统操作流程图;
[0015]图8是依据本发明一实施例的运行于一近似计算感知处理器的软件的开发流程图;
[0016]图9是依据本发明一实施例的运行于一近似计算感知处理器的软件的另一开发流程图;
[0017]图10是依据本发明一实施例中,图1的处理器用以运行一个执行近似计算的程序的操作流程图;
[0018]图11是依据本发明一实施例中,图10的步骤1014的详细操作流程图;
[0019]图12是依据本发明另一实施例中,图10的步骤1014的详细操作流程图。
【具体实施方式】
[0020]本发明将描述执行近似计算的一处理器的各种实施例。近似计算的使用时机是一计算以低于一完整精确度(full accuracy)的一精确度等级来执行时,并且可透过该处理器的指令集架构(instruct1n set architecture)来指不。
[0021]图1表不本发明一实施例的处理器100的方块图。处理器100包括一可程序化数据处理器,用以执行已储存的指令,例如一中央处理单元(CPU)或一图形处理单元(GPU)。处理器100包括一指令快取102 ;—指令转译器104,耦接至指令快取102 ;一或多个近似功能单元106,耦接指令转译器104并接收源自指令转译器104的微指令(microinstruct1n);架构缓存器108,親接近似功能单元106以提供指令操作数(operand) 166至近似功能单元106 ;—近似控制缓存器132,親接至近似功能单元106 ; —数据高速缓存138,親接至近似功能单元106 ;以及一决照(snapshot)储存器134,親接至近似功能单元106。处理器100还可包括其他单元,举例而言,一重新命名单元、指令排程器和/或保留站(reservat1n stat1n)可被使用于指令转译器104以及近似功能单元106之间,以及一重排序缓冲器(reorder buffer)可被使用以提供乱序指令的执行。
[0022]指令快取102储存架构指令174,架构指令174是从内存读取且由处理器100执行。架构指令174可包括近似计算指令,例如图3的近似计算指令399。近似计算指令399控制处理器100的近似计算方针(policy),也即,近似功能单元106是以一完整精确度或小于一完整精确度来执行计算。近似计算指令399还控制一误差量的清除动作,该误差量是有关于本实施例的处理器100的每个通用缓存器。在较佳实施例中,处理器100包括其他非近似的功能单元。在一实施例中,架构指令174实质上符合一 x86指令集架构(ISA),该x86指令集架构是被修改以包括本发明所述的近似计算指令399。在其他实施例中,处理器100还可使用X86指令集架构以外的指令集架构。
[0023]指令转译器104透过指令快取102接收架构指令174。指令转译器104包括一指令解码器,用以解码架构指令174并且转译成微指令。上述微指令是透过非架构指令集的一指令集以定义,也即一微架构的(microarchitectural)指令集。上述微指令用以实现架构指令174。
[0024]在一较佳实施例中,指令转译器104还包括微码(microcode) 136,微码136包括微码指令,上述微码指令偏好储存于处理器100的一只读存储器。在一实施例中,上述微码指令是微指令(microinstruct1n)。在另一实施例中,上述微码指令透过一微转译器以转译成微指令。微码136实现处理器100的指令集架构的架构指令174的一子集(subset),该子集并非透过指令转译器104的一可程序化逻辑数组以直接转译成微指令。此外,微码136用以处理微架构的异常(except1n)(如异常172),例如在一实施例中,当累积误差界限(cumulative error bound)超出一误差界限时所产生的异常,其中上述累积误差界限是由近似计算所产生。
[0025]架构缓存器108提供指令(例如微指令)操作数166至近似功能单元106且接收似功能单元106所产生的结果,较佳的实施方式是透过一重排序缓存器以执行(图中未示出)。有关于每个架构缓存器108的误差储存器109,可保持储存在架构缓存器108的结果内的误差量的示值(indicat1n)。每当一近似功能单元106产生一结果164 (该结果164是被写入一架构缓存器108),近似功能单元106还产生一误差168的一示值,而误差168是有关于结果164,且该示值是由于近似计算而产生累积。误差168是被写入与架构缓存器108有关的误差储存器109。此外,每当一架构缓存器108提供一操作数至一近似功能单元106时,相关的误差储存器109提供与该操作数有关的误差162至近似功能单元106。此一动作致使近似功能单元106同时累积该计算的指令操作数166的误差以及近似功能单元106执行该近似计算时所产生的误差。
[0026]快照储存器134可保存处理器100的状态(state)的一快照。在处理器100开始执行近似计算以前,处理器100把自身的状态写入快照储存器134,以便若一近似计算的结果的累积误差超过一误差界限时,处理器100可透过快照储存器134恢复自身的状态,并且以非近似计算的方式重新执行计算,以下将透过一实施例详细描述此动作。在一实施例中,快照储存器134包括处理器100的一专有内存。在一较佳实施例中,快照储存器134包括执行近似计算的一指令集的第一指令的一地址。在一实施例中(例如图10),微码136致使该指令集以非近似方法重新执行,微码136致使该第一指令的该地址的一分支(branch)在快照储存器134中执行。
[0027]数据高速缓存138储存系统内存位置的数据。在一实施例中,数据高速缓存138为高速缓存的一阶层,上述高速缓存包括一第一层快取以及一第二层快取,且该第二层快取支持指令快取102以及该第一层快取。在一实施例中,若一程序参与恢复动作,采用该近似计算的该程序必须确保该程序的数据对数据高速缓存138不会造成溢位(overflow),其中该恢复动作是在处理器100发生超过该误差界限的状况下执行。
[0028]在一实施例中,近似控制缓存器132保存指定处理器100的近似方针176的信息,且提供至近似功能单元106。在一较佳实施例中,近似控制缓存器132包含一近似旗标(flag)、一近似量以及一误差界限(error bound)(或误差临界值)。该近似旗标表示由近似功能单元106所执行的计算应为完整精确度计算或近似计算,也即是完整精确度模式或近似计算模式(或近似模式)。该近似量指示近似功能单元106低于完整精确度的一精确程度,该精确程度可使用于执行近似计算。该误差界限指定误差168的一累积量,该累积量可为一近似计算的结果164所容许,而处理器100发送该误差界限已被超越的讯号时,该计算将偏好以非近似方法重新执行。在一实施例中,近似功能单元106依据储存在近似控制缓存器132的该近似方针以执行计算。在另一实施例中,每个指令指定该近似方针至近似功能单元106,例如透过一前缀。在一实施例中,近似控制缓存器132可被处理器100的该指令集架构的一指令所
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1