微处理器集成电路以及相关除错方法技术

技术编号:4049101 阅读:303 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种微处理器集成电路,包括第一处理器及第二处理器、内部存储器及总线接口单元。内部存储器由第一处理器及第二处理器所存取,而总线接口单元连接微处理器外部的外部总线,用以提供对微处理器外部的外部存储器的存取。总线接口单元、外部总线以及外部存储器可被第二处理器存取,但不可被第一处理器存取。第一处理器将除错信息写入至内部存储器。第一处理器用以检测事件,并提供对应于该事件的事件通知给第二处理器。第二处理器耦接至总线接口单元,且用以依据从第一处理器所接收到的事件通知来执行微码例程。微码例程从内部存储器中读取除错信息,并通过总线接口单元及外部总线将除错信息写入至外部存储器,以对第二处理器进行除错。

【技术实现步骤摘要】

本专利技术是有关于微处理器的除错以及效能调校,特别是有关于服务处理器的除错 以及效能调校。
技术介绍
处理器包含一组微码例程(microcode routine),这组微码例程会处于休眠状态, 直到对控制暂存器的软件写入指令(例如=WRMSR指令)启动它。这组微码例程在此称为 “追踪例程”(Tracer),可作为对处理器进行除错(debug)以及效能调校(time)的工具。一 旦被启动,追踪例程可被各种事件触发,使其收集处理器状态信息,并将处理器状态信息写 入至存储器中的指定地址,使处理器状态信息可被监控外部处理器总线的逻辑分析器所取 得。状态信息可包含暂存器集;转译后备缓冲器(Translation-Lookaside Buffer, TLB); 高速缓存,例如数据高速缓存、分支目的地址高速缓存、层级2 (level-2)高速缓存;处理器 的私用(private)随机存取存储器(RAM)等等(请共同参照申请于2008年2月20日的美 国专利字第12/034,503号申请案(CNTR. 2349),及其优先权案申请于2007年4月10日的 美国专利字第60/910,982号临时申请案中的所有内容)。状态信息及其相关的其它信息 (例如时间信息)在此统称为登录信息(log information)或简称为登录。这些事件也可 触发追踪例程去执行其它动作,例如清除各种状态(例如写回(write-back)无效的快取、 清除TLB、LRU阵列、分支预测信息),或致使处理器对追踪例程所配置的私有系统管理模 式(system management mode,以下简称SMM)地址做出系统管理中断(system management interrupt,以下简称SMI)。此类事件的范例包含特定指令的执行(例如RDTSC(read time stamp counter,读取时己计数)、RDPMC (read performance monitoring counter,读 取效能监控计数)、XSTORE (储存随机数)、MOV to CR (搬移至控制暂存器)、WRMSR (write tomode specific register,写入模式特定暂存器)、RDMSR(read to modespecific register,读取模式特定暂存器)、软件中断、SYSTENTER(systemcall enter,进入系统呼 叫)/SYSEXIT(system call exit,离开系统呼叫)/SYSCALL(system call,系统呼叫)/ SYSRET (system return,系统返回)、CPUID (CPU identification,中央处理器识别)、 RSM (resume operation of interrupt program,恢复中断禾呈序)、MWAIT (monitor wait, 监控等待)、MONITOR(监控)、VMLAUNCH(virtual machine launch,虚拟机器启动)、 VMRESUME (virtual machine resume,虚拟机器恢复)、IRET (instructionreturn,指令返 回)、IN(输入)、OUT(输出)指令);X86 例外事件(exception) ;SMI、INTR(interrupt, 中断)、NMI (non-maskable interrupt,不可屏蔽中断)、STPCLK (stop clock,停止时钟)、 A20中断;VM离开条件;机器检查;以及读/写APIC暂存器(advanced programmable interrupt controller,进阶可程序中断控制器)。追踪例程是种功能非常强大的工具,然而,其有两个主要的限制。首先,追踪例程 是实现为处理器中的微码指令。因此,通过执行追踪例程,处理器的状态将从追踪例程未被 启动及触发的状态转变至另一状态。也就是说,追踪例程可能会破坏目前正进行除错或调校中的程序所建立的正常处理器状态,因此降低追踪例程的有用程度。举例来说,追踪例程 可排除错误,也可能影响处理器的效能。其次,由于追踪例程为一组微码例程,追踪例程仅 能于处理器执行以微码实现的指令时,或当硬件中断致使处理器执行微码例程时执行。然 而,有些对除错或调校而言具有重要性的事件可能异步地发生于指令的执行时,亦即在指 令执行当中,其中一些指令可能需要执行许多时钟周期,在此期间追踪例程无法执行。举例 来说,处理器电压或总线时钟比率可能在任何时间产生变化,无论处理器正在执行何种指 令,并且可能在指令或指令组执行过程中的任何时间点发生。
技术实现思路
本专利技术实施例提供一种微处理器集成电路,包括第一处理器用以检测一事件,并 提供对应于事件的事件通知和除错信息;第二处理器用以接收上述事件通知,并依据上述 事件通知执行微码例程;以及内部存储器用以储存上述除错信息,并可由第一处理器与第 二处理器所存取。其中第一处理器更用以将除错信息写入至内部存储器,而微码例程可用 以自内部存储器读取除错信息,并将除错信息写入至一外部存储器,以对第二处理器进行 除错。本专利技术另一实施例提供一种除错方法,用以对一微处理器集成电路进行除错。其 中,微处理器集成电路包括第一处理器、第二处理器以及一内部存储器,内部存储器可由第 一处理器与第二处理器所存取。本实施例的方法包含第一处理器将除错信息写入至内部存 储器。方法也包含第一处理器检测到一事件并且提供事件的一事件通知至第二处理器。方 法也包含第二处理器依据从第一处理器所接收到的事件通知来执行微码例程。方法也包含 微码例程由内部存储器读取除错信息,并将除错信息写入至外部存储器,以对第二处理器 进行除错。其中,将除错信息写入至外部存储器的步骤包括致使耦接至第二处理器的一总 线接口单元来将在外部总线上的除错信息写入至外部存储器,其中总线接口单元、外部总 线以及外部存储器不可由第一处理器所存取。本专利技术实施例还提供一种除错方法,用以对一微处理器集成电路进行除错。其中, 上述微处理器集成电路包括第一处理器以及第二处理器。方法包括下列步骤。首先,第一 处理器检测出第二处理器超过一既定数量的时钟周期未引退任一指令时,对应地重置第二 处理器。接着,第二处理器对应于重置动作执行一微码例程。之后,微码例程读取于微处理 器集成电路的除错信息,并且于检测出重置动作是由第一处理器所执行时,对应地将除错 信息输出至微处理器集成电路的外部。为使本专利技术的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施 例,并配合所附图式,作详细说明如下。附图说明图1是本专利技术一实施例的微处理器集成电路的方块图。图2是本专利技术一实施例的微处理器的操作流程图。图3是本专利技术另一实施例的微处理器的操作流程图。图4是本专利技术一实施例的计算机系统的方块图。图5是本专利技术一实施例的计算机系统的微处理器的操作流程图。100 -、微处理器集成电路;102 主要处理器;110 -、指令高速缓存;104 MSR ;106 --SPROC控制暂存器;108 --SPROC状态暂存器;112 -、指令转译器;114 追踪例程;116 -、暂存器别名表;118本文档来自技高网
...

【技术保护点】
一种微处理器集成电路,包括:一第一处理器,用以检测一事件,并提供对应于上述事件的一事件通知和除错信息;一第二处理器,用以接收上述事件通知,并依据上述事件通知执行一微码例程;以及一内部存储器,用以储存上述除错信息,并可由上述第一处理器与上述第二处理器所存取;其中上述第一处理器还用以将上述除错信息写入至上述内部存储器;其中上述微码例程用以自上述内部存储器读取上述除错信息,并将上述除错信息写入至一外部存储器,以对上述第二处理器进行除错。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:G葛兰亨利陈巨轩
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1