发明内容
本发明实施例提供一种数据处理的方法,可以通过相等比较器来确定读请求所请求的数据段是否在写请求队列中,从而降低了开销,提高了比较速度。本发明实施例还提供了相应的装置。
本发明第一方面提供一种数据处理的方法,包括:
根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述数据段的掩码;
按照预置的与所述数据段的地址和掩码关联的等式检测关系,从写请求队列中检测所述数据段;
当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段。
结合第一方面,在第一种可能的实现方式中,所述按照预置的与所述数据段的地址和掩码关联的等式检测关系,从写请求队列中检测所述数据段,包括:
获取写请求队列中每个写请求对应的所要写入的数据段的起始地址和掩码;
通过不同的相等比较器,分别确定如下等式关系是否成立:
addr1&mask1&mask2==addr2&mask1&mask2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址,mask1为所述读请求所请求读取的数据段的掩码,mask2为所述任一写请求所对应的所要写入的数据段的掩码。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,当所述等式关系成立时,所述当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段,包括:
停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的所有写请求及对应的数据段。
结合第一方面第一种可能的实现方式,在第三种可能的实现方式中,当所述等式关系成立时,所述方法还包括:
根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;
根据所述任一写请求所对应的所要写入的数据段的起始地址和数据段长度,计算所述任一写请求所对应的所要写入的数据段的结束地址;
确定下列与关系式是否为真;
addr1<E2&&E1>addr2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址、E1为所述读请求所请求读取的数据段的结束地址、E2为写请求队列中任一写请求所对应的所要写入的数据段的结束地址。
结合第一方面第三种可能的实现方式,在第四种可能的实现方式中,当所述与关系式为真时,所述当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段,包括:
停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的所有写请求对应的数据段。
结合第一方面、第一方面第一种或第二种可能的实现方式,在第五种可能的实现方式中,所述根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段的掩码,包括:
根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;
将所述读请求所请求读取的数据段的起始地址和结束地址按位异或,得到一个位向量;
找到所述位向量中从高位到低位顺序排列的第一个1,将从这一位开始的更高位都填1,这一位及比这一位更低的位都填0,得到所述读请求所请求读取的数据段的掩码。
本发明第二方面提供一种数据处理装置,包括:
计算单元,用于根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述数据段的掩码;
检测单元,用于按照预置的与所述数据段的地址和所述计算单元计算出的掩码关联的等式检测关系,从写请求队列中检测所述数据段;
处理单元,用于当所述检测单元检测出所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段。
结合第二方面,在第一种可能的实现方式中,所述检测单元包括:
获取子单元,用于获取写请求队列中每个写请求对应的所要写入的数据段的起始地址和掩码;
输入子单元,用于输入所述获取子单元获取的所要写入的数据段的起始地址和掩码,以及所述读请求所请求读取的数据段的起始地址和掩码;
等式比较子单元,用于在所述输入子单元输入所述所要写入的数据段的起始地址和掩码,以及所述读请求所请求读取的数据段的起始地址和掩码后,做等式比较,确定如下等式关系是否成立:
addr1&mask1&mask2==addr2&mask1&mask2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址,mask1为所述读请求所请求读取的数据段的掩码,mask2为所述任一写请求所对应的所要写入的数据段的掩码。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,当所述等式关系成立时,
所述处理单元,用于停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的所有写请求及对应的数据段。
结合第二方面第一种可能的实现方式,在第三种可能的实现方式中,当所述等式关系成立时,
所述计算单元,还用于根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;根据所述任一写请求所对应的所要写入的数据段的起始地址和数据段长度,计算所述任一写请求所对应的所要写入的数据段的结束地址;
所述装置还包括:
确定单元,用于确定下列与关系式是否为真;
addr1<E2&&E1>addr2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址、E1为所述读请求所请求读取的数据段的结束地址、E2为写请求队列中任一写请求所对应的所要写入的数据段的结束地址。
结合第二方面第三种可能的实现方式,在第四种可能的实现方式中,当所述与关系式为真时,
所述处理单元,用于停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的所有写请求对应的数据段。
结合第二方面、第二方面第一种或第二种可能的实现方式,在第五种可能的实现方式中,所述计算单元包括:
计算子单元,用于根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;将所述读请求所请求读取的数据段的起始地址和结束地址按位异或,得到一个位向量;
掩码确定子单元,用于找到所述计算子单元计算出的位向量中从高位到低位顺序排列的第一个1,将从这一位开始的更高位都填1,这一位及比这一位更低的位都填0,得到所述读请求所请求读取的数据段的掩码。
本发明实施例采用根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述数据段的掩码;按照预置的与所述数据段的地址和掩码关联的等式检测关系,从写请求队列中检测所述数据段;当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段。与现有技术中需要大小比较器才能确定是否重叠相比,本发明实施例提供的方法,可以通过相等比较器来确定读请求所请求的数据段是否在写请求队列中,从而降低了开销,提高了比较速度。
具体实施方式
本发明实施例提供一种数据处理的方法,可以通过相等比较器来确定读请求所请求的数据段是否在写请求队列中,从而降低了开销,提高了比较速度。本发明实施例还提供了相应的装置。以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的。
参阅图1,本发明实施例提供的数据处理的方法的一实施例包括:
101、根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述数据段的掩码。
读请求用于请求读取数据段,会携带请求读取的数据段的起始地址和数据段长度,例如:起始地址为0000,长度为1,那么就是要读取从0000~0001的数据段。
掩码是按照预置的规则计算的,可以有多种计算规则。
102、按照预置的与所述数据段的地址和掩码关联的等式检测关系,从写请求队列中检测所述数据段。
本发明实施例中可以预先设置读请求所请求读取的数据段的起始地址和掩码与写请求所对应的数据段的起始地址和掩码的等式检测关系,当等式成立时,就可以确定读请求所请求的数据段在写请求队列中。
103、当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段。
当所请求读取的数据段在写请求队列中时,可以直接从写请求队列中获得该读请求所请求的数据段,而不需要等写请求写入内存后,再从内存中提取,从而提高了数据段处理的效率。
本发明实施例采用根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述数据段的掩码;按照预置的与所述数据段的地址和掩码关联的等式检测关系,从写请求队列中检测所述数据段;当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段。与现有技术中需要大小比较器才能确定是否重叠相比,本发明实施例提供的方法,可以通过相等比较器来确定读请求所请求的数据段是否在写请求队列中,从而降低了开销,提高了比较速度。
可选地,在上述图1对应的实施例的基础上,本发明实施例提供的数据处理的方法的一可选实施例中,所述按照预置的与所述数据段的地址和掩码关联的等式检测关系,从写请求队列中检测所述数据段,可以包括:
获取写请求队列中每个写请求对应的所要写入的数据段的起始地址和掩码;
通过不同的相等比较器,分别确定如下等式关系是否成立:
addr1&mask1&mask2==addr2&mask1&mask2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址,mask1为所述读请求所请求读取的数据段的掩码,mask2为所述任一写请求所对应的所要写入的数据段的掩码。
本发明实施例中,addr1和mask1是唯一的,但addr2和mask2有多个,每个写请求对应的数据段都有一个addr2和mask2,每个相等比较器可以只负责比较一个写请求对应的数据段,上述等式成立时,说明读请求所请求的数据段与写请求队列中至少有一个写请求对应的数据段在绝大多数情况下都会重叠。
可选地,在上述图1对应的一可选实施例的基础上,本发明实施例提供的数据处理的方法的另一可选实施例中,当所述等式关系成立时,所述当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段,包括:
停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的所有写请求及对应的数据段。
本发明实施例中,当addr1&mask1&mask2==addr2&mask1&mask2等式关系成立时,说明读请求所请求的数据段与写请求队列中至少有一个写请求对应的数据段绝大多数情况下都会重叠,一种获取最新数据段的方法可以为,保持当前读请求,并且不再接收新的请求,优先处理写请求,直至写请求队列中引起重叠的所有写请求全部被移出写请求队列,然后将读请求填入读请求队列,继续接收新的请求。
可选地,在上述图1对应的一可选实施例的基础上,本发明实施例提供的数据处理的方法的另一可选实施例中,当所述等式关系成立时,所述方法还可以包括:
根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;
根据所述任一写请求所对应的所要写入的数据段的起始地址和数据段长度,计算所述任一写请求所对应的所要写入的数据段的结束地址;
确定下列与关系式是否为真;
addr1<E2&&E1>addr2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址、E1为所述读请求所请求读取的数据段的结束地址、E2为写请求队列中任一写请求所对应的所要写入的数据段的结束地址。上述与关系式为真时,说明两个数据段肯定重叠。
本发明实施例中,当addr1&mask1&mask2==addr2&mask1&mask2等式关系成立时,可以认为读请求所请求的数据段与写请求队列中至少有一个写请求对应的数据段可能重叠,但因等式中涉及的掩码实际上扩大了数据段的,所以,最好进行进一步的精细比对,精细比对的方法可以为:将读请求所请求读取的数据段的起始地址与结束地址与有可能重叠的写请求对应数据段的起始地址和结束地址按照上述与关系式进行精确比较,本发明实施例中,因先进行等式比较,如果等式都不成立,说明等式两端的数据段不可能存在重叠,当等式成立时,再将等式两端的数据段输入大小比较器进行比较,这样,只需要一个或两个大小比较器即可,不需要像现有技术中那么多个复杂的大小比较器。
可选地,在上述另一可选实施例的基础上,本发明实施例提供的数据处理的方法的另一可选实施例中,当所述与关系式为真时,所述当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段,可以包括:
停止接收新的读请求或者写请求,按照顺序所述写请求队列中移出使所述等式关系成立的写请求队列中所有写请求对应的数据段。
本发明实施例中,当精确比较后,确定读请求所请求的数据段与写请求队列中至少有一个写请求对应的数据段重叠,可以直接从写请求队列中获取读请求所请求的数据段,而不需要从内存中获取。
可选地,在上述图1对应的实施例或图1对应的前两个可选实施例中任一实施例的基础上,本发明实施例提供的数据处理的方法的另一可选实施例中,所述根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段的掩码,可以包括:
根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;
将所述读请求所请求读取的数据段的起始地址和结束地址按位异或,得到一个位向量;
找到所述位向量中从高位到低位顺序排列的第一个1,将从这一位开始的更高位都填1,这一位及比这一位更低的位都填0,得到所述读请求所请求读取的数据段的掩码。
本发明实施例中,给出了计算掩码的具体方案,例如,所请求读取的数据段的起始地址为0000,结束地址为0001,按位异或的结果为0001,那么找到第一个1后,将1前面的0都填为1,将1改为0,得到该数据段的掩码为1110,写请求对应的数据段的掩码的计算方案与读请求相同,例如,写请求对应的数据段的起始地址为1100,结束地址为1101,那么该数据段对应的掩码为1110,可以理解为,addr1为0000,mask1为1110,addr2为1100,mask2为1110,那么:0000&1110&1110=0000、1100&1110&1110=1100,0000与1100不相等,从而可以确定等式关系不成立,该读请求所请求读取的数据段与写请求对应的数据段不重叠。如果写请求对应的数据段的起始地址为0010,结束地址为0111,那么该数据段的掩码为1000,这样,0000&1110&1000=0000,0010&1110&1000=0000,这样,可以确定等式关系成立,该读请求所请求读取的数据段与写请求对应的数据段可能重叠。
为了便于说明,下面以一个应用场景为例,说明本发明实施例中数据处理的过程:
S1.接收输入请求,该输入请求可以是读请求或写请求;
S2.根据读请求或写请求的所请求读取或者所要写入的数据段的起始地址和长度,编码得到数据段的掩码。
编码方法可以为根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;将所述读请求所请求读取的数据段的起始地址和结束地址按位异或,得到一个位向量;找到所述位向量从高位到低位的第一个1,将从这一位开始的更高位都填1,这一位及比这一位更低的位都填0,得到所述读请求所请求读取的数据段的掩码。
S3.判断该输入请求的类型,如果是写请求则执行步骤S4,如果是读请求则执行步骤S5。
S4.把写请求以及掩码填入写请求队列。
S5.对于写请求队列中的每一个写请求,与读请求进行并行比较,判断下面等式是否成立:addr1&mask1&mask2==addr2&mask1&mask2。
S6.对于写请求队列中的每一个写请求,如果上述等式都不成立,则执行S7,如果等式成立则执行S8。
S7.当没有出现重叠时,把读请求填入读请求队列。
S8.当出现可能重叠时,转入重叠处理流程。
重叠处理流程可以为:保持当前读请求,并且不再接收新的请求,优先处理写请求,直至写请求队列中引起重叠的所有写请求全部被移除写请求队列,然后将读请求填入读请求队列,继续接收新的请求。
参阅图3,本发明实施例提供的数据处理装置的一实施例包括:
计算单元201,用于根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述数据段的掩码;
检测单元202,用于按照预置的与所述数据段的地址和所述计算单元201计算出的掩码关联的等式检测关系,从写请求队列中检测所述数据段;
处理单元203,用于当所述检测单元202检测出所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段。
本发明实施例中,计算单元201根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述数据段的掩码;检测单元202按照预置的与所述数据段的地址和所述计算单元201计算出的掩码关联的等式检测关系,从写请求队列中检测所述数据段;处理单元203当所述检测单元202检测出所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段。与现有技术中需要大小比较器才能确定是否重叠相比,本发明实施例提供的装置,可以通过相等比较器来确定读请求所请求的数据段是否在写请求队列中,从而降低了开销,提高了比较速度。
在上述图3对应的实施例的基础上,参阅图4,本发明实施例提供的数据处理的装置的另一实施例中,所述检测单元202包括:
获取子单元2021,用于获取写请求队列中每个写请求对应的所要写入的数据段的起始地址和掩码;
输入子单元2022,用于输入所述获取子单元2021获取的所要写入的数据段的起始地址和掩码,以及所述读请求所请求读取的数据段的起始地址和掩码;
等式比较子单元2023,用于在所述输入子单元2022输入所述所要写入的数据段的起始地址和掩码,以及所述读请求所请求读取的数据段的起始地址和掩码后,做等式比较,确定如下等式关系是否成立:
addr1&mask1&mask2==addr2&mask1&mask2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址,mask1为所述读请求所请求读取的数据段的掩码,mask2为所述任一写请求所对应的所要写入的数据段的掩码。
在上述图4对应的实施例的基础上,本发明实施例提供的数据处理的装置的另一实施例中,当所述等式关系成立时,
所述处理单元203,用于停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的写请求队列中所有写请求及对应的数据段。
在上述图4对应的实施例的基础上,参阅图5,本发明实施例提供的数据处理的装置的另一实施例中,当所述等式关系成立时,
所述计算单元201,还用于根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;根据所述任一写请求所对应的所要写入的数据段的起始地址和数据段长度,计算所述任一写请求所对应的所要写入的数据段的结束地址;
所述装置20还包括:
确定单元204,用于确定下列与关系式是否为真;
addr1<E2&&E1>addr2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址、E1为所述读请求所请求读取的数据段的结束地址、E2为写请求队列中任一写请求所对应的所要写入的数据段的结束地址。
在上述图5对应的实施例的基础上,本发明实施例提供的数据处理的装置的另一实施例中,
所述处理单元203,用于停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的所有写请求对应的数据段。
在上述图3对应的实施例的基础上,参阅图6,本发明实施例提供的数据处理的装置的另一实施例中,所述计算单元201包括:
计算子单元2011,用于根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;将所述读请求所请求读取的数据段的起始地址和结束地址按位异或,得到一个位向量;
掩码确定子单元2012,用于找到所述计算子单元2011计算出的位向量中从高位到低位顺序排列的第一个1,将从这一位开始的更高位都填1,这一位及比这一位更低的位都填0,得到所述读请求所请求读取的数据段的掩码。
本发明还提供一种计算机存储介质,该介质存储有程序,该程序执行时包括上述数据处理的装置侧调控信号质量的方法中的部分或者全部步骤。
参阅图7,本发明实施例提供的数据处理装置20的另一实施例包括:可包括输入设备210、输出设备220、处理器230和存储器240。
需要说明的是,本发明实施例中的数据处理装置可以为内存控制器,本发明实施例中的处理器230并不是中央处理器(Central Processing Unit,CPU),而只是一个执行具体处理功能的处理模块或者处理单元。例如:可以为相等比较器、大小比较器或者其他功能单元。
存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据段。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器240存储了如下的元素,可执行模块或者数据段结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器230通过调用存储器240存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
根据读请求所请求读取的数据段的起始地址和数据段长度,计算所述数据段的掩码;
按照预置的与所述数据段的地址和掩码关联的等式检测关系,从写请求队列中检测所述数据段;
当所述数据段在所述写请求队列中时,按照预置方案从所述写请求队列中获得所述数据段。
本发明实施例提供的数据处理的装置,可以通过相等比较器来确定读请求所请求的数据段是否在写请求队列中,从而降低了开销,提高了比较速度。
处理器230控制数据处理的装置20的操作,处理器230还可以称为CPU(Central Processing Unit,中央处理单元)。存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据段。存储器340的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,数据处理的装置20的各个组件通过总线系统250耦合在一起,其中总线系统250除包括数据段总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统250。
上述本发明实施例揭示的方法可以应用于处理器230中,或者由处理器230实现。处理器230可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器230中的硬件的集成逻辑电路完成。上述的处理器230可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器240,处理器230读取存储器240中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器230具体可获取写请求队列中每个写请求对应的所要写入的数据段的起始地址和掩码;
通过不同的相等比较器,分别确定如下等式关系是否成立:
addr1&mask1&mask2==addr2&mask1&mask2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址,mask1为所述读请求所请求读取的数据段的掩码,mask2为所述任一写请求所对应的所要写入的数据段的掩码。
可选地,当所述等式关系成立时,处理器230具体可停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的所有写请求对应的数据段。
可选地,当所述等式关系成立时,处理器230具体可根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;
根据所述任一写请求所对应的所要写入的数据段的起始地址和数据段长度,计算所述任一写请求所对应的所要写入的数据段的结束地址;
确定下列与关系式是否为真;
addr1<E2&&E1>addr2;
其中,addr1为所述读请求所请求读取的数据段的起始地址、addr2为写请求队列中任一写请求所对应的所要写入的数据段的起始地址、E1为所述读请求所请求读取的数据段的结束地址、E2为写请求队列中任一写请求所对应的所要写入的数据段的结束地址。
可选地,当所述与关系式为真时,处理器230具体可停止接收新的读请求或者写请求,按照顺序从所述写请求队列中移出使所述等式关系成立的所有写请求对应的数据段。
可选地,处理器230具体可根据所述读请求所请求读取的数据段的起始地址和数据段长度,计算所述读请求所请求读取的数据段结束地址;将所述读请求所请求读取的数据段的起始地址和结束地址按位异或,得到一个位向量;找到所述位向量中从高位到低位顺序排列的第一个1,将从这一位开始的更高位都填1,这一位及比这一位更低的位都填0,得到所述读请求所请求读取的数据段的掩码。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的数据处理的方法以及数据处理的装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。