高性能指令缓存系统和方法技术方案

技术编号:11161952 阅读:80 留言:0更新日期:2015-03-18 17:56
一种高性能指令缓存系统和方法,应用于处理器领域时能在处理器核执行指令前,将所述指令填充到所述处理器核能直接访问的高速存储器中,几乎使所述处理器核每次都能在所述高速存储器中获取到需要的指令,达到极高的缓存命中率。

【技术实现步骤摘要】

本专利技术涉及计算机,通讯及集成电路领域。
技术介绍
通常缓存的作用是将更低级存储器中的部分内容复制在其中,使这些内容能被更高级存储器或处理器核快速存取,以保证流水线的持续运行。 现行缓存的寻址都基于以下方式,用地址中的索引段寻址读出标签存储器中的标签与地址中的标签段进行匹配;用地址中索引段与块内位移段共同寻址读出缓存中的内容。如果从标签存储器中读出的标签与地址中的标签段相同,那么从缓存中读出的内容有效,称为缓存命中。否则,如果从标签存储器中读出的标签与地址中的标签段不相同,称为缓存缺失,从缓存中读出的内容无效。对于多路组相联的缓存,同时对各个路组并行进行上述操作,以检测哪个路组缓存命中。命中路组对应的读出内容为有效内容。若所有路组都为缺失,则所有读出内容都无效。缓存缺失之后,缓存控制逻辑将低级存储媒介中的内容填充到缓存中。 现有技术中,受限于功耗及速度限制(如因为多路组相联缓存结构要求将所有路组由同一索引寻址的内容及标签同时读出并比较),为了达到更高的性能,一般采用低层次缓存路组数大于高层次缓存路组数的组成方式。此外,缓存缺失可分为三类状况:强制缺失、冲突缺失和容量缺失。在现有技术中,除了预取成功的小部分外,强制缺失是不可避免的。 现代的缓存系统通常由多路组相连的多层次缓存构成。新的缓存结构,如:牺牲缓存、跟踪缓存以及预取等都是基于上述基本缓存结构并改善上述结构。然而,随着日渐扩大的处理器/存储器速度鸿沟,现行体系结构,特别是多种缓存缺失,已成为是制约现代处理器性能提升的最严重瓶颈。 本专利技术提出的方法与系统装置能直接解决上述或其他的一个或多个困难。
技术实现思路
本专利技术提出了一种高性能指令缓存方法,其特征在于,处理器核连接一个包含可执行指令的第一存储器、一个比第一存储器速度更快的第二存储器;所述方法包括:对正被从第二存储器填充到第一存储器的指令进行审查,从而提取出至少包括分支信息的指令信息;根据提取出的指令信息建立复数条轨道;根据复数条指令轨道中的一条或多条轨道将至少一条或多条指令可能被处理器核执行的指令从第一存储器填充到第二存储器;所述方法进一步包括,第二存储器采用全相联的方式构成,第一存储器由组相联的方式构成。 可选的,将轨道与第二存储器中的指令块--对应。 可选的,通过一级块号对目标地址进行寻址,从而确定该目标指令是否属于第一存储器的某个指令块。 可选的,通过匹配,将二级块号写入轨道表,等到第一存储器中的指令填充到第二存储器中时,将其更改为一级块号。 [0011 ] 可选的,对轨道进行扫描,一旦发现有对主动表块号的引用就将主动表对应块号的标志位置位;同时依次将主动表中各个块号的标志位复位,从而用已置位的标志位表示当前被轨道引用的块号,使之不会被替换出主动表。 本专利技术还提出了一种高性能指令缓存系统,其特征在于,所述系统包括:处理器核,所述处理器核用以执行指令;第一存储器,所述第一存储器用以存储所述处理器核所需指令;第二存储器,所述第二存储器用以存储所述处理器核所需指令,且所述第二存储器的速度比所述第一存储器更快;扫描器,所述扫描器用以对正被从第二存储器填充到第一存储器的指令进行审查,从而提取出至少包括分支信息的指令信息;轨道表,所述轨道表用以存储根据提取出的指令信息建立的复数条轨道;所述系统进一步包括:第二存储器采用全相联的方式构成;和第一存储器由组相联的方式构成。 可选的,将轨道表中的轨道与第二存储器中的指令块--对应。 可选的,第一存储器中的每个指令块对应一个一级块号。 可选的,在所述方法中,对正被从第一存储器填充到第二存储器的指令进行审查,从而提取出至少包括分支信息的指令信息;根据提取出的指令信息建立复数条轨道;根据复数条指令轨道中的一条或多条轨道将至少一条或多条指令可能被处理器核执行的指令从第一存储器填充到第二存储器;通过一级块号对目标地址进行寻址,从而确定该目标指令是否属于第二存储器的某个指令块。 可选的,在所述方法中,当第一存储器中一个指令块对应的顺序地址的前一指令块或后一指令块已经存储在第一存储器中时,主动表中存储了该指令块对应的所述前一指令块或后一指令块在第一存储器中的存储位置信息。 可选的,在所述方法中,当指令位于第一存储器中当前指令块的前一指令块或后一指令块中时,可以根据存储在主动表中的所述前一指令块或后一指令块的位置信息,直接在第一存储器中找到该指令。 可选的,在所述方法中,对分支目标指令地址进行边界判断;根据所述判断结果,对位于不同位置的分支目标指令给予不同格式的地址。 可选的,在所述方法中,若分支目标指令地址位于分支指令在第一存储器中所在指令块的前一或后一指令块中,则以该分支指令所在指令块的前一或后一指令块的二级块号作为该分支目标指令的二级块号,以该分支目标指令地址中对应第一存储器的地址偏移量部分作为该分支目标指令的偏移量。 可选的,在所述方法中,将正被从第一存储器填充到第二存储器的指令对应的主动表内容存储在微型主动表中;若审查发现分支目标指令位于分支指令的同一个二级指令块中的不同一级指令块、且该一级指令块在微型主动表中对应的一级块号有效时,直接以从微型主动表中读出的所述一级块号作为所述分支目标指令的一级块号;若审查发现分支目标指令位于分支指令的同一个二级指令块中的不同一级指令块、但该一级指令块在微型主动表中对应的一级块号无效时,直接以所述分支指令的二级块号作为所述分支目标指令的二级块号;若审查发现分支目标指令位于分支指令的前一个或后一个二级指令块、且该前一个或后一个二级指令块在微型主动表中对应的二级块号有效时,直接以从微型主动表中读出的所述二级块号作为所述分支目标指令的二级块号。 可选的,在所述方法中,将复数个二级块号及这些块号在主动表中对应的内容存储在微型主动表中;在若审查发现分支目标指令时,首先将分支目标指令地址在所述微型主动表中匹配,若匹配成功,则直接以从微型主动表中读出的一级块号或二级块号作为所述分支目标指令的一级块号或二级块号;若匹配不成功,则再将分支目标指令地址送往主动表匹配。 可选的,所述系统包括:处理器核,所述处理器核用以执行指令;第一存储器,所述第一存储器用以存储所述处理器核所需指令;第二存储器,所述第二存储器用以存储所述处理器核所需指令,且所述第二存储器的速度比所述第一存储器更快;扫描器,所述扫描器用以对正被从第一存储器填充到第二存储器的指令进行审查,从而提取出至少包括分支信息的指令信息;轨道表,所述轨道表用以存储根据提取出的指令信息建立的复数条轨道;第二存储器中的每个指令块对应一个一级块号。 可选的,在所述系统中,主动表的表项与第一存储器中的指令块对应,每个表项存储了第一存储器中相应指令块的块地址;且当第一存储器中一个指令块对应的顺序地址的前一指令块或后一指令块已经存储在第一存储器中时,主动表中还存储了该指令块对应的所述前一指令块或后一指令块在第一存储器中的存储位置信息。 可选的,在所述系统中,对分支目标指令地址进行边界判断;根据所述判断结果,对位于不同位置的分支目标指令给予不同格式的地址。 可选的,所述系统包含单数个或复数个加法器;所述加法器用于对分支指令本本文档来自技高网
...

【技术保护点】
一种高性能指令缓存方法,其特征在于,处理器核连接一个包含可执行指令的第一存储器、一个比第一存储器速度更快的第二存储器;所述方法包括:对正被从第一存储器填充到第二存储器的指令进行审查,从而提取出至少包括分支信息的指令信息;根据提取出的指令信息建立复数条轨道;根据复数条指令轨道中的一条或多条轨道将至少一条或多条指令可能被处理器核执行的指令从第一存储器填充到第二存储器;所述方法进一步包括,第二存储器采用全相联的方式构成,第一存储器由组相联的方式构成。

【技术特征摘要】
2013.08.23 CN 20131037965791.一种高性能指令缓存方法,其特征在于,处理器核连接一个包含可执行指令的第一存储器、一个比第一存储器速度更快的第二存储器;所述方法包括: 对正被从第一存储器填充到第二存储器的指令进行审查,从而提取出至少包括分支信息的指令信息; 根据提取出的指令信息建立复数条轨道; 根据复数条指令轨道中的一条或多条轨道将至少一条或多条指令可能被处理器核执行的指令从第一存储器填充到第二存储器; 所述方法进一步包括,第二存储器采用全相联的方式构成,第一存储器由组相联的方式构成。2.根据权利要求1所述方法,其特征在于,将轨道与第二存储器中的指令块一一对应。3.根据权利要求1所述方法,其特征在于,通过一级块号对目标地址进行寻址,从而确定该目标指令是否属于第二存储器的某个指令块。4.根据权利要求1所述方法,其特征在于,通过匹配,将二级块号写入轨道表,等到第一存储器中的指令填充到第二存储器中时,将其更改为一级块号。5.根据权利要求1所述方法,其特征在于,对轨道进行扫描,一旦发现有对主动表块号的引用就将主动表对应块号的标志位置位;同时依次将主动表中各个块号的标志位复位,从而用已置位的标志位表示当前被轨道引用的块号,使之不会被替换出主动表。6.一种高性能指令缓存系统,其特征在于,所述系统包括: 处理器核,所述处理器核用以执行指令; 第一存储器,所述第一存储器用以存储所述处理器核所需指令; 第二存储器,所述第二存储器用以存储所述处理器核所需指令,且所述第二存储器的速度比所述第一存储器更快; 扫描器,所述扫描器用以对正被从第一存储器填充到第二存储器的指令进行审查,从而提取出至少包括分支信息的指令信息; 轨道表,所述轨道表用以存储根据提取出的指令信息建立的复数条轨道; 所述系统进一步包括: 第二存储器采用全相联的方式构成;和 第一存储器由组相联的方式构成。7.根据权利要求6所述系统,其特征在于,将轨道表中的轨道与第二存储器中的指令块--对应。8.根据权利要求6所述系统,其特征在于,第二存储器中的每个指令块对应一个一级块号。9.根据权利要求6所述系统,其特征在于,对轨道表进行扫描,一旦发现有对主动表块号的引用就将主动表对应块号的标志位置位;同时依次将主动表中各个块号的标志位复位,从而用已置位的标志位表示当前被轨道表引用的块号,使之不会被替换出主动表。10.根据权利要求1所述方法,其特征在于,当第一存储器中一个指令块对应的顺序地址的前一指令块或后一指令块已经存储在第一存储器中时,主动表中存储了该指令块对应的所述前一指令块或后一指令块在第一存储器中的存储位置信息。11.根据权利要求10所述方法,其特征在于,当指令位于第一存储器中当前指令块的前一指令块或后一指令块中时,可以根据存储在主动表中的所述前一指令块或后一指令块的位置信息,直接在第一存储器中找到该指令。12.根据权利要求10所述方法,其特征在于,对分支目标指令地址进行边界判断;根据所述判断结果,对位于不同位置的分支目标指令给予不同格式的地址。13.根据权利要求12所述方法,其特征在于,若分支目标指令地址位于分支指令在第一存储器中所在指令块的前一或后一指令块中,则以该分支指令所在指令块的前一或后一指令块的二级块号作为该分支目标指令的二级块号,以该分支目标指令地址中对应第一存储器的地址偏移量部分作为该分支目标指令的偏移量。14.根据权利要求1、10所述方法,其特征在于,将正被从...

【专利技术属性】
技术研发人员:林正浩
申请(专利权)人:上海芯豪微电子有限公司
类型:发明
国别省市:上海;31

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

1