[发明专利]一种优化存储器性能的方法无效
| 申请号: | 200610148398.9 | 申请日: | 2006-12-30 |
| 公开(公告)号: | CN101211346A | 公开(公告)日: | 2008-07-02 |
| 发明(设计)人: | 钱伟中;陈勇 | 申请(专利权)人: | 上海意渊信息科技有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 上海三和万国知识产权代理事务所 | 代理人: | 蔡海淳;包于俊 |
| 地址: | 201108上海市闵*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 优化 存储器 性能 方法 | ||
技术领域
本发明涉及存储技术,特别涉及一种对存储器性能进行优化的方法。
背景技术
众所周知,在计算机核心设备中,内存的数据处理速度远远慢于中央处理器的数据处理速度,通常动态随机存取存储器DRAM(不管是SDRAM还是最新的DDR II或者高性能的RAMBUS)的时钟周期相当于高频CPU时钟周期的几倍到十几倍。在未来,内存与中央处理器性能不匹配的矛盾还会更加尖锐。导致这种失衡的根源是内存的处理时延,将指令流加载到内存中后等待第一个16位字输出的时间有可能长到足以导致处理器内核的时钟周期停止。然而,只要第一个字被输出了,输出后面的字就很迅速,这被称作“突发模式效应”。
诸如Intel 486之类的微处理器内都集成有高速缓冲存储器(Cache),有的甚至集成了多级高速缓冲存储器。高速缓冲存储器是一种位于CPU与主存之间的存储器,其特点是容量小但是存取速度快,通常由静态存储器SRAM组成。高速缓冲存储器的工作原理是将CPU最常用数据保存其中,当高速缓冲存储器中保存了CPU要读写的数据时,CPU直接访问高速缓冲存储器即可。由于高速缓冲存储器的速度与CPU相当,因此CPU就能在零等待状态下迅速地实现数据的存取。只有在高速缓冲存储器中不含有CPU所需的数据时,CPU才去访问主存。高速缓冲存储器在CPU的读取期间依照优化命中原则淘汰和更新数据。借助于高速缓冲存储器,可以高效地完成DRAM内存和CPU之间的速度匹配。
在现有技术中,对高速缓冲存储器内数据的搜索基于树形检索的方法,具体而言,在决策树的搜索过程中,例如二叉树,随着树被遍历,到达一个决策节点,就访问了相应的树节点的一个子集。该过程一直持续到包含有所需数据的叶子节点被找到为止。在每个树节点的访问过程中,仅有部分数据被读取。在现有技术的树形检索中,每个树节点里采用间接指针指向双亲和孩子节点,并且树的节点分布在整个地址空间里。但是,这种方法至少有两个不足:首先,不管是决策节点还是叶子节点,都散布在整个地址空间里,使得随机地址访问量大大的增加,因此如果地址在内存底部或者不存在,则导致CPU长时间地等待。其次是节点的间接指针占用了一定的容量。
发明内容
本发明的一个目的是提供一种对存储器内数据的存储进行优化的方法,其可以克服上述基于树形检索方法存在的缺点。
本发明的上述目的通过下列技术方案实现:将哈希表与树形检索结合起来,根据高速缓存的数据单元将二叉树数据结构划分为相应大小的子树,利用哈希函数初始化一个哈希表,将表的入口与二叉树的子树(即二叉树的一部分)相关联。每个子树至少有一个决策节点和一个叶子节点,每个子树都存储在自有的相邻内存地址段内,决策节点和叶子节点根据在二叉树中的位置分别存储在相应的内存地址段。同时,在执行数据表查找时引入了路由器表查找常用的最长前缀匹配法LPM(Longest Prefix Match)。
本发明在不改变内存物理材料的情况下,提出了用可避免地址冲突的与主存中树形检索相关联的哈希表结构来代替原来内存的数据结构的方法。
本发明的有益技术效果是:利用哈希表最优化算法只需要利用高级语言、汇编语言或者机器语言重新规划更改内存数据结构,提高内存的读取速度,与高速缓存之间建立比较接近的速度匹配,可以应用于大型机、小型机以及路由器等内存配置,不需要改变现有硬件结构,降低投资成本。
附图简述
图1为按照本发明方法的一个实施例的流程图。
具体实施方式
二叉搜索树被保存在内存中,搜索树被划分成子树,每个子树的大小相同,一个子树至少由一个决策节点和叶子节点组成,但决策节点和叶子节点分别保存在两个独立的连续存储空间。保存在内存中的子树通过一个突发的存储存取步骤由存储数据总线传送到高速缓存中,子树的大小(即树中节点的数目)由内存中一次能载入的以并行比特方式传输的数据的最小数目(或被称为内存存取粒度Memory Access Granularity)确定。计算子树大小(所包含节点数目)的公式如下:
具体步骤如图1所示。
在步骤11中,选择把虚拟内存地址映射到实际内存地址的哈希函数,虚拟内存地址作为关键字key,令哈希函数为H(key)=keyMOD p(p<=m),表示取关键字key被某个不大于哈希表表长m的数p除后所得余数为内存的哈希表地址,初始化哈希表为空。
接着,在步骤12中,从输入到内存的数据表中删除表入口指针,并将入口指针插入到哈希表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海意渊信息科技有限公司,未经上海意渊信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610148398.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:纱线检测器
- 下一篇:含有杂化单体的牙科组合物





