预取数据的设备及方法技术

技术编号:2912116 阅读:177 留言:0更新日期:2012-04-11 18:40
本发明专利技术说明一种装置(300)与方法,用以根据指令的位置来预取信息,该指令在其执行期间造成高速缓存遗漏(cachemiss)。该欲存取之预取信息系根据先前与目前高速缓存遗漏信息来决定。例如,根据先前高速缓存遗漏的信息被储存在数据记录处以作为预取信息。此预取信息包括根据造成先前高速缓存遗漏之指令的位置信息,以及被存取以对目前高速缓存遗漏产生预取请求。该预取信息系根据目前高速缓存遗漏信息来更新。

【技术实现步骤摘要】
【国外来华专利技术】
本申请案系有关决定将由数据处理器撷取使用之数据,且尤其有 关决定将预取给数据处理器的信息。
技术介绍
预取(prefetching)系常见施行于具有数据处理器之计算装置中的技 术,藉以使处理器所需的数据及指令在预期到该处理器实际需要时而 被预取。由于预取,相对于与外部存储器装置相关联的慢数据速率, 在处理器之内部总线架构之相对较高的数据速率所限制的数据速率 下,该处理器可取得信息。因此,因为当需要时预取信息(其可能是数 据与指令)可在芯片上取得而传至处理器,所以预取通常改善处理器的 整体效能。然而,若不正确地施行预取,藉由预取根本不是处理器所需的数 据,预取可能损害处理器或系统的效能。因此要了解,虽然特定的预 取技术可能对一种类型的应用有利,但其可能无法充分适用于另一种 类型。因此,对特定类型之应用改善预取效率的预取信息之方法及装 置将是有用的。
技术实现思路
于一实施例中,本专利技术提供一种方法,该方法包括响应于第一 存储器位置无法在高速缓存中取得,接收第一高速缓存遗漏,其中, 在该第一存储器位置处的信息正被存取作为执行第一指令的一部分; 以及响应于接收该第一高速缓存遗漏,在第一表的第一笔记录处储存 信息,该信息包括识别该第一指令的位置的指令信息;以及基于该 第一存储器位置之存储器位置信息。于另一实施例中,本专利技术提供一种方法,该方法包括在执行第一指令的同时,响应于存取第一存储器位置,接收高速缓存遗漏;以 及响应于接收该高速缓存遗漏,基于该第一指令的位置而存取预取信 息。于又另一实施例中,本专利技术提供一种装置,该装置包括数据处 理器,包括第一输出,用以提供地址信息;第一储存位置,用以储存 预取信息;预取模块,包括耦合至该第一储存位置的第一输入、第二 输入、以及第一输出,该第一输出用以响应于执行于该数据处理器处 之指令的位置而提供预取请求,该数据处理器造成高速缓存遗漏储存 在该第一储存位置处;以及存储器控制器,包括耦合至该数据处理器 之该第一输出的第一输入,耦合至该预取模块之该第一输出的第二输 入,以及耦合至该预取模块之该第二输入以提供高速缓存遗漏指示符 的第一输出。附图说明藉由参考附加图式,可更佳了解本专利技术,且其许多特征及优点对 在此
具有通常知识者系明显的。图1系图标根据本专利技术揭露内容之特定实施例之与由指令存取地 址位置相关联之各种记忆方式;图2系图标根据本专利技术揭露内容之特定实施例之装置;图3至图7系图标根据本专利技术揭露内容之对预取信息执行指令的 影响;图8系以更详细方式图标图2之预取控制器之一个实施例; 图9及图10系图标表示用于储存数据之特定实施例之表; 图11至图15系图标根据本专利技术揭露内容之对预取信息执行指令 的影响;图16系以更详细方式图标图2之预取控制器的另一实施例; 图17系图标表示用于储存数据之特定实施例的表;以及图18及图19系图标根据本专利技术揭露内容之代表方法之流程图。 具体实施例方式依照本专利技术,预取信息系根据在其执行期间导致高速缓存遗漏 (cache miss)之指令的位置来存取。欲存取之预取信息系根据先前及目6前高速缓存遗漏信息来决定。例如,将基于先前高速缓存遗漏的信息 储存在数据记录处以作为预取信息。此预取信息包括造成先前高速缓 存遗漏之指令的位置信息,及被存取以对目前高速缓存遗漏产生预取 请求。除此之外,根据目前高速缓存遗漏信息来更新该预取信息。参 考本文中图1至图19将更佳了解本专利技术之特定实施例。本专利技术之特定实施例将参考储存作为执行连续指令之结果的预取 信息来讨论。图1包括具有复数列之表110的图标,各列表示结合数 据处理器执行指令的信息。表110之行111包括指示对应指令之执行 时间的信息。表110之行112包括识别指令指针至对应指令的信息。表110之行113包括识别该执行指令的信息。储存在行111处的信息系表示执行表110之相对其它指令之对应 指令的相对顺序的时间指针。请注意,时间指针T2之数字尾标指示 INST2系在INST1后执行,该INST1具有对应的Tl时间指针。请注 意,不需要连续执行INST1与INST2,亦即,没有执行中介指令 (intervening instruction)。在行112处的指令指针指示其对应指令的位置。例如,执行在时 间Tl之指令INST1系于如具有hFFFF1234之十六进制值的图1中图 标。该指令指针可表示任何类型存储器空间的位置,包括物理存储器 空间、逻辑存储器空间等。INST1至INST4是于执行指令时导致所产生高速缓存遗漏之指令。 为了本文讨论的目的,假设所有的高速缓存遗漏为加载指令之结果, 该加载指令具有LOADx之助记符号。在该加载指令助记符号中之尾标 "x"表示具有A至Z的值之开端字母,其识别特定缓存器。因此该助记 符号LOADA与LOADB表示欲从存储器将存取信息分别储存在缓存 器A 121与缓存器B 122之指令。执行指令INST1至INST4可使用各种寻址模式(addressing mode) 存取存储器位置。具体示范于本文中的寻址模式包括直接寻址模式与 缓存器间接寻址模式。该指令"LOADB hADDRl"为使用直接寻址模式 之加载指令的例子,因此hADDRl为识别欲读取且储存在缓存器B 121 之记忆地址之十六进制数字。请注意,该"h"前标指示该值Addrl为十 六进制数字。该指令"LOADB〈REGA〉"为由"o"符号表示之缓存器间7接寻址模式之例子,因此于该"o"符号内缓存器所储存的值识别从缓存器B 121读取及储存信息的存储器位置。例如,图1包括使用缓存器间接寻址模式由此INST1表示LOADB 指令的图标。该助记符号〈REGA〉识别缓存器A 121为含有欲读取信息 之地址值。在缓存器A121的值系标记ADDR(T1),用以指示在缓存器 A 121所储存的信息,其表示于执行指令INST1时在时间Tl处出现之 地址位置。为了讨论的目的,假设存储器空间之各字节系可以32位值寻址。 前标"h"在本文系用来表示十六位数字。因此,图1中缓存器A121所 储存的值为具有如以位顺序参考123所指示的最高有效位(most significant bit)(b31)及最小有效位(least significant bit)(b0)之32 {立值。将特定助记符号与表示各存储器位置之该等位b31至b0的部分结 合将进一步有助本文之讨论。将会了解,数据处理器系统可具有最小 数字的字节,其可与各存储器存取进行存取。为了本文讨论的目的, 假设四个字节在同一时间进行存取。因此,最小的存取区块包括结合 对齐的四位区之字节。该等四字节区之各字节系以字节索引来识别, 而在本例子中包括地址位置之二个最小有效位(least-significant-bits, LSB)。如图1中所进一步示范的,该用辞"基地址(baseaddress)"称为各 32位存储器位置之最高有效位(most-significant -bits, MSB)之决定数 字,其中该各32位存储器位置提供识别在存储器内之对齐区域的索引 值。如图所示,图1之22位基地址(baseaddress)包括各地址位置(b31 至bl0)上层的22个MSB(b31至M0)。因此各唯本文档来自技高网
...

【技术保护点】
一种方法,包括: 响应于第一存储器位置无法在高速缓存中取得,接收第一高速缓存遗漏指示符,其中,在该第一存储器位置处的信息正被存取作为执行第一指令的一部分(711);以及 响应于接收该第一高速缓存遗漏指示符,在第一表的第一笔记录处 储存信息(712),该信息包括: 识别该第一指令的位置(412、421)的指令信息;以及 基于该第一存储器位置(422、411、413)的存储器位置信息。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:PS卡尔彻
申请(专利权)人:先进微装置公司
类型:发明
国别省市:US[美国]

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

1