可执行近似计算指令的处理器的制造方法

文档序号:9529246阅读:466来源:国知局
可执行近似计算指令的处理器的制造方法
【技术领域】
[0001]本发明涉及处理器技术领域,尤其涉及一种可执行近似计算指令的处理器。
【背景技术】
[0002]在近似计算(approximate computing)领域中,已经存在大量的理论基础。近似计算尝试以一种减少功率消耗的方式以执行计算,而代价为可能会降低计算的精确度。虽然近似计算已成为学术界最受欢迎的题目,但几乎没有应用于商业上可使用的处理器中。

【发明内容】

[0003]本发明提供一种处理器。该处理器包括一解码器,该解码器被配置以解码一指令,而该指令用以指示该处理器使用一近似方法以执行后续的计算。该处理器包括一功能单元,该功能单元被配置以透过该近似方法来执行上述后续计算,借此响应该指令。
[0004]在另一实施例中,本发明提供一方法,该方法透过一处理器以执行。该方法包括由该处理器解码一指令,而该指令指示该处理器透过一近似方法以执行后续计算。该方法还包括由该处理器以该近似方法执行上述后续计算以响应于该指令。
[0005]在又一实施例中,本发明提供一种处理器。该处理器包括一通用缓存器(generalpurpose register)以及一解码器,而该解码器被配置以解码一指令,而该指令用以指示该处理器清除一误差量(error amount),该误差量是有关于储存在该处理器的一通用缓存器的一个值。该误差量表示有关于一计算的一结果的误差的一量值,而该计算是由该处理器透过一近似方法所执行。该处理器被配置以清除该误差量以响应于该指令。
[0006]在又一实施例中,本发明提供一方法,该方法透过一处理器以执行。该方法包括由该处理器解码一指令,而该指令用以指示该处理器清除一误差量,该误差量是有关于储存在该处理器的一通用缓存器的一个值。该误差量表示有关于一计算的一结果的误差的一量值,而该计算是由该处理器透过一近似方法所执行。该方法还包括由该处理器清除该误差量以响应于该指令。
[0007]在又一实施例中,本发明提供一处理器。该处理器包括一解码器,该解码器被配置以解码一指令。该指令指定将执行的一计算。该指令包括一前缀(prefix),该前缀表示该处理器是以一近似方法来执行该计算。该处理器还包括一功能单元,该功能单元被配置以透过该近似方法来执行该计算,其中该计算是被该指令所指定,且该近似方法是由该前缀所指定。
[0008]在又一实施例中,本发明提供一方法,该方法透过一处理器以执行。该方法包括由该处理器解码一指令,其中该指令用以指定将执行的一计算,其中该指令包括一前缀,该前缀表示该处理器是以一近似方法来执行该计算。该方法还包括由该处理器透过该近似方法以执行该计算,而该计算是由该指令所指定,且该近似方法是由该前缀所指定。
【附图说明】
[0009]图1是依据本发明一实施例的处理器的方块图;
[0010]第图2是图1的近似功能单元的三种实施例的方块图;
[0011]图3是依据本发明一实施例的近似指令的方块图;
[0012]图4A是依据本发明一实施例中,图1的处理器的操作流程图;
[0013]图4B是依据本发明一实施例中,图1的处理器的操作流程图;
[0014]图5是依据本发明一实施例,在一计算机系统中,图1的处理器的操作流程图;
[0015]图6是本发明的计算系统的三种实施例的方块图;
[0016]图7是依据本发明一实施例中,图6的计算系统的系统操作流程图;
[0017]图8是依据本发明一实施例的运行于一近似计算感知处理器的软件的开发流程图;
[0018]图9是依据本发明一实施例的运行于一近似计算感知处理器的软件的另一开发流程图;
[0019]图10是依据本发明一实施例中,图1的处理器用以运行一个执行近似计算的程序的操作流程图;
[0020]图11是依据本发明一实施例中,图10的步骤1014的详细操作流程图;
[0021]图12是依据本发明另一实施例中,图10的步骤1014的详细操作流程图。
[0022]附图标记:
[0023]100:处理器;102:指令快取;
[0024]104:指令转译器;106:近似功能单元;
[0025]106A:近似浮点乘法器;106B:近似超越函数计算单元;
[0026]106C:近似除法器;108:架构缓存器;
[0027]109:误差储存器;132:近似控制缓存器;
[0028]134:快照储存器;136:微码;
[0029]138:数据高速缓存;162、168:误差;
[0030]164:结果;166:指令操作数;
[0031]172:异常;174:架构指令;
[0032]176:近似方针;202:最高有效位乘法闸;
[0033]204:最低有效位乘法闸;206:电源控制;
[0034]212A:高次多项式;212B:低次多项式;
[0035]214:超越计算逻辑;216:多任务器;
[0036]222:除法逻辑;224:迭代控制逻辑;
[0037]226:精确度指示;300:具备一近似前缀的计算指令;
[0038]302:近似前缀;304:操作码与其他栏;
[0039]310:近似计算指令;312:近似计算操作码与其他栏;
[0040]320:具备一开始近似前缀的计算指令;322:开始近似前缀;
[0041]324:操作码与其他栏;330:开始近似指令;
[0042]332:开始近似操作码;340:具备一停止近似前缀的计算指令;
[0043]342:停止近似前缀;344:操作码与其他栏;
[0044]350:停止近似指令;352:停止近似操作码;
[0045]360:具备一清除误差前缀的计算指令;362:清除误差前缀;
[0046]364:操作码与其他栏;366:缓存器栏;
[0047]370:清除误差指令;372:清除误差操作码;
[0048]376:缓存器栏;380:负载缓存器与清除误差指令;
[0049]382:负载缓存器操作码;384:内存地址操作数栏;
[0050]386:缓存器栏;399:近似计算指令;
[0051]402 ?458:步骤;502 ?504:步骤;
[0052]602A:桌面计算机;602B:笔记本电脑;
[0053]602C:手持计算机;606A?606C:显示器;
[0054]604:缓冲器;702 ?708:步骤;
[0055]802 ?804:步骤;902 ?904:步骤;
[0056]1002 ?1014:步骤;1102 ?1104:步骤;
[0057]1202 ?1204:步骤。
【具体实施方式】
[0058]本发明将描述执行近似计算的一处理器的各种实施例。近似计算的使用时机是一计算以低于一完整精确度(full accuracy)的一精确度等级来执行时,并且可透过该处理器的指令集架构(instruct1n set architecture)来指不。
[0059]图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)可被使用以提供乱序指令的执行。
[0060]指令快取102储存架构指令174,架构指令174是从内存读取且由处理器100执行。架构指令174可包括近似计算指令,例如图3的近似计算指令399。近似计算指令399控制处理器100的近似计算方针(policy),也即,近似功能单元106是以一完整精确度或小于一完整精确度来执行计算。近似计算指令399还控制一误差量的清除动作,该误差量是有关于本实施例的处理器100的每个通用缓存器。在较佳实施例中,处理器100包括其他非近似的功能单元。在一实施例中,架构指令174实质上符合一 x86指令集架构(ISA),该x86指令集架构是被修改以包括本发明所述的近似计算指令399。在其他实施例中,处理器100还可使用X86指令集架构以外的指令集架构。
[0061]指令转译器104透过指令快取102接收架构指令174。指令转译器104包括一指令解码器,用以解码架构指令174并且转译成微指令。上述微指令是透过非架构指令集的一指令集以定义,也即一微架构的(microarchitectural)指令集。上述微指令用以实现架构指令174。
[0062]在一较佳实施例中,指令转译器104还包括微码(microcode) 136,微码136包括微码指令,上述微码指令偏好储存于处理器100的一只读存储器。在一实施例中,上述微码指令是微指令(microinstruct1n)。在另一实施例中,上述微码指令透过一微转译器以转译成微指令。微码136实现处理器100的指令集架构的架构指令174的一子集(subset),该子集并非透过指令转译器104的一可程序化逻辑数组以直接转译成微指令。此外,微码136用以处理微架构的异常(except1n)(如异常172),例如在一实施例中,当累积误差界限(cumulative error bound)超出一误差界限时所产生的异常,其中上述累积误差界限是由近似计算所产生。
[0063]架构缓存器108提供指令(例如微指令)操作数166至近似功能单元106且接收似功能单元106所产生的结果,
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1