数据处理方法及装置的制作方法

文档序号:6368923阅读:147来源:国知局
专利名称:数据处理方法及装置的制作方法
技术领域
本发明涉及计算机系统领域,特别涉及ー种数据处理方法及装置。
背景技术
Cache (高速缓冲存储器),是现代计算机存储系统中最基本最重要的组成部分,其主要作用是缓解 高速的处理器和低速的外部存储器之间的性能差异,避免处理器因为等待内存数据而影响性能。对Cache的读写存储有命中和不命中两种情况,如果需要读写的数据存在于Cache中,称为命中,此时读写Cache速度较快,反之,称为不命中,此时,需要从外部存储器中调出相应的数据块。现代Cache控制器的基本设计思想是,由上层命令接ロ发布读写命令,Cache控制器首先检查此命令的地址所对应的数据是否缓存在Cache存储器中,如果命中,则直接在Cache存储器中完成读写操作;如果未命中,则需要暂时阻塞此命令,井向外存发起读命令,然后将外存中读取的数据写入Cache存储器中,再重新调用此前被阻塞的上层命令,从而完成数据读写。然而,采用该种技术,在操作命令未命中Cache控制器中Cache存储器的情况下,对于Cache存储器的仲裁申请次数和读写次数较多,造成了对于Cache存储器的操作延时和操作占用带宽较大的问题。

发明内容
本发明实施提供ー种数据处理方法及装置,在操作命令未命中Cache控制器中Cache存储器的情况下,降低了对于Cache存储器的操作延时和操作带宽。本发明实施例采用的技术方案为ー种数据处理方法,包括接收操作命令,所述操作命令中包括待操作数据的存储地址;根据所述存储地址在Cache控制器中的Cache存储器捜索所述待操作数据,当在所述Cache存储器中未捜索到所述待操作数据时,将所述操作命令存储在所述Cache控制器中的未命中命令缓冲区中;向外存发送读取命令后,将所述外存发送的数据存储在所述Cache控制器的数据缓冲区中,所述数据与所述操作命令对应;根据所述未命中命令缓冲区中存储的与所述数据对应的操作命令,处理所述外存发送的数据。ー种数据处理装置,包括接收单元,用于接收操作命令,所述操作命令中包括待操作数据的存储地址;搜索单元,用于根据所述存储地址搜索所述待操作数据,当未捜索到所述待操作数据时,将所述操作命令存储;
存储单元,用于向外存发送读取命令后,将所述外存发送的数据存储,所述数据与所述操作命令对应;处理单元,用于根据所述存储単元存储的与所述数据对应的操作命令,处理所述外存发送的数据。本发明实施例提供的数据处理方法及装置,首先接收操作命令,然后根据所述存储地址在Cache控制器中的Cache存储器捜索所述待操作数据,当在所述Cache存储器中未捜索到所述待操作数据时,将所述操作命令存储在所述Cache控制器中的未命中命令缓冲区中,再向外存发送读取命令后,将所述外存发送的数据存储在所述Cache控制器的数据缓冲区中,最后根据所述未命中命令,处理所述从外存获取的数据和所述未命中命令携带的数据。现有技术在处理操作命令未命中Cache控制器中Cache存储器的情况时,对于Ca che存储器的仲裁申请次数和读写次数较多,造成了对于Cache存储器的操作延时和操 作带宽较大,本发明实施例在处理操作命令未命中Cache存储器的情况时,通过对于需要写入的数据进行合并,或者对于需要读出的数据直接输出,降低了对于Cache存储器的操作延时和操作占用的带宽。提升了 Cache存储器的工作性能。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的ー些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图I为本发明实施例一提供的ー种数据处理方法流程图;图2为本发明实施例一提供的ー种数据处理装置结构示意图;图3为本发明实施例ニ提供的ー种数据处理方法流程图;图4为本发明实施例ニ提供的ー种数据处理装置结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。实施例一本实施例提供ー种数据处理方法,如图I所示,所述方法包括步骤101、接收操作命令,所述操作命令中包括待操作数据的存储地址。其中,所述操作命令可以为读操作命令,也可以为写操作命令。步骤102、根据所述存储地址在Cache控制器中的Cache存储器中捜索所述待操作数据,当在所述Cache存储器中未捜索到所述待操作数据时,将所述操作命令存储在所述Cache控制器中的未命中命令缓冲区中。
可替换地,当上层操作命令命中了 Cache控制器吋,即Cache控制器中存储了所述命令需要的数据时,直接对Cache控制器进行读写操作。步骤103、向外存发送读命令后,将所述外存发送的数据存储在所述Cache控制器的数据缓冲区中,所述外存发送的数据与所述操作命令对应。步骤104、根据所述未命中命令缓冲区中存储的与所述外存发送的数据对应的操作命令,处理所述外存发送的数据。本实施例提供ー种数据处理装置装置,如图2所示,所述装置的实体可以为Cache控制器,所述装置包括接收单元21、搜索单元22、存储单元23、处理单元24。接收单元21,用于接收操作命令,所述操作命令中包括待操作数据的存储地址。 搜索单元22,用于根据所述接收単元21接收的存储地址捜索所述待操作数据,当未捜索到所述待操作数据时,将所述操作命令存储。存储单元23,用于向外存发送读取命令后,将所述外存发送的数据存储,所述数据与所述操作命令对应。处理单元24,用于根据所述存储単元23存储的与所述外存发送的数据对应的操作命令,处理所述外存发送的数据。本发明实施例提供的数据处理方法及装置,首先接收操作命令,然后根据所述存储地址在Cache控制器中的Cache存储器捜索所述待操作数据,当在所述Cache存储器中未捜索到所述待操作数据时,将所述操作命令存储在所述Cache控制器中的未命中命令缓冲区中,再向外存发送读取命令后,将所述外存发送的数据存储在所述Cache控制器的数据缓冲区中,最后根据所述未命中命令,处理所述从外存获取的数据和所述未命中命令携带的数据。现有技术在处理操作命令未命中Cache控制器中Cache存储器的情况时,对于Cache存储器的仲裁申请次数和读写次数较多,造成了对于Cache存储器的操作延时和操作带宽较大,本发明实施例在处理操作命令未命中Cache存储器的情况时,通过对于需要写入的数据进行合并,或者对于需要读出的数据直接输出,降低了对于Cache存储器的操作延时和操作占用的带宽。提升了 Cache存储器的工作性能。实施例ニ本实施例提供ー种数据处理方法,如图3所示,所述方法包括步骤301、接收操作命令,所述操作命令中包括待操作数据的存储地址。步骤302、根据所述存储地址在Cache控制器中的Cache存储器捜索所述待操作数据,当在所述Cache存储器中未捜索到所述待操作数据时,将所述操作命令存储在所述Cache控制器中的未命中命令缓冲区中。可替换地,当上层操作命令命中了 Cache控制器吋,即Cache控制器中存储了所述命令需要的数据时,直接对Cache控制器进行读写操作。步骤303、向外存发送读取命令后,将所述外存发送的数据存储在所述Cache控制器的数据缓冲区中,所述数据与所述操作命令对应。步骤304a、当所述操作命令为写命令时,合并所述写命令中携帯的数据和所述存储在所述数据缓冲区中的所述外存发送的数据。步骤305a、将所述合并后的数据存储在所述Cache存储器中。对于操作命令为写命令时,现有技术是将写命令携帯的写数据和从外存读取的数据分别写入Cache中,需要进行两次写操作。而本发明改进点在于在进行写操作前先把写命令携帯的写数据和从外存读取的数据先进行合并后再存储,从而減少了对于Cache存储器的写次数。步骤304b、当所述操作命令为读命令时,根据所述读命令中携帯的待操作数据的存储地址,从所述数据缓冲区存储的所述外存发送的数据中获取所述读命令需要读取的数据。步骤305b、将所述需要读取的数据输出,并将所述需要读取的数据存储在所述Cache存储器中。
在现有方案中,读写命令未命中Cache控制器中的Cache存储器时,需要由Cache控制器中的输入命令缓冲区,数据缓冲区,未命中命令缓冲区三个端ロ依次向Cache存储器发起命令请求。本发明实施例中,在读写命令未命中Cache控制器中的Cache存储器吋,只需要Cache控制器中的输入数据缓冲区和数据缓冲区两个端ロ向Cache存储器发起命令请求,減少了 Cache存储器带宽的占用。对于未命中的读命令,由于读数据直接数据缓冲区中取出后输出,从而进ー步减少了读命令所需的延吋。本实施例提供ー种数据处理装置,如图4所示,所述装置的实体可以为Cache控制器,所述装置包括接收单元41、搜索单元42、存储单元43、处理单元44。接收单元41,用于接收操作命令,所述操作命令中包括待操作数据的存储地址。搜索单元42,用于根据所述接收単元41接收的存储地址捜索所述待操作数据,当未捜索到所述待操作数据时,将所述操作命令存储。存储单元43,用于向外存发送读取命令后,将所述外存发送的数据存储,所述数据与所述操作命令对应。处理单元44,用于根据所述存储単元43存储的与所述外存发送的数据对应的操作命令,处理所述外存发送的数据。所述处理単元44可以包括合并模块4401、存储模块4402。合并模块4401,用于当所述操作命令为写命令时,合并所述写命令中携帯的数据和所述存储单元存储所述外存发送的数据。存储模块4402,用于将所述合并模块4401合并后的数据存储。所述处理単元44还可以包括获取模块4403、输出模块4404。获取模块4403,用于当所述操作命令为读命令时,根据所述读命令中携帯的待操作数据的存储地址,从所述外存发送的数据中获取所述读命令需要读取的数据。输出模块4404,用于将所述需要读取的数据输出,并将所述需要读取的数据存储。本发明实施例提供的数据处理方法及装置,首先接收操作命令,然后根据所述存储地址在Cache控制器中的Cache存储器捜索所述待操作数据,当在所述Cache存储器中未捜索到所述待操作数据时,将所述操作命令存储在所述Cache控制器中的未命中命令缓冲区中,再向外存发送读取命令后,将所述外存发送的数据存储在所述Cache控制器的数据缓冲区中,最后根据所述未命中命令,处理所述从外存获取的数据和所述未命中命令携带的数据。现有技术在处理操作命令未命中Cache控制器中Cache存储器的情况时,对于Cache存储器的仲裁申请次数和读写次数较多,造成了对于Cache存储器的操作延时和操作带宽较大,本发明实施例在处理操作命令未命中Cache存储器的情况时,通过对于需要写入的数据进行合井,或者对于需要读出的数据直接输出,降低了对于Cache存储器的操作延时和操作占用的带宽。提升了 Cache存储器的工作性能。本发明实施例提供的数据处理装置可以实现上述提供的方法实施例,具体功能实现请參见方法实施例中的说明,在此不再赘述。本发明实施例提供的数据处理方法及装置可以适用于计算机系统领域,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.ー种数据处理方法,其特征在于,包括 接收操作命令,所述操作命令中包括待操作数据的存储地址; 根据所述存储地址在Cache控制器中的Cache存储器捜索所述待操作数据,当在所述Cache存储器中未捜索到所述待操作数据时,将所述操作命令存储在所述Cache控制器中的未命中命令缓冲区中; 向外存发送读命令后,将所述外存发送的数据存储在所述Cache控制器的数据缓冲区中,所述外存发送的数据与所述操作命令对应; 根据所述未命中命令缓冲区中存储的与所述外存发送的数据对应的操作命令,处理所述外存发送的数据。
2.根据权利要求I所述的数据处理方法,其特征在于,根据所述未命中命令缓冲区中存储的与所述数据对应的操作命令,处理所述外存发送的数据包括 当所述操作命令为写命令时,合并所述写命令中携帯的数据和所述存储在所述数据缓冲区中的所述外存发送的数据; 将所述合并后的数据存储在所述Cache存储器中。
3.根据权利要求I所述的数据处理方法,其特征在于,所述根据所述未命中命令缓冲区中存储的与所述数据对应的操作命令,处理所述外存发送的数据包括 当所述操作命令为读命令时,根据所述读命令中携帯的待操作数据的存储地址,从所述数据缓冲区存储的所述外存发送的数据中获取所述读命令需要读取的数据; 将所述需要读取的数据输出,并将所述需要读取的数据存储在所述Cache存储器中。
4.ー种数据处理装置,其特征在于,包括 接收单元,用于接收操作命令,所述操作命令中包括待操作数据的存储地址; 搜索单元,用于根据所述接收単元接收的存储地址捜索所述待操作数据,当未捜索到所述待操作数据时,将所述操作命令存储; 存储单元,用于向外存发送读取命令后,将所述外存发送的数据存储,所述数据与所述操作命令对应; 处理单元,用于根据所述存储単元存储的与所述外存发送的数据对应的操作命令,处理所述外存发送的数据。
5.根据权利要求4所述的数据处理装置,其特征在于,所述处理単元包括 合并模块,用于当所述操作命令为写命令时,合并所述写命令中携帯的数据和所述存储单元存储的所述外存发送的数据; 存储模块,用于将所述合并模块合并后的数据存储。
6.根据权利要求4所述的未命中Cache的处理装置,其特征在于,所述处理単元包括 获取模块,用于当所述操作命令为读命令时,根据所述读命令中携帯的待操作数据的存储地址,从所述外存发送的数据中获取所述读命令需要读取的数据; 输出模块,用于将所述需要读取的数据输出,并将所述需要读取的数据存储。
全文摘要
本发明实施例公开了一种数据处理方法及装置,解决了在操作命令未命中Cache控制器中Cache存储器的情况下,对于Cache存储器的操作延时和操作占用带宽较大的问题。所述方法包括首先接收操作命令,然后根据所述存储地址在Cache控制器中的Cache存储器搜索所述待操作数据,当在所述Cache存储器中未搜索到所述待操作数据时,将所述操作命令存储在所述Cache控制器中的未命中命令缓冲区中,再向外存发送读取命令后,将所述外存发送的数据存储在所述Cache控制器的数据缓冲区中,最后根据所述未命中命令,处理所述从外存获取的数据和所述未命中命令携带的数据。本发明适用于计算机系统领域。
文档编号G06F12/08GK102646073SQ20121013306
公开日2012年8月22日 申请日期2012年4月28日 优先权日2012年4月28日
发明者李涛, 程永波, 贺成洪 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1