当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于重放转换的指令的方法和装置制造方法及图纸

技术编号:2875714 阅读:217 留言:0更新日期:2012-04-11 18:40
重放指令转化。所公开的装置包括用于执行指令的执行单元。如果该执行单元没有正确地执行指令,则重放系统就重放该指令的变更了的指令。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本公开内容涉及处理器领域。更具体地讲,本公开内容涉及这样的处理器,该处理器在一次或多次初始尝试执行指令过程中碰到困难时,它可以变更、转换、变异,换句话说即“转化”上述指令。然而,持续提高处理器的性能的任务是困难的。现有技术的处理器已经使用了分支预测、预测执行、乱序(OOO)执行的技术。此外,这种处理器通常包括多个并行执行单元,以便并行地处理大量的指令。随着所应用的并行硬件的量的增加,由于可被抽取的有限指令级的并行度或由于指令当前对许多现有软件程序的依赖,提供足够多的指令以便保持硬件处于繁忙越来越困难。多线程是一种可以用于减少并行执行单元的空闲时间的技术。多线程允许多个程序或线程来共享硬件资源。由于执行的是独立的程序序列,所以指令相关性不太可能会严重降低指令单元的应用。只要多线程能够被抽取或者是显式地由正在执行的软件提供,这种多线程机固然会受益于由于执行多线程而产生的额外的并行度。因此,在设计现代处理器中大量的精力重点一直都用在这种指令调度技术上。这些技术至少部分地设法增加了向有意执行单元进行调度的指令数目。然而,有时在调度之后会碰到重要的导致延迟的问题(例如,故障、数字计算问题、超高速缓存未命中等等)。在现有技术处理器中,一旦向执行单元调度了指令,执行单元总体上是与它获得的指令“粘”在一起的。指令译码是一种在处理器接收指令后所出现的指令改变的类型。然而,指令的译码通常涉及要把一条指令扩张为微指令,或者把指令的编码改变成供执行单元执行的一种更便利的形式或另一种指令集。一般来讲,指令的译码并不超出从所输入的指令到或者个别信号或者个别微指令的特定映射。此外,指令译码在处理系统中是固有的前端操作,并且指令译码缺少在遍及执行指令中引入所收集的信息的能力。因此,现有技术的处理器一般并不把原始指令转化为这样的变更的指令,即一旦出现尝试执行,与原始指令相比,这些变更的指令会得到更有效或者更不相同的执行。附图说明本专利技术通过示例方式进行阐述,但并不限制于附图中的图形。图1a展示的是应用指令转化电路的处理器的一种实施方案。图1b展示的是可用于由图1a的系统所应用的指令转化技术。图2展示的是在高速缓存(cache)存储器中出现高速缓存未命中时用于转化加载指令的技术的一种实施方案。图3a-3d展示的是用于使用指令转化来处理指令相关性的技术的各种实施方案。图4展示的是使用公开的指令转化技术的系统的另一种实施方案。图5展示的是用于使用指令转化来处理页故障的技术的一种实施方案。图6展示的是用于使用指令转化来处理诸如间接加载指令的间接指令的技术的一种实施方案。图7展示的是结合数字处理使用指令转化的系统的一种实施方案。图8展示的是用于处理与某些极少数据相关的数学运算的技术的一种实施方案。图9展示的是用于使用公开的技术进行设计的模拟、仿真以及制造的各种设计表示和格式。具体实施例方式下面的描述实现重放指令转化。为了实现对本专利技术有更加彻底的理解,在下面的描述中,阐述了大量具体细节诸如原始和转化的指令的类型、可能适合转化的环境、可能体现转化的系统环境、执行单元和转化电路的相互作用以及逻辑划分/集成的选择。然而,应该理解的是,对于一位本领域的熟练技术人员来说,在没有上述具体细节的情况下本专利技术是可以实现的。在其它情况下,为了不使本专利技术晦涩难懂,就没有详细表示控制结构和门级电路。本领域的一般技术人员使用所包含的描述在无需过分实验的情况下将能够实现合适的逻辑电路。当前所公开的指令转化技术可以有利地允许更高效地在处理系统中执行指令。当特定硬件不可用时或正确完成被视为当前是不可能的时,通过转化某些指令,处理器可以释放用于执行其它任务的资源。图1a表示的是执行指令转化的处理器的一种实施方案。图1a的处理器包括从多路复用器115接收指令的执行单元125。检验器150与执行单元125相耦合,它判定指令是否是已经得到正确执行。在一些实施方案中可以添加附件的检验器和/或执行单元。此外,分级(staging)队列(未示出)可以从多路复用器115接收指令并向检验器150传递这些指令,以便及时地检验。转发得到正确执行的指令以便退出,而把没有得到正确执行的指令反馈给复用器115,以便重新执行。用于从检验器150把指令反馈给执行单元125的方式有两种。耦合的转化逻辑120用于从检验器150接收原始指令,并且它可以检测用于保证指令转化的条件。然而,在一些情况下,转化是不适当的。因此,转化逻辑120可以向多路复用器115返回原始指令或者转化了的指令。在一些实施方案中,某些类型的指令或专用指令可以由转化逻辑120自动进行转化。在其它实施方案中,某些条件可以促使转化逻辑120来执行转化操作。在指令返回到执行单元125之前,可能会引入各种延迟或对各种延迟进行条件测试。图1b展示的是可用于由图1a的系统所应用的指令转化的两种技术。在块160,处理器尝试原始指令的执行。原始指令是从多路复用器115的接收的指令输入端接收的,然后被传递到执行单元,以便实现在块160中所指示的执行。接收的指令可以从各种译码、高速缓存、或者其它前端处理逻辑中加以接收。如在块165所指示的,对阻碍原始指令本次成功执行的问题进行检测。在图1a的实施方案中,该检测是由检验器150实现的。如果指令和/或条件表明,该指令应在不作变更的情况下进行重放,则转化逻辑120可以把该指令返回给多路复用器115而不对其进行改变。如果指令和/或条件表明,应该转化该指令,则转化逻辑120如在块170中所指示的那样变更该指令,从而使该指令得到更高效或至少不同的执行。将在下面论述具体转化操作的各种实施方案。如在块175中所指示的,然后执行该转化了的指令。在一些情况下,转化了的指令是有意用于替换原始指令的。在这种情况下,如在块180中所指示的那样,转化了的指令的退出结束了原始指令所期望的执行。在这种情况下,转化的指令是与原始指令产生同样结果的代用指令;然而,在当时已经感知转化的指令是达到那些结果的更好的或更高效的途径。在其它情况下,可以转化指令以便满足原始指令成功执行的前置条件。例如,存储器访问可能导致页故障的发生。正确执行存储器访问的前置条件是页故障已得到解决。特殊前置条件可能需要大量的转化操作以便得到满足。因此,如在块185中所指示的那样,处理器进行检验以便判定前置条件是否由转化指令的执行满足。如果不满足,如返回到块170所指示的那样执行进一步的转化。如果前置条件是满足的,如在块190中所指示的那样可以恢复原始指令。然后,如在块195中所指示的那样退出原始指令。在一些情况下,一旦前置条件已经得到满足,则可以执行原始指令的指令替换。图2展示的是在高速缓存存储器中出现高速缓存未命中时用于转化加载指令的技术的一种实施方案。如在块200中所指示的,处理器判定在第二级或以上的高速缓存器未命中的加载指令。到第二级,意味着第二最低层次式高速缓存器,而不论其特殊标记。在图1a的实施方案中,检验器150从最低级高速缓存器接收未命中信号,因此判定加载指令未正确执行。转化逻辑120接收这样的信号(未示出),这些信号表明较高级高速缓存器也经历过高速缓存器未命中。在这些条件下,随着加载指令通过重放回路的循环运行,连续测试较高级高速缓存器可能是本文档来自技高网...

【技术保护点】
一种装置,它包括:用于执行指令的执行单元;用于在该执行单元没有正确地执行指令的情况下重放变更了的指令的重放系统。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:K梅内泽斯D萨格尔T托尔D卡梅安
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1