选择性地中断抑制的装置及其模块和方法

文档序号:6421101阅读:228来源:国知局
专利名称:选择性地中断抑制的装置及其模块和方法
技术领域
本发明涉及有关微电子领域的一种扩充一既有指令集以选择性地抑制中断的微处理器装置、一种为一既有指令集增添中断抑制特征的模块、一种扩充一既有指令集架构的方法及其一种可在一微处理器内进行指令层级的中断抑制控制的装置,尤其是一种可在指令层次选择性地抑制中断的特征纳入一既有微处理器指令集架构的技术。
背景技术
自1970年初开始发展以来,微处理器的使用即呈指数般成长。从最早应用于科学与技术的领域,到如今已从那些特殊领域引进商业的消费者领域,如桌上型与膝上型(laptop)计算机、视频游戏控制器以及许多其它常见的家用与商用装置等产品。
随着使用上的爆炸性成长,在技术上也历经一相对应的提升,其特征在于对下列项目有着日益升高的要求更快的速度、更强的寻址能力、更快的内存存取、更大的操作数、更多种一般用途类型的运算(如浮点运算、单一指令多重数据(SIMD)、条件移动等)以及附加的特殊用途运算(如数字信号处理功能及其它多媒体运算)。如此造就了该领域中惊人的技术进展,且都已应用于微处理器的设计,像扩充管线化(extensive pipelining)、超纯量架构(super-scalar architecture)、快取结构、乱序处理(out-of-order processing)、爆发式存取(burst access)机制、分支预测(branch predication)以及假想执行(speculative execution)。总言之,比起30年前刚出现时,现在的微处理器呈现出惊人的复杂度,且具备了强大的能力。
但与许多其它产品不同的是,有另一非常重要的因素已限制了,并持续限制着微处理器架构的演进。现今微处理器会如此复杂,一大部分得归因于这项因素,即旧有软件的兼容性。在市场考查衡量下,许多制造商选择将新的架构特征纳入最新的微处理器设计中,但同时在这些最新的产品中,又保留了所有为确保兼容于较旧的、即所谓旧有(legacy)应用程序所必需的能力。
这种旧有软件兼容性的负担,没有其它地方,会比在x86-兼容的微处理器的发展史中更加显而易见。大家都知道,现在的32/16位的虚拟模式(virtual-mode)x86微处理器,仍可执行1980年代所撰写的8位真实模式(real-mode)的应用程序。而熟悉此领域技术人员也承认,有不少相关的架构包袱堆在x86架构中,只是为了支持与旧有应用程序及操作模式的兼容性。虽然在过去,研发者可将新开发的架构特征加入既有的指令集架构,但如今使用这些特征所凭借的工具,即可程序化的指令,却变得相当稀少。更简单地说,在某些重要的指令集中,已没有多余的指令,让设计者可藉以将更新的特征纳入一既有的架构中。
例如,在x86指令集架构中,已经没有任何一未定义的一字节大小的运算码状态,是尚未被使用的。在主要的一字节大小的x86运算码图中,全部256个运算码状态都已被既有的指令占用了。结果是,x86微处理器的设计者现在必须在提供新特征与保留旧有软件兼容性两者间作抉择。若要提供新的可程序化特征,则必须分派运算码状态给这些特征。若既有的指令集架构没有多余的运算码状态,则某些既存的运算码状态必须重新定义,以提供给新的特征。因此,为了提供新的特征,就得牺牲旧有软件的兼容性了。
在现代的微处理器中,有些特征是程序员希望纳入的,但在此之前都因上述理由而无法实现。其中一项特征即是指令层次的中断抑制控制。
在现在的微处理器中,中断是用来将微处理器耦接到具有临界时间(time-critical)的接口要求的外部装置。一般而言,应用程序是在不受中断的微处理器上执行。当一外部装置,像是磁盘驱动器或网络卡,需要微处理器的服务时,外部装置会直接或间接送出一中断信号至微处理器,以指出一个需要及时响应的事件已经发生。因此,多数的微处理器包括用来中断正常程序执行的电路,以服务这些外部装置。在处理中断之后,程控一般会回归到原本所执行程序被中断的点。
大部分的微处理器具有一或多个外在中断信号的接脚,可通过一称为中断控制器的特殊用途逻辑装置,而闲接耦接到几个外部装置。就本案的目的而言,提到以下事实即已足够典型的中断控制器是组态为以少数的中断信号接脚,将较多数量的外部装置耦接至微处理器,以此种方式来与主微处理器沟通。例如,通过以两个中断信号接脚与一已知微处理器沟通的典型中断控制器,两百个以上的外部装置可发出中断至此微处理器,且微处理器对每一中断皆能分辨并进行处理。
中断处理是件非常复杂的工作。当一中断发生时,正在执行的应用程序必须在某一点上暂停执行,而这一点的执行状态在中断处理期间可储存起来,以备后续回复之用,也才能继续执行程序。对于一正在执行的程序,其状态通常反映于执行点或指令地址,在这一点上暂停执行,且所有与此程序相关的通用缓存器与系统状态缓存器的值也停止更新。因此,当一中断发生时,会让程序先完成正在执行的指令,然后暂停程序的操作,并将与程序相关的通用缓存器与系统状态缓存器的值,以及正在执行的指令的下一个指令地址储存起来。储存了这些参数后,微处理器中的程控通常就会分支到中断处理程序(也称为异常处理程序(exception handler)),此程序一般是操作系统程序的一部份。中断处理程序激活微处理器外的作业(通常是通过系统总线),来判断哪个外部装置致能了中断信号接脚。一判断出来,程序流程便转移到特定的中断服务应用程序,以执行”服务”该外部装置所需的运算。服务该外部装置涉及到几乎是任何类型的运算,像是从装置读取或写入数据,更新微处理器内部的特殊缓存器,移动大量的数据自/至内存等。当中断处理完成,控制权便回归至操作系统,以回复所储存的被中断应用程序的状态,并将程控转移至下个指令的地址。
前面对于中断处理的描述,是要让读者了解到,在典型的管线化微处理器中,处理一典型中断所需的运算。熟悉此领域技术的人将能了解到,个别微处理器架构的不同处在于,所提供的中断信号接脚的数目、中断信号的致能方式、装置如何传递中断、中断的层级、被中断应用程序的”状态”的保存及回复方式、中断发生后于哪一点暂停应用程序以及各个微处理器架构所提供的中断处理程序的特殊操作细节。
由于中断的处理是如此复杂,现在的微处理器皆提供可使中断处理限制于操作系统层级的机制。例如,许多微处理器具有一可程序化的缓存器,允许忽略所产生的中断。在x86兼容的微处理器中,这个可程序化缓存器所采用的形式是,在x86兼容的微处理器内的x86标记缓存器的中断致能标记位。当此位被设为真,就处理中断。当此位未被设为真,就忽略中断。这个层级的可程序化控制使程序员确保特定运算(即特定指令序列)能不受中断而完成。例如,当一特定中断发生,操作系统内的中断处理程序在此特定中断被处理时,通常会禁能中断功能(通过标记位)。在此特定中断处理完毕后,中断处理程序会设定中断致能位,而允许任何待处理的中断接着进行处理。为避免非操作系统的程序禁能与致能中断处理,微处理器架构也提供一种机制,以防止应用程序执行会影响中断是否被致能或禁能的指令。x86兼容的微处理器允许程序员指定四种特权层级(privilege level)中的一种,给所有在微处理器上执行的程序。操作系统通常赋予最高特权层级,而应用程序则被赋予最低特权层级。若在最低特权层级执行的应用程序企图执行禁能中断的指令,x86处理器即监测到此一事件,且避免执行这个指令。其它微处理器架构则采用不同的机制,将中断处理的控制权仅赋予负责这部分工作的程序。此处只需了解到,在现代的微处理器中,由于中断处理的复杂性,已不让应用程序员来决定其程序是否及何时需暂停,以进行中断处理。
但是,有不少应用程序所执行的运算,需要不受中断地执行一个以上的程序指令。例如,在微处理器与其它装置共享内存的系统组态中,对于一项从内存位置读取某值、修改此值并将修改后的值写回内存位置的多指令工作,若在从内存读取此值之后且将此值写回内存之前,被中断执行,则可以想象此多指令工作会执行失败。此种运算称为读取-修改-写入运算。读取-修改-写入运算必须”连续地”执行,亦即不受中断,以确保程序能适当地执行。有些微处理器架构本身即提供有限的指令,来完成一般的连续运算。在x86指令集中,提供了比较与交换指令(CMPXCHG),允许程序员指示微处理器连续地比较第一操作数(从一内存位置所读取)与一缓存器操作数,且依据比较结果,将第一操作数或缓存器操作数写回至该内存位置。另一连续指令XADD,则让程序员能指示微处理器从一内存位置读取第一操作数,并交换第一操作数与一缓存器操作数的内含值,在将两操作数的和写回该内存位置。
因此,在特定的微处理器指令集中,连续指令提供了应用程序所需的一些更一般的连续运算。然而,现在仍有其它许多在应用程序层级所执行的运算,会因出现中断而执行失败,此因这些运算需要不中断地执行一连串运算或指令,但应用程序员却无法确保在这一连串运算或指令执行期间,不会产生中断。应用程序员更受限于前述的特定”连续”指令,而这些指令可能无法有效地执行所要的连续运算,因为这些连续指令仅用于执行更为一般的连续运算。
因此,我们所需要的是,一种可将抑制中断的特征纳入一既有微处理器指令集架构的装置及方法,其中该指令集架构是被已定义的运算码完全占用,且纳入该中断抑制特征能让一符合旧有规格的微处理器保留执行旧有应用程序的能力,同时对于任何已知的指令序列,还提供应用程序员与/或编译器控制是否执行中断处理的能力。

发明内容
本发明是针对上述及其它公知技术的问题与缺点加以克服。本发明提供一种更好的技术,用以扩充微处理器的指令集,使其超越现有的能力,提供指令层级的中断抑制特征。在一具体实施例中,提供了一种可在微处理器内进行指令层级的中断抑制控制的装置。该装置包括一转译逻辑(translation logic)与一延伸执行逻辑。该转译逻辑将一延伸指令转译成对应的微指令(microinstruction)。该延伸指令具有一延伸前置码(extended prefix)与一延伸前置码标记(extended prefix tag)。该延伸前置码指定中断处理要暂停至该延伸指令执行完毕。该延伸前置码标记则是一既有指令集内原本依据架构指定的运算码。该延伸执行逻辑耦接至转译逻辑,接收该对应的微指令,并在处理一待处理中断前,完成该对应微指令的执行。
本发明的一个目的,是提出一种扩充既有指令集,以选择性地抑制中断的微处理器装置。该微处理器装置具有一延伸指令与一转译器(translator)。该延伸指令是指定与中断相关的中断处理要被抑制,直至该延伸指令执行完毕。该延伸指令包含该既有指令集其中一选取的运算码,其后则接着一n位的延伸前置码。该选取的运算码指出该延伸指令,而该n位的延伸前置码则指定要抑制中断处理。该转译器接收该延伸指令,并产生一微指令序列,以指示微处理器抑制处理中断,直至该微指令序列执行完毕。
本发明的另一目的,在于提出一种为既有指令集增添中断抑制特征的模块。该模块包括一溢出标记(escape tag)、一中断抑制指定元(interruptsuppression specifier)、一转译逻辑及一延伸执行逻辑。该溢出标记指出一对应指令的附随部分是指定了所要执行的运算,其中该溢出标记为该既有指令集内的一第一运算码。该中断抑制指定元耦接至该溢出标记,且为该附随部分其中之一,其指定要抑制中断处理,直至该运算执行完毕。该转译逻辑接收该溢出标记与该中断抑制指定元,且产生一微指令序列,以指示微处理器执行该运算,该转译逻辑并指示要抑制中断处理,直至该运算完成。该延伸执行逻辑耦接至该转译逻辑,接收该微指令序列,并在处理一待处理中断前,完成该运算的执行。其中该转译逻辑包含一溢出标记监测逻辑,用以监测该溢出标记,并指示该附随部分的转译动作需依据延伸转译常规(conventions);以及一转译逻辑,耦接至该溢出标记监测逻辑,用以依据该既有指令集的常规,执行指令的转译动作,并依据该延伸转译常规执行该对应指令的转译,以排除中断处理,直至该运算完成。
本发明的再一目的,在于提供一种扩充既有指令集架构的方法,以于指令层级抑制中断处理。该方法包括提供一延伸指令,该延伸指令包含一延伸标记及一延伸前置码,其中该延伸标记是该既有指令集架构其中一第一运算码项目;通过该延伸前置码指定于该延伸指令执行时,抑制中断处理,其中该延伸指令的其余部分指定所要执行的运算;以及于该延伸指令执行时,抑制处理一中断。
本发明前述与其它目的、特征及优点,在配合下列说明及附图后,可获得更好的理解。


图1为一现有技术的微处理器指令格式的方框图;图2为一表格,其描述一指令集架构中的指令,如何对应至图1指令格式内一8位运算码字节的位逻辑状态;图3为本发明的延伸指令格式的方框图;图4为一表格,其显示依据本发明,延伸架构特征如何对应至一8位延伸前置码实施例中位的逻辑状态;图5为使用本发明的选择性中断抑制控制的管线化微处理器的方框图;图6为本发明于一微处理器中,用以指定要排除中断处理的延伸前置码的其中,附图标记说明如下100 指令格式 101 前置码102 运算码103 地址指定元200 8位算码图 201 运算码值202 运算码F1H300 延伸指令格式 301 前置码302 运算码303 地址指定元304 延伸指令标记 305 延伸前置码400 8位前置码图 401 架构特征500 管线化微处理器501 提取逻辑502 指令总线 503 宏指令队列504 总线 505 转译逻辑506 伸转译逻辑507 GOINT讯号508 微指令队列509 执行逻辑510 延伸执行逻辑 511 INT ADDR总线512 CMP信号 513 INT ACK总线514 可程序中断控制器 515 内存516 总线单元 517 中断接脚518 中断控制逻辑 519 系统总线600 延伸前置码601 中断抑制字段700 转译阶段逻辑 701 激活状态信号702 机器特定缓存器703 延伸特征字段704 指令缓冲器705 转译逻辑706 转译控制器707 禁能信号708 溢出指令监测器709 延伸前置码转译器710 指令转译器711 控制只读存储器712 微指令缓冲器 713 运算码延伸项字段714 微运算码字段 715 目的字段716 来源字段 717 位移字段718 INT信号 719 GOINT信号
800 执行阶段逻辑 801 延伸微指令缓冲器802 数据缓冲器 803 数据缓冲器804 数据缓冲器 805 延伸执行逻辑806 抑制计数逻辑 807 中断确认逻辑808 INTACK总线 809 CMP信号810 INT ADDR总线 811 标记缓存器812 中断致能位900~926用以在微处理器中抑制中断处理的方法的操作流程具体实施方式
以下的说明,是在一特定实施例及其必要条件的脉络下而提供,可使一般熟悉此项技术人员能够利用本发明。然而,各种对该较佳实施例所作的修改,对熟悉此项技术人员而言乃是显而易见,并且,在此所讨论的一般原理,亦可应用至其它实施例。因此,本发明并不限于此处所展示与叙述的特定实施例,而是具有与此处所揭示的原理与新颖特征相符的最大范围。
前文已针对今日的微处理器内,如何扩充其架构特征,以超越相关指令集能力的技术,作了背景的讨论。有鉴于此,在图1与图2,将讨论一相关技术的例子。此处的讨论强调了微处理器设计者所一直面对的指令集的限制,即一方面,他们想将最新开发的架构特征纳入微处理器的设计中,但另一方面,他们又要保留执行旧有应用程序的能力。在图1至图2的例子中,一完全占用的运算码图,已把增加新运算码至该范例架构的可能性排除,因而迫使设计者要不就选择将新特征纳入,而牺牲某种程度的旧有软件兼容性,要不就将架构上的最新进展一并放弃,以便维持微处理器与旧有应用程序的兼容性。在相关技术的讨论后,于图3至图9,将提供对本发明的讨论。藉由利用一既有但未使用的运算码作为一延伸指令的前置码标记,本发明可让微处理器设计者克服已完全使用的指令集架构的限制,除了使应用程序员能指示微处理器去抑制单一指令或指令群的中断处理,同时也能保留执行旧有应用程序所需的所有特征。
请参阅图1,其是一相关技术的微处理器指令格式100的方框图。该相关技术的指令100具有数量可变的数据项101-103,每一项目皆设定成一特定值,合在一起便组成微处理器的一特定指令100。该特定指令100指示微处理器执行一特定运算,例如将两操作数相加,或者是将一操作数从内存搬移至一内部缓存器,或从该内部缓存器搬移至内存。一般而言,指令100内的运算码项目102指定了所要执行的特定运算,而选用(optional)的地址指定元项目103位于运算码102之后,以指定关于该特定运算的附加信息,像是如何执行该运算,操作数位于何处等等。指令格式100并允许程序员在一运算码102前加上前置码项目101。在运算码102所指定的特定运算执行时,前置码101用以指示是否使用特定的架构特征。一般来说,这些架构特征能应用于指令集中任何运算码102所指定运算的大部分。例如,现今前置码101存在于一些能使用不同大小操作数(如8位、16位、32位)执行运算的微处理器中。而当许多此类处理器被程序化为一预设的操作数大小时(比如32位),在其个别指令集中所提供的前置码101,仍能使程序员依据各个指令,选择性地取代(override)该预设的操作数大小(如为了产生16位的操作数)。可选择的操作数大小仅是架构特征的一例,在许多现代的微处理器中,这些架构特征能应用于众多可由运算码102加以指定的运算(如加、减、乘、布尔逻辑等)。
图1所示的指令格式100,有一为业界所熟知的范例,此即x86指令格式100,其为所有现代的x86-兼容微处理器所采用。更具体地说,x86指令格式100(也称为x86指令集架构100)使用了8位前置码101、8位运算码102以及8位地址指定元103。x86架构100亦具有数个前置码101,其中两个取代了x86微处理器所预设的地址/数据大小(即运算码状态66H与67H),另一个则指示微处理器依据不同的转译规则来解译其后的运算码字节102(即前置码值0FH,其使得转译动作是依据所谓的二字节运算码规则来进行),其它的前置码101则使特殊运算重复执行,直至重复条件满足为止(即REP运算码F0H、F2H及F3H)。
现请参阅图2,其显示一表格200,用以描述一指令集架构的指令201如何对应至图1指令格式内一8位运算码字节102的位值。表格200呈现了一8位运算码图200的范例,其将一8位运算码项目102所具有的最多256个值,关联到对应的微处理器运算码指令201。表格200将运算码项目102的一特定值,譬如02H,映像至一对应的运算码指令201(即指令I02 201)。在x86运算码图的例子中,为此领域中人所熟知的是,运算码值14H是映像至x86的进位累加(Add With Carry,ADC)指令,此指令将一8位的直接(immediate)操作数加至架构缓存器AL的内含值。熟悉此领域技术人员也将发觉,上文提及的x86前置码101(亦即66H、67H、0FH、F0H、F2H及F3H)是实际的运算码值201,其在不同情况下,指定要将特定的架构延伸项应用于随后的运算码项目102所指定的运算。例如,在运算码14H(正常情况下,是前述的ADC运算码)前加上前置码0FH,会使得x86处理器执行一解压缩与插入低压缩的单精度浮点值(Unpack and Interleave Low Packed Single-PrecisionFloating-Point Values)运算,而非原本的ADC运算。诸如此x86例子所述的特征,在现代的微处理器中是部分地致能,此因微处理器内的指令转译逻辑是依序解译一指令100的项目101-103。所以在过去,于指令集架构中使用特定运算码值作为前置码101,可允许微处理器设计者将不少先进的架构特征纳入兼容旧有软件的微处理器的设计中,而不会对未使用那些特定运算码状态的旧有程序,带来执行上的负面冲击。例如,一未曾使用x86运算码0FH的旧有程序,仍可在今日的x86微处理器上执行。而一较新的应用程序,借着运用x86运算码0FH作为前置码101,就能使用许多新进纳入的x86架构特征,如单一指令多重资料(SIMD)运算,条件移动运算等等。
尽管过去已藉由指定可用的(即多余或未指派的)运算码值201作为前置码101(也称为架构特征标记/指针101或溢出指令101),来提供架构特征,但许多指令集架构100已因为一非常直接的理由,而无法提供功能上的强化所有可用/多余的运算码值已被用完,也就是,运算码图200中的全部运算码值已被架构化地指定。当所有可用的值被分派为运算码项目102或前置码项目101时,就没有剩余的运算码值可作为纳入新特征之用。这个严重的问题存在于现在的许多微处理器架构中,因而迫使设计者得在增添架构特征与保留旧有程序的兼容性两者间作抉择。
值得注意的是,图2所示的指令201是以一般性的方式表示(也就是I24、I86),而非具体指涉及实际的运算(如进位、累加、减、互斥、或)。这是因为,在一些不同的微处理器架构中,完全占用的运算码图200在架构上,已将纳入较新进展的可能性排除。虽然图2例子所提到的,是8位的运算码项目102,熟悉此领域技术人员仍将发觉,运算码102的特定大小,除了作为一特殊情况来讨论完全占用的运算码结构200所造成的问题外,其它方面与问题本身并不相干。因此,一完全占用的6位运算码图将有64个可架构化地指定的运算码/前置码201,并将无法提供可用/多余的运算码值作为扩充之用。
另一种替代做法,则并非将原有指令集完全废弃,以一新的格式100与运算码图200取代,而是只针对一部份既有的运算码201,以新的指令意含取代,如图2的运算码40H至4FH。以这种混合的技术,微处理器就可以单独地以下列两种模式之一操作其中旧有模式利用运算码40H-4FH,依旧有规则来解译,或者以另一种改良模式(enhanced mode)操作,此时运算码40H-4FH则依加强的架构规则来解译。此项技术确能允许设计者将新特征纳入设计,然而,当符合旧有规格的微处理器于加强模式操作时,缺点仍旧存在,因为微处理器不能执行任何使用运算码40H-4FH的应用程序。因此,站在保留旧有软件兼容性的立场,兼容旧有软件/加强模式的技术并非一最佳选择。
然而,对于运算码空间已完全占用的指令集200,且该空间涵盖所有于符合旧有规格的微处理器上执行的应用程序的情形,本案发明已注意到其中运算码201的使用状况,且亦观察出,虽然有些指令202是架构化地指定,但未用于能被微处理器执行的应用程序中。图2所述的指令IF1 202即为此现象的一例。事实上,相同的运算码值202(亦即F1H)是映像至未用于x86指令集架构的一有效指令202。虽然该未使用的x86指令202是有效的x86指令202,其指示要在x86微处理器上执行一架构化地指定的运算,但它却未使用于任何能在现代x86微处理器上执行的应用程序。这个特殊的x86指令202被称为电路内仿真断点(In Circuit Emulation Breakpoint)(也就是ICE BKPT,运算码值为F1H),之前都是专门使用于一种现在已不存在的微处理器仿真设备中。ICE BKPT运算码202从未用于电路内仿真器之外的应用程序中,并且先前使用ICE BKPT运算码202的电路内仿真设备已不复存在。因此,在x86的情形下,本案发明已在一完全占用的指令集架构200内发现一样工具,借着利用一有效但未使用的运算码202,以允许在微处理器的设计中纳入先进的架构特征,而不需牺牲旧有软件的兼容性。在一完全占用的指令集架构200中,本发明利用一架构化地指定但未使用的运算码202,作为一指针标记,以指出其后的一n位前置码,因此允许微处理器设计者可将最多2n个最新发展的架构特征,纳入微处理器的设计中,同时保留与所有旧有软件完全的兼容性。
本发明藉提供一n位的延伸中断抑制指定元前置码,以使用前置码标记-延伸前置码的概念,因而可允许程序员于一延伸指令的整个执行过程,指定要抑制其对应的中断处理。本发明的另一实施例,则将该延伸指令与其后特定数量指令的执行,排除在微处理器的中断处理机制外。本发明现将参照图3至图9进行讨论。
现请参阅图3,其为本发明的延伸指令格式300的方框图。与图1所讨论的格式100非常近似,该延伸指令格式300具有数量可变的指令项目301-305,每一项目设定为一特定值,集合起来便组成微处理器的一特定指令300。该特定指令300指示微处理器执行一特定运算,像是将两操作数相加,或是将一操作数从内存搬移至微处理器的缓存器内。一般而言,指令300的运算码项目302指定了所要执行的特定运算,而选用的地址指定元项目303则位于运算码302后,以指定该特定运算的相关附加信息,像是如何执行该运算、操作数所在的缓存器、用于计算来源/结果操作数的内存地址的直接与间接数据等等。指令格式300亦允许程序员在一运算码302前加上前置码项目301。在运算码302所指定的特定运算执行时,前置码项目301是用来指示是否要使用既有的架构特征。
然而,本发明的延伸指令300是前述图1指令格式100的一超集(superset),其具有两个附加项目304与305,可被选择性作为指令延伸项,并置于一格式化延伸指令300中所有其余项目301-303之前。这两个附加项目304与305,其为延伸指令300的一部份,可让程序员指定是否要抑制或排除延伸指令300的中断处理。选用项目304与305是一延伸指令标记304与一延伸中断抑制前置码305。该延伸指令标记304是一微处理器指令集内另一依据架构所指定的运算码。在一x86的实施例中,该延伸指令标记304,或称为溢出标记304,是用运算码状态F1H,其为早先使用但未废弃的ICE BKPT指令。溢出标记304向微处理器逻辑指出,该延伸前置码305,或称延伸特征指定元305,是跟随在后,其中该延伸前置码305指定要抑制延伸指令300的中断处理。在一具体实施例中,溢出标记304指出,一对应延伸指令300的附随部分301-303及305指定了微处理器所要执行的运算。中断抑制指定元305,或称延伸前置码305,则指定该运算需连续地执行,亦即不受待处理中断(pending interrupt)的影响,而一符合旧有规格的微处理器在其它情况下则会允许待处理中断。随着该运算执行完成,中断处理重新被致能。在另一实施例中,延伸前置码305指出该运算涵盖了多个指令,其中延伸指令300是第一个指令,并且由这些指令所指定的该运算,在执行期间必须不受中断处理影响而暂停。
此处将本发明的指令层级的中断抑制技术作个概述。一延伸指令300是组态为,指定一运算要依据既有微处理器指令集来执行,其中延伸指令300的执行是于处理一待处理中断之前完成。延伸指令300包括该既有指令集的运算码304其中之一以及一n位的延伸前置码305。所选取的运算码304作为一指针304,以指出指令300是一延伸特征指令300(亦即,其指定了微处理器架构的延伸项),而该n位的特征前置码305则指出要抑制中断处理。在一具体实施例中,延伸前置码305具八位的大小,可指定要抑制一指令及后续最多255个指令的中断处理,或是指定要抑制较少数量的指令的中断处理,再加上八位延伸前置码305的剩余位值所指定的其它延伸特征。n位前置码的实施例,则最多可指定要抑制2n个指令的中断处理,或是像前述抑制中断处理与其它延伸特征的各种组合。
现请参阅图4,一表格400显示依据本发明,中断抑制的指定如何映像至一8位延伸前置码实施例的位逻辑状态。类似于图2所讨论之运算码图200,图4之表格400呈现一8位的延伸前置码图400的范例,其将一8位延伸前置码项目305的最多256个值,关联到一符合旧有规格微处理器中,一些指令401(如E34、E4D等)相对应的中断抑制。在一x86的具体实施例中,本发明的8位延伸特征前置码305是提供给中断抑制401(亦即EOO-EFF)的指令层级控制之用,该些中断抑制401乃现行x86指令集架构未能另行指定的。
图4所示的延伸特征401是以一般性的方式表示,而非具体指涉实际的特征,此因本发明的技术可应用于各种不同的架构延伸项401与特定的指令集架构。熟悉此领域技术人员将发觉,许多不同的架构特征401,其中一些已于上文提及,可依此处所述的溢出标记304/延伸前置码305技术将其纳入一既有的指令集。图4的8位前置码实施例提供了最多256个不同的特征401,而一n位前置码实施例则具有最多2n个不同特征401的程序化选择。
现请参阅图5,其为解说本发明用以执行选择性的中断抑制的管线化微处理器500的方框图。微处理器500具有三个明显的阶段类型提取、转译及执行。提取阶段具有提取逻辑501,耦接至总线单元516,以便从通常位于微处理器500外部的内存515提取指令或宏指令(macro instruction)。总线单元516是藉由一系统总线519耦接至内存515。提取逻辑501将所提取的宏指令送至一宏指令队列503,由一转译逻辑505进行读取。转译逻辑505耦接至一微指令队列508。转译逻辑505包括一延伸转译逻辑506。执行阶段则具有一执行逻辑509,其内包含一延伸执行逻辑510。
依据本发明,于操作时,转译逻辑505经由NIP总线,将下一指令的指针或地址(NIP)送至提取逻辑501。提取逻辑501藉由指令总线502,发出下个所要提取指令的地址至总线单元516。总线单元516藉由系统总线519与内存515沟通,以提取宏指令,并经由指令总线502将这些指令送至提取逻辑501。熟悉此领域技术人员将发觉,图5是经过简化以求清楚,所以并未包含此领域常用的快取宏指令的装置,如内部指令高速缓存(图中未显示)。依据本发明,提取逻辑501接着将经过格式化的指令依执行顺序送入指令队列503。这些指令从指令队列503被提取,而送入转译逻辑505。转译逻辑505将每个送入的指令转译为一对应的微指令序列,以指示微处理器500执行由宏指令所指定的运算。依据本发明,延伸转译逻辑506监测那些具有延伸前置码标记的指令,以进行对应的延伸中断抑制前置码的转译。在一x86的实施例中,延伸转译逻辑506组态为监测其值为F1H的延伸前置码标记,其x86的ICE BKPT运算码。延伸微指令字段则提供于微指令队列508中,以指定要抑制由该指令附随部分所指定的运算的中断处理。其它延伸转译逻辑506的实施例,则可于延伸微指令字段中,指定要抑制本发明的一第一宏指令与后续一定数量宏指令的中断处理。
微指令从微指令队列508被送至执行逻辑509,其中延伸执行逻辑510组态为执行微指令所指定的特定运算。对于一转译后的宏指令所对应的微指令而言,在其执行期间若有一中断被致能,则微处理器500中的中断控制逻辑518会在一或多个中断接脚517检测到此中断的致能。中断控制逻辑518通过讯号INT告知微处理器内的逻辑,有一中断正等待处理。在没有本发明的延伸指令的情况下,转译逻辑505会经由总线504发出中断处理程序的地址至提取逻辑,以启始一连串的中断处理事件。同时,执行逻辑509完成现行微指令的执行,并将管线清空。因此,微处理器500开始提取、转译及执行指令,以确认该待处理的中断,并判断哪一个装置致能了LINT517。当这些指令执行时,执行逻辑经由INTACK总线513,发出一中断确认总线周期的要求至总线单元516。总线单元516藉由位于系统总线519的一可程序中断控制器514,处理此中断确认总线周期,以判断致能LINT517的装置。此时,通常会从LINT中断接脚517收到操作系统的一特定中断服务例程(亦称为中断向量)的地址,其被指派来服务致能中断的装置。总线单元516提取中断向量,并经由INTACK总线513送至执行逻辑509。执行逻辑509接着经由INT ADDR总线511将此向量送至转译逻辑505。转译逻辑505通过提取总线504,发出此中断向量至提取逻辑501,而提取逻辑501便开始提取此中断向量所对应的指令,以处理经确认的中断。为简明起见,前面关于中断处理的描述,省略了被中断应用程序的状态如何储存及回复的特定细节。熟悉此领域技术人员将发觉,这些细节是依本发明所应用的微处理器架构而定。
当本发明的延伸指令被提取执行时,转译逻辑505内的延伸转译逻辑506会将对应微指令序列内的延伸微指令字段(图中未显示)加以组态,以指出中断处理将被抑制,直到对应的微指令序列执行完毕为止。因此,执行逻辑509内的延伸执行逻辑510会确保这些微指令完成执行,而不受中断。当一中断经由LINT517被致能,如前所述,转译逻辑505会等到微指令执行完毕后,才启始一中断处理程序。执行逻辑509藉由致能CMP信号512,以指出微指令已执行完毕。中断控制逻辑518藉由致能GOINT信号507,以告知转译逻辑505执行已完成。当GOINT507被致能,转译逻辑505会启始中断处理程序,如前所述。
因此,延伸执行逻辑510经由GOINT信号507向转译逻辑505指出,中断处理会藉由设定CMP信号512而激活。在没有本发明的延伸指令的情况下,当一中断经由LINT517产生时,CMP信号512于现行的微指令执行后即被设定。若有一延伸指令,其指示要抑制中断,则延伸执行逻辑510延后设定CMP信号512,直到所有对应的微指令执行完毕为止。
如前所述,大多数的微处理器架构都有提供中断处理的致能与禁能,且通常仅运作于并未指定给应用程序的特权层级。在一x86兼容的微处理器中,应用程序是不能设定及清除x86标记缓存器(图中未显示)的中断致能位(未显示)的。但本发明提供了一种机制,让应用程序员可驱使微处理器500于指令层级禁能中断,以使连续的(atomic)运算可以不受中断地执行。此外,本发明对中断抑制的指定还可取代其它架构功能对中断处理的致能与禁能所做的指定。在一x86实施例中,依本发明于指令层级抑制中断,将取代标记缓存器内的中断致能位所做的指定。
熟悉此领域技术人员将发现,图5所示的微处理器500是现代的管线化微处理器50经过简化的结果。事实上,现代的管线化微处理器500最多可包含有20至30个不同的管线阶段。然而,这些阶段可概括地归类为方框图所示的三个阶段,因此,图5的方框图500可用以点明前述本发明实施例所需的必要组件。为了简明起见,微处理器500中无关的组件并没有显示出来,亦未加以讨论。
现请参阅图6,其为本发明于一微处理器500中,用以指定要抑制一延伸指令的对应中断处理的延伸前置码600的一示范实施例方框图。中断抑制前置码600具8位大小,且包括一中断抑制字段601。在一具体实施例中,抑制字段601指定了在该延伸指令执行时,要排除对应的中断处理。另一具体实施例则包含可指定要排除该延伸指令与后续最多255个指令的中断处理的中断抑制字段601。中断抑制期间所执行的指令数是由抑制字段601来显示。
现请参阅图7,其为图5的微处理器500内转译阶段逻辑700的细部的方框图。转译阶段逻辑700具有一指令缓冲器704,其提供一延伸指令至转译逻辑705。转译逻辑705是耦接至具有一延伸特征字段703的一机器特定缓存器(machine specific register)702。转译逻辑705具一转译控制器706,其提供一禁能(DISABLE)信号707至一溢出指令监测器708及一延伸前置码转译器709。溢出指令监测器708耦接至延伸前置码转译器709及一指令转译器710。延伸前置码转译器709与指令转译逻辑710存取一控制只读存储器(ROM)711,其中储存了对应至某些延伸指令的样板(template)微指令序列。转译逻辑705亦包含一微指令缓冲器712,其具有一运算码延伸项字段713、一微运算码字段714、一目的字段715、一来源字段716以及一位移字段717。
操作上,在微处理器通电激活期间,机器特定缓存器702内的延伸字段703的状态是藉由信号激活状态(signal power-up state)701决定,以指出该特定微处理器是否能转译与执行本发明的延伸指令。机器特定缓存器702将延伸特征字段703的状态送至转译控制器706。转译控制逻辑706则控制从指令缓冲器704所提取的指令,要依照延伸转译规则或常用转译规则进行转译。若延伸特征被禁能,则具有被选为延伸特征标记的运算码状态的指令,会依常用转译规则进行转译。在一x86的具体实施例中,选取运算码状态F1H作为标记,则在常用的转译规则下,遇到F1H会造成不合法的指令异常(exception)。在延伸转译功能被禁能的情况下,指令转译器710转译所有送入的指令704,并对微指令712的所有字段713-717进行组态。然而,在延伸转译规则下,若遇到标记,则会被溢出指令监测器708监测出来。溢出指令监测器708会指示延伸前置码转译器709,依据延伸转译规则来转译延伸指令的延伸前置码部分,并组态运算码延伸项字段713,以指示要抑制延伸指令的对应微指令序列的中断处理。在另一实施例中,延伸前置码转译器709依据延伸转译规则来转译延伸指令的延伸前置码部分,并对一连串宏指令的所有相关微指令的运算码延伸项字段713进行组态,而该延伸指令为这串宏指令的第一个指令,且延伸前置码转译器709已从一延伸前置码判断得知,该延伸指令与后续一些宏指令要连续地执行。指令转译器710则转译该延伸指令的其余部分,并组态微指令712的微运算码字段714、来源字段716、目的字段715及位移字段717。某些特定指令会导致对控制ROM1011的存取,以获取对应的微指令序列样板。经过组态的微指令712被送至一微指令队列(图中未显示),由处理器进行后续执行。
当转译逻辑705经由INT信号718被告知有一中断等待处理时,其转译动作会持续到GOINT信号719被设定,亦即现在所执行的一连续微指令序列已执行完毕为止。当GOINT719被设定,转译逻辑705即激活如前述的中断处理程序。在所有的实施例中,转译逻辑705是于激活中断处理程序前,将所有待执行的宏指令未受中断地转译完成。
现请参阅图8,其为图5的微处理器500内执行阶段逻辑800的方框图。执行阶段逻辑800具有一产生CMP信号809的抑制计数逻辑806,以及一中断确认逻辑807,其经由INTACK总线808,激活一中断确认周期。依据本发明,延伸执行逻辑805从一延伸微指令缓冲器801接收微指令,并从数据缓冲器802-804接收数据操作数。在图8的示范实施例中,延伸执行逻辑805亦存取一标记缓存器811的一中断致能位812,以判断操作系统软件是否已致能中断处理。
实际操作上,微指令及其相关操作数是通过延伸微指令缓冲器801及操作数缓冲器802-804提供而加以执行。在公知宏指令所对应的微指令执行期间,依据公知的中断处理规则,抑制计数逻辑806要确保CMP信号809维持设定状态,以显示中断处理可能会发生。在一具体实施例中,若IE812未被设定,此表示中断被禁能,则CMP 809亦未被设定。当执行时要抑制中断的微指令被送入时,抑制计数逻辑806会等到所有延伸微指令执行完毕,才设定CMP信号809。在一实施例中,一连续微指令序列的第一微指令的一延伸字段(图中未显示)指出,有某数量的微指令要不受中断地连续执行。在此实施例中,在设定CMP 809前,抑制计数逻辑806亦于后续微指令执行时计算其数量,以确保能不受中断地执行。如前面所提到,通过延伸微指令来指定抑制中断,会取代标记缓存器811的IE812的状态。当一中断被处理时,中断确认逻辑807会经由INTACK总线808,激活一中断确认总线程序,以决定待处理中断的向量。此向量会经由INT ADDR总线810送至转译逻辑(图中未显示)。
此处对本发明的重要技术特征(如图3至图8部分所述)做个整理。藉由使用一已依据架构指定、但实际未使用的运算码作为标记,本发明可于一延伸指令中提供一种可程序化的标记-前置码组合。在一具体实施例中,前置码是用以指示一符合旧有规格的微处理器只抑制该延伸指令的中断处理。在另一不同的实施例中,前置码则指示该符合旧有规格的微处理器抑制该延伸指令与后续一定数量指令的中断处理。当该延伸指令被提取时,依据本发明,延伸转译逻辑通过延伸微指令中运算码延伸项字段的内容指出,该延伸指令的对应微指令序列的中断处理要被抑制。在另一实施例中,延伸前置码指定要抑制一对应延伸指令与后续一定数量指令的中断处理,延伸转译逻辑则决定后续所要连续执行的指令的数量,并依此组态延伸微指令字段,以确保能不受中断地执行。
因此,本发明赋予程序员与/或自动化程序代码编译装置(automated codecompilation device)一种装置,可用以指示符合旧有规格的微处理器去抑制单一指令或指令群的中断处理,藉以克服现有微处理器架构的限制,这些现存架构多将此类问题交由操作系统例程去处理。此处应用程序员被赋予了一种可弹性编写连续运算的装置,因为他们并不限于仅能使用一或两种用来确保连续性的特殊用途宏指令。
现请参阅图9,其为描述本发明对可使程序员于指令层级取代微处理器内的中断处理的指令,进行提取、转译与执行的方法的操作流程图900。流程开始于方框902,其中一个组态有延伸特征指令的程序,被送至微处理器。流程接着进行至方框904。
于方框904中,下一个指令被提取,以进入微处理器的管线。流程接着进行至判断方框906。
于判断方框906中,对方框904中所提取的指令进行评估,以判断是否包含一延伸溢出码-延伸前置码序列。在一x86的实施例中,该评估是用以监测其后为一中断抑制指定元项目的运算码值F1(ICE BKPT)。若监测到该延伸溢出码与后续项目,则流程进行至方框910。若未监测到该延伸溢出码与延伸指定元,则流程进行至方框908。
于方框908中,微处理器内的延伸转译逻辑在一对应微指令序列的延伸项字段中,指定要在该对应微指令序列执行时,抑制中断处理。流程接着进行至方框910。
于方框910中,该指令的所有其余部分被转译,以决定一指定运算、缓存器操作数的位置、内存地址指定元以及依据该既有微处理器指令集,由前置码所指定的既有架构特征的使用。流程接着进行至方框912。
于方框912中,转译逻辑产生一延伸微指令序列,以指定该指定运算及其对应的运算码延伸项。流程接着进行至方框914。
于方框914中,微指令序列在由转译装置处理后,依执行顺序送至一微指令队列,由微处理器加以执行。流程接着进行至判断方框916。
于判断方框916中,进行评估以判断是否有待处理的中断。若没有,则流程进行至方框926。若有,则流程进行至方框918。
于方框918中,一现行微指令执行完成。流程接着进行至判断方框920。
于判断方框920中,评估一后续微指令的延伸抑制字段,以判断其是否要不受中断地执行。若是,则流程进行至方框922。若否,则流程进行至方框924。
于方框922中,由于在判断方框920中已监测到连续运算,即激活下个微指令的执行,而流程亦进行到方框918,其中下个微指令即变成现行执行的微指令。
于方框924中,由于在方框916中已监测到一中断,且下个微指令的延伸项字段未指定抑制中断处理,所以微处理器内的转译逻辑在处理待处理中断前,将程控权转移至中断处理程序的微码,以保存现行执行的应用程序的状态。流程接着进行至方框926。
于方框926中,本方法完成。
虽然本发明及其目的、特征与优点已详细叙述,其它实施例亦可包含在本发明的范围内。例如,本发明已就如下的技术加以叙述利用已完全占用的指令集架构内一单一、未使用的运算码状态作为标记,以指出其后的延伸特征前置码。但本发明的范围就任一方面来看,并不限于已完全占用的指令集架构,或未使用的指令,或是单一标记。相反地,本发明涵盖了未完全映像的指令集、具已使用运算码的实施例以及使用一个以上的指令标记的实施例。例如,考虑一没有未使用运算码状态的指令集架构。本发明的一具体实施例包含了选取一作为溢出标记的运算码状态,其中选取标准是依市场因素而决定。另一具体实施例则包含使用运算码的一特殊组合作为标记,如运算码状态7FH的连续出现。因此,本发明的本质是在于使用一标记序列,其后则为一n位的延伸前置码,可允许程序员/编译员于一既有的微处理器指令集中,指定要抑制个别指令或指令群的中断处理。
此外,虽然上文是利用微处理器为例来解说本发明及其目的、特征和优点,熟悉此领域技术人员仍可察觉,本发明的范围并不限于微处理器的结构,而可涵盖其它形式的可程序化装置,如信号处理器、工业用控制器(industrialcontroller)、阵列处理机及其它同类装置。
以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明所实施的范围。凡依本发明权利要求所作的均等变化与修饰,皆应仍属于本发明专利涵盖的范围内。
权利要求
1.一种可在一微处理器内进行指令层级的中断抑制控制的装置,包含一转译逻辑,用以将一延伸指令转译成对应的微指令,其中该延伸指令包含一延伸前置码,用于指定中断处理要暂停至该延伸指令执行完毕;以及一延伸前置码标记,其是一既有指令集内原本依据架构指定的运算码;一延伸执行逻辑,耦接至该转译逻辑,用以接收该对应的微指令,并在处理一待处理中断前,完成该对应微指令的执行。
2.如权利要求1所述的装置,其中该延伸指令更包含该既有指令集中的指令项目。
3.如权利要求2所述的装置,其中该指令项目指定该微处理器所要执行的运算,且该待处理中断原本应在该对应微指令完成执行前处理。
4.如权利要求3所述的装置,更包含一标记缓存器,耦接至该延伸执行逻辑,组态为指定要致能该微处理器的中断处理,其中该延伸前置码所指定的中断抑制是取代该标记缓存器所做的指定。
5.如权利要求1所述的装置,其中该延伸执行逻辑包含一抑制计数逻辑,组态为判断该对应微指令执行的完成。
6.如权利要求1所述的装置,其中该转译逻辑判断该延伸指令执行的完成,且该转译逻辑排除该待处理中断的处理。
7.如权利要求1所述的装置,其中该延伸前置码包含一中断抑制字段,用以指定要抑制中断处理,直至多个宏指令执行完毕,其中该延伸指令是这些宏指令的一第一宏指令。
8.如权利要求1所述的装置,其中该转译逻辑包含一溢出指令监测逻辑,用于监测该延伸前置码标记;一指令转译逻辑,用以决定该微处理器要执行的运算,并于该对应微指令内指定该运算;以及一延伸转译逻辑,耦接至该溢出指令监测逻辑与该指令转译逻辑,用以于该对应微指令内指定要抑制中断处理。
9.一种扩充一既有指令集以选择性地抑制中断的微处理器装置,包含一延伸指令,组态为指定与该中断相关的中断处理要被抑制,直至该延伸指令执行完毕,其中该延伸指令包含该既有指令集其中一选取的运算码,其后则接着一n位的延伸前置码,该选取的运算码指出该延伸指令,而该n位的延伸前置码则指定要抑制中断处理;以及一转译器,组态为接收该延伸指令,并产生一微指令序列,以指示一微处理器抑制处理该中断,直至该微指令序列执行完毕。
10.如权利要求9所述的微处理器装置,其中该延伸指令更包含其余指令项目,组态为指定该微处理器所要执行的运算。
11.如权利要求9所述的微处理器装置,其中该n位的前置码包含一中断抑制字段,组态为指定要抑制中断处理,直至多个宏指令执行完毕,其中该延伸指令是这些宏指令中第一个宏指令。
12.如权利要求9所述的微处理器装置,其中该延伸指令指示该微处理器取代由一标记缓存器所提供的中断致能指示。
13.如权利要求9所述的微处理器装置,其中该转译器包含一溢出指令监测器,用以监测该延伸指令内的该选取的运算码;一指令转译器,用以转译该延伸指令的其余部分,以决定该微处理器所要执行的运算;以及一延伸前置码转译器,耦接至该溢出指令监测器及该指令转译器,用以转译该n位的延伸前置码,并指定要抑制中断处理,直至该微指令序列完成执行。
14.如权利要求9所述的微处理器装置,更包含一延伸执行逻辑,耦接至该转译器,用以接收该微指令序列,执行该运算,以及指出该微指令序列执行的完成。
15.如权利要求14所述的微处理器装置,其中该延伸执行逻辑包含一抑制计数逻辑,组态为判断该对应微指令执行的完成。
16.一种为一既有指令集增添中断抑制特征的模块,包含一溢出标记,指出一对应指令的附随部分是指定了所要执行的一运算,其中该溢出标记为该既有指令集内的一第一运算码;一中断抑制指定元,耦接至该溢出标记,且为该附随部分其中之一,其指定要抑制中断处理,直至该运算完成;一转译逻辑,用以接收该溢出标记与该中断抑制指定元,且产生一微指令序列,以指示一微处理器执行该运算,该转译逻辑并用以指示要抑制中断处理,直至该运算完成;以及一延伸执行逻辑,耦接至该转译逻辑,用以接收该微指令序列,并在处理一待处理中断前,完成该运算的执行。
17.如权利要求16所述的模块,其中该转译逻辑包含一溢出标记监测逻辑,用以监测该溢出标记,并指示该附随部分的转译动作需依据延伸转译常规;以及一转译逻辑,耦接至该溢出标记监测逻辑,用以依据该既有指令集的常规,执行指令的转译动作,并依据该延伸转译常规执行该对应指令的转译,以排除中断处理,直至该运算完成。
18.一种扩充一既有指令集架构的方法,以于指令层级抑制中断处理,该方法包含提供一延伸指令,该延伸指令包含一延伸标记及一延伸前置码,其中该延伸标记是该既有指令集架构其中一第一运算码项目;通过该延伸前置码指定于该延伸指令执行时,抑制中断处理,其中该延伸指令的其余部分指定所要执行的一运算;以及于该延伸指令执行时,抑制处理一中断。
19.如权利要求18所述的方法,其中该指定动作包含使用该既有指令集架构的一第二运算码项目来指定该运算。
全文摘要
本发明提供一种扩充一既有指令集以选择性地抑制中断的微处理器装置、一种为一既有指令集增添中断抑制特征的模块、一种扩充一既有指令集架构的方法及其一种可在一微处理器内进行指令层级的中断抑制控制的装置,用于扩充一微处理器指令集,于指令层级选择性地抑制中断。该装置包括一转译逻辑与一延伸执行逻辑。该转译逻辑将一延伸指令转译为对应的微指令。该延伸指令具有一延伸前置码与一延伸前置码标记。该延伸前置码指定要抑制中断处理,直到该延伸指令执行完毕。该延伸前置码标记则为一既有指令集内另一依据架构所指定的运算码。该延伸执行逻辑耦接至转译逻辑,其接收对应的微指令,并于处理一待处理的中断前,完成对应微指令的执行。
文档编号G06F9/48GK1514350SQ20031012022
公开日2004年7月21日 申请日期2003年12月9日 优先权日2003年3月10日
发明者G·葛兰·亨利, 罗德尼·E·胡克, 泰瑞·派克斯, E 胡克, G 葛兰 亨利, 派克斯 申请人:智慧第一公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1