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

技术编号:8131052 阅读:173 留言:0更新日期:2012-12-27 03:13
本发明专利技术给出了一个包含了一个处理器核和一个缓存控制单元数字系统。该处理器核连接一个包含数据的第一存储器和一个比第一存储器速度更快的第二存储器,且该处理器用于执行一段包含至少一条使用一个基地址寄存器在第二存储器中访问数据的指令。该缓存控制单元连接第一存储器、第二存储器和处理器核,用于在处理器核执行访问数据的指令前将数据从第一存储器填充到第二存储器中。此外,该缓存控制单元可进一步用于对指令段进行审查,从而提取出至少包含数据访问指令信息和最后更新寄存器指令信息的指令信息,并根据提取出的指令信息建立对应指令段的轨道,该缓存控制单元还可进一步用于在最后更新至少一条访问数据的指令所用的寄存器的指令执行后,根据指令段对应的轨道将第一存储器中的数据填充到第二存储器中。

【技术实现步骤摘要】

本专利技术涉及集成电路及计算机领域。
技术介绍
通常而言,缓存的作用是将内存中的一部分内容复制在其中,使这些内容能在短时间内由处理器核快速存取,以保证流水线的持续运行。现行缓存的寻址都基于以下方式,首先用地址中的索引段寻址读出标签存储器中的标签。同时用地址中索引段与块内位移段共同寻址读出缓存中的内容。此外,将标签存储器中读出的标签与地址中的标签段进行匹配。如果从标签存储器中读出的标签与地址中 的标签段相同,那么从缓存中读出的内容有效,称为缓存命中。否则,如果从标签存储器中读出的标签与地址中的标签段不相同,成为缓存缺失,从缓存中读出的内容无效。对于多路组相联的缓存,同时对各个路组并行进行上述操作,以检测哪个路组缓存命中。命中路组对应的读出内容为有效内容。若所有路组都为缺失,则所有读出内容都无效。缓存缺失之后,缓存控制逻辑将低级存储媒介中的内容填充到缓存中。缓存缺失可分为三类状况强制缺失、冲突缺失和容量缺失。在现有缓存结构中,除了预取成功的小部分内容外,强制缺失是不可避免的。但是,现有的预取操作会带来不小的代价。此外,虽然多路组相联缓存可以降低冲突缺失,但受制于功耗及速度限制(如因为多路组相联缓存结构要求将所有路组由同一索引寻址的内容及标签同时读出并比较),路组数难以超过一定数目。此外,为了使缓存的速度与处理器核的运行速度匹配,很难增加缓存的容量。所以有多层次缓存的设置,低层次的缓存比高层次的缓存容量大但速度慢。因此,现代的缓存系统通常由多路组相连的多层次缓存构成。新的缓存结构,如牺牲缓存、跟踪缓存以及预取(取一个缓存块时把下一个缓存块也取来放在缓存缓冲器或使用预取指令)等被用来弥补现有的某些缺陷。然而,随着日渐扩大的处理器/存储器速度鸿沟,现行体系结构,特别是多种多样的缓存缺失的可能性,仍是制约现代处理器性能提升的最严重瓶颈。本专利技术提出的方法与系统装置能直接解决上述或其他的一个或多个困难。
技术实现思路
本专利技术提出一种数字系统。所述数字系统包括一个处理器核和一个缓存控制单元。所述处理器核连接一个包含数据的第一存储器和一个比第一存储器速度更快的第二存储器,且所述处理器用于执行一段包含至少一条使用一个基地址在第二存储器中访问数据的指令。所述缓存控制单元连接第一存储器、第二存储器和处理器核,用于在处理器核执行访问数据的指令前将数据从第一存储器填充到第二存储器中。此外,所述缓存控制单元可进一步对指令段进行审查并提取出至少包含数据访问指令信息和最后更新寄存器指令信息的指令信息。此外,根据提取出的指令信息建立对应指令段的轨道,在最后更新至少一条访问数据的指令所用的寄存器的指令执行后,根据指令段对应的轨道将第一存储器中的数据填充到第二存储器中。本专利技术还提出一种用于辅助连接一个包含可执行指令的第一存储器和一个比第一存储器速度更快的第二存储器的处理器核运行的方法。所述处理器核用于执行至少包含一条使用一个基地址寄存器访问第二存储器中数据的指令的指令段。所述方法包括对指令段进行审查,从而提取出至少包括数据访问指令信息和最后寄存器更新指令信息的指令信息。所述方法还包括根据提取出的指令信息建立对应该指令段的轨道。此外所述方法还包括在最后更新至少一条数据访问指令所用的寄存器的指令执行后且在处理器核执行该数据访问指令之前,根据指令段对应的轨道将第一存储器中的数据填充到第二存储器中。对于本领域专业人士,还可以在本专利技术的说明、权利要求和附图的启发下,理解、领会本专利技术所包含其他方面内容。附图说明 图I是本专利技术所述的计算环境的一个实施例;图2A是根据本专利技术所述方法实现地址树的一个实施例;图2B是基于本专利技术所述地址树运行的的一个实施例;图3A是本专利技术所述缓存系统的一个实施例;图3B是本专利技术所述缓存系统的另一个实施例;图4是本专利技术所述缓存系统的另一个实施例;图5是本专利技术所述缓存系统的另一个实施例;图6是本专利技术所述缓存系统的另一个实施例;图7A是本专利技术所述缓存系统的另一个实施例;图7B是本专利技术所述缓存系统中一个组成部分的实施例;图8是本专利技术所述主动表的一个实施例;图9是本专利技术所述建立新轨道的一个实施例;图IOA是本专利技术所述缓存系统的另一个实施例;图IOB是本专利技术所述缓存系统中一个组成部分的实施例;图IlA是本专利技术所述用于多层缓存结构的分配器或保留表的一个实施例;图IlB是本专利技术所述用于多层缓存结构的分配器或保留表的一个实施例;图12是本专利技术所述建立新轨道的实施例;图13是本专利技术所述交换器的一个实施例;图14A是本专利技术所述缓存系统的另一个实施例;图14B是本专利技术所述缓存系统中一个组成部分的实施例;图15是本专利技术所述轨道表压缩的实施例;图16A-16B是本专利技术所述分支判断结构的实施例;图17是使用本专利技术所述高性能缓存结构的存储器结构的实施例;图18A是基于本专利技术所述间接寻址的指令预填充的实施例;图18B是基于本专利技术所述间接寻址的指令预填充的另一个实施例;图19是本专利技术所述缓存系统的另一个实施例;图20是数据操作和指令之间交互的实施例;图21A是本专利技术所述的用于存储数据装载信息的轨道表结构的实施例;图21B是本专利技术所述的基于轨道表结构的数据预填充的实施例;图21C是实现了数据预填充结构缓存系统更多细节的实施例;图22A是本专利技术所述的数据和指令轨道表的实施例;图22B是本专利技术所述的指令轨道表和数据轨道表之间接口结构的实施例;图22C是本专利技术所述的带有压缩功能的指令轨道表和数据轨道表之间接口结构的实施例;图22D是本专利技术所述的带有压缩功能的指令轨道表和数据轨道表之间接口结构的实施例; 图23是轨道表的一行和信息类型的实施例;图24是本专利技术所述缓存系统的一个实施例;图25是本专利技术所述缓存系统的一个实施例;图26是本专利技术所述缓存系统的一个实施例;图27A是本专利技术所述实时缓存结构的一个实施例;图27B是本专利技术所述实时缓存结构的一个实施例;图28A-28B是本专利技术所述轨道表和相关表的实施例;和图29是本专利技术所述缓存结构的一个实施例。具体实施例方式虽然该专利技术可以以多种形式的修改和替换来扩展,说明书中也列出了一些具体的实施图例并进行详细阐述。应当理解的是,专利技术者的出发点不是将该专利技术限于所阐述的特定实施例,正相反,专利技术者的出发点在于保护所有基于由本权利声明定义的精神或范围内进行的改进、等效转换和修改。同样的元器件号码也可以被用于所有附图以代表相同的或类似的部分。图I是本专利技术所述的计算环境的一个实施例。如图I所示,计算环境1000包括一个处理器核125、一个高层次存储器124、一个填充/生成器123、一个低级存储器122和一个循迹引擎320。应当理解的是,图中所示的部件或设备仅仅是为了说明而不是限制,可以省略某些部件或设备,也可以增加其他的部件或设备。此外,本实施例仅对用于读取指令的装置进行描述,用于读取数据和存储数据的装置与之类似。高层次存储器124和低级存储器122可以由任意合适的存储设备构成,例如静态存储器(SRAM)、动态存储器(DRAM)和闪存(flash memory) 0在本实施例中,存储器的层次表示其与处理器核在连接上的接近程度。越靠近处理器核的存储器层次越高。此外,通常一个较高层次的存储器在速度上越快,且面积越小。高层次存储器124可以作为系统的本文档来自技高网
...

【技术保护点】
一个数字系统,包括:一个处理器核,所述处理器核连接一个包含数据的第一存储器和一个比第一存储器速度更快的第二存储器,且所述处理器用于执行一段包含至少一条使用一个基地址在第二存储器中访问数据的指令,和一个缓存控制单元,所述缓存控制单元连接第一存储器、第二存储器和处理器核,用于在处理器核执行访问数据的指令前将数据从第一存储器填充到第二存储器中,其特征在于所述缓存控制单元可进一步用于:对指令段进行审查,从而提取出至少包含数据访问指令信息和最后更新寄存器指令信息的指令信息,根据提取出的指令信息建立对应指令段的轨道,在最后更新至少一条访问数据的指令所用的寄存器的指令执行后,根据指令段对应的轨道将第一存储器中的数据填充到第二存储器中。

【技术特征摘要】
1.一个数字系统,包括 一个处理器核,所述处理器核连接一个包含数据的第一存储器和一个比第一存储器速度更快的第二存储器,且所述处理器用于执行一段包含至少一条使用一个基地址在第二存储器中访问数据的指令,和 一个缓存控制单元,所述缓存控制单元连接第一存储器、第二存储器和处理器核,用于在处理器核执行访问数据的指令前将数据从第一存储器填充到第二存储器中, 其特征在于所述缓存控制单元可进一步用于 对指令段进行审查,从而提取出至少包含数据访问指令信息和最后更新寄存器指令信息的指令信息, 根据提取出的指令信息建立对应指令段的轨道, 在最后更新至少一条访问数据的指令所用的寄存器的指令执行后,根据指令段对应的轨道将第一存储器中的数据填充到第二存储器中。2.根据权利要求I所述数字系统,其特征在于 所述轨道包含复数个轨迹点,每个对应指令段中的一条指令。3.根据权利要求2所述数字系统,其特征在于 数据寻址格式为基地址寄存器加上偏移量的方式。4.根据权利要求3所述数字系统,其特征在于 数据访问指令信息包含一个数据访问指令标志,一个基地址寄存器号和一个偏移量;和 寄存器更新指令信息包含一个寄存器更新指令标志和一个基地址寄存器号。5.根据权利要求I所述数字系统,其特征在于缓存控制单元进一步包括 一个沿指令段以比指向当前正在被处理器核执行的当前指令指针更快速度移动的用以提取指令信息的数据指针,并停止在至少一条访问数据的指令处。6.根据权利要求5所述数字系统,其特征在于缓存控制单元进一步用于 将所有更新基地址寄存器的指令的位置信息存储到相应的基地址寄存器位置寄存器中; 对当前指令指针和存储在基地址寄存器位置寄存器中的对应至少一条访问数据指令的位置信息进行比较;和 如果当前指令指针大于或等于存储在基地址寄存器位置寄存器中的位置信息,那么生成一个信号从而基于基地址产生完整数据地址。7.根据权利要求6所述数字系统,其特征在于缓存控制单元进一步用于 根据完整的数据地址将数据从第一存储器填充到第二存储器。8.根据权利要求6所述数字系统,其特征在于缓存控制单元进一步用于 对该完整地址和一个主动表中的表项进行匹配以确定数据是否已经在第二存储器中; 当没有表项与该完整地址匹配成功时,在主动表中建立一个包含该数据的数据块号的新表项,并使用这个数据块号将数据填充到第二存储器中;和 当有一个表项与该完整地址匹配成功时,从该表项中获取该数据对应的数据块号。9.根据权利要求6所述数字系统,其特征在于缓存控制单元进一步包括一个用于保存供处理器核按顺序访问复数个数据块的对应这复数个数据块的复数个数据块号的队列。10.根据权利要求I所述数字系统,其特征在于 所述轨道也被用做指令段的轨道,用以将指令段填充到与第二存储器中数据部分不同的部...

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

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

1