用于使用常量高速缓冲存储器将字面数产生的数据更高效地转发到依赖指令的方法和设备的制造方法_2

文档序号:9291634阅读:来源:国知局
常量值作为其操作数。因此,不管移动立即数指令是已经完成还是仍然在管线中,都不需要转发数据,并且不需要发生数据停滞。
[0025]此外,移动立即数指令和依赖于数据的消耗指令可以在不同管线中的相同级,但是对于一些实施例,依赖于数据的消耗指令可以用零管线循环延迟获得其操作数。
[0026]当移动立即数指令被解码且其立即数(字面数或常量值)存储于常量高速缓冲存储器中的一个条目114中时,将与所述条目相关联的旗标字段114c设置成指示所述条目的内容是有效的。当稍后由消耗指令存取所述条目时,在将存储于条目中的立即数被转发到消耗指令之前,先检查所述条目的有效性。如果与一个条目相关联的旗标字段指示存储于所述条目中的立即数不是有效的,那么不将存储的立即数转发到消耗指令。
[0027]虽然以上描述是在移动立即数指令的背景内进行的,但是实施例不限于在采用常量高速缓冲存储器112时的移动立即数指令。控制器110可以配置成使得对于其它类型的将值写入到目的地寄存器的指令,可以如相对于移动立即数指令所描述在常量高速缓冲存储器112中产生条目,从而使得可以将存储值转发到消耗指令。仅举几例,此些指令的实例是分支和链接指令,以及程序控制相关分支。
[0028]更一般化地,所描述的实施例可以适用于将结果写入到寄存器堆的指令,其中可以通过包含于指令的解码中或在解码时可用的信息来确定所述结果。此些指令并不具有任何必须读取寄存器堆的操作数。然而,为了便于论述,是针对移动立即数指令描述本文所揭示的实施例,其中移动立即数指令仅充当实施例可以起作用的实例指令。
[0029]当指令将结果写入到架构式寄存器时(其中在执行之前,需要从寄存器堆读取指令以确定结果),然后控制器110使常量高速缓冲存储器中具有与架构式寄存器匹配的标记的任何条目114失效。在这种情况下,控制器110将匹配条目的旗标字段设置成指示存储于条目中的常量值并非有效的值。
[0030]控制器110根据上述实施例更新常量高速缓冲存储器中的条目114。这些动作可以完全通过硬件执行。对于一些实施例,存储于存储器(比如,例如,存储器116)中的指令可以执行上述动作。存储器116总体上可以是非暂时性计算机可读媒体。
[0031]图2说明上述动作。在步骤202中对指令进行解码。在步骤204中,经解码指令是移动立即数指令,其标示为MOV Rn#C以指示常量值C将被移动到架构式寄存器Rni中。在对移动立即数指令进行解码后,步骤206即刻指示常量值C存储于常量高速缓冲存储器112中的一个条目中,其中所述条目标记为寄存器R?,并且所述条目的旗标字段设置成指示所述条目是有效的。
[0032]如果经解码指令是架构式寄存器Rni的消耗者(如步骤208中指示),然后假设常量高速缓冲存储器112中存在与架构式寄存器Rni相关联(标记为架构式寄存器RJ的有效条目,则将存储于所述条目的常量字段中的常量值C转发到所述消耗者,如步骤210中指示。如果经解码指令是完成执行和将常量值写入(或复制)到架构式寄存器Rni的指令(如步骤212中指示),则控制器110使常量高速缓冲存储器112中与架构式寄存器Rni相关联(标记成架构式寄存器RJ的条目(假设存在这样一个条目)失效,如步骤214中指示。
[0033]图3说明可以应用实施例的无线通信系统。图3说明通信网络302,其包括基站304A、304B和304C。图3展示标记为306的一个通信装置,所述通信装置可以是移动蜂窝式通信装置,例如蜂窝电话(例如智能电话)、平板或其它种类的适合于蜂窝电话网络的通信装置,例如计算机系统。通信装置306不需要是移动式的。在图3的特定实例中,通信装置306位于与基站304C相关联的小区内。箭头308和310分别用图片表示上行链路信道和下行链路信道,通信装置306通过所述信道与基站304C通信。
[0034]举例来说,实施例可以用于与通信装置306或与基站304C或这两者相关联的数据处理系统中。图3仅仅说明了可以采用本文所述的实施例的许多应用当中的一种应用。
[0035]所属领域的技术人员将了解,可使用多种不同技术和技法中的任一者来表示信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在以上描述中始终参考的数据、指令、命令、信息、信号、位、符号和码片。
[0036]此外,所属领域的技术人员将了解,结合本文所揭示的实施例而描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此可互换性,上文已大体上关于其功能性而描述了各种说明性组件、块、模块、电路和步骤。所述功能性是实施为硬件还是软件取决于特定应用和施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但此类实施方案决定不应被解释为致使脱离本发明的范围。
[0037]结合本文所揭示的实施例而描述的方法、序列和/或算法可直接以硬件、以由处理器执行的软件模块或以两者的组合来体现。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示例性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。
[0038]因此,本发明的实施例可包含计算机可读媒体,所述计算机可读媒体体现一种用于使用常量高速缓冲存储器将字面数产生的数据转发到依赖指令的方法。
[0039]因此,本发明不限于所说明的实例,且任何用于执行本文中所描述的功能性的装置都包含在本发明的实施例中。
[0040]虽然前述揭示内容展示本发明的说明性实施例,但应注意,在不脱离如所附权利要求书定义的本发明的范围的情况下,可在本文中做出各种改变和修改。无需以任何特定顺序来执行根据本文中所述的本发明的实施例的方法权利要求的功能、步骤和/或动作。此外,尽管可以单数形式描述或主张本发明的元件,但除非明确陈述限于单数,否则也涵盖复数形式。
【主权项】
1.一种设备,其包括: 寄存器; 第一管线; 高速缓冲存储器;以及 控制器,用以响应于所述第一管线对指令进行解码而在所述高速缓冲存储器中的条目中存储值,其中所述指令在完成执行后即刻将所述值写入到所述寄存器,并且其中当所述第一管线对所述指令进行解码时确定所述值或者所述值是可用的; 所述控制器用以在所述条目中设置标记字段以用所述寄存器标记所述条目,并且在所述条目中设置旗标字段以指示所述条目是有效的。2.根据权利要求1所述的设备,其中所述指令是移动立即数指令。3.根据权利要求1所述的设备,其进一步包括寄存器堆,所述寄存器堆包括所述寄存器,所述控制器用以在所述第一管线对以所述寄存器为目标的第二指令进行解码后即刻设置所述条目中的所述旗标字段以指示所述条目是无效的,所述第二指令通过从所述寄存器堆读取而确定其结果。4.根据权利要求1所述的设备,所述控制器响应于所述第一管线对按编程顺序在所述指令之后且具有为所述寄存器命名的操作数的消耗指令进行解码而进行以下操作: 搜索所述高速缓冲存储器以寻找用所述寄存器标记的所述条目;以及 在找到所述条目的前提下,且在所述条目的所述旗标字段指示所述条目是有效的前提下,将所述值转发到所述第一管线。5.根据权利要求4所述的设备,其进一步包括寄存器堆,所述寄存器堆包括所述寄存器,所述控制器用以在所述第一管线在解码级中对第二指令进行解码后即刻设置所述条目中的所述旗标字段以指示所述条目是无效的,所述第二指令以所述寄存器为目标,且在所述解码级之后的管线级中通过从所述寄存器堆读取而确定其结果。6.根据权利要求1所述的设备,其进一步包括: 第二管线; 所述控制器用以在所述第二管线对消耗指令进行解码后即刻将存储于用所述寄存器标记的所述条目中的所述值转发到所述第二管线,所述消耗指令按编程顺序在所述指令之后,且具有所述寄存器作为操作数,前提是所述条目的所述旗标字段指示所述条目是有效的。7.根据权利要求1所述的设备,其进一步包括: 第二管线,其中所述第一和第二管线各包括相应解码级, 所述控制器用以在所述指令处于所述第一管线的所述解码级中且所述消耗指令处于所述第二管线的所述解码级中时将所述值转发到所述第二管线,前提是所述指令使所述控制器将所述条目的所述旗标字段写入为有效的。8.根据权利要求1所述的设备,其中所述设备从由以下组成的群组中选出的:蜂窝电话和
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1