依赖于指令类型的可配置高速缓存系统的制作方法

文档序号:6567538阅读:138来源:国知局
专利名称:依赖于指令类型的可配置高速缓存系统的制作方法
技术领域
0001本发明涉及一种可用于数据通信系统中的微处理器高速缓
存装置和方法。
背景技术
0002片上高速缓存用于各种微处理器设计中,以通过将常用 的信息存储在快速的片上高速缓存存储器中来提高性能。由于在程序 执行期间能够快速地取出信息因此性能得到提高。 一些系统具有多级 高速缓存。"L1"高速缓存典型地容量相对小,但存取时间非常快。 "L2"高速缓存典型地比L1高速缓存容量大,但是比L1高速缓存的 存取时间慢。
0003当遇到一个试图从目标存储单元获取数据的"载入"指 令时,处理器首先确定目标数据是否已经驻存于Ll高速缓存中。如 果数据存在于L1高速缓存中(称为高速缓存"命中"),则从L1高 速缓存取出目标数据。如果数据不在Ll高速缓存中(高速缓存"未 命中"),则处理器接着确定目标数据是否存在于L2高速缓存中。 如果是,则从L2高速缓存取出目标数据。最后,如果目标数据既不 在L1高速缓存中也不在L2高速缓存中,则从系统存储器取出目标数 据,系统存储器比Ll和L2高速缓存的容量大并且比Ll和L2高速缓 存的速度慢。
0004在一些系统中,Ll高速缓存中对载入指令的未命中将导 致目标数据从它当前的位置(L2高速缓存或系统存储器)被复制到 Ll高速缓存。通常,高速缓存未命中损害性能而高速缓存命中会提高 性能。通常,由于处理器必须在执行后续指令之前等待数据返回,因 此Ll和/或L2高速缓存未命中会损害处理器性能。通过将目标数据放 入到速度最快的Ll高速缓存存储器中,对数据的任何后续需求都能 够快速地从L1高速缓存中得到满足。虽然将目标数据放入到L1高速
缓存是需要多个时钟周期的相当费时的过程,然而一旦数据存在于LI 高速缓存中,这样做就可以在对数据进行后续存取时得到回报。因此 性能得到提高。
0005高速缓存系统利用两种效应——时间局部性和空间局部 性。时间局部性表示一旦一组数据被存取,则相同的数据很可能在近 期内再次被需要。空间局部性表示一旦一组数据被存取,则它邻近的 数据(例如,邻近的存储单元中的数据)很可能在近期被存取。当数 据被复制到Ll高速缓存时,目标数据以及邻近的周围数据也被复制 到Ll高速缓存的"线"中。如果随后需要任何邻近的数据,则这个 过程可提高系统性能,这可能发生在具有高度空间局部性的数据集中。
0006具有相对较低的空间和/或时间局部性的数据集易于"污 染"高速缓存存储器。这表示一些数据可能被存储在高速缓存中,但 是很可能在近期不需要。这样的数据占用更适合高速缓存使用的数据 可能另外占用的空间。由于Ll高速缓存相对小的容量,这个问题对 于L1高速缓存是特别棘手的。

发明内容
0007公开各种实施例以处理上述的一个或更多问题。在一个 实施例中,处理器包括确定每条被取出的指令的指令类型的译码逻辑、 一级高速缓存、耦合到一级高速缓存的二级高速缓存和操作地耦合到一 级和二级高速缓存的控制逻辑。当高速缓存未命中第一类型指令(例如, 载入、存储、直接存储器存取、预取)时,该控制逻辑优选地导致对一 级高速缓存执行高速缓存线填充,但对于第二类型指令,则阻止对一级 高速缓存执行线填充。控制逻辑可包括用于执行第一类型指令的载入/ 存储单元(load/store unit)和用于执行第二类型指令的协处理器。通 常,是否在未命中时执行线填充取决于指令类型(例如,SIMD指令与非 SIMD指令)和/或是协处理器还是载入/存储单元执行该指令。
0008还公开一种包括确定指令类型的方法。如果指令是第一 类型指令并且引起一级高速缓存的未命中,则该方法包括对一级高速 缓存执行线填充。然而,如果指令是第二类型指令并且引起一级高速 缓存的未命中,则该方法包括不对一级高速缓存执行线填充。在其他
实施例中,第二类型指令如载入指令可能引起从外部存储器(即不包 含高速缓存子系统)加载被请求的数据并且提供给例如协处理器。
0009在本说明书中公开这些实施例和其他实施例。


0010为了详细描述本发明的示例实施例,可以参考附图,其

图1示出了根据本发明优选实施例的带有高速缓存子系统的处理
器架构;
图2示出了根据优选实施例的方法;和
图3示出了电池供电的和通信设备形式的系统的实施例。 符号和术语
0011在下面的说明书和权利要求中使用特定的术语来指特定的
系统组件。本技术领域的技术人员应理解,不同公司可能以不同的名 称提及一个组件。本文件不打算对这些功能相同但名称不同的组件进 行区分。在下面的描述中和权利要求中,术语"包含"和"包括"以 开放形式采用,并且因此应解释为"包含,但不限于"。同样,术语
"耦合(couple和couples)"应表示间接或直接的电连接。因此,如 果第一个设备耦合到第二个设备,则这个连接可能是通过一个直接的 电连接或是通过经由其他设备和连接的一个间接电连接。术语"系统" 广泛地指两个或更多组件的集合并且可用于指总体系统以及在较大系 统范围内的子系统。
具体实施例方式
0012下面的描述是针对本发明的各种实施例。虽然这些实施 例中的一个或更多可能是优选的,但是所公开的实施例不应被解释为, 或另外用作限制包括权利要求的公开范围。此外,本领域的技术人员 应理解下面的描述具有广泛的应用,并且对任何实施例的描述仅是这 个实施例的说明性叙述,并不意味着将包括权利要求的公开范围限于 这个实施例。
0013图l示出了系统50的优选实施例,该系统包括耦合到系 统存储器68的处理器51。该处理器优选地包括取逻辑52、译码逻辑 54、载入/存储单元56、处理器指令执行逻辑单元58、协处理器60和 高速缓存子系统62。高速缓存子系统62包括耦合到二级高速缓存 ("L2")的一级高速缓存("L1")。根据至少一个实施例,Ll高 速缓存包括32千字节的缓冲器,而L2高速缓存包括256千字节的缓 冲器。
0014通常,取逻辑52从例如系统存储器68或其他位置取指 令,并且将取出的指令提供给译码逻辑54。译码逻辑54检验每个指令 中的操作码("opcode")以确定指令类型,以便适当地对指令进行 处理。通常,这些指令可以是载入,存储,相加,相乘等。载入指令 导致目标数据从存储器被取出并且被提供给处理器中的寄存器(未明 确示出)。存储指令将数据写入到存储器中的指定地址。如公知理解, 相加指令将两个操作数相加在一起并且相乘指令将两个操作数相乘在 一起。也可以是其他类型的指令,例如直接存储器存取(DMA)和预 取指令。
0015协处理器60包括至少一个指令队列61、数据加载队列 63和执行逻辑单元65。协处理器60也可包括其他逻辑单元,比如对 指令进行译码的译码逻辑。指令队列61或执行逻辑单元65可包括译 码逻辑。协处理器60可包括其他组件和逻辑,以及所需要的组件和逻 辑。指令队列61存储通过指令执行逻辑单元58接收到的指令(例如, 载入、存储等),这些指令由执行逻辑单元65待决执行。由载入指令 从高速缓存子系统和/或存储器68取出的数据被存储在由执行逻辑单 元65待决消耗的加载队列63中。在一些实施例中,当指令执行逻辑 单元58执行非SIMD指令时,协处理器60执行单指令多数据("SIMD") 指令。虽然在一个实施例中,协处理器60打算执行SIMD指令,但在 其他实施例中,协处理器60可执行其他类型的指令。通常,载入指令 和存储指令由载入/存储单元56执行。根据载入指令的类型,来自高速 缓存子系统62的载入数据被提供给指令执行逻辑单元58或协处理器 60。
0016在一些实施例中,提供不止一个协处理器。在图1中示
出了第二个协处理器69。根据需要可以提供两个以上的协处理器。同 样,高速缓存子系统62可包括多于而不仅仅是一个Ll高速缓存和一 个L2高速缓存。例如,可包含多个L2高速缓存。作为进一步举例, 可提供若干附加级的高速缓存,例如图1中所示的L3高速缓存67。还 可提供除图1中描述的三个高速缓存之外的附加级高速缓存,并且可 包含多种类型的各级高速缓存。L2高速缓存(若干)可包括存储器系 统例如流缓冲器、 一块具有相邻地址存储空间的随机存取存储器 ("RAM")和类似元件。
0017根据指令的"类型",将非载入/存储指令(例如相加、 相乘等)提供给指令执行逻辑单元58或协处理器60中的任何一个。 通常,将第一类型指令提供给指令执行逻辑单元58以做进一步处理, 并且将第二类型指令提供给协处理器60以做进一步处理。可通过检验 指令的操作码("opcode")来确定指令类型。SIMD指令通常具有与 非SIMD指令相区别的操作码。在至少一些实施例中,指令执行逻辑 单元58包括对易于具有相对高的空间和/或时间局部性的数据进行操 作的整数型执行单元。因此,由指令执行逻辑单元58操作的数据倾向 于极其适于存储在高速缓存子系统的Ll高速缓存中。协处理器60执 行对具有相对低的空间和/或时间局部性的数据操作的指令或需要存取 相对大的存储空间或者需要相对高带宽的指令/应用程序,并且因而不 适于存储在L1高速缓存中。这样的指令可包括SIMD指令、浮点指令 和其他基于多媒体的指令。
0018上述介绍的第一和第二类型的指令也可应用于载入和存 储指令。将第一类型的载入和存储指令提供给载入/存储单元56以执 行载入和存储的进一步处理,并且将第二类型的载入和存储指令提供 给协处理器60用以执行。第一类型的载入和存储以指令执行逻辑单元 58后续使用的数据为目标,并且第二类型的载入和存储以由协处理器 60后续使用的数据为目标。因而,载入或存储的目标数据可以是来自 具有高或低空间和/或时间局部性的数据集的数据。此外,载入和存储 目标数据可能极其适于或不适于存储在Ll高速缓存中。对于描述了 哪种数据极其适于L1高速缓存使用和哪种数据不适合于L1高速缓存 使用的空间和/或时间局部性的等级没有限定。
0019在一些实施例中,使用Ll高速缓存存储数据取决于数据 的性质。具有相对低的空间和/或时间局部性的数据优选地不被存储在 Ll高速缓存中。所有其他数据允许存储在Ll高速缓存中。根据优选 实施例,处理器51将与每个载入指令相关的类型用作代理,用于确定 载入的目标数据是具有高的还是低的空间和/或时间局部性。第一类型 (上述的)的载入指的是对易于具有相对高的时间和/或空间局部性的 数据进行操作的载入(例如整数载入)。这样的目标数据由指令执行 逻辑单元58使用,如上面所描述的。第二类型的载入指的是对易于具 有相对低的时间和/或空间局部性的数据进行操作的载入(例如SIMD 指令载入)。这样的目标数据由指令执行逻辑单元60使用,如上面所 描述的。如上所述,载入的类型由指令的操作码确定。在一些实施例 中,某个数据是否存储在L1高速缓存中取决于该数据是被执行逻辑单 元58还是协处理器60存取和使用。因此,具有相对低的空间或时间 局部性的数据集仍然可存储在L1高速缓存中。
0020根据本发明的优选实施例,载入/存储单元56对与第一类 型相关的载入指令进行处理。载入/存储单元56对这样的载入指令进行 处理,处理方式不同于由协处理器60处理的第二类型的载入指令。类 似地,载入/存储单元56对存储指令进行处理,处理方式不同于由协处 理器60处理的第二类型的存储指令。导致由载入/存储单元56不同对 待的载入和存储指令"类型"可以是任何适合的类型,例如上述的那 些。
0021如果载入是第一类型的(例如整数载入),则载入/存储 单元56会做如下反应。检査L1高速缓存64以确定载入的目标数据是 否己经驻存于L1高速缓存中。如果载入在L1高速缓存中命中,则从 Ll高速缓存中取出数据。然而,如果载入在L1高速缓存中未命中, 则检查L2高速缓存并且将停止对Ll高速缓存的存取,直到存储器引 用(memory reference)被解析。如果载入指令在L2高速缓存中命中, 则优选地执行"线填充"操作以将目标数据从L2高速缓存写入到Ll 高速缓存。线填充包括将整个高速缓存线写入到Ll高速缓存,包括将 目标数据写入。在本发明的至少一个实施例中,高速缓存线的容量为 64字节。如果载入指令在L2高速缓存中未命中,则执行线填充以便从
系统存储器68取出数据从而填充Ll和/或L2高速缓存中相应的线。
0022如果载入是第二类型的(例如SIMD载入),则协处理 器60会做如下反应。检査Ll高速缓存64以确定载入的目标数据是否 已经驻存在L1高速缓存中。如果载入指令在L1高速缓存中命中,则 从L1高速缓存中取出数据。然而,如果载入指令在L1高速缓存中未 命中,则检查L2高速缓存。如果载入指令在L2高速缓存中命中,则 协处理器60阻止执行"线填充"操作或另外不执行线填充,因此阻止 将目标数据(这个目标数据与具有相对低的空间和/或时间局部性的数 据集相关)移入L1高速缓存中。如果载入指令在L2高速缓存中未命 中,则执行线填充以便从系统存储器68中取出数据从而填充L2高速 缓存中相应的线,但不对L1高速缓存执行线填充。可替代地,如果载 入指令在L2高速缓存中未命中,则数据从外部系统存储器68返回, 并且不执行任何高速缓存(L1或L2)的线填充。第二类型的载入由协 处理器的加载队列61进行处理。因此,即使存在L1或L2高速缓存未 命中,这样的未命中不会使处理器51停止对Ll高速缓存存取第一类 型的载入。因此,对于任何类型的数据存取(例如上述的第一类型或 第二类型),L2高速缓存的延长存取时间不会影响处理器的性能。
0023当L1高速缓存未命中时,第一类型的载入引起L1高速 缓存线填充,而第二类型的载入在Ll高速缓存未命中时不引起对Ll 高速缓存的线填充。如果目标数据恰巧已经存在于L1高速缓存中,这 有可能发生,例如作为第一类型载入的结果,则从L1高速缓存供应目 标数据而不管载入的类型。换句话说,在至少一些实施例中,对所有 载入指令进行处理而不执行L1高速缓存线填充,这些载入指令的数据 将要由协处理器60进行处理。相反地,对与指令执行逻辑单元58相 关的所有载入指令进行处理,同时执行L1高速缓存线填充。确定载入 指令的类型可包括检验至少部分的载入指令的操作码以确定哪个指令 执行逻辑单元适合处理载入指令的目标数据。对于由协处理器60处理 的某些类型的载入指令(例如,SIMD、浮点和多媒体指令),L2高速 缓存可有效地起到L1高速缓存的作用。因此,处理器51包括控制逻 辑,其操作地耦合到一级和二级高速缓存并且当高速缓存未命中第一 类型的载入指令(例如非SIMD指令)时,导致对一级高速缓存执行
高速缓存线填充,但对于第二类型的载入指令(例如SIMD指令), 则阻止对一级高速缓存执行线填充。控制逻辑包括用于处理第一类型 载入指令的处理器指令执行逻辑单元58和用于处理第二类型载入指令 的协处理器。在其他实施例中,由载入/存储单元56执行的功能可包含 于指令执行逻辑单元58中。
0024在一些实施例中,当存储指令未命中时不执行任何线填 充。在其他实施例中,对存储指令的处理与上述的载入指令相似。也 就是说,对某些类型的存储指令(例如上述的第一类型)做如下处理。 检査L1高速缓存64以确定存储指令的目标数据是否已经驻存在L1高 速缓存中。如果存储指令在L1高速缓存中命中,则在L1高速缓存中 更新目标数据。然而,如果存储指令在L1高速缓存中未命中,则检查 L2高速缓存。如果存储指令在L2高速缓存中命中,则执行"线填充" 操作以将目标高速缓存线从L2高速缓存写入Ll高速缓存并且然后用 存储指令的数据更新Ll高速缓存。如果存储指令在L2高速缓存中未 命中,则执行线填充以从系统存储器68取出数据从而填充Ll和/或L2 高速缓存中相应的线,并且然后用存储指令的数据更新L1高速缓存中 的高速缓存线。
0025如果存储指令是另一种类型(例如上述的第二类型), 则随后是上段描述的相似过程,除不执行L1线填充以将目标数据带入 到L1高速缓存中之外。表示关于L1高速缓存的数据的处理的存储指 令类型可以与上述关于载入指令描述的类型相同或不同。例如,不导 致执行L1高速缓存线填充的载入指令类型可以与也导致不执行L1高
速缓存线填充的存储指令类型相同(或不同),并且可基于是执行逻 辑单元58还是协处理器60对存储指令进行处理。
0026图2示出了根据优选实施例的处理载入指令和存储指令 的方法100。该方法包括在102取指令和在104对该指令进行译码。如 果该指令是载入,则该方法继续进行到106。如果该指令是存储,则该 方法继续进行到120。首先对载入指令的处理进行描述,接下来描述对 存储指令的处理。
0027在106,方法IOO包括为载入指令所请求的数据检查LI 高速缓存。如果载入指令在L1高速缓存命中,如判决108所确定的,
则控制权转到110,在110处从L1高速缓存中取出目标数据。然而, 如果在Ll高速缓存未命中,则在112处假设目标数据已经存在于L2 高速缓存中并且从L2高速缓存取出被请求的数据。如果不是,则从系 统存储器68取出数据并且将副本带入到L2高速缓存以用于后续使用。 在U4,该方法包括如果载入指令是第一类型的,则执行L1高速缓存 线填充,但如果载入指令是第二类型的则不执行。如上所述,"第一" 类型的载入指令对应于由执行逻辑单元58执行的和/或对具有相对高 的空间和/时间局部性的数据集进行操作的载入指令(例如整数载入), 而"第二"类型的载入指令对应于由协处理器60执行的和/或对具有相
对低的空间禾n/时间局部性的数据集进行操作的载入指令(例如SIMD、
浮点取指令)。提示有时但不总是执行的线填充的载入指令类型之间 的其他描述也是可能的。
0028如果指令是存储指令,则该方法从动作104转到120,在 120处检查Ll高速缓存中的命中。如果存储指令在Ll高速缓存中命 中(判决框122),则在124处存储指令更新L1高速缓存中的相关高 速缓存线。然而,如果存储指令在L1高速缓存中未命中,则根据指令 类型执行动作126或128。如果存储指令是第一类型的(126),则对 Ll高速缓存执行线填充以将相关的高速缓存线带入到Ll高速缓存中 并且用存储指令的数据更新这个高速缓存线。如果存储指令是第二类 型的(128),则更新L2高速缓存中的相关高速缓存线(假设数据已 存在于L2高速缓存中或者如果数据不在其中则将数据带入到L2高速 缓存中)。对于第二类型的存储指令,不对L1高速缓存执行任何线填 充。在其他实施例中,当L1高速缓存对存储指令未命中时,不执行任 何线填充,而不管是何种存储指令类型。
0029在具有多于两级高速缓存的实施例中(例如,Ll、 L2和 L3高速缓存),各级高速缓存可根据指令被使用和被存取。也就是说, 上面关于Ll和L2高速缓存解释的概念可延伸到高速缓存的附加级。 指令的操作码可被译码并且根据操作码执行或不执行高速缓存线填 充,如上面对某级高速缓存说明的。
0030例如,特定的载入指令类型可按如下操作。首先检查L1 高速缓存。如果被请求的数据存在于L1高速缓存中,则从其中提供数
据。如果L1高速缓存未命中,则检查L2高速缓存。如果被请求的数 据是特定类型的,则在L2高速缓存中的命中导致数据从L2高速缓存 返回并且不对L1高速缓存执行任何线填充。然而,如果L2高速缓存 未命中,则检査L3高速缓存。如果被请求的数据是特定类型的(它可 能与上面刚刚提到的"特定类型"相同或不同),则L3高速缓存命中 导致数据从L3高速缓存返回并且不对Ll或L2高速缓存执行任何线填 充。可替代地,当L3高速缓存命中时,可以阻止对L1高速缓存发生 线填充,并且允许对L2高速缓存线填充。上述的关于其他指令类型(即, 载入、DMA、预取)的概念也可以按照这种方式扩展。
0031如上所述,可提供每个类型的多个高速缓存(例如,多 个L2高速缓存)。因此,如上所述,以一个特定L2高速缓存为目标 的某些指令可阻止或允许Ll高速缓存线填充,而以不同的L2高速缓 存为目标的其他指令在Ll高速缓存中未命中并且L2高速缓存中命中 时可能常常对L1高速缓存执行线填充。
0032在一些实施例中,处理器50通常是"按次序的"处理器, 表示指令通常按程序顺序执行。然而一些SIMD载入指令(由协处理 器60执行的)可能需要多个存储器载入指令来完成。也就是说,要从 存储器取出的数据可能需要第一个载入周期和第二个载入周期。例如, 取决于到高速缓存子系统62的总线相对于目标数据的容量的宽度,可 能需要这样的多个载入周期。如上所述,目标数据可能存在或可能不 存在于L2高速缓存64中。此外,可能的是,上述的第一个载入周期 导致在L1高速缓存未命中而第二个载入周期导致在L1高速缓存命中。 继续这个示例,由于第一个载入周期的L1高速缓存未命中,因此在第 一个载入周期的目标数据之前返回第二个载入周期的目标数据是可能 的。协处理器60优选地跟踪返回的数据,这可能会使次序颠倒,并且 尽管两个载入周期次序颠倒地返回它们的目标数据,但协处理器60能 够将载入数据重新排列成适当的顺序。
0033图3示出了包含上述特征的系统的示例实施例。图3的 实施例包括电池供电的无线通信装置415。如所示的,该通信装置包括 集成的键盘412和显示器414。上述的高速缓存子系统和/或包含上述 高速缓存子系统的处理器可包含于电子组件410中,该组件可耦合到
键盘412、显示器414和射频("RF")通信收发器416。 RF电路416 可优选地耦合到天线418以接收和/或发送无线通信。在一些实施例中, 通信装置415包括移动电话。
0034上述讨论意在对本发明的原理和各种实施例做说明性讨 论。本领域的技术人员一旦完全理解上述公开内容,许多变化和修改 将变得显而易见。应注意要求保护的本发明应解释为包含所有这些变 化和修改。
权利要求
1.一种数据处理器装置,其包括确定每条取出的指令的指令类型的译码逻辑;一级高速缓存;耦合到所述一级高速缓存的二级高速缓存;和操作地耦合到所述一级和二级高速缓存的控制逻辑,当高速缓存未命中第一类型指令时,所述控制逻辑导致对所述一级高速缓存执行高速缓存线填充,但对于第二类型指令则阻止对所述一级高速缓存执行线填充。
2. 如权利要求1所述的装置,其中所述控制逻辑包括导致所述第一 类型指令执行的处理器指令执行逻辑单元和导致所述第二类型指令执行 的协处理器。
3. 如权利要求2所述的装置,其中所述协处理器包括耦合到执行逻 辑单元的指令队列,并且所述协处理器还包括数据加载队列。
4. 如权利要求1-3中任一项所述的装置,其中所述第一和第二类型指 令包括第一和第二类型的载入指令;并且其中所述控制逻辑在一级高速 缓存对第三类型的存储指令未命中时阻止对所述一级高速缓存执行线填 充,但当一级高速缓存对第四类型的存储指令未命中时允许对所述一级 高速缓存执行线填充。
5. 如权利要求1-3中任一项所述的装置,还包括第一和第二指令执行 逻辑单元,并且其中所述第一类型指令以由所述第一指令执行逻辑单元 处理的数据为目标,而所述第二类型指令以由所述第二指令执行逻辑单 元处理的数据为目标。
6. 如权利要求1-3中任一项所述的装置,还包括耦合到所述二级高速 缓存的三级高速缓存,并且其中所述控制逻辑在高速缓存对于所述第一或第二类型指令未命中时,导致对所述一级和二级高速缓存执行高速缓 存线填充,但对于第三类型指令则阻止对所述一级和二级高速缓存执行 线填充。
7. 如权利要求l所述的装置,还包括 通信收发器;操作地耦合到所述通信收发器的高速缓存子系统,所述高速缓存子系 统包括耦合到所述二级高速缓存的所述一级高速缓存;所述译码逻辑包括操作地耦合到所述一级和二级高速缓存的载入/存 储单元;和所述控制逻辑包括操作地耦合到所述一级和二级高速缓存的协处理器;其中所述载入/存储单元在高速缓存未命中第一类型指令时,导致对所 述一级高速缓存执行高速缓存线填充,并且对于第二类型指令,所述协 处理器阻止对所述一级高速缓存执行线填充。
8. 如权利要求7所述的系统,其中所述装置包括移动电话。
9. 一种方法,其包括 根据操作码确定指令类型;如果指令是第一类型的并且导致在所述一级高速缓存中的未命中,则 对所述一级高速缓存执行线填充;和如果指令是第二类型的并且导致对所述一级高速缓存的未命中,则不 对所述一级高速缓存执行线填充。
10. 如权利要求9所述的方法,还包括如果所述指令是第二类型的并 且导致对所述一级高速缓存的命中,则从所述一级高速缓存载入数据。
11. 如权利要求8或9所述的方法,其中所述指令包括载入、存储、 直接存储器存取或预取。
12.如权利要求8或9所述的方法,其中确定所述指令类型包括检验 所述指令中的至少部分的操作码。
全文摘要
处理器(51)包括确定取出的每条指令的指令类型的译码逻辑(54)、一级高速缓存(L1)、耦合到一级高速缓存的二级高速缓存(L2)和操作地耦合到一级和二级高速缓存的控制逻辑。当高速缓存错过第一类型指令时,所述控制逻辑优选地导致对一级高速缓存执行线填充,但对于第二类型指令,控制逻辑阻止对一级高速缓存执行线填充。
文档编号G06F12/00GK101180611SQ200680017950
公开日2008年5月14日 申请日期2006年5月24日 优先权日2005年5月24日
发明者M·S·希那扣达, P·K·米勒, R·A·小咖瑞贝, T·M·特朗 申请人:德克萨斯仪器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1