System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据读取,尤其涉及一种处理器、存储器、数据读取方法及电子设备。
技术介绍
1、随着芯片制造工艺的提升,处理器的运行频率得到大幅提升,而存储器的运行频率却没有得到相应幅度的提升,造成处理器从存储器中读取数据时的效率降低。
2、一种改进方式是:设置处理器和存储器。处理器以软件控制的方式向存储器发送预取指令,通过预取指令指示存储器以固定的缓存行,将处理器可能读取的数据预先从存储器中读取并存储到缓存单元中。当处理器实际需要读取某一数据时,处理器可直接从缓存单元中查找并读取该某一数据。但当处理器预先从存储器中读取的数据过小时,缓存单元中所存储的数据难以完全覆盖处理器实际所需要读取的数据;而当处理器预先从存储器中读取的数据过大时,缓存单元中所存储的数据为处理器实际所需要读取的数据的命中率又将下降,且缓存单元中会存储过多处理器不需要的数据,造成资源浪费。故采用一个固定的缓存行的缓存单元,无法满足预先读取的数据对于处理器实际所需要读取的数据,在覆盖率和命中率方面的灵活适配性。
技术实现思路
1、本申请实施例提供一种处理器、存储器、数据读取方法及电子设备,实现了在覆盖率和命中率方面的灵活适配。
2、为达到上述目的,本申请的实施例采用如下技术方案:
3、第一方面,本申请实施例提供了一种处理器,第一预取指令用于指示存储器将存储在存储器的第一数据区域中的至少一个数据块存储至缓存单元;第一预取指令包括操作数信息;操作数信息包括数据地址信息、粒度信息;数据地址信息
4、本申请实施例中,在第一预取指令中设置了粒度信息,该粒度信息的取值的用于指示一个数据块中包括的缓冲行的个数。处理器根据实际的应用场景下对命中率和覆盖率的不同需求,将第一预取指令中的粒度信息设置为不同的取值,以实现通过第一预取指令所预先读取的数据块的数据量大小满足相应的命中率和覆盖率的需求。
5、在一种可能的实施方式中,操作数信息还包括数据块信息;数据块信息的各个比特位与至少一个数据块一一对应;数据块信息的比特位的取值用于指示存储器是否将对应的数据块存储至缓存单元中。
6、在第一预取指令中未设置数据块信息之前,通过第一预取指令只能预先读取连续的数据块。而通过在第一预取指令中增设数据块信息,实现了对第一数据区域内的数据块进行连续地预先读取和不连续地预先读取的可选择性。同时,在进行不连续地预先读取时,还可以具体选择预先读取的数据块。本申请实施例通过数据块信息增加了预先读取的灵活性,并实现了预取模式的可配性(即可配置为预先读取连续的数据块,或者配置为预先读取不连续的数据块)。
7、在一种可能的实施方式中,粒度信息采用二进制编码;粒度信息的第一取值对应的一个数据块中的缓存行的个数,大于或等于,粒度信息的第二取值对应的一个数据块中的缓存行的个数的n倍;n为通过第一预取指令单次存储至缓存单元的数据块的最大数量。
8、在本申请实施例中,通过将粒度信息的第一取值对应的一个数据块中的缓存行的个数,设置来大于或等于粒度信息的第二取值对应的一个数据块中的缓存行的个数的n倍;使得通过第一预取指令所预先读取的数据块在不同数据量大小上的覆盖。
9、在一种可能的实施方式中,至少一个数据块位于一个数据页面。
10、在本申请实施例中,处理器中的内核对虚拟地址进行管理,以页表的形式将虚拟地址分为一个个数据页面,一套页表可以表达一个虚拟内存空间。在内存管理单元(memorymanagement unit,mmu)程序将虚拟地址转换为物理地址时,一次只可转换一个数据页面的虚拟地址,故为了保证第一预取指令进行预先读取的效率和质量,通过一个第一预取指令所预先读取的至少一个数据块需要位于一个数据页面。
11、在一种可能的实施方式中,数据地址信息包括以下信息中的至少两个:第一数据区域的首地址、第一数据区域的尾地址、地址偏移量。
12、在本申请实施例中,数据地址信息用于指示通过第一预取指令所预先读取的数据位于存储器中的地址,这个地址可以通过不同的形式进行表达,例如第一数据区域的首地址、第一数据区域的尾地址、地址偏移量三者中的至少两个。
13、在一种可能的实施方式中,操作数信息还包括缓存单元标识。
14、本申请实施例通过缓存单元标识来指示存储器将第一预取指令所要预先读取的数据块存储至具体的某一个缓存单元中。
15、在一种可能的实施方式中,第一预取指令还包括操作码;操作码用于指示存储器根据操作数信息将存储在存储器的第一数据区域中的至少一个数据块存储至缓存单元的具体操作。
16、在本申请实施例中,第一预取指令包括操作码和操作数信息。操作数信息用于指示具体操作时的操作对象等信息。操作码用于指示存储器根据操作数信息进行的具体操作逻辑。
17、第二方面,本申请实施例还提供了一种存储器,该存储器包括控制单元和存储单元;存储单元用于存储数据;控制单元用于:接收处理器发送的第一预取指令;第一预取指令用于指示控制单元将存储在存储单元的第一数据区域中的至少一个数据块存储至缓存单元;第一预取指令包括操作数信息;操作数信息包括数据地址信息、粒度信息;数据地址信息用于指示第一数据区域的地址;粒度信息的不同取值用于指示一个数据块中包括的缓存行对应的不同个数。
18、在一种可能的实施方式中,操作数信息还包括数据块信息;数据块信息的各个比特位与至少一个数据块一一对应;数据块信息的比特位的取值用于指示控制单元是否将对应的数据块存储至缓存单元中。
19、在一种可能的实施方式中,粒度信息采用二进制编码;粒度信息的不同取值对应一个数据块中包括的缓存行的不同个数;粒度信息的第一取值对应的一个数据块中的缓存行的个数,大于或等于,粒度信息的第二取值对应的一个数据块中的缓存行的个数的n倍;n为通过第一预取指令单次存储至缓存单元的数据块的最大数量。
20、在一种可能的实施方式中,至少一个数据块位于一个数据页面。
21、在一种可能的实施方式中,数据地址信息包括以下信息中的至少两个:第一数据区域的首地址、第一数据区域的尾地址、地址偏移量。
22、在一种可能的实施方式中,操作数信息还包括缓存单元标识。
23、在一种可能的实施方式中,第一预取指令还包括操作码;操作码用于指示控制单元根据操作信息将存储在存储单元的第一数据区域中的至少一个数据块存储至缓存单元的具体操作。
24、第三方面,本申请实施例还提供了一种数据读取方法,应用于处理器。第一预取指令用于指示存储器将存储在存储器的第一数据区域中的至少一个数据块存储至缓存单元;第一预取指令包括操作数信息;操作数信息包括数据地址信息、粒度信息;数据地址信息用于指示第本文档来自技高网...
【技术保护点】
1.一种处理器,其特征在于,第一预取指令用于指示存储器将存储在所述存储器的第一数据区域中的至少一个数据块存储至缓存单元;所述第一预取指令包括操作数信息;所述操作数信息包括数据地址信息、粒度信息;所述数据地址信息用于指示所述第一数据区域的地址;所述粒度信息的取值用于指示一个所述数据块中包括的缓存行的个数;所述处理器用于:
2.根据权利要求1所述的处理器,其特征在于,所述操作数信息还包括数据块信息;所述数据块信息的各个比特位与所述至少一个数据块一一对应;所述数据块信息用于指示所述存储器是否将对应的所述数据块存储至所述缓存单元中。
3.根据权利要求2所述的处理器,其特征在于,所述粒度信息采用二进制编码;所述粒度信息的第一取值对应的一个所述数据块中的缓存行的个数,大于或等于,所述粒度信息的第二取值对应的一个所述数据块中的缓存行的个数的N倍;所述N为通过所述第一预取指令单次存储至所述缓存单元的数据块的最大数量。
4.根据权利要求1-3任一项所述的处理器,其特征在于,所述至少一个数据块位于一个数据页面。
5.根据权利要求1-4任一项所述的处理器
6.根据权利要求1-5任一项所述的处理器,其特征在于,所述操作数信息还包括缓存单元标识。
7.根据权利要求1-6任一项所述的处理器,其特征在于,所述第一预取指令还包括操作码;所述操作码用于指示所述存储器根据所述操作数信息将存储在所述存储器的第一数据区域中的至少一个数据块存储至所述缓存单元的具体操作。
8.一种存储器,其特征在于,所述存储器包括控制单元和存储单元;所述存储单元用于存储数据;所述控制单元用于:
9.根据权利要求8所述的存储器,其特征在于,所述操作数信息还包括数据块信息;所述数据块信息的各个比特位与所述至少一个数据块一一对应;所述数据块信息的比特位的取值用于指示所述控制单元是否将对应的所述数据块存储至所述缓存单元中。
10.根据权利要求9所述的存储器,其特征在于,所述粒度信息采用二进制编码;所述粒度信息的不同取值对应一个所述数据块中包括的缓存行的不同个数;所述粒度信息的第一取值对应的一个所述数据块中的缓存行的个数,大于或等于,所述粒度信息的第二取值对应的一个所述数据块中的缓存行的个数的N倍;所述N为通过所述第一预取指令单次存储至所述缓存单元的数据块的最大数量。
11.根据权利要求8-10任一项所述的存储器,其特征在于,所述至少一个数据块位于一个数据页面。
12.根据权利要求8-11任一项所述的存储器,其特征在于,所述数据地址信息包括以下信息中的至少两个:所述第一数据区域的首地址、所述第一数据区域的尾地址、地址偏移量。
13.根据权利要求8-12任一项所述的存储器,其特征在于,所述操作数信息还包括缓存单元标识。
14.根据权利要求8-13任一项所述的存储器,其特征在于,所述第一预取指令还包括操作码;所述操作码用于指示所述控制单元根据所述操作信息将存储在所述存储单元的第一数据区域中的所述至少一个数据块存储至所述缓存单元的具体操作。
15.一种数据读取方法,其特征在于,应用于处理器;第一预取指令用于指示存储器将存储在所述存储器的第一数据区域中的至少一个数据块存储至缓存单元;所述第一预取指令包括操作数信息;所述操作数信息包括数据地址信息、粒度信息;所述数据地址信息用于指示所述第一数据区域的地址;所述粒度信息的不同取值用于指示一个所述数据块中包括的缓存行对应的不同个数;所述方法包括:
16.根据权利要求15所述的方法,其特征在于,所述操作数信息还包括数据块信息;所述数据块信息的各个比特位与所述至少一个数据块一一对应;所述数据块信息的比特位的取值用于指示所述存储器是否将对应的所述数据块存储至所述缓存单元中。
17.根据权利要求16所述的方法,其特征在于,所述粒度信息采用二进制编码;所述粒度信息的第一取值对应的一个所述数据块中的缓存行的个数,大于或等于,所述粒度信息的第二取值对应的一个所述数据块中的缓存行的个数的N倍;所述N为通过所述第一预取指令单次存储至所述缓存单元的数据块的最大数量。
18.根据权利要求15-17任一项所述的方法,其特征在于,所述至少一个数据块位于一个数据页面。
19.根据权利要求15-18任一项所述的方法,其特征在于,所述数据地址信息包括以下信息中的至少两个:所述第一数据区域的首地址、所述第一数据区域的尾地址、地址偏移量。
20.根...
【技术特征摘要】
1.一种处理器,其特征在于,第一预取指令用于指示存储器将存储在所述存储器的第一数据区域中的至少一个数据块存储至缓存单元;所述第一预取指令包括操作数信息;所述操作数信息包括数据地址信息、粒度信息;所述数据地址信息用于指示所述第一数据区域的地址;所述粒度信息的取值用于指示一个所述数据块中包括的缓存行的个数;所述处理器用于:
2.根据权利要求1所述的处理器,其特征在于,所述操作数信息还包括数据块信息;所述数据块信息的各个比特位与所述至少一个数据块一一对应;所述数据块信息用于指示所述存储器是否将对应的所述数据块存储至所述缓存单元中。
3.根据权利要求2所述的处理器,其特征在于,所述粒度信息采用二进制编码;所述粒度信息的第一取值对应的一个所述数据块中的缓存行的个数,大于或等于,所述粒度信息的第二取值对应的一个所述数据块中的缓存行的个数的n倍;所述n为通过所述第一预取指令单次存储至所述缓存单元的数据块的最大数量。
4.根据权利要求1-3任一项所述的处理器,其特征在于,所述至少一个数据块位于一个数据页面。
5.根据权利要求1-4任一项所述的处理器,其特征在于,所述数据地址信息包括以下信息中的至少两个:所述第一数据区域的首地址、所述第一数据区域的尾地址、地址偏移量。
6.根据权利要求1-5任一项所述的处理器,其特征在于,所述操作数信息还包括缓存单元标识。
7.根据权利要求1-6任一项所述的处理器,其特征在于,所述第一预取指令还包括操作码;所述操作码用于指示所述存储器根据所述操作数信息将存储在所述存储器的第一数据区域中的至少一个数据块存储至所述缓存单元的具体操作。
8.一种存储器,其特征在于,所述存储器包括控制单元和存储单元;所述存储单元用于存储数据;所述控制单元用于:
9.根据权利要求8所述的存储器,其特征在于,所述操作数信息还包括数据块信息;所述数据块信息的各个比特位与所述至少一个数据块一一对应;所述数据块信息的比特位的取值用于指示所述控制单元是否将对应的所述数据块存储至所述缓存单元中。
10.根据权利要求9所述的存储器,其特征在于,所述粒度信息采用二进制编码;所述粒度信息的不同取值对应一个所述数据块中包括的缓存行的不同个数;所述粒度信息的第一取值对应的一个所述数据块中的缓存行的个数,大于或等于,所述粒度信息的第二取值对应的一个所述数据块中的缓存行的个数的n倍;所述n为通过所述第一预取指令单次存储至所述缓存单元的数据块的最大数量。
11.根据权利要求8-10任一项所述的存储器,其特征在于,所述至少一个数据块位于一个数据页面。
12.根据权利要求8-11任一项所述的存储器,其特征在于,所述数据地址信息包括以下信息中的至少两个:所述第一数据区域的首地址、所述第一数据区域的尾地址、地址偏移量。
13.根据权利要求8-12任一项所述的存储器,其特征在于,所述操作数信息还包括缓存单元标识。
14.根据权利要求8-13任一项所述的存储器,其特征在于,所述第一预取指令还包括操作码;所述操作码用于指示所述控制单元根据所述操作信息将存储在所述存储单元的第一数据区域中的所述至少一个数据块存储至所述缓存单元的具体操作。
15.一种数据读取方法,其特征在于,应用于处理器;第一预取指令用于指示存储器将存储在所述存储器的第一数据区域中的至少一个数据块存储至缓存单元;所述第一预取指令包括操作数信息;所述操作数信息包括数据地址信息、粒度信息;所述数据地址信息用于指示所述第一数...
【专利技术属性】
技术研发人员:王科兵,吕志远,蒋志军,陈章麒,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。