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

文档序号:9553207阅读:来源:国知局
包括一中型的显示器606B (例如15吋),并且从墙上的插座或一电池以接收电力,端视使用者的选择而定。第三个系统为一手持计算机602C(例如智能型手机或平板计算机),包括一相对小型(例如4.8吋)的屏幕606C,并且主要从一电池以接收电力来源。在上述实施例中,是假设上述各显示器具备大致相同的分辨率,而可容许/可接受的近似量主要是基于显示器的尺寸,虽然该近似量计算还可依据上述显示器的分辨率变化而改变。上述三种实施例在此统称为系统602,而系统602是用以代表包括可近似计算的处理器100的系统,以及提供各种用以比较的特征以说明本发明近似计算的各种应用的实施例。然而,可以预期其他实施例也可存在,且可近似计算的处理器100的应用并不受限于上述实施例。
[0069]桌面计算机602A倾向不能容忍近似而是要求高精确度,因为像素渲染的近似所造成的视觉变形(visual distort1n)在大型显示器606A中可能会相当明显,且电源可能因为非必要的近似计算而提出省电需求。
[0070]笔记本电脑602B倾向要求一适量的精确度且容许一适量的近似,特别是在使用电池的电力运作时,因为适量的近似所造成的视觉变形可能是显而易见的(虽然少于在相似分辨率的大型显示器),但在基于改善电池寿命的权衡之下,上述操作为可接受的一种作法。另一方面,当笔记本电脑602B插入一壁挂电源时,较佳的近似方针可与桌面计算机602A相似。
[0071]手持计算机602C倾向要求最低精确度,因为近似所造成的视觉变形在小型显示器606C的正常显示中是非显而易见地,或相当不明显地,且手持计算机602C对于节省电池的电力的需求是相对较大的。
[0072]图7是图6的系统602的系统操作流程图。流程开始于步骤702。
[0073]在步骤702中,一程序侦测系统602的显示器606 (即606A?606C)的类型,例如在系统602启动或重置时。另外,该程序可侦测显示器606的变化,例如在一外部显示器插入或拔出笔记本电脑602B时。此外,该程序可侦测电源的变化,例如插入墙上的插座或从墙上的插座拔出。流程进入步骤502。
[0074]在步骤502中,该程序基于系统配置以判别近似方针,如前述图5所记载的内容。流程进入步骤504。
[0075]在步骤504中,该程序提供该近似方针至处理器100,如前述图5所记载的内容。流程进入步骤708。
[0076]在步骤708中,处理器100基于所接收的该近似方针以执行计算,例如图4以及下文的图10至图12。流程结束于步骤708。
[0077]另外,处理器100所运行的软件(例如图形软件)包括不同代码的例程(routine)(包括近似计算指令399),上述例程是有关于不同的近似方针(例如与图6的每个不同系统配置有关的不同的近似方针),且该软件基于目前的系统配置以开拓(branch)至适合的例程。
[0078]图8是运行于一近似计算感知(computing-aware)的处理器100的软件的开发流程图。流程开始于步骤802。
[0079]在步骤802中,一程序设计器(programmer)透过一熟知程序语言开发一程序(例如一图形程序),例如C语言,且使用一近似指示(directive)以应用一近似感知(approximat1n-aware)编译器。该近似感知编译器知道处理器100的近似计算能力,更加具体而言,处理器100支持该等近似计算指令399。该近似指示可为一命令行(command-line)选项或其他与编译程序通信的方法,而编译程序所产生的目标代码(object code)应包括近似计算指令399以执行近似计算。在较佳的实施例中,该近似感知编译程序应用该近似指示,且仅编译计算的例程,而所述计算是由容许近似计算的程序语言所指定;其中,其他不容许近似计算的例程不透过该近似指示进行编译;而上述方法产生的目标档案是一起链接(link)至一可执行程序。近似容许例程(approximat1n-tolerant routine)倾向为相对特别例程。举例而言,像素清染例程可包括浮点数据计算,浮点数据计算可为近似计算,用于该近似感知编译器产生近似计算指令399 ;其中,举例而言,循环控制变量(loop control variable)可为整数数据,且该近似感知编译器不会产生近似计算指令399以执行更新该循环控制变量的计算。流程进入步骤804。
[0080]在步骤804中,该近似感知编译器编译该程序且产生机械语言指令,该等机器语言指令包括近似计算指令399,近似计算指令399指示处理器100执行近似计算以为目标代码。在一实施例中,该近似感知编译器产生的该机械语言是相似于其他不使用该近似指示所产生的机械语言,但在一些上述指令中是在指令前端设置一近似相关前缀,例如图3的近似前缀302、开始近似前缀322、停止近似前缀342或清除误差前缀362。在一实施例中,该近似感知编译器产生近似计算指令310以代替正常计算指令,而该正常计算指令在没有该近似指示下产生。在一实施例中,该近似感知编译器产生正常指令序列,该正常指令序列透过开始/停止近似指令330/350和/或开始/停止近似前缀322/342以进行中断。在一实施例中,该近似感知编译程序产生多个代码例程,每个代码例程采用一不同近似方针(如前文所述)以及该近似感知编译器基于目前系统配置以产生呼叫适合的子程序(subroutine)的代码,而该程序可由本身进行判别或可从操作系统获得。流程结束于步骤804。
[0081]图9是运行于一近似计算感知的处理器100的软件的另一开发流程图。流程开始于步骤902。
[0082]在步骤902中,一程序设计器开发一程序,过程相似于上述步骤802且应用一近似感知编译器。然而,所用的程序语言以及该近似感知编译器支持近似指示和/或近似容许数据类型。举例而言,C语言的一语法(dialect)可支持上述指示和/或数据类型。该近似指示可包括编译指示(例如近似于C语言的Sinclude或#define指示),且程序设计器可包含于原始码(source code)以标示可选择程序变量如近似容许数据。相似地,该程序设计器可包含于原始码程序变量中,该原始码程序变量被宣告如近似容许数据类型变量,用于使该近似感知编译程序知道以产生近似计算指令399,近似计算指令399致使近似计算透过上述变量以执行。流程进入步骤904。
[0083]在步骤904中,该近似感知编译器编译该程序以产生目标代码,上述操作相似于步骤804所描述的方法,但响应包含于已编译的原始码中的该近似指示和/或近似容许数据类型。流程结束于步骤904。
[0084]图10是图1的处理器100运行一程序的操作流程图,该程序是执行近似计算的程序。流程开始于步骤1002。
[0085]在步骤1002中,相似于前文所述的内容,该程序提供一近似方针至处理器100。另夕卜,该程序本身提供该近似方针(并且在退离(exit)后恢复目前的近似方针)。此外,另一代码路径用以被指定不执行近似计算,上述情况是在超出误差界限时执行,如下文所述。流程进入步骤1004。
[0086]在步骤1004中,处理器100针对目前本身的状态执行一快照并将本身状态写入图1的快照储存器134。在一实施例中,处理器100执行该快照以响应于遇到该程序所执行的一指令。在一实施例中,该指令包括一 X86WRMSR指令。在一实施例中,执行该快照包括写回至内存未清除高速缓存行(memory dirty cache line),该内存未清除高速缓存行将被该程序的所述近似计算所修饰以清除数据高速缓存138的该高速缓存行的复制,进而特别标示该高速缓存行可为近似计算的目标。由于该高速缓存行被特别标示(表示该等高速缓存行被近似计算的结果所修饰),所述高速缓存行不会被写回内存,至少直到证实该程序可在不超过误差界限下完成。所以,若处理器100判别该误差界限已被超越(例如步骤1012),则该特别表示的高速缓存行被设为无效(invalidated)且标示为非特别(non-special),而所述高速缓存的预先近似(pre-approximate)计算状态设可为内存所使用,且用于后续非近似(non-approximate)的计算(例如步骤1014)。在一实施例中,该程序设计器须注意有关所述特殊标示的高速缓存行必须不能溢出(spill out of)数据高速缓存138 ;否则处理器100视上述情况为超出误差界限。在一较佳实施例中,在一多核处理器中,数据高速缓存138必须设置于执行所述近似计算的核心。流程进入步骤1006。
[0087]在步骤1006中,处理器100、特别是功能近似单元106,执行透过基于该近似方针的一程序指令以执行一近似计算,借以产生一结果164。功能近似单元106还将结果164的误差168近似于输入操作数的误差162以及该近似计算所产生的误差,如前文所述。流程进入步骤1008。
[0088]在步骤1008中,功能近似单元106将累积的误差168写至有关于架构缓存器108的误差储存器109,其中架构缓存器108接收近似的结果164。流程进入步骤1012。
[0089]在步骤1012中,处理器100判别步骤1008中产生的误差168是否超过该近似方针的误差界限。若是,流程进入步骤1014 ;若不是,流程返回步骤1006以执行该程序的另一近似计算。
[0090]在步骤1014中,处理器100恢复处理器100的状态至该快照,而该快照是储存于快照储存器134,且处理器100以非近似方法重新执行该程序,或至少一部分以非近似方法重新执行,上述动作是在步骤1004中执行该快照后执行,而该步骤1004是涉及超过该误差界限的以近似方法执行的计算。步骤1014的操作实施例将透过图11以及图12于下文描述。流程结束于步
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1