描述了包括压缩映象高速缓存的一种存储器控制器。压缩映象高速缓存用于存储标识已与另一高速缓存行信息价值一起被压缩的高速缓存行信息价值的信息。还描述了集成于同一半导体管芯上的处理器和存储器控制器。该存储器控制器包括压缩映象高速缓存。所述压缩映象高速缓存用于存储标识已与另一高速缓存行信息价值一起被压缩的高速缓存行信息价值的信息。(*该技术在2024年保护过期,可自由使用*)
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及计算系统;尤其涉及能在使用压缩的高速缓存行信息价值(cache lines’worth of information)的计算系统中使用的处理器和存储器控制器。
技术介绍
图1示出了基本计算系统的架构的一部分,包括1)处理器101;2)高速缓存102;3)存储器控制器103;以及4)系统存储器104。处理器101通过执行对数据元素进行各种操作的指令来执行软件例程。指令和数据元素被存入高速缓存102和/或系统存储器104。当处理器101需要特定的指令或数据元素时,它在向系统存储器104请求期望的指令或数据元素前在高速缓存102中进行查找。一般,高速缓存102被认为比系统存储器104快。更好地说,处理器101等待高速缓存102中驻留的指令或数据元素的时间少于等待系统存储器104中驻留的指令或数据元素的时间。高速缓存102和系统存储器104之间的该等待时间差异通常是由于高速缓存102用比实现系统存储器的存储器单元(例如,DRAM单元)固有更快的存储器单元(例如,SRAM单元)实现而出现的。每位存储空间中,SRAM型高速缓存102比DRAM型系统存储器104更昂贵。因此,图1的计算系统架构尝试通过设计为将更频繁使用的指令和数据元素存入高速缓存102并将较少使用的指令和数据元素存入系统存储器104来优化成本和性能两者。通过将更频繁使用的指令和数据元素存入高速缓存,处理器应忍受等待指令/数据从系统存储器104中取的所耗时间的形式的可接收的“计时惩罚命中”,因为高速缓存102中将找到处理器所需的指令/数据的有效百分比。为了提升“高速缓存命中”的百分比(即,在高速缓存102中找到所需指令或数据元素的实例),“时间局部性”和“空间局部性”的概念开始起作用。时间局部性是单个指令或数据元素倾向于在它已被使用后不久被使用的概念。空间局部性是存储器中相互靠近的指令和数据元素(即具有相似地址)趋于在约同一时间被使用的概念。时间局部性是通过在首次将指令和数据元素从系统存储器104传递到高速缓存102后将它们保存于高速缓存102中至少一些时间周期来解决的。空间局部性是通过将高速缓存102设计成装载来自系统存储器102的数据块(即,多个指令或数据元素),其内容近似(例如,“包围”)需要从系统存储器104取出的任何单个指令或数据元素来解决的。例如,如果需要来自系统存储器104的地址X处的指令,代替仅传递来自系统存储器104的所需指令,代替仅将来自系统存储器104的所需指令传递到高速缓存102,将与关于地址X的多个地址相对应的内容块从系统存储器104传递到高速缓存102。图2通过示出将内容105的第一邻接“块”(它通过多个系统存储器地址引用)载入单个高速缓存行107;且将内容106的第二邻接“块”(它通过多个系统存储器地址的不同组引用)载入另一单个高速缓存行108来尝试描绘这种情况。为简单起见,图2将高速缓存204示作单个结构。但各种计算系统是用不同级的高速缓存进行设计的。例如,许多类型的计算系统具有两级高速缓存(1级(L1)高速缓存和2级(L2)高速缓存),其中第一级高速缓存(L1)对应于比第二级高速缓存(L2)更少的处理器等待时间。L1高速缓存被假定存储最频繁使用的数据元素和指令,而L2高速缓存被假定存储与L1高速缓存中的那些相比较少频繁使用但比系统存储器中的那些更频繁使用的数据元素和指令。常规地,两个高速缓存级是用与系统存储器相比更快的存储器类型来实现的(例如,L1和L2高速缓存两者都是用SRAM存储器单元实现的);但是,L1高速缓存与处理器集成入同一半导体管芯,而L2高速缓存是用与处理器不同的半导体管芯实现的。“片载”高速缓存访问快于“非片载”高速缓存访问,对L1高速缓存的访问对应于与对L2高速缓存的访问相比处理器的更少的等待时间。存储器控制器103负责采纳高速缓存未满足的来自处理器101的对数据的请求,并管理服务系统存储器104中的那些请求的进程。存在许多不同种类的请求,诸如对高速缓存中不存在的数据的负载请求,以及需要被存回存储器的来自高速缓存的数据的驱逐。通常,存储器控制器能流水线化请求,使得许多请求会是未完成的并可以与更短的平均等待时间并行地服务。存储器控制器负责与特殊存储器技术的细节对接,并按模块化方式使系统存储器与处理器隔离。存储器控制器可以与处理器集成,例如在同一管芯上,或者可以分离,例如在芯片组中。系统存储器通常用特定类型的系统存储器实现(例如,EDO RAM、SDRAM、DDR等)。附图说明附图中作为示例而非限制地说明本专利技术,其中相同的标号表示相似的元件,且其中图1示出了计算系统架构的一部分。图2示出了将内容块从系统存储器载入单个高速缓存行。图3a示出了一种改进方法,其中可以将系统存储器内容的对准块压缩入单个高速缓存行;图3b示出了在压缩的高速缓存行从高速缓存中驱逐并被存入系统存储器后实质系统存储器内容的示例性获得的映象。图4a示出了能使用压缩高速缓存行的单个处理器架构的一部分。图4b示出了可由系统存储器控制器用于跟踪已被压缩的其系统存储器中的那些块的压缩映象。图4c示出了具有压缩映象高速缓存和压缩/解压缩逻辑的存储器控制器。图4d示出了具有用于标识压缩映象的物理系统存储器分配的寄存器空间的存储器控制器。图5a示出了在将高速缓存行写入系统存储器期间可由图4a的存储器控制器使用的一对方法。图5b示出了在从系统存储器读取高速缓存行期间可由存储器控制器使用的三个方法。图5c示出了关于引用压缩映象内容的三个方法。图6a示出了存储器控制器的第一实施例。图6b示出了存储器控制器的第二实施例。图6c示出了存储器控制器的第三实施例。图7a示出了高速缓存中实现的常规存储器地址。图7b示出了能压缩/解压缩高速缓存行信息价值的高速缓存中实现的存储器地址的一个实施例。图8示出了能压缩/解压缩高速缓存行信息价值的高速缓存的标签阵列条目的一个实施例。图9是示出高速缓存控制器的一个实施例的框图。图10示出了能压缩/解压缩高速缓存行信息价值的高速缓存中的组和通路选择机制的一个实施例。图11示出了字节选择逻辑的一个实施例。具体实施例方式高速缓存行信息价值的压缩为清楚起见,高速缓存行是高速缓存中存储空间的基本单元。例如,在许多应用中,唯一的标签和设定地址用于特定地标识计算系统的高速缓存内的单个高速缓存行。因此,高速缓存行由特定的电路元件(例如,SRAM单元)实现。相反,“高速缓存行信息价值”或“信息线”是可填充高速缓存行的信息量(例如,数据元素或指令)。这里,回顾图2的讨论,“块”105处存储的信息量对应于高速缓存行信息价值,因为块105的内容填充高速缓存行107。图3a呈现了根据空间局部性概念扩展的一种方法,以将正常地占据一对高速缓存行(即,一对高速缓存行信息价值的信息被压缩入单个高速缓存行)的一对对准的系统存储器304的块305和309压缩入单个高速缓存行307。图3a也示出了第二实例,其中正常地占据一对高速缓存行的另一对对准的存储器块306和310的内容被压缩在一起以占据第二单个高速缓存行308。压缩是减小表达信息所需的数据量(诸如指令或数据元素)而不影响消息本身的实质内容(即不消除取回用于表示该指令或数据元素本文档来自技高网...
【技术保护点】
一种存储器控制器,包括压缩映象高速缓存,所述压缩映象高速缓存用于存储标识已与另一高速缓存行信息价值一起被压缩的高速缓存行信息价值的信息。
【技术特征摘要】
【国外来华专利技术】US 2003-12-31 10/750,7151.一种存储器控制器,包括压缩映象高速缓存,所述压缩映象高速缓存用于存储标识已与另一高速缓存行信息价值一起被压缩的高...
【专利技术属性】
技术研发人员:CJ纽波恩,R胡佳哈利,HH胡姆,AR艾德尔塔巴塔拜,AM古鲁姆,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。