【技术实现步骤摘要】
【国外来华专利技术】
本专利技术所公开的内容一般涉及编译器,尤其涉及基于编译器和无用单元收集器的分析来动态地插入预取指令的方法和装置。背景为了提高和优化处理器系统的性能,使用了许多不同的预取技术(即,预见数据输入请求的需要)来消除或“隐藏”处理器系统的等待时间(即,延迟)。特别地,使用了预取算法(即,预执行或预计算)来为与在编译时期间难以预测的数据地址相关联的高速缓存未命中而预取数据。即,编译器首先标识生成高速缓存未命中的数据地址所需的指令,然后投机地预执行那些指令。一般而言,链式数据结构(LDS)是使用在前对象中所找到的指针来遍历的软件对象的集合。遍历LDS可能会导致LDS中的每个对象上都有长等待时间的高速缓存未命中。因为LDS中的对象的地址是在该对象本身可被加载之前从在前对象加载的,所以高速缓存未命中可能是无法避免的。另一方面,当访问其后续对象的地址可从该数据数组结构的基础上来计算的数据数组结构时,在迭代通过该数据数组结构时,可将循环解开,并执行诸如跨距(stride)预取等技术来防止高速缓存未命中。这些技术假定后续对象的地址可使用数据数组结构的基础来计算。但是,大多数LDS并不具有可被跨距预取技术利用的布局属性。此外,处理器与存储器速度之间的差距持续增大。因此,当在遍历LDS时试图正确地插入预取指令以减少等待时间的时候,受管运行时环境(MRTE)可能会遭遇困难。附图简述附图说明图1是示例性预取指令插入系统的框图表示。图2是可被执行以使图1中所示的示例性预取指令插入系统插入预取指令的示例性机器可读指令的流程图表示。图3是可被执行以使图1中所示的示例性预取指令插入系统执 ...
【技术保护点】
一种方法,包括:从处理器系统中的性能监视单元接收与高速缓存未命中相关联的一批或多批样本;基于过失信息从所述的一批或多批样本中选择一个或多个样本;生成与所述一个或多个样本相关联的性能影响指标;基于所述性能影响指标来启动无用单元收集器分析和编译器分析中的至少一个,以标识一条或多条过失路径;以及基于所述无用单元收集器分析和所述编译器分析中的至少一个来标识要插入预取指令的一个或多个预取点。
【技术特征摘要】
【国外来华专利技术】US 2003-12-19 10/742,0091.一种方法,包括从处理器系统中的性能监视单元接收与高速缓存未命中相关联的一批或多批样本;基于过失信息从所述的一批或多批样本中选择一个或多个样本;生成与所述一个或多个样本相关联的性能影响指标;基于所述性能影响指标来启动无用单元收集器分析和编译器分析中的至少一个,以标识一条或多条过失路径;以及基于所述无用单元收集器分析和所述编译器分析中的至少一个来标识要插入预取指令的一个或多个预取点。2.如权利要求1所述的方法,其特征在于,基于过失信息来选择所述一个或多个样本中的至少一个包括,基于过失区域、过失类型、过失加载和过失线程中的至少一个来选择所述一个或多个样本中的至少一个。3.如权利要求1所述的方法,其特征在于,基于性能影响指标来启动无用单元收集器分析和编译器分析中的至少一个包括,响应于标识出一个或多个过失区域中的高速缓存未命中,使无用单元收集器标识与所述一个或多个过失区域相关联的过失路径和增量。4.如权利要求1所述的方法,其特征在于,基于性能影响指标来启动无用单元收集器分析和编译器分析中的至少一个包括,响应于标识出一个或多个过失区域之外的一个或多个类型,使编译器标识过失路径。5.如权利要求1所述的方法,其特征在于,基于所述无用单元收集器分析和所述编译器分析中的至少一个来标识所述要插入预取指令的一个或多个预取点包括,生成与所述一个或多个预取点相关联的全局置信估算量。6.如权利要求1所述的方法,其特征在于,基于所述无用单元收集器分析和所述编译器分析中的至少一个来标识所述要插入预取指令的一个或多个预取点包括,确认所述一条或多条过失路径。7.如权利要求1所述的方法,其特征在于,还包括选择从所述处理器系统中的性能监视单元接收所述一批或多批样本所使用的采样率。8.一种存储了指令的机器可读介质,当所述指令被执行时使得机器从处理器系统中的性能监视单元接收与高速缓存未命中相关联的一批或多批样本;基于过失信息从所述一批或多批样本中选择一个或多个样本;生成与所述一个或多个样本相关联的性能影响指标;基于所述性能影响指标来启动无用单元收集器分析和编译器分析中的至少一个,以标识一条或多条过失路径;以及基于所述无用单元收集器分析和所述编译器分析中的至少一个来标识要插入预取指令的一个或多个预取点。9.如权利要求8所述的机器可读介质,其特征在于,当所述指令被执行时,使得机器通过基于过失区域、过失类型、过失加载和过失线程中的至少一个来选择所述一个或多个样本中的至少一个,从而基于过失信息来选择所述一个或多个样本中的至少一个。10.如权利要求8所述的机器可读介质,其特征在于,当所述指令被执行时,使得机器通过响应于标识出一个或多个过失区域中的高速缓存未命中来启动无用单元收集器以标识与所述一个或多个过失区域相关联的过失路径和增量,从而基于性能影响指标来启动无用单元收集器分析和编译器分析中的至少一个。11.如权利要求8所述的机器可读介质,其特征在于,当所述指令被执行时,使得机器通过响应于标识出一个或多个过失区域之外的一个或多个类型来使编译器标识过失路径,从而基于性能影响指标来启动无用单元收集器分析和编译器分析中的至少一个。12.如权利要求8所述的机器可读介质,其特征在于,当所述指令被执行时,使得机器通过生成与所述一个或多个预取点相关联的全局置信估算量,从而基于所述无用单元收集器分析和所述编译器分析中的至少一个来标识所述要插入预取指令的一个或多个预取点。13.如权利要求8所述的机器可读介质,其特征在于,当所述指令被执行时,使得机器通过确认所述一...
【专利技术属性】
技术研发人员:M塞拉诺,S萨布拉蒙尼,R赫德森,AR爱德尔塔巴泰拜,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。