[发明专利]一种高速缓存的映射方法有效
申请号: | 200910077259.5 | 申请日: | 2009-01-21 |
公开(公告)号: | CN101551783A | 公开(公告)日: | 2009-10-07 |
发明(设计)人: | 史岩 | 申请(专利权)人: | 北京海尔集成电路设计有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100088北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高速缓存 映射 方法 | ||
技术领域
本发明涉及一种计算机系统中高速缓存的映射方法,具体涉及的是一种固定部分高速缓存的内容的映射方法。
背景技术
在现代计算机技术中,中央处理器CPU一般不再直接读写外部数据,而是通过高速缓存作为交换媒介来完成外部读写操作,这样可以大幅提高读写速度。高速缓存Cache作为一种交换媒介,具有如下特点:第一、速度快,CPU对其读写速度可以达到对普通外部存储设备的几倍甚至几十倍;第二、价格高,其单位存贮容量的价格远高于各种外部存储设备;第三,容量小,由于受到系统的经济成本及现有技术水平的限制,在一般的计算机系统中,高速缓存的容量远小于系统的外部存储器。通常,当CPU需要从外存读写数据时,首先检查该数据是否在高速缓存中,若检查结果指示该数据在高速缓存中,则CPU直接读写缓存中的数据;若该数据不在高速缓存中,一般会选择以下两种方法完成读写操作:其一,CPU直接读写外部存储器,这样做并不改变外存和高速缓存的映射关系;其二,将待读写外部存储器中的内容映射到缓存中,同时,由于缓存容量有限,还须将缓存中的部分其他数据写入到内存,这种方法会改变外存和高速缓存的映射关系。
为了提高系统的工作效率,需要将较为常用的外存映射到高速缓存上,现有技术中的映射方法主要有两种:第一、全部自动控制,由系统自己决定要映射的内容,该方法的优点是适应性强,不需要人工控制,但也导致程序员无法对于系统进行干预,在某些特殊场合无法使系统达到最大效率;第二、手工指定映射地址,这种办法可以实现程序对映射的精确控制,但是由于需要使用绝对地址,故使程序的编写变得非常繁杂。因此,现有技术中的高速缓存的映射方法属于全自动和手动两种极端的方式,均存在一定的局限性。
发明内容
针对现有技术中的上述问题,本发明提出了一种介于全自动和手动之间的高速缓存映射方法。
根据本发明,提供了一种高速缓存的映射方法,该方法包括下述步骤:根据程序要求,将部分高速缓存划分为固定缓存,用于映射程序执行中连续需要的数据;在程序中设置标志,作为启用所述固定缓存的指示;设置所述固定缓存的内容,若程序运行到启用所述固定缓存的指示,则解析下条指令起所需的数据的位置,当所述固定缓存中无所述下条指令起所需的数据时,将外存中的数据映射到所述固定缓存;执行当前指令,从固定缓存中读取所述的下条指令起所需数据;以及,CPU发出特定的清空指令,释放所述固定缓存的内容。
优选的,若所述解析下条指令起所需的数据的位置表明,所述下条指令起所需数据存在于普通缓存,则将普通缓存中的数据写入到外存,并清空此普通缓存相应位置。
优选的,设置所述固定缓存的内容包括下述步骤:若所述下条指令为终止命令或所述固定缓存已满,则正常运行其他程序。
优选的,所述作为启用固定缓存的指示的标志设置在运行运算量大、耗时长的代码前。
优选的,所述高速缓存的划分在程序运行时进行。
由于本发明对高速缓存进行了划分,引入了固定缓存,当运行运算量大、耗时长的代码时启用固定缓存,其内容可以相对稳定,减少了CPU对外存的访问次数,提高了系统效率。
附图说明
下文将参照附图对本发明的具体实施方案进行更详细的举例说明,其中:
图1是本发明的系统结构图;
图2是本发明的设置固定缓存的流程图。
具体实施方式
图1是本发明的系统结构图。如图所示,与普通系统不同的是,本发明所涉系统中的高速缓存分为两个部分:一部分为固定缓存,其内容相对而言是固定的,除非CPU发出特定的清空指令,否则该部分高速缓存的内容不会发生变化,不能被替代;另一部分为普通缓存,其内容相对而言是频繁变化的。固定缓存和普通缓存的大小可以在程序运行时,根据待执行程序的情况动态进行划分。
一般情况下,当程序员判定即将运行的程序是一个运算量大、耗时长的代码时,可以综合考虑高速缓存的容量、该代码的尺寸等情况启动本发明的方法,即将高速缓存进行划分,开辟出固定缓存,将待执行的代码中常用的数据映射到该区域,以减少CPU对外存的访问次数,缩小程序的运行时间,提高处理速度。待这段代码运行完毕后,CPU发出特定指令,全部或部分清空固定缓存中的数据,释放相应的固定缓存。
图2是本发明的设置固定缓存的流程图。本实施例中设置了一个寄存器作为标志,指示系统启用固定缓存,并完成填充固定缓存内容的操作。如图所示,当系统运行到程序设置的该标志时,依次完成如下步骤:
1、解析下条指令,确定所需数据位置;
2、判断指令是否为结束标志,如是,则结束此过程,正常运行其他程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京海尔集成电路设计有限公司,未经北京海尔集成电路设计有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910077259.5/2.html,转载请声明来源钻瓜专利网。