用于使用具有无效的读取降低高速缓冲存储器中的带宽和功率的方法和设备与流程

文档序号:11814667阅读:260来源:国知局
用于使用具有无效的读取降低高速缓冲存储器中的带宽和功率的方法和设备与流程

诸实施例涉及在电子系统中的高速缓冲存储器。



背景技术:

对于许多种类的消费型电子装置(例如,移动电话和平板计算机),存在于高速缓冲存储器中的一些类型的数据无需存储于系统存储器中。所述数据可被称为暂时数据。举例来说,查看显现于移动电话或平板计算机的显示器中的图像的人可能希望旋转所述图像。在许多情况下,与图像旋转有关的内部产生的数据无需存储于系统存储器中。然而,当执行高速缓存行替换策略时,许多装置可将所述暂时数据写入到系统存储器中。写入暂时数据的操作不必要地消耗功率和存储器带宽。



技术实现要素:

本发明的实施例涉及在一高速缓冲存储器中使用无效读取降低带宽和功率的系统和方法。

在实施例中,一种方法包括:在高速缓冲存储器处接收指示地址的读取不写回指令;以及在所述高速缓冲存储器中设置不写回位以将与所述地址相关联的高速缓存行指示为在从高速缓冲存储器逐出所述高速缓存行之后不写入到存储器。

在另一实施例中,一种高速缓冲存储器包括:存储装置,其用以存储与高速缓存行相关联的数据,每一高速缓存行具有对应的不写回位;以及控制器,其耦合到所述存储器,所述控制器响应于接收到指示高速缓存行的读取不写回指令而设置对应于所述高速缓存行的不写回位以将所述高速缓存行指示为在从高速缓冲存储器逐出高速缓存行之后不写入到存储器。

在另一实施例中,一种系统包括:存储器;装置;以及耦合到所述装置的高速缓冲存储器,所述高速缓冲存储器在从所述装置接收到指示存储于高速缓冲存储器中的具有相应不写回位的高速缓存行的地址的读取不写回指令之后,设置不写回位以将所述高速缓存行指示为在从高速缓冲存储器逐出所述高速缓存行之后不写入到存储器。

附图说明

随附图式经呈现以协助描述本发明的实施例且仅提供以用于说明实施例而非对其加以限制。

图1说明实施例可应用于的系统。

图2说明根据实施例的方法。

图3说明根据实施例的另一方法。

图4说明根据实施例的另一方法。

图5说明根据实施例的另一方法。

图6说明实施例可应用于的通信网络。

具体实施方式

本发明的方面揭示于以下描述以及针对本发明的特定实施例的相关图式中。可设计出替代实施例而不脱离本发明的范围。另外,本发明的众所熟知的元件将不加以详细描述或将加以省略以便不混淆本发明的相关细节。

术语“本发明的实施例”并不要求本发明的所有实施例包含所论述的特征、优点或操作模式。

本文中所使用的术语仅用于达成描述特定实施例的目的且不欲限制本发明的实施例。如本文中所使用,单数形式“一”和“所述”意欲也包含复数形式,除非上下文另有清晰指示。将进一步了解,当术语“包括”、“包含”在本文中使用时,指明所述特点、整数、步骤、操作、元件和/或组件的存在,但并不排除一或多个其它特点、整数、步骤、操作、元件、组件和/或其组的存在或增加。

另外,许多实施例涉及待由(例如)计算装置的元件执行的动作序列来描述。将认识到,特定电路(例如特殊应用集成电路(ASIC))、执行程序指令的一或多个处理器,或二者的结合,可执行本文中所描述的各仲动作。另外,可认为本文中所描述的这些动作序列完全体现于任何形式的计算机可读存储媒体内,所述计算机可读存储媒体中存储有在执行之后便将使相关联的处理器执行本文中所描述的功能性的计算机指令的对应集合。因此,本发明的各种方面可以许多不同形式体现,其皆预期在所主张的标的物的范围内。另外,对于本文中所描述的实施例中的每一者来说,任何这些实施例的对应形式可在本文中被描述为(例如)“经配置以执行所描述的动作的逻辑”。

在对存储于高速缓冲存储器中的暂时数据执行读取操作时,一些实施例包含将暂时数据加标签为不写回数据以使得带标签的暂时数据将不写入到系统存储器中的能力。除常规有效标签之外,不写回标签还用以指示对应数据是否有效。加不写回标签可以若干方式完成,例如由高速缓冲存储器检查与由总线主控器执行的读取操作相关联的总线发信。举例来说,总线发信可包含一特定版本的读取指令,其中所述读取指令的操作码指示在读取数据的高速缓存行之后,所述数据将被加标签为不写回。另一方法为使高速缓冲存储器检查与读取装置(例如,显示器)相关联的MasterID(主控器识别码),且取决于MasterID而将数据加标签为不写回。另一方法为在读取装置与高速缓冲存储器之间的事务中修改事务属性以包含旗标,其中所述旗标可由读取装置设置,以使高速缓冲存储器在执行读取操作之后即刻将高速缓存行加标签为不写回数据。

图1说明实施例可应用于的系统100。系统100包括处理器102,处理器102可用于处理并操纵显示于显示器104上的图像。系统100中还包含总线仲裁器106、系统存储器108、高速缓冲存储器110和系统总线112。系统100可表示(例如)较大系统(例如蜂窝电话或平板计算机)的部分。

为使说明简单起见,并非系统中所有组件皆在图1中说明。在系统100中所说明的一些组件可集成于一或多个半导体芯片上。举例来说,高速缓冲存储器110可与处理器102相集成,但为简单起见,高速缓冲存储器110展示为耦合到系统总线112的单独组件。作为另一实例,处理器102可执行总线仲裁器106的功能。此外,系统存储器108可为存储器阶层架构的部分,且可能存在若干层级的高速缓冲存储器。为简单起见,仅展示一个层级,即高速缓冲存储器110。

处理器102可专用于显示器104,且经优化以用于图像处理。然而,实施例不限于此,且处理器102可代表用于(例如)蜂窝电话或平板计算机的通用处理器。在一些实施例中,在图1中说明的所有或大部分组件可专用于显示器104,或经优化以用于图像处理。举例来说,高速缓冲存储器110可与处理器102相集成且专用于显示器104,而系统存储器108则与未展示的其它组件共享。

高速缓冲存储器110包含用于保存高速缓冲存储器地址的寄存器112。在图1的特定实例中,存储于寄存器112中的高速缓冲存储器地址包含两个字段,标签字段114和索引字段116,其中标签字段114中的值为高速缓冲存储器地址的位的上部集合,而索引字段116中的值则为高速缓冲存储器地址的位的下部集合。对于图1的特定实例,高速缓冲存储器110被组织为直接映射式高速缓冲存储器,其中标签存储于随机存取存储器(RAM)118中且对应高速缓存行的数据存储于RAM 120中。对于其它实施例,高速缓冲存储器可以其它方式进行组织,例如组织为集合关联式高速缓冲存储器。关于RAM 118与RAM 120实施为两个单独RAM或一个RAM的讨论并无实质意义。可使用用于存储高速缓存行和相关联位的其它类型的存储装置。对于图1的特定实例,每一高速缓存行(例如高速缓存行122)包括四个字节的数据。

索引字段116中的位的上部集合被提供到解码器124,解码器124用于编索引到RAM 118中以获得与高速缓存行122相关联的标签126。索引字段116中的位的下部集合与多路复用器128一起用于选择存储于高速缓存行122中的特定字节。标签126由比较器130与存储于标签字段114中的值比较,以指示是否存在匹配。除标签126之外,存储于索引字段116中的位的上部集合还用于编索引到RAM 118中以提供与高速缓存行122相关联的有效位132,其中有效位132指示存储于高速缓存行122中的数据是否有效。如果标签126匹配标签字段114的值,且如果有效位132指示高速缓存行122为有效,那么存在指示存储于高速缓存行122中的数据具有正确地址且有效的有效位。

除提供有效位132之外,存储于索引字段116中的位的上部集合编索引到RAM 118中以提供与高速缓存行122相关联的不写回位133。不写回位133指示存储于高速缓存行122中的数据是否应在从高速缓冲存储器110逐出高速缓存行之后写回到系统存储器108。如果已设置不写回位133,那么尽管高速缓存策略已就位,但高速缓存行122不写回到系统存储器108。

对于一些实施例,用于处理器102的指令集包含读取不写回指令。读取不写回指令为其参数中的一者为地址的指令,且当其由高速缓冲存储器110接收时,与所述地址相关联的数据从适当的高速缓存行读取(如在常规读取操作中)。如果适当高速缓存行被发现,那么与所述高速缓存行相关联的不写回位经设置以指示当从高速缓冲存储器逐出时,所述高速缓存行不写回到系统存储器108。在以此方式设置不写回位的情况下,高速缓存行中的数据将不写入到系统存储器(或高速缓冲存储器的较高层级)。如果接收到读取不写回指令之后,高速缓冲存储器一致性策略将写回指令发送到高速缓冲存储器110,那么标示为不写回的高速缓存行将不写入到存储器(例如,系统存储器108)。此处,对高速缓冲存储器110接收指令的提及可意味着指示指令的各种总线信号被提供到高速缓冲存储器110。

对于一些实施例,不写回位可用作选择下一待替换高速缓存行的方法。在此实施例中,替换策略为搜寻具有经设置的不写回位的那些高速缓存行,和在逐出尚未设置不写回位的有效高速缓存行之前逐出这些高速缓存行。此是基于暂时数据已经末次使用且可被替换的前提。

图2和3说明上文所描述的一些实施例。对于在处理器上运行的过程(步骤202),如果产生暂时数据(步骤204),那么在高速缓存行中设置用于经高速缓存暂时数据的不写回位,以使得暂时数据不会写回到系统存储器。如果当实施高速缓冲存储器一致性策略时,高速缓存行的写回指令由高速缓冲存储器接收(步骤208),那么如果与高速缓存行相关联的不写回位经设置(步骤210),那么尽管特定高速缓存行替换策略已就位,但高速缓存行将不写入到系统存储器(步骤212)。然而,如果未设置未写回位(步骤210),那么高速缓存行可写入到系统存储器(如果其有效)(步骤214)。

参照图3,在指令提取(步骤302)之后,如果读取不写回指令被解码(步骤304),那么将读取不写回指令发送到高速缓冲存储器(步骤306)。高速缓冲存储器执行读取不写回指令引起读取与由读取不写回指令的地址参数指示的高速缓存行相关联的数据,且设置对应不写回位以使得高速缓存行将不写回到系统存储器(步骤308)。

图2和3所指示的过程中的一些可由处理器102执行,且其它过程可在高速缓冲存储器110中执行,例如由控制器134执行以在RAM 118中设置不写回位。

对于一些实施例,可根据与读取高速缓冲存储器的装置(例如蜂窝电话中的显示器)相关联的经修改事务属性而设置与高速缓存行相关联的不写回位。所述事务属性包含旗标,其中所述旗标可由装置设置以指示当执行读取操作时,不写回位将设置于存储于高速缓冲存储器中的对应高速缓存行中。此说明于图4中,其中在步骤402中,用于读取高速缓存行中的数据的装置在事务属性中设置旗标,且在步骤404中,高速缓冲存储器控制器134在高速缓存行中设置不写回位以指示其为暂时数据。

图5说明另一方法。在步骤502中,高速缓冲存储器110检查与读取装置(例如显示器)相关联的MasterID,且取决于特定MasterID,高速缓冲存储器控制器134设置与高速缓存行相关联的不写回位以指示高速缓存行中的数据为暂时数据(步骤504)。

图6说明实施例可应用于的无线通信系统。图6说明无线通信网络602,其包括基站604A、604B和604C。图6展示标记为606的通信装置,其可为移动通信装置(例如蜂窝电话、平板计算机)或适用于蜂窝电话网络的某一其它种类的通信装置(例如计算机或计算机系统)。通信装置606无需为移动的。在图6的特定实例中,通信装置606位于与基站604C相关联的小区内。箭头608和箭头610用图片分别表示上行链路信道和下行链路信道,通信装置606通过所述信道与基站604C通信。

举例来说,实施例可用于与通信装置606或与基站604C或两者相关联的数据处理系统中。图6仅说明可使用本文中所描述的实施例的许多应用中的一者。

所属领域的技术人员应了解,可使用各种不同技术和技艺中的任一者来表示信息和信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示可贯穿以上描述所引用的数据、指令、命令、信息、信号、位、符号和码片。

另外,那些所属领域的技术人员应了解,结合本文中所揭示的实施例所描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上在功能性方面描述了各种说明性组件、块、模块、电路和步骤。此功能性经实施为硬件或是软件取决于特定应用和强加于整个系统的设计约束而定。所属领域的技术人员可针对每一特定应用以变化的方式实施所描述的功能性,但不应将所述实施决策解释为导致背离本发明的范围。

结合本文中所揭示的实施例所描述的方法、序列和/或算法可直接体现于硬件中、由处理器执行的软件模块中,或所述两者的组合中。软件模块可驻存于RAM存储器、闪存器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或所属领域中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息且将信息写入到存储媒体。在替代例中,存储媒体可集成到处理器。

相应地,本发明的实施例可包含永久计算机可读媒体,其体现在使用具有无效的读取的高速缓冲存储器中用于降低带宽和功率的方法。因此,本发明不限于所说明的实例且用于执行本文中所描述的功能性的任何装置包含于本发明的实施例中。

虽然前述揭示内容展示本发明的说明性实施例,但是应注意,在不脱离如由附加的权利要求定义的本发明的范围的情况下可对本发明进行各种改变和修改。无需以任何特定次序执行根据本文中描述的本发明的实施例的方法项的功能、步骤和/或动作。此外,虽然可能以单数形式描述或主张本发明的元件,但除非明确陈述限于单数形式,否则也预期复数形式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1