具有低功率译码电路的处理器的制作方法

文档序号:6420856阅读:102来源:国知局
专利名称:具有低功率译码电路的处理器的制作方法
技术领域
本发明涉及一种处理器,特别是有关于一种具有低功率译码电路的处理器及其译码方法。
背景技术
处理器(例如微处理器)是一应用广泛且众所周知的组件,其应用范围自台式计算机到可携式电子装置,如行动电话和个人数字助理(PDA)。有些应用领域的处理器具有强大的效能(如高阶计算机工作站),有些处理器的设计则较为简单,可用以供应低阶、较不昂贵的产品使用。
对于处理器的性能要求而言,大致可分为处理速度与耗电量两方面。一般来说,高性能的处理器处理速度快,设计复杂且耗电量较大;而低性能的处理器则刚好相反。高耗电量常常导致高温和缩短电池使用时间的结果(此是对于使用电池作为电力来源的装置而言)。可携式电子装置的需求大幅成长的结果,已使得对处理器的要求逐渐趋向于低耗电量,且同时又需保持一定水准的处理速度。
一种传统降低组件耗电量的方法,是使用低耗电量运作模式(或称为休眠状态),其意指当组件没有被使用时,只能以极少量电力维持基本运作的操作方式。即便如此,对电子组件于使用时也可拥有低电力消耗的要求仍是有增无减,此种要求则需靠设计更有效率的工作组件来达成。
很多电子组件皆需消耗电力,其中之一即为处理器。事实上,处理器本身又具有许多不同会消耗电力的组件,如译码逻辑。处理器中的译码逻辑是将被加码的指令(encoded instruction)加以译码以便执行的组件。图1为公知的处理器译码逻辑的示意方块图。
以整体观之,图1中指令撷取/执行部分10包括撷取逻辑(fetchlogic)12及译码器14,其中,撷取逻辑12是用以撷取加码指令,而译码器14则是用以将加码指令译码成可用于控制及执行的讯号。以此观之,译码器14的输出15(讯号线)是用以作为处理器执行单元(executionunit)内的其它组件(图上并无示出)的输入,以执行加码指令所指定的功能运作。此过程是众所周知的基本概念,故不再赘述。
传统上对于需处理不同类型的指令集或是接收非译码器14可辨识的指令集的状况,处理方式是引入一转译逻辑(translation logic)16以转译此指令成译码器14所能辨识的指令。当然,在处理连续指令的同时,即需额外的脉冲进行译码及执行的动作,其中,图1即为一施行此工作的电路实例。
如图1所示,多工器(multiplexor)18有时会用于将撷取逻辑12所撷取的指令或是转译逻辑16所转译完成的指令选择性地输入至译码器14中。此外,控制逻辑20是用以筛选(select)欲输入多工器18及译码器14的指令;一般来说,控制组件20会评估撷取逻辑12所输出的指令并判断其是否可为译码器14所译码。若为是,则控制组件20会命令多工器18直接将撷取逻辑12的输出指令输入至译码器14中。若为否,则控制组件20会命令多工器18将转译逻辑16的输出指令输入至译码器14中。当然,过程中还有许多其它的细节,但在此不予以探讨,因熟悉本领域的技术人员自可了解图1中所示的电路及其相关细节。
如图1所示的电路有其缺点此种电路的复杂性及耗电性皆过高;可以理解的是,译码器14与转译逻辑16不会同时使用复杂的设计若译码器14为复杂的设计以接受许多不同类型的指令,则当输入译码器14的指令变多时,译码器14的负载会变大,所须消耗的电力也随之增加。此负载变大及消耗电力增加的状况若是因某些很少使用的指令所造成,则明显不合节省电力的效益。
反之,若译码器14为简单的设计以接受较少类型的指令,则转译逻辑16中就必须用引入额外的逻辑以处理其它类型的指令,并且当转译逻辑16作动(active)进行转译工作时,译码器14同时也在处理转译逻辑16所输出的转译完成的指令。两者同时作用的结果将增加电力的消耗。
因此,如何于处理器中设计更进步且有效率的译码逻辑,以使得电力使用效率得以提高,是当前努力的目标。

发明内容
鉴于上述的发明背景,为了满足产业对传统处理器具更有效率的译码逻辑的要求,本发明提供一种新的、具有低功率译码电路的处理器,可用以解决上述传统电路未能达成的标的。
本发明之一目的是提供一种改良的译码逻辑装置及译码方法。本发明是将译码逻辑的一部分译码工作交由软件执行以减低译码逻辑于任一时间的总工作负载量,进而降低译码逻辑的耗电量,并据此达到低功率的目的。通过低功率目的的达成,本发明所提供的译码逻辑对于处理器,特别是可携式电子装置内的处理器而言,将具有更佳的应用。
根据以上所述的目的,本发明揭示了一种具有低功率译码电路的处理器,其包含用以撷取加码指令的撷取逻辑;第一译码逻辑,该第一译码逻辑是用以译码复数个包含于第一类型指令集内的加码指令,且该第一译码逻辑的输入是该撷取逻辑所输出的加码指令;第二译码逻辑,该第二译码逻辑是用以译码复数个包含于第二类型指令集内的加码指令,且该第二译码逻辑的输入是该撷取逻辑所输出的加码指令;以及特殊指令逻辑,该特殊指令逻辑是用以与该第二译码逻辑配合以处理至少一种特殊指令,其中,该特殊指令是指包含于第二类型指令集内但该第二译码逻辑无法直接译码而造成处理器内的执行单元无法执行的指令。
该特殊指令逻辑包含一逻辑,该逻辑是用以判定内存区域的开始地址,其中该内存区域存有可执行特殊指令的例程。
该特殊指令逻辑包含一逻辑,该逻辑是用以执行系统呼叫至该内存区域地址。
更包含一特殊指令逻辑,该特殊指令逻辑是用以与该第一译码逻辑配合,以处理至少一种包含于第一类型指令集内但该第一译码逻辑无法直接译码而造成处理器内的执行单元无法执行的指令。
更包含一控制逻辑,该控制逻辑是用以选择性控制该第一及第二译码逻辑,使该第一译码逻辑进行译码时,该第二译码逻辑维持休眠状态,且该第二译码逻辑进行译码时,该第一译码逻辑维持休眠状态。
该第一与第二类型指令集内的所有指令皆不相同。
更包含一执行逻辑,该执行逻辑是用以执行该第一及第二译码逻辑所译码完成的指令。
该处理器可应用于一可携式电子装置。
该控制逻辑会对该撷取逻辑所输出的加码指令做出响应,且该控制逻辑是设计以确保该第一及第二译码逻辑于任一时间内只有一个处于作动状态。
更包含一第三译码逻辑,该第三译码逻辑可译码复数个包含于第三类型指令集内的加码指令,且该第三译码逻辑的输入是该撷取逻辑所输出的加码指令。
该控制逻辑更设计以选择性控制该第一、第二及第三译码逻辑,使该第一、第二及第三译码逻辑于任一时间内只有一个处于作动状态。
该控制逻辑更设计以确保当该第一、第二及第三译码逻辑其中之一处于作动状态时,其余的译码逻辑维持休眠状态。
一种具有低功率译码电路的处理器,其包含复数个译码器,其中每一个译码器所设计以译码的指令与其余译码器所设计以译码的指令均明显不同且不重叠;以及特殊指令逻辑,该特殊指令逻辑与至少一个该复数个译码逻辑配合,以处理至少一种特殊指令,其中,该至少一种特殊指令是指无法于处理器内直接被译码而造成处理器内的执行单元无法执行的指令。
更包含一控制逻辑,该控制逻辑是设计以确保该复数个译码逻辑于任一时间内只有一个处于作动状态,并确保该唯一作动的译码逻辑处于作动状态时,其余译码逻辑维持休眠状态。
更包含一用以执行已译码的指令的执行逻辑。
该处理器可应用于一可携式电子装置。
一种具有低功率译码电路的处理器,其包含可译码复数个第一类型指令的第一译码器;可译码复数个第二类型指令的第二译码器;与特殊指令逻辑,该特殊指令逻辑是用以处理至少一种特殊指令,其中该至少一种特殊指令是指该第一及第二译码器无法直接译码而造成处理器内的执行单位无法执行的指令。
更包含一控制逻辑,该控制逻辑是设计以选择性控制该第一及第二译码器,使该第一译码器进行译码动作时,该第二译码器维持休眠状态。
该控制逻辑更设计以选择性控制该第一及第二译码器,使该第二译码器进行译码动作时,该第一译码器维持休眠状态。
本发明还进一步提出了一种用于处理器的指令译码方法,该译码方法包含判断所撷取的指令为第一或第二类型的指令;该所撷取的指令为第一类型的指令时,则令第一译码器加以译码;该所撷取的指令为第二类型的指令且可被第二译码器直接译码时,则令第二译码器进行译码;以及该所撷取的指令为第二类型的指令且不可被第二译码器直接译码时,则通过系统呼叫至存放于内存区域的软件以执行该指令。
更包含该所撷取的指令被判断为第二类型的指令且由该第二译码器进行译码时,该第一译码器维持休眠状态。
更包含该所撷取的指令被判断为第一类型的指令且由该第一译码器进行译码时,该第二译码器维持休眠状态。
该判断步骤更包含判断该所撷取的指令为第一、第二或第三类型的指令。
一种用于处理器的指令译码方法,该译码方法包含判断所撷取的指令是否可被处理器内的译码器直接译码;该所撷取的指令可被直接译码时,则使用译码器加以译码;以及该所撷取的指令不可被直接译码时,则通过系统呼叫至存放于内存区域的软件以进行该指令的执行工作。
在本发明之一实施例中,其包含一处理第一类型指令的第一译码器、一处理第二类型指令的第二译码器,以及一处理至少一种特殊类型指令的特殊指令逻辑,其中此特殊类型指令是指第一及第二译码器无法直接译码而造成执行单元无法执行的指令。
在本发明的另一实施例中,所揭示的一指令译码方法。此方法首先判断所撷取的指令能不能由处理器内的译码器直接译码,若为是,则指令将直接被译码并执行;若为否,则此译码方法会寻找内存上存有执行此指令功能的软件例程(routine)的地址,并通过执行系统呼叫或其它适当方式,令执行单元通过此例程进行指令执行的工作。


附图所示为本发明的各种装置构造或方法流程图,将配合说明以详细解释本发明的原理。在附图中图1为先前技艺的处理器译码逻辑的示意方块图;图2为根据本发明之一实施例所建构的可携式电子装置示意方块图;图3为根据本发明的另一实施例所建构的可携式电子装置示意方块图;图4为本发明关于译码逻辑部分之一实施例的特性示意方块图;图5为本发明关于译码逻辑部分的另一实施例的示意方块图;
图6为根据本发明之一实施例所建构的执行译码操作的实施方法及其步骤的说明流程图;图7为根据本发明的另一实施例所建构的执行译码操作的实施方法及其步骤的说明流程图;图8为根据本发明的再一实施例所建构的执行译码操作的实施方法及其步骤的说明流程图;图9为施行图8所示方法之一实施例的示意方块图;图10为图9中的第二译码逻辑如何令特殊指令逻辑执行系统呼叫至指定的内存地址的示意方块图;图11为本发明一施行译码操作的实施例的施行方法的步骤说明流程图;图12为图11所示方法之一实施例的示意方块图;图13为本发明施行译码操作的另一实施例的施行方法的步骤说明流程图;图14为图13所示方法之一实施例的示意方块图;与图15为图13所示方法之另一实施例的示意方块图。
图号说明10、指令撷取/执行部分12、撷取逻辑14、译码器 15、讯号线16、转译逻辑 18、多工器20、控制逻辑 100、可携式电子装置110、处理器 112、撷取逻辑114、第一译码逻辑115、讯号总线116、第二译码逻辑117、执行逻辑120、控制逻辑121、控制讯号122、控制讯号125、或门128、多工器 129、多工器130、使用者接140、显示装置162、第一译码逻辑164、第二译码逻辑
166、第N译码逻辑 170、控制逻辑171、控制讯号 172、控制讯号173、控制讯号 182、下拉电阻184、下拉电阻210、撷取逻辑自内存撷取一加码指令212、判断加码指令为第一或第二类型的指令214、将加码指令传送至第一译码逻辑并进行译码216、将加码指令传送至第二译码逻辑并进行译码218、将已译码指令传送至执行逻辑并执行310、撷取逻辑自内存撷取一加码指令312、判断加码指令为第一、第二或是其它类型的指令314、将加码指令传送至第一译码逻辑并进行译码316、将加码指令传送至第二译码逻辑并进行译码318、将加码指令传送至第N译码逻辑并进行译码320、将已译码指令传送至执行逻辑并执行416、第二译码逻辑直接完成译码418、将已译码指令传送至执行逻辑并执行452、判断加码指令是否可被第二译码逻辑直接译码454、判定存有执行例程的内存地址456、执行系统呼叫至所判定的内存地址464、第二译码逻辑466、特殊指令逻辑467、查阅表491、第二译码逻辑的输出490、执行系统呼叫至所判定的内存地址逻辑512、判断加码指令为第一、第二或是无法辩识的指令554、判定存有执行例程的内存地址556、执行系统呼叫至所判定的内存地址566、特殊指令逻辑
567、查阅表570、控制逻辑573、控制讯号610、撷取逻辑自内存撷取一加码指令612、判断加码指令是否可被直接译码616、直接译码指令618、执行已译码指令654、判定存有执行例程的内存开始地址656、执行系统呼叫至所判定的内存开始地址662、译码逻辑666、特殊指令逻辑667、查阅表670、控制逻辑672、控制讯号762、译码逻辑766、特殊指令逻辑767、查阅表具体实施方式
本发明在此所探讨的方向为一种具有低功率译码电路的处理器及译码方法。为了能彻底地了解本发明,将在下列的描述中提出详尽的结构组件或步骤。显然地,本发明的施行并未限定于熟习处理器的技艺者所熟习的特殊细节;另一方面,众所周知的组件并未特别详细描述,以避免造成本发明不必要的限制。本发明的较佳实施例会详细描述如下,然而除了这些详细描述之外,本发明还可广泛地施行在其它的实施例中,且本发明的范围不受限定,其以专利范围为准。
如前所述,创新性的处理器译码逻辑及译码方法包含有很多施行方式,如同本发明之一施行方式,译码逻辑中包含多个译码器,其中每一译码器都是特别设计以直接译码(意即于硬件内完成译码工作)包含于一指令集内的所有指令。此一施行方式的实施例于图2至图7中说明。
如同本发明的另一施行方式,译码逻辑中包含多个译码器,其中一个或一个以上的译码器是设计以直接译码大部分但非全部的包含于一指令集内的所有指令。对于无法直接译码的指令,则通过软件来加以执行。此施行方式的实施例中,译码逻辑会执行系统呼叫至一内存区域中的某地址,其内存有执行无法直接译码(辨识)指令的软件,以进行指令的执行。如同本发明另一种施行方式,译码逻辑包含单一的译码器,其中此译码器是设计以直接译码大部分但非全部的包含于一指令集内的所有指令,对于无法直接译码的指令,则由译码逻辑经由软件来加以执行。此一施行方式的实施例于图8至图14中说明。
参阅图2所示,其为一可携式电子装置100,其包含一根据本发明之一实施例所建构的处理器110,此类电子装置需求的急速成长已是众所周知。大部分此类电子装置是以电池为电源,并包含一使用者接口130(如键盘)及显示装置140(如一平面显示器)。许多电子装置中的显示装置140包含一触感式(touch-sensitive)屏幕,可让使用者由其上直接输入资料。使用者接口130、显示装置140及电子装置100上的其它公知组件,或非本发明的相关部分,于此不再赘述。
本发明主要提供一用于处理器中,可处理多类型的指令集的译码逻辑电路。根据本发明之一实施例所建构的一处理器110,其包含传统的用以撷取加码指令(encoded instruction)的撷取逻辑(fetchlogic)112,及用以执行加码指令所指定的功能运作的执行逻辑(execution logic)117。此两种组件已为公知组件,故不再赘述。
如图2所示的实施例,处理器110提供可处理两种不同类型指令集的译码逻辑,举例来说,此译码逻辑可处理32位及16位的指令集。多重指令集的使用常是为了程序设计时的弹性、升级软件的兼容性(accommodation of legacy software),或是其它的理由。一般来说,32位的指令集可提供较强大或较强健的程序代码及程序设计兼容性;16位的指令集适用于较紧凑简洁、且内存需求较少的程序代码。如本领域的技术人员所能理解,其它有关32位及16位指令集于使用上的取舍也是同样适用。
第一译码逻辑114及第二译码逻辑116分别负责译码包含于第一类型指令集及第二类型指令集内的指令;撷取逻辑112的输出是直接被输入至第一及第二译码逻辑。此实施例重点为控制逻辑120通过控制讯号121及122以控制译码逻辑114及116,以令其中一个译码逻辑作动时,另一个译码逻辑维持休眠(inactive)状态。此外,与第一图中所示的先前技艺不同的是,使用多重译码器于执行译码动作前,可省去将指令自一指令集类型转译成其它指令集类型的步骤。以译码包含于第二类型的指令集内的指令为例,因在执行译码动作前不须先将指令转译成第一指令集类型以便第一译码逻辑114识别,故可提升整体呈现的译码速度。
同时,如图2所示,撷取逻辑112和译码逻辑114及116之间讯号信道频宽(signal path width)为″n″位,其中,n是为一可变数字,其通常是2的级数。输入至控制逻辑120的讯号也是经由相同频宽的讯号信道;控制逻辑120的作用是判断所撷取的加码指令应由第一译码逻辑114或是第二译码逻辑116进行译码。
另一方面,″m″讯号线是译码逻辑114及116的输出。一般来说,m是一个与n相异的整数,用以代表执行逻辑117在执行加码指令时所需的讯号线及控制线号码。此讯号线及控制线号码是一执行特征,取决于执行逻辑117的电路形式。本实施例中,自第一译码逻辑114及第二译码逻辑116输出的讯号有一比一的对应关系(1-to-1correspondence),且可被一或门(OR logic)125所合并。本实施例中,处于休眠状态的译码逻辑114或116所输出的讯号为逻辑零(logiczero),因此实际上或门(OR logic)125只将作动的译码逻辑114或116所输出的讯号经由讯号总线(signal bus)115输入至执行逻辑117中。
本领域的技术人员可了解,图2所示实施例的概念可以许多不同的方式加以施行,而本发明则不限于任何特定的施行方式。一施行方式将配合图4加以说明;另一施行方式则将配合图5加以说明。然而,应注意的是其它施行方式的实施例也是有可能的。
参阅图3所示,其是为本发明另一实施例的示意方块图。图中撷取逻辑112、执行逻辑117及或门125与图2中所示相同,于此不再赘述。图3与图2所示实施例主要不同之处在于图3所示实施例中,其引入一可译码第一及第二类型以外的其它类型指令集的译码逻辑组件。图3中的译码组件的功能与图2所描述相似,并分别编号为第一译码逻辑162、第二译码逻辑164及第N译码逻辑166。图3所示实施例可较图2所示实施例多处理第一及第二类型以外的其它类型的指令。举例来说,图3所示实施例可译码32位的指令、16位的指令及Java指令。由于Java为网际网络上所常用的语言,故此实施例对网络应用组件的设计特别有用。
此外,控制逻辑170分别输出171、172及173三种控制讯号以控制译码组件162、164及166。如图3所述,控制逻辑170会判断撷取逻辑112所输出的加码指令是属于第一译码逻辑162、第二译码逻辑164或第N译码逻辑166所负责的指令类型。控制逻辑170控制这些译码逻辑,以确保没有作动的译码组件维持休眠状态。
参阅图4所示,图4为图2所述的选择性控制译码逻辑组件114及116的施行方式的示意方块图。同样的施行方式也适用于图3中的译码组件162、164及166。于图4中,控制逻辑120输出控制讯号121及122以控制多工器128及129中的选择逻辑(select logic),并据以令多工器128及129将撷取逻辑112所输出的加码指令传送到相对应的译码逻辑114及116中。多工器128及129会对译码逻辑输入无运作(no op)讯号,其中此无运作讯号是发出此讯号的多工器所对应的译码逻辑所无法识别,并此无运作讯号可令此译码逻辑进入休眠状态。在此,可应用CMOS技术以使得处于休眠状态的译码逻辑只消耗极少量的电力。
在指令译码的过程中,控制逻辑120会确保撷取逻辑112所输出的指令不会同时通过多工器128及129,也就是在任一时间至少会有一个无运作(no op)讯号被传送到某一多工器及其所对应的译码逻辑上。甚至,在某些时间(例如闲置状态;idle status),多工器128及129会同时发出无运作(no op)讯号,也即译码逻辑114及116同时进入休眠状态,并据此达到省电的目的。
参阅图5所示,其为本发明另一实施例的示意方块图。如图4所述,达成处理器省电目的之一方式是在于利用CMOS逻辑于某些工作状态时耗电量极低的特性;相对地,图5为使用非CMOS逻辑的实施例,其中控制讯号(本图标中也称为致能讯号(enable signal))121及122是用以使得译码逻辑114及116两者之一能选择性地运作,且另一失效(disable),并令失效者进入休眠状态。若于此作用过程中,译码逻辑组件114、116浮接(float)或变成三态(tri state)而造成系统不稳,则下拉电阻(pull down resistor)182及184会接到译码逻辑114或116所输出的讯号信道上。下拉电阻182及184为高阻抗电阻(highimpedance resistor),可限制电流的流过,因此也可限制自电源供应处流出的电流。
在叙述过本发明几个实施例的建构方式与特色之后,参阅图6所示,其为本发明之一实施例以整体观之的实施方法流程图。步骤210是为撷取逻辑自内存撷取一加码指令,接着,步骤212是为判断所撷取的加码指令为第一或第二类型的指令。步骤214及216是为根据判断的结果将所撷取的加码指令传送至相对应的译码逻辑进行译码动作。最后,步骤218是为将译码后的指令传送至执行单元进行执行动作。
参阅图7所示,其为本发明另一实施例以整体观之的实施方法流程图。步骤310是为撷取逻辑自内存撷取一加码指令,接着,步骤312是为判断所撷取的加码指令为第一类型、第二类型或是其它类型的指令。步骤314、316及318是为根据判断的结果将所撷取的加码指令传送至相对应的译码逻辑以进行译码动作。最后,步骤320是为将译码后的指令传送至执行单元进行执行动作。
至此已叙述本发明的实施例中,译码器能直接译码包含于一指令集内所有指令者的特性。然而,有时译码电路的设计会过于复杂(由于成本或其它原因),则原本用以处理一或多个指令集的译码逻辑会不再被设计成能直接译码包含于指令集内的所有指令,此时,对于译码逻辑无法直接译码的特殊指令,将改由译码逻辑指引处理器(透过执行一系统呼叫或其它方法)至内存中的某一地址通过软件以进行译码,其中,上述的地址存有执行此特殊指令的软件例程(softwareroutine)。
配合图1至图7所叙述的实施例,其已介绍本发明所提出的译码逻辑之一施行方式使用多个专用(dedicated)的译码器直接译码所撷取的包含于不同指令集的加码指令,且在任一时间下,通过控制逻辑的控制使该多个译码器中只有一个处于作动状态。参阅图8至图14所示,其为本发明所提出的译码逻辑电路的另一施行方式处理无法由硬件或译码电路直接进行译码的特殊指令的状况。参阅图8所示,其为一类似图6但有部分修改的流程图。图8中,整个指令处理流程的开始步骤是为步骤210,此步骤210是为撷取逻辑撷取加码指令,接着,步骤212是为译码逻辑判断所撷取的加码指令属第一或第二类型的指令。如判断结果是属于第二类型,则进行步骤452,步骤452是为第二译码逻辑判断此所撷取的加码指令是否可被第二译码逻辑直接译码。于此过程而言,译码逻辑的设计可能会因为需辨识包含于某一指令集内的所有指令而变得过分复杂,此复杂设计的较高成本若是因某些不常使用的指令集所造成,则显然不合效益。因此,一般而言,译码逻辑的设计不会将不常使用的指令集于硬件内直接译码,而是通过软件或其它方法来执行。
图8中,若所撷取的加码指令为第二类型指令,且第二译码逻辑判断所撷取的加码指令可被第二译码逻辑直接译码,则进行步骤416,步骤416是令第二译码逻辑直接完成译码动作,如图6所述。接着,进行步骤418以便于将译码完成的指令传送至执行单元执行。相对地,若判断结果为所撷取的加码指令不可被第二译码逻辑直接译码,则进行步骤454,由第二译码逻辑指定一内存区域的地址,以令可执行此指令的软件例程进行执行动作,其中,较佳的方式是以第一或第二指令译码器(instruction decoder)可直接译码的指令写成此例程。内存区域地址指定后,进行步骤456,以便于处理器执行一系统呼叫至此内存区域地址并执行所撷取加码指令的功能。软件例程执行指令的过程中,在执行完一上述的特殊指令后,会从内存区域地址末端传送一跳回(return)指令以引导处理器的程序计数器自依序撷取到的下一个加码指令继续执行的动作。
参阅图9所示,其是为图8所示实施例的特征示意方块图。图9与图2所示的处理器110相似,故类似的组件是以相同号码表示,并于此不再赘述。图9与图2主要不同之处为,图9中的第二译码逻辑464能处理包含于第二类型指令集中但第二译码逻辑无法直接译码的指令。具体来说,图9中的第二译码逻辑464含有一特殊指令逻辑466,其能判定(identify)某段内存区域的开始地址,其中,此段内存存有软件以执行第二译码逻辑464无法直接译码的指令。其实施方式是为特殊指令逻辑466含有一查阅表467,其能提供第二译码逻辑464无法直接译码的指令相对应的输出值,当然,查阅表467也能提供所有包括第二译码逻辑464可直接或不可直接译码的指令的输出值。
如上所述,译码逻辑的输出中包含译码后的数据以及用以执行该译码后资料的控制讯号。如图10所示,第二译码逻辑464的输出491包含两个部分第一部分为32位的立即资料(immediate data);剩下的位或讯号则由输出中的其它讯号线传送。这些输出讯号会被传送至处理器内的执行单元,其中执行单元包含一逻辑490,其可执行系统呼叫至一指定的内存地址。因此,实际上在执行特殊指令时,第二译码逻辑464会输出一32位的字段(field)以指定一实时地址(immediateaddress),让处理器能另外利用一指令处理例程(instruction handlingroutine)来处理特殊指令;于输出中,剩下的其它讯号则会指出上述的32位实时数据字段中所运送的资料需要一特别的内存地址来执行。因此,译码逻辑的输出实际上是用以运作处理器内的组件以执行系统呼叫至执行特殊指令的相关内存地址上,而非直接于处理器内的执行单元中进行执行工作。
回到图9,查阅表467中包含N个包含于第二类型指令集内且第二译码逻辑可辨识的指令及其相对应的译码值,这些译码值是为位状态(bit status)或第二译码逻辑464的输出值的数字表示。同样地,查阅表467中也包含M个第二译码逻辑464无法辨识且必须由储存于内存中的软件例程来处理的特殊指令。在查阅表467中的开始地址(ADDR.1-ADDR.M)即是用以指定这些软件例程的地址。当然,在符合上述的本发明精神与范围的前提下,其它的逻辑或运作机制也可同时被用以处理特殊指令。
此外,在不违背本发明的精神与范围的前提下,第一译码逻辑114也可修改成含有类似466的特殊指令逻辑并用以执行包含于第一类型指令集中但第一译码逻辑114无法直接译码的特殊指令。此外,本发明的实施方式也可应用于处理器内含有超过两个以上的译码器而可处理两种以上类型指令集的情况,如上所述的使用三个译码器而可分别处理32位的指令集、16位的指令集与Java指令集的实施例。本发明的另一实施例可撷取250个Java指令,其中,246个Java指令可被直接译码,剩下的10个Java指令则必须通过系统呼叫所指定的软件例程来执行。
参阅图11所示,其为本发明的另一实施例。图11所示是为与图7类似但稍微不同的特殊指令处理方法的流程图。在图7中,步骤312是为判断撷取逻辑所撷取的指令为第一、第二或其它类型的指令,而图11中,步骤512则是判断撷取逻辑所撷取的指令为第一、第二或是无法辨识的指令,其中,此无法辨识的指令是指无法被第一或第二译码逻辑所辨识(非包含第一或第二类型指令集内),也即,图11所示的实施例可将无法辨识的指令另外集中处理。如图11所示,若判断结果为所撷取的指令是一特殊指令(上述的非第一或第二类型的无法辨识的指令),则进行步骤554,步骤554是为指定一内存区域的开始地址以进行指令执行工作。接着,进行步骤556,步骤556是为执行一系统呼叫至所指定的内存地址。随后,处理器开始执行内存地址上用以处理特殊指令的程序直到执行完程序中之一跳回(return)指令(或是其它适当的结束指令;ending instruction)。接着,执行程序会自撷取逻辑所撷取的下一加码指令继续(resume)下一笔执行工作。参阅图12所示,其是为类似图9所示的示意方块图,其内容为图11所示的本发明的可能实施例;有关图12中组成组件的叙述已于图3及图9提过,于此不再赘述。图12所示实施例中最重要的是用以判定存有执行特殊指令的软件的内存开始地址以执行特殊指令的逻辑566是单独存在于第一、第二译码逻辑162及164之外,以使特殊指令的处理不用配合译码器而是另外单独进行。类似图9中查阅表467的查阅表567是用以帮助执行程序的进行。
图12中另有一控制逻辑570,此逻辑选择性控制第一译码逻辑162、第二译码逻辑164以及用以处理非定义(undefined)的特殊指令的逻辑566,使此三者在任一时间内只有一个处于作动状态以达到处理器省电的目的。此运作方式与前面图2至图7所示的实施例内容相同。
参阅图13所示,其为一步骤流程图,说明另一根据本发明所建构的指令译码方法。其内容是为一特殊指令处理过程,其中,此特殊指令处理过程是用于仅处理单一指令集内的指令的处理器。如前所述的实施例,处理程序始于撷取逻辑撷取一加码指令。接着,步骤612是为判断所撷取的指令是否可被处理器内的译码逻辑直接译码若为是,则进行步骤616,步骤616是为将所撷取的指令直接译码,随后进行步骤618,步骤618是为执行译码后的指令;若为否,则进行步骤654,步骤654是为判定可执行所撷取的特殊指令的软件例程于内存存放处的开始地址,随后进行步骤656,步骤656是为处理器执行一系统呼叫至所判定的内存地址。
参阅图14及图15所示,其为图13所述方法的另两种实施例。图14中,用以判定可执行特殊指令的软件于内存存放处的开始地址的逻辑666,是于译码逻辑662之外单独存在。控制逻辑670传送控制讯号171及672以控制译码逻辑662及逻辑666,使此两逻辑组件于任一时间内只有一个处于作动状态,以达到处理器省电的目的。图15中,用以判定可执行特殊指令的软件于内存存放处的开始地址的逻辑766是整合于译码逻辑762内。与此实施例相同的施行方式已于图9中叙述,于此不再赘述。
所有本发明的修改及变化皆包含于本发明的权利请求项中所定义的合理、合法的权利与其所延伸的名称的范围内。
如上所述,本发明是将处理器内译码逻辑之一部分译码工作交由软件执行以减低译码逻辑于任一时间的总工作负载量,进而降低译码逻辑的耗电量以达到低功率的目的。
显然地,根据上述实施例中的描述,本发明可能有许多的修正与差异。因此需要在其附加的权利要求项的范围内加以理解,除了上述的详细描述外,本发明还可以广泛地在其它的实施例中施行。上述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围,凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述申请专利范围内。
权利要求
1.一种具有低功率译码电路的处理器,其特征在于,其包含有用以撷取加码指令的撷取逻辑;第一译码逻辑,该第一译码逻辑是用以译码复数个包含于第一类型指令集内的加码指令,且该第一译码逻辑的输入是该撷取逻辑所输出的加码指令;第二译码逻辑,该第二译码逻辑是用以译码复数个包含于第二类型指令集内的加码指令,且该第二译码逻辑的输入是该撷取逻辑所输出的加码指令;以及特殊指令逻辑,该特殊指令逻辑是用以与该第二译码逻辑配合以处理至少一种特殊指令,其中,该特殊指令是指包含于第二类型指令集内但该第二译码逻辑无法直接译码而造成处理器内的执行单元无法执行的指令。
2.如权利要求1所述的具有低功率译码电路的处理器,其特征在于该特殊指令逻辑包含一逻辑,该逻辑是用以判定内存区域的开始地址,其中该内存区域存有可执行特殊指令的例程。
3.如权利要求2所述的具有低功率译码电路的处理器,其特征在于该特殊指令逻辑包含一逻辑,该逻辑是用以执行系统呼叫至该内存区域地址。
4.如权利要求2所述的具有低功率译码电路的处理器,其特征在于更包含一特殊指令逻辑,该特殊指令逻辑是用以与该第一译码逻辑配合,以处理至少一种包含于第一类型指令集内但该第一译码逻辑无法直接译码而造成处理器内的执行单元无法执行的指令。
5.如权利要求1所述的具有低功率译码电路的处理器,其特征在于更包含一控制逻辑,该控制逻辑是用以选择性控制该第一及第二译码逻辑,使该第一译码逻辑进行译码时,该第二译码逻辑维持休眠状态,且该第二译码逻辑进行译码时,该第一译码逻辑维持休眠状态。
6.如权利要求1所述的具有低功率译码电路的处理器,其特征在于该第一与第二类型指令集内的所有指令皆不相同。
7.如权利要求1所述的具有低功率译码电路的处理器,其特征在于更包含一执行逻辑,该执行逻辑是用以执行该第一及第二译码逻辑所译码完成的指令。
8.如权利要求1所述的具有低功率译码电路的处理器,其特征在于该处理器可应用于一可携式电子装置。
9.如权利要求5所述的具有低功率译码电路的处理器,其特征在于该控制逻辑会对该撷取逻辑所输出的加码指令做出响应,且该控制逻辑是设计以确保该第一及第二译码逻辑于任一时间内只有一个处于作动状态。
10.如权利要求5所述具有低功率译码电路的处理器,其特征在于更包含一第三译码逻辑,该第三译码逻辑可译码复数个包含于第三类型指令集内的加码指令,且该第三译码逻辑的输入是该撷取逻辑所输出的加码指令。
11.如权利要求10所述的具有低功率译码电路的处理器,其特征在于该控制逻辑更设计以选择性控制该第一、第二及第三译码逻辑,使该第一、第二及第三译码逻辑于任一时间内只有一个处于作动状态。
12.如权利要求11所述的具有低功率译码电路的处理器,其特征在于该控制逻辑更设计以确保当该第一、第二及第三译码逻辑其中之一处于作动状态时,其余的译码逻辑维持休眠状态。
13.一种具有低功率译码电路的处理器,其特征在于,其包含复数个译码器,其中每一个译码器所设计以译码的指令与其余译码器所设计以译码的指令均明显不同且不重叠;以及特殊指令逻辑,该特殊指令逻辑与至少一个该复数个译码逻辑配合,以处理至少一种特殊指令,其中,该至少一种特殊指令是指无法于处理器内直接被译码而造成处理器内的执行单元无法执行的指令。
14.如权利要求13所述的具有低功率译码电路的处理器,其特征在于更包含一控制逻辑,该控制逻辑是设计以确保该复数个译码逻辑于任一时间内只有一个处于作动状态,并确保该唯一作动的译码逻辑处于作动状态时,其余译码逻辑维持休眠状态。
15.如权利要求13所述的具有低功率译码电路的处理器,其特征在于更包含一用以执行已译码的指令的执行逻辑。
16.如权利要求13所述的具有低功率译码电路的处理器,其特征在于该处理器可应用于一可携式电子装置。
17.一种具有低功率译码电路的处理器,其特征在于,其包含可译码复数个第一类型指令的第一译码器;可译码复数个第二类型指令的第二译码器;与特殊指令逻辑,该特殊指令逻辑是用以处理至少一种特殊指令,其中该至少一种特殊指令是指该第一及第二译码器无法直接译码而造成处理器内的执行单位无法执行的指令。
18.如权利要求17所述的具有低功率译码电路的处理器,其特征在于,更包含一控制逻辑,该控制逻辑是设计以选择性控制该第一及第二译码器,使该第一译码器进行译码动作时,该第二译码器维持休眠状态。
19.如权利要求18所述的具有低功率译码电路的处理器,其特征在于该控制逻辑更设计以选择性控制该第一及第二译码器,使该第二译码器进行译码动作时,该第一译码器维持休眠状态。
20.一种用于处理器的指令译码方法,其特征在于,该译码方法包含判断所撷取的指令为第一或第二类型的指令;该所撷取的指令为第一类型的指令时,则令第一译码器加以译码;该所撷取的指令为第二类型的指令且可被第二译码器直接译码时,则令第二译码器进行译码;以及该所撷取的指令为第二类型的指令且不可被第二译码器直接译码时,则通过系统呼叫至存放于内存区域的软件以执行该指令。
21.如权利要求20所述的用于处理器的指令译码方法,其特征在于更包含该所撷取的指令被判断为第二类型的指令且由该第二译码器进行译码时,该第一译码器维持休眠状态。
22.如权利要求20所述的用于处理器的指令译码方法,其特征在于更包含该所撷取的指令被判断为第一类型的指令且由该第一译码器进行译码时,该第二译码器维持休眠状态。
23.如权利要求20所述用于处理器的指令译码方法,其特征在于该判断步骤更包含判断该所撷取的指令为第一、第二或第三类型的指令。
24.一种用于处理器的指令译码方法,其特征在于,该译码方法包含判断所撷取的指令是否可被处理器内的译码器直接译码;该所撷取的指令可被直接译码时,则使用译码器加以译码;以及该所撷取的指令不可被直接译码时,则通过系统呼叫至存放于内存区域的软件以进行该指令的执行工作。
全文摘要
本发明涉及一种具有低功率译码电路的处理器,于本发明之一实施例中,包含一可译码第一类型指令的第一译码器,一可译码第二类型指令的第二译码器,及一可处理至少一种特殊类型指令的特殊指令逻辑,此特殊类型指令是指第一及第二译码逻辑无法直接译码而造成执行单元无法执行的指令。于另一实施例中为一相关的处理器指令译码方法。
文档编号G06F9/305GK1514329SQ200310117338
公开日2004年7月21日 申请日期2003年12月10日 优先权日2003年4月10日
发明者查里·谢勒, 查里 谢勒 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1