[发明专利]片上硬件数据库的高速缓冲器支持实现方法无效
申请号: | 200910097146.1 | 申请日: | 2009-03-23 |
公开(公告)号: | CN101515295A | 公开(公告)日: | 2009-08-26 |
发明(设计)人: | 陈天洲;蒋冠军;王超;缪良华;汪达舟 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/08 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 数据库 高速 缓冲器 支持 实现 方法 | ||
1.一种片上硬件数据库的高速缓冲器支持实现方法,其特征在于:
1)在数据库处理器核和内存之间设置高速缓冲器:
高速缓冲器是连接片上硬件数据库处理器核和内存的桥梁,它被设置在片上硬件数据库处理器核和内存之间,具有比内存快的存取速度,能够匹配片上硬件数据库的数据库处理器核的数据处理速度,同时高速缓冲器与内存的连接具有比高速缓冲器与数据库处理器核的连接更大的带宽,片上硬件数据库处理器核和内存之间的所有数据交换要通过高速缓冲器;
2)缓冲器控制器内部设置两个循环队列:
控制器的内部具有两个循环队列,这两个队列分别是命令队列和数据缓冲队列,命令队列中存放的是数据库的操作命令,数据缓冲队列中存放的是相应命令的数据地址,这两个队列具有相同的单元数;
3)缓冲器控制器控制高速缓冲器工作:
高速缓冲器只是一个数据存储的部件,缓冲器控制器是高速缓冲器的控制部件,它控制高速缓冲器和数据库处理器核、高速缓冲器和内存的数据交换,它接受数据库处理器核的内存存取请求,并且通过自己的控制逻辑输出控制信号到高速缓冲器、内存和数据库处理器核来控制三者之间的数据交换;
4)数据库处理器核的工作流程:
整个片上硬件数据库的工作,就需要改变数据库处理器核原本的请求数据,处理数据和写回数据的方式,在添加高速缓冲器以后需要和高速缓冲器协同工作,就具有新的工作流程;
数据库处理器核总的完成以下工作流程:
第一步:数据库处理器核等待通用处理器发来的数据库操作命令,当没有命令传送的时候,跳转到第三步,否则进入第二步;
第二步:数据库处理器核翻译数据库操作命令并且执行,如果该命令所需要的数据不在缓冲区中,那么把当前指令的程序计数器值PC和相应的地址送入缓冲器控制器的命令队列CQ和数据缓冲队列DBQ;
第三步:检查标识高速缓冲器数据就绪的EMPTY信号,确定所需要数据是否已在高速缓冲器中就绪,如果没有,那么跳转到第一步,否则进入第四步;
第四步:数据库处理器核执行CQ队首的指令,该指令的数据已经被缓存在高速缓冲器当中,数据库处理器核对高速缓冲器的数据访问通过缓冲器控制器中的地址管理单元AMU完成,当数据库处理器核有写内存操作的时候,状态的存储模块DEAL中的相应标志会被置位,当高速缓冲器中一个数据块的数据被处理结束以后,跳转到第三步;
5)缓冲器控制器的工作流程:
缓冲器控制器需要协同数据库处理器核、高速缓冲器和内存的正常工作,因此它的工作具有复杂的过程性,这个过程能够有效的协同数据库处理器核完成对内存的数据请求,将所需要的数据从内存缓存到高速缓冲器或者从高速缓冲器中写入内存,缓冲器控制器内部具有许多不同部件,这些部件记录整个系统的状态信息,使得缓冲器控制器的工作可以准确完成;
缓冲器控制器包含地址管理单元AMU,数据缓冲队列DBQ,命令队列CQ,DEAL模块,SREG寄存器和EREG寄存器部件;它的工作过程如下:
第一步:如果数据缓冲队列DBQ是空的,则重复判断该数据缓冲队列是否为空,直到非空为止;
第二步:根据数据缓冲队列DBQ中的内容缓存内存中的数据到高速缓冲器中并且设置EMPTY信号,设置DEAL模块和地址管理单元AMU中相应内容,设置EREG寄存器的值加1;
第三步:比较EREG寄存器和SREG寄存器中的值,如果两者不相等,那么跳转到第五步;
第四步:如果进入到这一步,就说明高速缓冲器满了,这个时候需要把高速缓冲器中已经处理的数据写回到内存;这一步判断DEAL模块中被SREG寄存器所指向内容的值,如果标记为数据未被处理,则等待数据被处理,重复判断DEAL模块中被SREG寄存器所指向内容的值,直到数据被标记为处理为止;
第五步:判断DEAL模块中被SREG寄存器所指向内容的值,如果标记为数据未被处理,跳转到第一步;
第六步:根据DEAL模块的标识,换出高速缓冲器中的数据,在换出的过程中,如果DEAL模块标识了数据被修改,那么修改过的数据需要被写回内存,否则直接丢弃未修改的数据;设置EREG寄存器的值加1;
第七步:比较SREG寄存器和EREG寄存器的值,如果不相等,那么跳转到第五步;
第八步:设置EMPTY信号,表示此时高速缓冲器空,跳转到第一步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910097146.1/1.html,转载请声明来源钻瓜专利网。