[发明专利]高速缓冲存储器Cache地址的映射处理方法和装置有效
申请号: | 201410080762.7 | 申请日: | 2014-03-06 |
公开(公告)号: | CN104899159B | 公开(公告)日: | 2019-07-23 |
发明(设计)人: | 崔泽汉;陈荔城;陈明宇 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F12/0882 | 分类号: | G06F12/0882 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳;王庆龙 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高速 缓冲存储器 cache 地址 映射 处理 方法 装置 | ||
本发明实施例提供一种高速缓冲存储器Cache地址的映射处理方法和装置。该方法实施例包括获取处理核发送的访问地址所对应的物理地址,物理地址包括物理页面号PPN和页偏移;将物理地址映射成Cache地址,Cache地址依次包括Cache Set Index1、Cache Tag、Cache Set Index2,以及CacheBlock Offset;其中,位于高位的Cache Set Index1和位于低位的Cache SetIndex2共同组成Cache Set Index,且Cache Set Index1位于PPN的覆盖范围内。本发明各实施例通过将大页面PPN的某些位映射到Cache的Set Index中,因此可以被操作系统用来着色,满足同时使用大页面技术和页着色划分Cache技术的需求,并获得大页面和页着色划分Cache的性能提升。
技术领域
本发明实施例涉及数据存储技术,尤其涉及一种高速缓冲存储器Cache地址的映射处理方法和装置。
背景技术
随着数据集的增大和处理器核数的增多,页表缓冲(Translation LookasideBuffer;简称TLB)和高速缓冲存储器(Cache)面临着更严峻的挑战。TLB竞争问题:在多数体系结构中,每次访存都需要先查询页表,把虚拟地址转换为物理地址,然后用物理地址索引Cache。页表通常很大,分级存储在内存中。TLB作为页表的缓冲,缓存少量经常使用的页表项,存储在离CPU核很近的位置,这样如果要查询的虚实映射关系存储在TLB中,即TLB访问命中(Hit),可以大大加速虚实地址转换过程。但是如果TLB经常访问缺失(Miss),仍然需要到内存中分多级查找页表得到对应的页表项,需要经历很长的访问延迟。随着大数据时代数据集的不断增大,这种TLB的竞争只会越来越激烈,从而导致更大比例的TLB miss,严重影响性能。Cache竞争问题:在大多数的多核体系结构中,最后一级Cache(Last LevelCache;简称LLC)为多核所共享,这样核与核之间就会对LLC产生竞争,导致进程之间相互替换cache,使cache利用率下降。特别是,有些程序的局部性比较差,但是访问频繁、工作集很大,这样就会占用较多的LLC容量,从而严重影响其他进程的性能。随着核数的增多,LLC的竞争问题会越来越严重。
现有技术中一般通过大页面(Huge Page)和页着色划分Cache(Page-Coloringbased Cache Partition)技术进行性能优化。其中,进程需要的页表项数为工作集大小/页面大小,进程的工作集随着应用需求会不断增大,这时候增大页面大小,可以显著的减少进程所需要的页表项数。比如,普通页面为4KB,使用2MB的大页面,可以把进程需要的页表项数降低512倍,大大减轻TLB的竞争压力,减少TLB Miss,从而提高性能。
一种减少LLC竞争的方法是,静态或动态的把LLC划分给不同的核(进程),使之相互隔离,不产生竞争,这种技术称为划分cache(Cache Partition)。页着色(page-coloring)是一种软件实现划分cache的方法,具有易于使用、不需要修改硬件的优点。图1为现有技术页着色划分Cache的原理示意图,如图1所示,图1显示了页着色划分Cache的原理。从操作系统的角度,物理地址PA可以分为两部分:物理页面号(Physical Page Number;PPN)和页偏移(Page Offset);从Cache的角度,物理地址(Physical Address;简称PA)可以分为三部分:高速缓冲存储器标签(Cache Tag)、高速缓冲存储器集合索引(Cache SetIndex)和高速缓冲存储器块偏移(Cache Block Offset)。其中操作系统可以控制PPN,但是不能控制Page Offset,假设Page Offset的位数为N,则2N即为页面大小。PPN和Cache SetIndex的交集称为着色位(color bits)。操作系统通过控制PPN(即控制着色位),可以使地址映射到指定的Cache Set中。这样,给不同的进程分配不同的着色位,即可以使其映射到不同的Cache Set中,从而实现相互隔离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410080762.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便携式表面粗糙度观察教学装置
- 下一篇:一种思想政治教学使用的展示装置