用于管理具有不同高速缓存能力的跨页指令的方法和设备的制造方法

文档序号:8344598阅读:445来源:国知局
用于管理具有不同高速缓存能力的跨页指令的方法和设备的制造方法
【专利说明】
[0001] 相关申请案的夺叉参考
[0002] 2012年6月28日申请的标题为"用于跟踪指令高速缓冲存储器中的额外数据许 可的方法和设备"的第13/535, 398号美国申请案是相关申请案且全文并入本文。
技术领域
[0003] 本发明大体上涉及用以改善处理具有多种长度的指令的处理器中的效率的技术, 并且更确切地说,涉及用于识别跨越可高速缓存与不可高速缓存存储器之间的边界的指令 且允许此整个指令与其它可高速缓存指令一起存储在高速缓冲存储器行中的有利技术。
【背景技术】
[0004] 许多处理器经设计以执行不同长度的指令,例如8位、16位、32位和64位指令。用 于此处理器的程序可含有从可变长度指令集架构中选出的这些不同长度指令的组合。处理 器还可具有带有多层级高速缓冲存储器的阶层式存储器配置,且可包含例如指令高速缓冲 存储器、数据高速缓冲存储器和系统存储器。指令高速缓冲存储器可经配置以在高速缓冲 存储器行中一起存储和存取多个指令。在支持16位和32位指令的处理器架构中,32位指 令可在高速缓冲存储器行中未对准地存储。使用16位半字寻址,其前16位半字存储在奇 数16位半字地址中的32位指令被视为未对准。举例来说,256位高速缓冲存储器行可存 储八个32位指令或十六个16位指令或16位和32位指令两者的组合。具有16位和32位 指令的混合的高速缓冲存储器行可具有在两个高速缓冲存储器行之间跨越的最后32位指 令。
[0005] 并且,可使用虚拟存储器系统,其将存储器分割为页,例如4千字节(4k字节)页。 在此系统中,在两个高速缓冲存储器行之间跨越的高速缓冲存储器行中的最后32位指令 还可能跨越页边界。每一页可被指派不同属性,其可包含(例如)存储在所述页上的信息 是否可高速缓存或不可高速缓存。因此,在具有不同长度的混合指令格式的高速缓冲存储 器行中,跨越高速缓冲存储器行且跨越页边界分裂的指令可经受冲突的页属性。举例来说, 除高速缓冲存储器行中的最后指令外的所有指令可来自具有可高速缓存的属性的第一示 范性页,而跨越高速缓冲存储器行和页边界分裂的最后指令可具有指示第一部分可高速缓 存而第二部分不可高速缓存的属性。在不影响与分裂最后指令的边界一起识别的高速缓冲 存储器行中的大部分指令的性能的情况下,此类冲突可能难以解决。

【发明内容】

[0006] 在本发明的几个方面当中,本发明的实施例认识到通过在与分裂最后指令的页边 界一起识别的高速缓冲存储器行中存储可高速缓存指令可改善性能。本发明的一实施例认 识到存在对管理具有不同高速缓存能力的跨页指令的方法的需要。设定用于指令的终止部 分的指示,所述指令是从不可高速缓存指令的第一页获取且以从具有可高速缓存指令的高 速缓冲存储器行中的可高速缓存指令的第二页获取的所述指令的开始部分建立,其中所述 指令跨越高速缓冲存储器行边界。当在所述所建立高速缓冲存储器行上命中时检测获取管 线中的所述指示以将不可高速缓存旗标设定为指示所述指令无法从所述指令高速缓冲存 储器执行,其中所述指令经接收但基于所述不可高速缓存旗标而不从所述高速缓冲存储器 执行。响应于所述不可高速缓存旗标绕过所述高速缓冲存储器从存储器重获取至少所述指 令的所述终止部分以与所述指令的所述开始部分组合,其中所述指令经重构用于执行。
[0007] 另一实施例解决一种用于控制具有不同高速缓存能力的跨页指令的执行的设备。 指令高速缓冲存储器经配置以存储可高速缓存指令以及具有可高速缓存的开始部分和不 可高速缓存的终止部分且在高速缓冲存储器行的末端处跨越高速缓冲存储器行边界的指 令。指示符电路经配置以在一或多个位中存储用于所述指令的执行许可被拒绝的指示,其 中所述指令经识别为不可高速缓存指令。获取管线耦合到处理器且经配置以当在含有所述 不可高速缓存指令的指令的获取群组上命中时检测所述指示,其中所述不可高速缓存指令 经接收但响应于所述指示而不从所述高速缓冲存储器执行。
[0008] 另一实施例解决一种用于管理具有不同高速缓存能力的跨页指令的设备。指令高 速缓冲存储器经配置以存储可高速缓存指令以及具有可高速缓存的开始部分和不可高速 缓存的终止部分且在高速缓冲存储器行的末端处跨越页边界和高速缓冲存储器行边界的 指令。指示符电路经配置以存储用于所述指令的执行许可被拒绝的指示,其中所述指令经 识别为不可高速缓存指令。获取管线耦合到处理器且经配置以当在含有所述不可高速缓存 指令的指令的获取群组上命中时检测所述指示,其中所述不可高速缓存指令响应于所述指 示而绕过所述高速缓冲存储器从系统存储器重获取以用于执行。
[0009] 另一实施例解决一种经编码有用于操作系统的计算机可读程序数据和代码的计 算机可读非暂时性媒体。设定用于指令的终止部分的指示,所述指令是从不可高速缓存指 令的第一页获取且以从具有可高速缓存指令的高速缓冲存储器行中的可高速缓存指令的 第二页获取的所述指令的开始部分建立,其中所述指令跨越高速缓冲存储器行边界。当在 所述所建立高速缓冲存储器行上命中时检测获取管线中的所述指示以将不可高速缓存旗 标设定为指示所述指令无法从所述指令高速缓冲存储器执行,其中所述指令经接收但基于 所述不可高速缓存旗标而不从所述高速缓冲存储器执行。响应于所述不可高速缓存旗标绕 过所述高速缓冲存储器从存储器重获取至少所述指令的所述终止部分以与所述指令的所 述开始部分组合,其中所述指令经重构用于执行。
[0010] 另一实施例解决一种用于管理跨页指令的设备。利用用于存储可高速缓存指令以 及具有从可高速缓存指令的第一页获取的开始部分和从不可高速缓存指令的第二页获取 的终止部分且在高速缓冲存储器行的末端处跨越高速缓冲存储器行边界的指令的装置。提 供用于指示用于所述指令的执行许可被拒绝的装置,其中所述指令经识别为不可高速缓存 指令。还提供用于当在含有所述不可高速缓存指令的指令的获取群组上命中时检测所述指 示的装置,其中所述不可高速缓存指令响应于所述指示而绕过所述高速缓冲存储器从系统 存储器重获取以用于执行。
[0011] 又一实施例解决一种用于控制具有不同高速缓存能力的跨页指令的执行的设备。 指令高速缓冲存储器经配置以存储可高速缓存指令以及具有不可高速缓存的开始部分和 可高速缓存的终止部分且在高速缓冲存储器行的开始处跨越高速缓冲存储器行边界的指 令。指示符电路经配置以在一或多个位中存储用于所述指令的执行许可被拒绝的指示,其 中所述指令经识别为不可高速缓存指令。获取管线耦合到处理器且经配置以当在含有所述 不可高速缓存指令的指令的获取群组上命中时检测所述指示,其中所述不可高速缓存指令 经接收但响应于所述指示而不从所述高速缓冲存储器执行。
[0012] 从以下详细描述和附图将显而易见本发明的更完整理解以及本发明的进一步特 征和优点。
【附图说明】
[0013] 图1是包含具有指令高速缓冲存储器的处理器复合体的装置的特定实施例的框 图,所述指令高速缓冲存储器支持跨越高速缓冲存储器行边界和分页存储器边界的指令;
[0014] 图2图解说明根据本发明的实施例的具有处理器、等级1指令高速缓冲存储器 (LlIcache)、Ll数据高速缓冲存储器(Dcache)、等级2高速缓冲存储器(L2高速缓冲存储 器)和系统存储器的处理器复合体;
[0015] 图3A图解说明含有16和32位的变化长度指令的示范性程序片段;
[0016] 图3B图解说明含有来自图3A的程序片段300的指令的示范性Ll指令高速缓冲 存储器行;
[0017] 图4A图解说明根据本发明的实施例的具有指令翻译旁视缓冲器(ITLB)和物理存 储器的分页虚拟存储器系统;
[0018] 图4B图解说明根据本发明的实施例的在Ll指令高速缓冲存储器标签中具有跨行 指示符的虚拟到物理地址翻译子系统;
[0019] 图5图解说明根据本发明的实施例的具有跨行指令和支持的跨行指示符的示范 性双路集合关联指令高速缓冲存储器电路;以及
[0020] 图6图解说明根据本发明的实施例的用于管理具有不同高速缓存能力的跨页指 令的过程。
【具体实施方式】
[0021] 现在将参考附图更加完整地描述本发明,在所述附图中示出了本发明的几个实施 例。然而,本发明可以各种形式来体现,且不应解释为限于本文所陈述的实施例。更准确地 说,提供这些实施例是为了使得本发明将是透彻并且完整的,并且这些实施例将把本发明 的范围完整地传达给所属领域的技术人员。
[0022] 根据本发明教示的用于接受操作或用于实现操作的计算机程序代码或"程序代 码"可以高级编程语言编写,例如 C、c++、.丨AVA3))、Smalltalk、.丨avaScript?、Visual Basic?、 TSQUPerl或各种其它编程语言。用于目标处理器架构的程序也可以直接以原生汇编语言 编写。原生汇编程序使用机器级二进制指令的指令助记表示。如本文所使用的程序代码或 计算机可读非暂时性媒体指代机器语言代码,例如其格式可由处理器理解的目标代码。
[0023] 图1是包含具有指令高速缓冲存储器的处理器复合体110的装置100(例如,通信 装置)的特定实施例的框图,所述指令高速缓冲存储器支持跨越高速缓冲存储器行边界和 分页存储器边界的指令。装置100可为无线电子装置且包含耦合到具有计算机可执行指令 118的系统存储器112的处理器复合体110。系统存储器112可包含图2的系统存储器227 或图4B的系统存储器452。处理器复合体110可包含处理器111以及具有等级1指令高速 缓冲存储器(LlIcache) 122、外部标签(xTag)电路126和高速缓冲存储器控制器电路128 的集成存储器子系统114。集成存储器子系统114支持在可经指定且识别为不可高速缓存 的程序存储器中具有一或多个页的分页存储器组织。处理器111可包含图2的处理器210 或图4B的处理器管线442。集成存储器子系统114还可包含Ll数据高速缓冲存储器和等 级2统一高速缓冲存储器(未图示),例如Ll数据高速缓冲存储器214和图2的L2指令和 数据高速缓冲存储器226或图4B的L2高速缓冲存储器450。Ll指令高速缓冲存储器122 可包含图2的Ll指令高速缓冲存储器218或图4B的Ll指令高速缓冲存储器448,如下方 更详细描述。xTag电路126还可包含外部许可位(xPbits) 130以提供控制指令的执行的超 驰指示,如下文关于图4B的xTag电路447和xPbits 449更详细描述。
[0024] 集成存储器子系统114可包含在处理器复合体110中或可实施为处理器复合体 110外部的一或多个单独的装置或电路(未图示)。在说明性实例中,处理器复合体110包 含图2、3B、4A、4B和5的电路和系统中的任一者,且根据图3A和图6中说明或与之相关联 的实施例中的任一者或其任何组合而操作。举例来说,如图1所示,Ll指令高速缓冲存储 器122、xTag电路126和高速缓冲存储器控制器电路128在处理器复合体11
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1