高速缓存控制器、控制高速缓存控制器的方法以及计算机系统技术方案

技术编号:4303361 阅读:207 留言:0更新日期:2012-04-11 18:40
一种高速缓存控制器、控制高速缓存控制器的方法以及计算机系统,其中,计算机系统包含:处理器;以及高速缓存控制器,电连接到该处理器,包含:第一端口,用于自该处理器接收内容的地址,该内容的类型为指令以及数据其中之一;第二端口,用于自该处理器接收对应该内容的信息比特,该信息比特指示该内容的该类型;以及至少一高速缓存包含多个高速缓存行,该多个高速缓存行的每一者包含内容域并对应一个信息域,根据该信息比特以及该地址,该内容以及该信息比特分别存储在该多个高速缓存行其中之一的内容域与对应的该信息域中。本发明专利技术提供的高速缓存控制器、控制高速缓存控制器的方法以及计算机系统可解决现有技术中的高速缓存高失误的问题。

【技术实现步骤摘要】

本专利技术有关于高速缓存(cache)控制器,更具体地,本专利技术有关于高速缓存控制 器、控制高速缓存控制器的方法以及计算机系统。
技术介绍
高速缓存在现代CPU设计中具有重要地位。高速缓存用于存储CPU所频繁存取 以及重复使用的一小部分内容(content)。如果已存储的内容具有时间与空间的区域性 (locality)的话,那么就可高效的存取高速缓存。待存储到高速缓存中的内容包含指令以 及数据。大多数指令彼此之间具有区域性,大多数数据彼此之间也具有区域性;尽管如此, 在指令与数据之间却没有区域性。高速缓存一般可以分为混合式高速缓存(unified cache)和非混合式高速缓存 (non-unified cache)。在非混合式高速缓存中,指令和数据分开处理,特别地,非混合式高 速缓存在不同的硬件中存储指令和数据,而且,具有分别传输指令以及数据的两个不同端 口(port)。既然指令与数据分开处理,所以很容易维持存储在高速缓存中的指令之间的区 域性,以及存储在高速缓存中的数据的区域性。与此相反的是,混合式高速缓存将指令以及数据存储在同样的硬件中,而且传输 指令以及数据使用单一的端口。图1为使用混合式高速缓存的先前计算机系统1的示意图。 计算机系统ι包含处理器11、混合式高速缓存控制器13以及存储器模块15。更具体地,混 合式高速缓存控制器13包含高速缓存131。混合式高速缓存控制器13通过第一端口 130、第二端口 132以及第三端口 134连 接到处理器11,第一端口 130用于自处理器接收内容的地址,其中,该内容可以是指令或 者数据。第二端口 132为现有技术中的混合式高速缓存控制器13中的虚拟端口(dummy port)。第三端口 134用于将高速缓存控制器13的内容传输给处理器11。很明显,在高速缓 存131中的指令和数据是混合的,而高速缓存控制器13没有办法管理存储在高速缓存131 中的内容。具体地,当高速缓存行(cache line)已满时,高速缓存控制器13不考虑在预清 除高速缓存行中存储的内容,而清除一个或者多个高速缓存行。因此,高速缓存控制器清除 即将用于下一个周期(cycle)的指令或者数据将是可能的,这将增加高速缓存误失(miss) 的概率。混合式高速缓存在现在CPU设计中是很常用的,因为混合式高速缓存容易设计以 及扩展。因此,迫切需要找到一种方法,以解决指令以及数据的竞争(competition)而引起 的混合式高速缓存中高速缓存高误失的问题。
技术实现思路
因此,本专利技术提供一种高速缓存控制器、控制高速缓存控制器的方法。本专利技术提供一种高速缓存控制器,包含第一端口,用于自处理器接收内容的地5址,该内容的类型为指令与数据其中之一;第二端口,用于自该处理接收对应该内容的信息 比特,该信息比特指示出该内容的类型;以及至少一高速缓存,包含多个高速缓存行,该多 个高速缓存行的每一者包含内容域,该多个高速缓存行的每一者对应一个信息域,根据该 信息比特以及该地址,该内容以及该信息比特分别存储在该多个高速缓存行其中之一的该 内容域与对应的该信息域中。本专利技术再提供一种控制高速缓存控制器的方法,该高速缓存控制器包含至少一高 速缓存,该至少一高速缓存的每一者包含多个高速缓存行,该多个高速缓存行的每一者包 含内容域,该多个高速缓存行的每一者对应一个信息域,该方法包含自处理器接收内容的 地址,该内容的类型为指令以及数据其中之一;自该处理器接收对应该内容的信息比特,该 信息比特指示出该内容的类型;以及根据该信息比特以及该地址,将该内容以及该信息比 特分别存储在该多个高速缓存行其中之一的该内容域与对应的该信息域中。本专利技术另提供一种计算机系统,包含处理器;以及高速缓存控制器,电连接到该 处理器,包含第一端口,该第一端口用于自该处理器接收内容的地址,该内容的类型为指 令以及数据其中之一;第二端口,该第二端口用于自该处理器接收对应该内容的信息比特, 该信息比特指示该内容的该类型;以及至少一高速缓存包含多个高速缓存行,该多个高速 缓存行的每一者包含内容域,该多个高速缓存行的每一者对应一个信息域,根据该信息比 特以及该地址,该内容以及该信息比特分别存储在该多个高速缓存行其中之一的内容域与 对应的该信息域中。本专利技术提供的一种高速缓存控制器、控制高速缓存控制器的方法以及计算机系统 可以解决现有技术中存在的高速缓存高误失的问题。附图说明图1为使用混合式高速缓存的先前计算机系统的示意图;图2为本专利技术第一实施例计算机系统的示意图;图3A为本专利技术第一实施例中的高速缓存的示意图;图3B为本专利技术第一实施例中的地址的示意图;图4为根据本专利技术的实施例的用于控制高速缓存控制器的方法的流程图。 具体实施例方式在说明书及权利要求当中使用了某些词汇来指称特定组件。所属领域中具有通常 知识者应可理解,制造商可能会用不同的名词来称呼同一个组件。本说明书及权利要求并 不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。 在通篇说明书及权利要求当中所提及的“包括”和“包含”为一开放式的用语,故应解释成 “包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。间接的 电气连接手段包括通过其它装置进行连接。图2为本专利技术第一实施例计算机系统2的示意图。计算机系统2包含处理器21、 高速缓存控制器23以及存储器模块25。处理器21为具有单一端口的处理器,例如,处理器21为ARM7EJS处理器,其中,单 一端口用于自高速缓存控制器23接收内容。存储器模块25可以为DRAM、SRAM或者任何存储媒体。在此实施例中,内容的类型可以为指令或者数据。高速缓存控制器23包含高速缓 存231、数据计数器233以及指令计数器235。请注意,在其它实施例中,高速缓存控制器可 具有多个高速缓存。高速缓存控制器的高速缓存的数量不以本专利技术实施例为限。高速缓存 控制器23进一步包含第一端口 230、第二端口 232、第三端口 234以及第四端口 236,其中, 第一端口 230、第二端口 232以及第四端口 236电连接到处理器21,而第三端口 234电连接 到存储器模块25。请参考图3A,图3A为本专利技术第一实施例中的高速缓存231的示意图。高速 缓存231包含多个高速缓存行31a、31b、31c、31d、31e、31f、31g以及31h,多个信息域 (information field) 32b、32c、32d、32e、32f、32g 以及 32h,多个标签域(tag field) 33b, 33c、33d、33e、33f、33g 以及 33h。多个信息域 32b、32c、32d、32e、32f、32g 以及 32h 中的每 一者都可以由一比特寄存器(register)实现,多个标签域33b、33c、33d、33e、33f、33g以及 33h中的每一者都可以由多比特寄存器实现。可以注意到,高速缓存行、信息域以及标签域 的数量不以本专利技术实施例为限。多个高速缓存行31a、31b、31C、31d、31e、31f、31g以及31h 分别对应多个信息域32&、3213、32(;、32(1、326、32厂328以及3211与多个标签域333本文档来自技高网
...

【技术保护点】
一种高速缓存控制器,包含:第一端口,用于自处理器接收内容的地址,该内容的类型为指令与数据其中之一;第二端口,用于自该处理接收对应该内容的信息比特,该信息比特指示出该内容的类型;以及至少一高速缓存,包含多个高速缓存行,该多个高速缓存行的每一者包含内容域,该多个高速缓存行的每一者对应一个信息域,根据该信息比特以及该地址,该内容以及该信息比特分别存储在该多个高速缓存行其中之一的该内容域与对应的该信息域中。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:陈柏宏戴昌宪
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1