[发明专利]在非易失性存储器中缓存代码的方法、系统和设备有效
申请号: | 201380044831.2 | 申请日: | 2013-09-19 |
公开(公告)号: | CN104662519B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 郑存雄;吴佑峰;王诚 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/0811 | 分类号: | G06F12/0811;G06F8/41 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 徐予红;张懿 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 非易失性存储器 缓存 代码 方法 系统 设备 | ||
公开了在非易失性存储器中缓存代码的方法和设备。公开的示例方法包括识别对第一代码的代码请求的实例,识别第一代码是否存储在非易失性(NV)随机存取存储器(RAM)高速缓存上,以及在NV RAM高速缓存不存在第一代码时,在满足与第一代码相关联的第一条件时将第一代码添加到NV RAM高速缓存,并且在未满足第一条件时阻止第一代码到NV RAM高速缓存的存储。
技术领域
本公开一般涉及编译器,并且更具体地说,涉及在非易失性存储器中缓存代码的方法、系统和设备。
背景技术
动态编译器尝试在一个或更多个平台程序执行时的运行时间期间优化代码。编译器尝试优化代码以改进处理器性能。然而,编译器代码优化任务也消耗处理器资源,如果此类优化工作消耗的处理器资源量比优化的代码本身能够节省的处理器资源量更大,则这可使得产生的优化代码的一个或更多个益处无效。
附图说明
图1是与在非易失性存储器中缓存代码的本公开内容的教导一致的处理器平台的示例部分的示意图。
图2是在图1的平台中由高速缓存管理器生成的示例代码条件评分图表。
图3是在图1的平台中由高速缓存管理器生成的示例代码性能图表。
图4是图1的示例高速缓存管理器的示意图。
图5A、5B和6是表示可执行以在非易失性存储器中缓存代码的示例机器可读指令的流程图。
图7是可执行图5A、5B和6的指令以实现图1-4的示例系统和设备的示例处理器平台的示意图。
具体实施方式
代码优化技术可在运行时间采用动态编译器以优化和/或以其它方式改进程序的执行性能。例如,解释代码可在执行期间经及时(JIT)编译器编译成机器代码并且被缓存,使得因为从高速缓冲存储器访问编译代码,处理器对一个或更多个功能(例如,过程,子例程等)的后续请求相对更快地进行。在其它示例中,动态二进制转换器以允许目标机器(例如,处理器)执行指令的方式将源指令转换成目标指令。处理器第一次请求代码(例如,函数调用)时,消耗额外的时间(例如,处理器时钟周期)以将源代码转换成处理器能够处理的格式。然而,转换的代码可存储在高速缓冲存储器中以允许处理器在后续的时间检索目标代码,其中对高速缓冲存储器的访问可比重新编译源代码更快。
在一些系统中,在启动时编译和缓存代码。然而,在启动时的此类编译消耗大量的处理器开销以生成编译代码以供以后使用。开销有时称为“预热时间”或“滞后时间”。此类工作牺牲了在程序执行中早期的处理器性能,以试图在程序在相对长的时间期内操作和/或相对频繁地反复调用相同函数的情况下长期产生更佳结果。优化的编译代码可存储在硬盘(例如,磁性硬驱动器、固态磁盘等)上以避免对重新编译原始代码的将来需要。然而,硬盘访问时间可比动态编译器重新编译原始代码所要求的时间量更慢,由此导致在启动程序时(例如,在使平台上电后)最初慢的启动时间(即,相对高的滞后时间)。换而言之,在处理器请求代码时,从存储装置检索优化的编译代码的时间量可占用比重新编译和/或重新优化原始代码更多的时间量。
虽然与硬盘访问时延相比,启用处理器高速缓存和/或访问DRAM降低了检索以前优化的编译代码的时间量,但处理器高速缓存是在电源切断时(如在平台关闭的实例期间)失去其存储器内容的易失性存储器。处理器高速缓存可包括任何数量的高速缓存层,如第1级(L1)、第2级(L2)(例如,多级高速缓存)。多级高速缓存通过允许处理器在尝试从硬盘存储装置进行相对更加耗时的代码获取前检查高速缓存中的所需代码,降低了处理器获取时延。高速缓存一般以具有低时延、高成本、更小的存储的分层方式在第1级(例如,L1)构建,并且在每个后续的级别(例如,L2、L3等)实现更慢、更大和更不昂贵的存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380044831.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:所捕获的车辆数据的收集和使用
- 下一篇:用于可执行对象的编译系统