更新指令错误状态寄存器制造技术

技术编号:2854318 阅读:294 留言:0更新日期:2012-04-11 18:40
本发明专利技术是有关于一种用来更新在一管路处理器中的一指令错误状态暂存器(FSR)的系统与方法。其中,指令FSR是为在一管路架构中,用来储存从指令被撷取到执行期间所产生错误的理由。因不同理由所发生的连续错误会导致FSR的覆写,因此造成指令执行时的无效异常中断码。本发明专利技术所提供的更新指令FSR的方法与系统,可将异常中断码与指令一起,沿着管路传送至会更新FSR的执行级电路。

【技术实现步骤摘要】

本专利技术是有关于一种电脑处理器,且较特别的是,有关于一种用来更新在电脑处理器中的指令错误状态暂存器的改良式系统与方法。
技术介绍
执行程式码(code)的处理器(processors)是为人所熟知,且是广泛应用在从桌上型电脑到如手机与个人数位助理(Personal DigitalAssistant,PDA)的可携式电子装置的各种产品与应用中。目前已有多种不同的电脑架构(architecture),来决定如何在处理器中处理指令(instructions)。每一种架构都以不同方式处理其中所执行的程式码所产生的问题(problems)与错误(faults)。而每一种架构的其中一重要特性即为如何报告(report)及处理(handle)问题或错误。在本专利技术中,术语“异常中断(abort)”及“错误(fault)”会交替使用。如果使用的是三级管路架构(three stage pipeline architecture),则如同其他的处理器架构一般,当撷取(fetch)一程式码指令时,如果侦测到发生错误,就会以标示所侦测到的错误类型的资讯,更新错误状态暂存器(Fault Status Register,以下简称FSR)。然而,当在撷取级(fetch stage)电路时,处理器并未立即采取任何与该指令相关的动作,而是处理器会将该指令移动至下一级,也就是解码级(decode stage)电路,并且再移动至再下一级,也就是执行级(execute stage)电路。直到到达执行级电路之前,处理器并未确实认知错误发生,而且处理器会将其导向(vector)一个异常中断处理程序(abort handler),以处理该错误。在这种特别的实施架构中,在认知到错误发生之前,最少需要用到三个时脉周期(clock cycles)。因此,在指令被执行及错误被认知之前,处理器的撷取级电路必须另外多攫取两个指令。经由检查在管路架构中的错误处理程序(fault handling),可充分了解其细节。首先,撷取一第一指令,并且侦测到有错误发生,而且错误发生的原因,会被记录到指令FSR中。当第一指令被移动至管路处理器的解码级电路时,会同时撷取一第二指令,而且也可能同时侦测到与第二指令撷取相关的错误发生。如果确实发生错误,则接下来会将第二指令错误发生的原因,记录在FSR中,并且覆写(overwrite)与第一指令相关的错误状态资讯。异常中断有可能会顺序地发生,但通常都是有特定理由才会发生。在此例中,连续错误并非难以解决。接下来,第一指令会被移动至执行级电路,第二指令会被移动至解码级电路,且会撷取一第三指令。当第一指令在执行级电路中被执行时,该异常中断会被认知,而且处理器会将其导向至其异常中断处理程序。一旦异常中断已被导向至异常中断处理程序之后,处理器就会读取其指令FSR,以决定与第一指令相关的错误发生原因,根据该错误发生原因,会决定处理器应该采取什么动作,以解决该相关问题。因此,相关错误发生原因的正确性是相当重要的,否则,处理器将无法采取适当的改正动作。然而在部分实例中,当在等待从执行级电路到处理异常中断时,会有其他问题发生。举例而言,如果攫取两个指令,则第一指令可能会因理由A而中断,而第二指令可能会因另一理由B而中断。当将第一指令移动至解码级电路时,会撷取第二指令,并且以其异常中断的理由B,更新指令FSR。接下来,当将第一指令移动至执行级电路时,处理器会将其导向至异常中断处理程序,并且从指令FSR读取理由,因此会从FSR读取错误的异常中断理由(理由B而非理由A)。因为无法信任在FSR中的异常中断理由,所以需要复杂的异常中断处理程序,以决定错误发生的原因。因此需要用到较复杂的记忆体管理操作系统(memory management operating system),进而会降低其性能。记忆体管理操作系统是将虚拟记忆体(virtual memo)观念,应用在其动作中。虚拟记忆体是用在当使用者只具有较小量的实体记忆体,而想要在其上使用较大量的软体程式码时,藉由操作系统(operating system,OS)实现虚拟记忆体的方式达到其具有较大量的记忆体以进行运作。当软体想要存取并非真实存在的记忆体,也就是虚拟记忆体时,此时即会侦测到错误发生,处理程序会中断,并且接下来被导向至上述的异常中断处理程序。在异常中断处理程序中,操作系统可藉由在硬碟与可用实体记忆体之间传送资讯,而操作记忆体。接下来,程式码会在之前被中断的点上重新被启动,且该程式码所定址的记忆体位置即为目前位置。举例而言,在个人电脑中,可能有一个第一Linux操作系统(主操作系统)正在执行,用来控制硬体与持续追踪硬体的实际架构。但使用者可在该主Linux操作系统中,再启动一个第二版本的Linux,使第二版本的Linux以为其是控制所有硬体,然并非如此。事实上,所有硬体系为主操作系统所控制。接下来,使用者可以并行方式启动Windows XP,使用者亦可启动Windows 98。因此在第一个Linux操作系统之下,可能会有三个不同的其他操作系统,而且每个操作系统都以为其是完全控制显示器、硬盘、等等。但事实却是在这三个不同的其他操作系统中,没有任何一个操作系统对这些硬体具有控制权。只有主操作系统可声称具有所有硬体的控制权。虽然此实施方式可能会有效能衰减,但因其较有利,或因使用者想执行的大部分应用程式都只能在Linux上运行,所以此实施方式可让在Linux上执行大部分应用程式的使用者,可在Linux主操作系统下启动Windows,藉以执行部分只能在Windows上运行的应用程式。此实施方式亦可让使用者可启动多个版本的Linux,在此例中,因其中某些版本可能较优于某些版本,所以使用者可能并不需同时启动每个版本。操作系统必须知道那一个指令被中断,且为何被中断。在习知系统中,可能无法获知此资讯。因此,习知系统会决定并且设定在撷取级电路的错误发生理由。当第一个错误指令到达执行级电路时,如果在接下来的指令中还有错误发生,则储存在FSR中的值就不再为有效。换言之,当从撷取级电路到执行级电路的运行期间,如果因不同理由而发生另一异常中断,则操作系统可能会无法从FSR中决定异常中断的发生原因,而且可能必须藉由类似手工式地读取相关的记忆体管理页表(memory management page tables),而决定错误的发生原因。这种以手工式读取记忆体页表的方式,无疑地会增加操作系统的复杂度,并且使用更多的处理器时间。因此,需要一种让操作系统可以永远信赖从FSR中所读取的资讯的有效性(validity)的实施方式,藉此降低操作系统的复杂度,并且改善处理器效能。
技术实现思路
有鉴于此,本专利技术提供一种更新指令错误状态暂存器(FSR)的改良式系统及方法,以使得即使有多数个错误连续发生,亦可提供精确错误资讯至一执行单元。以下简单介绍在各种电脑架构中的其中一种架构的系统的一实施例。根据本专利技术一实施例,更新指令FSR的系统是包括一个撷取级电路;一个连接至撷取级电路的解码级电路;一个连接至解码级电路的执行级电路;一个用来决定在指令中所发生错误的记忆体管理单元或保护单元(MemoryManagement Unit or Prot本文档来自技高网
...

【技术保护点】
一种用来更新在一管路处理器中的一指令错误状态暂存器的系统,该系统包括:一管路处理器,其是具有至少三级电路,用来处理一指令;一错误决定模组,其是连接至该管路处理器的一撷取级电路;以及一错误通讯逻辑电路,其是连接至该指令 错误状态暂存器与该错误决定模组。

【技术特征摘要】
US 2005-1-26 11/043,7011.一种用来更新在一管路处理器中的一指令错误状态暂存器的系统,该系统包括一管路处理器,其是具有至少三级电路,用来处理一指令;一错误决定模组,其是连接至该管路处理器的一撷取级电路;以及一错误通讯逻辑电路,其是连接至该指令错误状态暂存器与该错误决定模组。2.根据权利要求1所述的用来更新在一管路处理器中的一指令错误状态暂存器的系统,其中该错误通讯逻辑电路包括一讯号汇流排,用来将一错误资讯与该指令一起传送至在该管路处理器中的一执行级电路。3.根据权利要求1所述的用来更新在一管路处理器中的一指令错误状态暂存器的系统,其中该指令错误状态暂存器是由对应于与该指令相关的该错误资讯的该错误通讯逻辑电路所更新。4.根据权利要求1所述的用来更新在一管路处理器中的一指令错误状态暂存器的系统,其中当执行具有一异常中断的一指令时,该管路处理器会将其导向至一异常中断处理程序。5.根据权利要求4所述的用来更新在一管路处理器中的一指令错误状态暂存器的系统,其中该指令错误状态暂存器的内容,会被传送至该异常中断处理程序。6.根据权利要求1所述的用来更新在一管路处理器中的一指令错误状态暂存器的系统,其中该错误通讯逻辑电路包括一FIFO。7.根据权利要求6所述的用来更新在一管路处理器中的一指令错误状态暂存器的系统,其中该FIFO的深度是对应于用来处理一指令的该些级电路的个数。8.根据权利要求1所述的用来更新在一管路处理器中的一指令错误状态暂存器的系统,其中该错误通讯逻辑电路与该指令错误状态暂存器,是整合至一FIFO。9.一种用来更新一指令错误状态暂存器的方法,该更新方法包括撷取一指令;决定该指令是否为错误;解码该指令;以及执行该指令;其中,如果该指令为错误,则将标示该指令为错误的资讯与错误理由,随着该指令一起,传送...

【专利技术属性】
技术研发人员:季诺朱瑟弗维克威廉米勒提姆修特
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1