一种微码指令执行次数的计数装置以及计数方法,其中该微码指令执行次数的计数装置适用于微处理器,包括第一暂存器、第二暂存器、比较器以及计数器。第一暂存器储存微码指令的地址,微码指令则储存于微处理器的微码存储器中,第二暂存器储存微处理器的引退单元下一个所要引退的微码指令的地址,比较器比较第一暂存器与第二暂存器所储存的地址并指出它们之间的地址吻合,计数器计数比较器指出第一暂存器与第二暂存器所储存的地址之间的地址吻合的次数。本发明专利技术不需要专业的外部工具或能深入微处理器内部的探测器,仅通过少量的控制暂存器写出、写入、读出或读取的操作便能进行微码指令的调试与效能测量。
【技术实现步骤摘要】
本专利技术主要关于一种微处理器,特别是有关于一种在微处理器中计数微码指令执 行次数的技术。
技术介绍
许多现代的微处理器都包括了实行微处理器指令集中复杂且/或鲜少被执行的 微码指令序列或微码。位于微处理器中的微码存储器包括多个微码指令序列,当微处理器 将指令集中以微码实行的指令的其中之一解码时,微处理器不直接将该指令送到微处理器 中的执行单元去执行,而是把控制权移交给微码只读存储器中适当的微码程序。然后,微 处理器再把微码指令送到执行单元去执行以实行上述复杂且/或鲜少被执行的微码指令, 如此一来,就能使执行单元或其它微处理器中的单元,例如相依性监测单元(cbpendency checking unit)或引退单元(retire unit),相较于能够执行所有微处理器指令集中的指 令(包括上述复杂且/或鲜少被执行的微码指令)的执行单元具有较低的复杂度。如同一般程序,微码也必须要经过调试(debugging)的程序,此外,微码的效率也 被要求达到最佳化,尤其是效率佳的微码很有可能将包括有微处理器指令集中由微码所实 行的指令的程序的整体效率提升。然而,由于微码直接位于微处理器内,不像使用者定义的 程序指令一般,微码的取得并无法直接从微处理器的外接脚(external pins)处观察的到, 因此在调试与效率测量上,微码较使用者定义的程序要来的困难。再者,虽然微处理器通常 提供给使用者定义的程序有调试与效率测量的功能(请参见例如英特尔32位处理器架构 的软件开发者手册第3B册系统程序设计指南第二部分,2006六月版,第18章),但是却没 有提供相同的功能给微码使用。因此,需要提供一种关于微码的调试与效率测量的装置和方法。
技术实现思路
本专利技术提供了一种微码指令执行次数的计数装置,适用于一微处理器,包括一第 一暂存器,用以储存一微码指令的地址,上述微码指令则储存于上述微处理器的一微码存 储器中;上述计数装置还包括一第二暂存器,用以储存上述微处理器的一引退单元下一个 所要引退的微码指令的地址;上述计数装置包括一比较器,耦接于上述第一暂存器与上述 第二暂存器,并且用以指出上述第一暂存器与上述第二暂存器所储存的地址之间的一地址 吻合(match);上述计数装置包括一计数器,耦接于上述比较器,并且用以计数上述比较器 指出上述第一暂存器与上述第二暂存器所储存的地址之间的上述地址吻合的次数。本专利技术还提供了一种微码指令执行次数的计数方法,适用于一微处理器,包括将 储存于上述微处理器的一微码存储器中的一微码指令的地址储存至一第一暂存器;上述方 法亦包括将上述微处理器的一引退单元下一个所要引退的微码指令的地址储存至一第二 暂存器;上述方法亦包括比较储存于上述第一暂存器与上述第二暂存器的地址以决定储存 于上述第一暂存器与上述第二暂存器的地址之间是否有一地址吻合;上述方法亦包括计数上述地址吻合发生的次数。本专利技术的优点之一是提供了一种即时计数微码指令执行次数的手段,而不需要专 业的外部工具或能深入微处理器的内部功能的探测器,因此,微码指令执行次数的测量就 可以在实验室环境之外,例如安装于用户端以进行调试或效能测量。本专利技术的优点之二是在不影响包括由微码所操作的指令的使用者程序实际执行 于微处理器的条件下,提供了一种测量微码指令执行次数的方法,且此方法于测量微码指 令执行次数与接连取得测量结果时,仅需要少量的控制暂存器写出、写入、读出、或读取的 操作。附图说明图1是显示根据本专利技术所述的微处理器的框图。图2是显示根据本专利技术所述如图1的微处理器的操作流程图。图3是显示根据本专利技术另一实施例所述的微处理器的框图。附图中符号的简单说明如下100:微处理器104 微码存储器108:微码指令112:执行单元114 更新已执行微码指令的状态118:微码指令地址122:重排序缓冲器124 项目126:项目128 微码指令地址暂存器134:引退地址136:比较地址138:比较器142 地址吻合信号144 地址吻合计数器146 地址吻合的计数值304 微码指令遮罩值308 微码指令遮罩暂存器ANDl、AND2 与门。具体实施例方式参照图1,所示为根据本专利技术所述的一微处理器100的框图。因应微处理器100接收到使用者程序指令,微码存储器104将其所提供的多个微码指令108储存至多个执行单 元112,另外,虽然未标示于图1中,其它来源的微码指令,例如来自微处理器100的一指令 转译器或指令快取器(未绘示)的微码指令,也被提供至多个执行单元112去执行。在本专利技术一实施例中,多个执行单元112以乱序(out of order)方式执行微码指令。微处理器100也包括耦接于多个执行单元112的一重排序缓冲器122,微处理器 100于重排序缓冲器122中为每个被送往多个执行单元112的微码指令(例如多个微码指 令108)分配一项目(entry) 124或126,在多个微码指令108被送往多个执行单元112的同 时,微处理器100将多个微码指令108位于微码存储器104的地址以及一指出多个微码指 令108是由微码存储器104而非由其它指令来源所提供的指示信息,提供给重排序缓冲器 122。在多个执行单元112执行完微码指令后,多个执行单元112更新储存于重排序缓冲器 122中的已执行微码指令的状态114,如此一来,重排序缓冲器122就能确保依照程序顺序 引退其所储存的微码指令。特别是在每个时脉周期,重排序缓冲器122会检查其中最老旧 的微码指令是否已执行完毕而可以被引退了,如图1中所示位于项目126的被引退微码指 令。重排序缓冲器122也包括有一微码指令地址暂存器128, 微码指令地址暂存器128 储存欲测量的微码指令位于微码存储器104中的地址,以根据该地址测量该微码指令被执 行的次数,微码指令地址暂存器128由使用者程序所写入。在本专利技术一实施例中,当一程 序执行写模式指定暂存器(write model-specificregister, WRMSR)指令时,多个执行单 元112会把由写模式指定暂存器指令所指明的微码指令地址118写入微码指令地址暂存器 128。比较器138比较一由微码指令地址暂存器128所提供的比较地址136与另一由被 引退微码指令的项目126所提供的引退地址134,以决定要被引退的微码指令的地址是否 与被编程(programmed)写入微码指令地址暂存器128的微码指令地址118 (亦即比较地址 136)互相吻合(match)。若比较地址136与引退地址134相同,则比较器138产生一肯定 的地址吻合信号142,反之,若比较地址136与引退地址134不相同,则比较器138产生一 否定的地址吻合信号142。每当收到一肯定的地址吻合信号142,地址吻合计数器144就把 其所储存的计数值往上递增,如此一来,地址吻合计数器144中所储存的计数值就等于由 比较地址136所指明的位于微码存储器104中欲测量的微码指令被引退的次数。在本专利技术 一实施例中,只有在上述指示信息指出位于项目126的被引退微码指令是来自于微码存储 器104时,地址吻合计数器144才会在收到肯定的地址吻合信号142的状况下被往上递增。 在本专利技术一实施例中,重排序缓冲器122能够将其所储存本文档来自技高网...
【技术保护点】
一种微码指令执行次数的计数装置,其特征在于,适用于一微处理器,上述计数装置包括:一第一暂存器,用以储存在上述微处理器的一微码存储器中所储存的一微码指令的地址;一第二暂存器,用以储存上述微处理器的一引退单元下一个所要引退的微码指令的地址;一比较器,耦接于上述第一暂存器与上述第二暂存器,用以指出上述第一暂存器所储存的地址与上述第二暂存器所储存的地址之间的一地址吻合;以及一计数器,耦接于上述比较器,用以计数上述比较器指出上述第一暂存器所储存的地址与上述第二暂存器所储存的地址之间的上述地址吻合的次数。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:布兰特比恩,G葛兰亨利,泰瑞派克斯,陈巨轩,
申请(专利权)人:威盛电子股份有限公司,
类型:发明
国别省市:71[中国|台湾]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。