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

多线程流水线指令解码器的方法和设备技术

技术编号:2856136 阅读:235 留言:0更新日期:2012-04-11 18:40
使用多线程传输的指令解码器计时、清除和延迟多线程机器中解码流水线的指令,可以获得最佳的性能和最小的功耗。一个映像流水线映像保持线程标识的指令解码流水线和指令解码器每个流水线阶段有效指令比特。线程标识和有效的比特用于控制对指令解码器中每个流水线阶段的计时、清除和延迟。一个线程指令能够被清除而不与在解码流水线的其它线程指令发生冲突,在一些情况下,一个线程的指令能够被延迟而不与在解码流水线的其它线程指令发生冲突。本发明专利技术中,仅仅当有效指令需要前进以便保持功率和最小化延迟时计时流水线阶段。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及计算机处理器的指令解码,具体涉及微处理器流水线指令解码器。
技术介绍
基本的指令解码器和指令解码技术应用在中央处理器和微处理器中已经是众所周知的。随着设计的进步,指令解码器变得更为复杂,不仅包括顺序处理指令的流水线寄存器,还具备缓冲器,暂时存储先被解码的指令,同时使得其它指令继续被处理。但是,缓冲器容量受到限制并且能够被填满,因此更多的指令不能被存进去。在现有技术中,当一个缓冲器装满后,整个指令解码流水线将被延迟。在微处理器中,延迟也可以因为其它原因发生,如当一个子系统不能够处理在前的子系统提供的大量数据时,这样数据不会丢失。实质上,当在指令解码流水线上不能解码更多的指令时,一个指令解码流水线被延迟。现有技术的处理器中,如果一个指令解码器流水线上的指令失效或者无效时,就像出现在超高速缓冲存储器中一样的问题,指令需要被清除。清除实际上是使指令无效,以便他们能够被有效的指令覆盖或者被忽视。现有技术中的处理器中,全部指令包括有效指令在指令解码流水线上以整体被清除(也就是被无效)。在这种情况下,被清除的有效指令必须重新输入到指令解码流水线的开始部分,重新开始解码处理。当在现有技术的处理器流水线中中出现无效或失效时,象这样的整体的清除易于延迟执行处理。减少处理器功率消耗是一个主要的考虑因素。在现有技术中为了节省功率,关闭运行单元中的同步电路的全部功能块的时钟。就是说,这些时钟信号在全部功能块中被设置成一个稳定的状态。为了完成上述操作,在现有技术中使用电源关闭控制逻辑决定什么时候整个功能块是空闲的并且能够关闭时钟。因为关闭同步电路的时钟,包括时钟信号在内的全部信号都不会改变状态。在这种情况下,晶体管不必对信号线上的相关电容充电和放电,这样就节省了功率。然而,因为整个功能块中的时钟都被关闭,现有技术中的处理器必须等待直到这些功能块的所有功能被完成。这使得现有技术的处理器几乎不可能关闭功能块的时钟,整个期间功率很少被节省。克服现有技术中处理器的这些和其他一些限制是被希望的。专利技术概述本专利技术包括如同权利要求描述的方法,设备和系统。本专利技术一个实施例中简要的说明,微处理器包括一个指令解码器,解码指令多线程。指令解码器包括一个指令解码流水线。指令解码流水线解码每个与每个线程相关的输入指令。指令解码流水线还保存一个线程指示和一个与在指令解码流水线上被解码的每个指令平行的有效指示。在这里,其它的具体实施例也被表示,描述和要求。幅图说明附附图说明图1说明使用本专利技术的典型计算机的框图;附图2说明使用本专利技术的典型中央处理器的框图;附图3说明本专利技术中包括多线程流水线指令解码器的微处理器的框图;附图4说明本专利技术多线程流水线指令解码器的框图;附图5说明本专利技术指令解码流水线的框图;附图6说明映像流水线和清除控制,延迟和关闭如附图5中所示的指令解码流水线中流水线阶段的控制逻辑的框图;附图7说明在本专利技术中控制逻辑的控制运算方程式;附图8说明在本专利技术中指令解码器执行的一个气泡挤压示例的时序图;附图9说明在本专利技术中指令解码器执行的一个非阻塞延迟示例的时序图;附图10说明在本专利技术中指令解码器执行的一个线程清除示例的时序图;附图11A说明在本专利技术中指令解码器执行的机会的电源关闭的第一个示例的时序图;附图11B说明在本专利技术中指令解码器执行的机会的电源关闭的第二个示例的时序图; 具体描述下面具体描述本专利技术,给出了大量具体的描述以提供对整个专利技术的完整的理解。然而,对于本领域的技术人员来说是显而易见的,没有这些具体的描述本专利技术也可以实现。在其它实例中众所周知的方法,设备,装置和电路不在这里具体描述,以免造本专利技术的不清楚。本专利技术提供了一种对多线程系统的多线程流水线指令解码器进行计时,清除和延迟的算法方法,可以获得最佳的性能和最小的功耗。一个线程是一个被执行的软件的一个过程。软件编译器能够编译软件程序的一部分,将它们分裂成可执行代码的多个平行的数据流或者是可同时执行的多个不同的程序。每一个可执行代码的多个平行的数据流是一个线程。多线程平行的被执行提供了多个任务或是提高了性能。本专利技术提供了指令解码流水线,指令线程标识的映像流水线和映像指令解码流水线的指令有效位。线程标识和有效位用于控制每个流水线阶段的清除,计时和延迟。与一个线程相关的指令能被清除或者被延迟而不影响在解码流水线中的其它线程指令。本专利技术中,仅仅当有效指令因为需要最小化功率消耗和延迟而提高时,计时流水线阶段。一个有效指令是被执行单元决定可执行的指令。一个无效指令是被决定不可执行的指令,或是一个出错的指令,或是有一个异常的情况要求不被执行。参照附图1,说明使用本专利技术的计算机100的框图。计算机100包括一个中央处理器(CPU)101,输入/输出外围设备102,例如键盘,调制解调器,打印机,外部存储设备,监视设备103,例如示波器或是图形显示器。监视设备103以人们可以理解的格式提供计算机信息,例如以视觉的或是音频的格式。参照附图2,一个使用本专利技术中的典型的中央处理器单元101的框图。中央处理器101包括一个微处理器201,一个盘存储设备203和一个存储程序指令的存储器204,上述设备耦合在一起。盘存储设备203可以是一个软盘,压缩格式盘,DVD盘,硬盘,可重写光盘,闪存或是其它不稳定的存储设备。微处理器201和盘存储设备203都能通过存储器总线205从存储器204中读或是写信息。因此,微处理器201和盘存储设备203都能够在整个程序的执行阶段改变存储器204的存储单元。为了盘存储器203直接的做上述工作,包括一个具有直接存取存储器的盘控制器,该控制器可以执行存储器的存储和修改代码。因为控制器可以直接对存储器存取,它是一个直接存取存储器代理的例子。其它的可以直接将信息存入存储器的设备也是直接存取存储器代理。存储器204是典型的动态随机存取存储器或是其它类型的可重写存储器。因为用于存储程序指令,在这里存储器也可以作为程序存储器。在初始化存储在盘存储器203或是存储在其它设备例如输入/输出设备102中的程序执行时,微处理器201读存储在盘存储器203或是其它设备中的程序指令,将它们写入存储器204。存储在存储器204中的程序指令中的一个或多个页或者片断被微处理器201读出(也就是,被取出),初步解码,并将其存入指令高速缓冲存储器中(没有在附图2中表示出来)准备执行。存储在指令缓冲器中的一些程序指令可能被读入一个指令流水线(没有在附图2中表示出来)中被微处理器201执行。参照附图3,其表示通过存储器总线205将微处理器201耦合到存储器204的框图。微处理器201包括下一指令处理器(IP)310,一个指令转换旁视缓冲器(ITLB)312,一个存储器控制器313,一个跟踪高指令速缓冲存储器314,一个跟踪下一指令处理器(IP)315,一个指令解码器316,一个执行单元318,退役单元320和其它被微处理器考虑的指令流水线中的指令存储器单元。下一指令处理器(IP)310将下一组处理的指令从存储器204中取出,经解码器316解码后,存入跟踪高速缓冲存储器314中。微处理器201最好是一个多线程设备。这就是说,指令多线程能够被微处理器201解码和执行,以支持多任务。指令转换旁视缓冲区(IT本文档来自技高网...

【技术保护点】
一种用于多线程处理器的流水线指令解码器,该流水线指令解码器包括:指令解码流水线,用于解码与多个指令线程相关的指令,该指令解码流水线具有预定数目的流水线阶段;与指令解码流水线并行的有效位流水线,该有效位流水线具有与指令解码流水 线的预定数目的流水线阶段并行的相同预定数目的流水线阶段,把在每一流水线阶段处的有效指示符与在指令解码流水线中被解码的每个指令关联;和与指令解码流水线和有效位流水线并行的线程标识流水线,该线程标识流水线具有与指令解码流水线和有效位流水 线的预定数目的流水线阶段并行的相同预定数目的流水线阶段,把在每一流水线阶段处的有效指示符与在指令解码流水线中被解码的每个指令关联。

【技术特征摘要】
US 1999-12-30 09/4751051.一种用于多线程处理器的流水线指令解码器,该流水线指令解码器包括指令解码流水线,用于解码与多个指令线程相关的指令,该指令解码流水线具有预定数目的流水线阶段;与指令解码流水线并行的有效位流水线,该有效位流水线具有与指令解码流水线的预定数目的流水线阶段并行的相同预定数目的流水线阶段,把在每一流水线阶段处的有效指示符与在指令解码流水线中被解码的每个指令关联;和与指令解码流水线和有效位流水线并行的线程标识流水线,该线程标识流水线具有与指令解码流水线和有效位流水线的预定数目的流水线阶段并行的相同预定数目的流水线阶段,把在每一流水线阶段处的有效指示符与在指令解码流水线中被解码的每个指令关联。2.根据权利要求1所述的流水线指令解码器还包括耦合到指令解码流水线、有效位流水线和线程标识流水线的流水线控制器,该流水线控制器用来独立地控制指令解码流水线、有效位流水线和线程标识流水线的每个流水线阶段的计时。3.根据权利要求2所述的流水线指令解码器,其中流水线控制器包括用于每一流水线阶段的清除逻辑,该清除逻辑通过在有效位流水线的相应流水线阶段中设置有效位,以指示无效指令,来控制指令解码流水线的每一流水线阶段的指令的无效。4.根据权利要求2所述的流水线指令解码器,其中流水线控制器包括电源关闭逻辑,用来分析每一流水线阶段的有效指示符,以决定下一流水线阶段是否要被关闭,以及决定流水线阶段是否要被延迟;和时钟控制逻辑,用来决定指令解码流水线、有效位流水线和线程标识流水线的流水线阶段的相应时钟信号是否要被停止,以在一个延迟中保持功率或保持数据。5.根据权利要求4所述的流水线指令解码器,其中流水线控制器的电源关闭逻辑用来分析每一流水线阶段的有效位,以决定是否应该延迟任何流水线阶段,该电源关闭逻辑包括异或(XOR)门,用于将最后一个流水线阶段的前一个流水线阶段的线程标识与延迟的线程标识进行异或运算,以决定上述两者是否匹配,和第一与门,用于将最后一个流水线阶段的前一个流水线阶段的有效位与异或门的输出进行与运算,以便决定在最后一个流水线阶段的前一个流水线阶段之前的流水线阶段是否应该被延迟。6.根据权利要求5所述的流水线指令解码器,其中电源关闭逻辑还包括第二与门,用于将已经做过决定的流水线阶段的有效指示符与下一个流水线阶段的有效指示符进行与运算,和第三与门,用于将第二与门的输出与第一与门的输出进行与运算,以便决定除了最后一个流水线阶段的前一个流水线阶段之外的流水线阶段是否应该被延迟。7.根据权利要求2所述的流水线指令解码器,其中流水线控制器用来通过对具有无效指令的流水线阶段进行连续计时,一直到接收到有效指令并重写无效指令来挤出在指令解码流水线中的无效指令的气泡。8.根据权利要求2所述的流水线指令解码器,其中流水线控制器用来通过在流水线指令解码器内没有有效指令时,停止流水线指令解码器的计时来保持功率。9.根据权利要求2所述的流水线指令解码器,其中流水线控制器用来通过在与流水线阶段相关的线程标识指示清除的线程的指令时,停止流水线阶段中电路的计时来保持功率。10.根据权利要求2所述的流水线指令解码器,其中流水线控制器包括用来保持功率的电源关闭逻辑。11.根据权利要求2所述的流水线指令解码器,其中流水线控制器用来响应于清除信号...

【专利技术属性】
技术研发人员:JP杜格拉斯DJ德勒加尼斯JD哈德利
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1