连续数据访问处理装置和芯片转让专利

申请号 : CN202210500396.0

文献号 : CN114610655B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 丛高建

申请人 : 沐曦集成电路(上海)有限公司

摘要 :

本发明涉及一种连续数据访问处理装置和芯片,所述装置包括存储器访问单元、地址转换单元、数据缓冲区、访问总线、存储器和处理器,所述存储器中存储有计算机程序和页表信息,其中,所述存储器访问单元分别与所述地址转换单元和数据缓冲区相连接;所述地址转换单元与所述数据缓冲区相连接,所述数据缓冲区设置在所述地址转换单元之内,或独立于所述地址转换单元单独设置;所述地址转换单元、数据缓冲区、存储器均连接至所述访问总线。本发明能够实现数据连续访问,提高了数据访问效率。

权利要求 :

1.一种连续数据访问处理装置,其特征在于,

包括存储器访问单元、地址转换单元、数据缓冲区、访问总线、存储器,所述存储器中存储有计算机程序和页表信息,其中,所述存储器访问单元分别与所述地址转换单元和数据缓冲区相连接;所述数据缓冲区设置在所述地址转换单元之内,或独立于所述地址转换单元单独设置;所述地址转换单元、数据缓冲区、存储器均连接至所述访问总线,当所述存储器访问单元执行所述计算机程序时,实现以下步骤:步骤S1、判断当前所需连续访问的虚拟地址数量是否超过预设的地址数量阈值,若超过,则所述存储器访问单元从当前所需连续访问的虚拟地址中获取第一页面至第N页面的虚拟基地址,生成N个页表查询请求发送给地址转换单元,N为预设的目标参数,N为大于等于2的整数,所述地址数量阈值大于等于N,其中,T为页表查询的周期,B为获取访问总线位宽,P为页面大小,所述页表查询的周期为所述存储器访问单元从所述存储器执行一个页面的页表查询,获取对应页面物理基地址的周期;

步骤S2、所述地址转换单元通过访问总线将所述N个页表查询请求发送至所述存储器中进行页表查询,获取N个页表查询请求对应的页表查询信息,建立第一页面至第N页面的物理地址和虚拟地址的映射关系,存储至所述数据缓冲区中,初始化i=1,j=1;

步骤S3、所述存储器访问单元发出第i个页面的虚拟页内地址进行访问;

步骤S4、若i和N+j均小于当前所需连续访问页面总量M,则所述存储器访问单元获取第N+j个页面的虚拟基地址,生成第N+j个页表查询请求进行页表查询,设置i=i+1,j=j+1返回执行步骤S3;若i小于当前所需连续访问页面总量M, N+j等于M,则依次设置i=i+1,依次执行步骤S3,直至i=M,结束数据访问流程;若i=M,则直接结束数据访问流程。

2.根据权利要求1所述的装置,其特征在于,

当所述存储器访问单元执行所述计算机程序时,还实现以下步骤:步骤S10、所述存储器访问单元获取页表查询的周期、访问总线位宽和页面大小;

步骤S20、基于所述页表查询的周期、访问总线位宽、页面大小确定目标参数N。

3.根据权利要求1所述的装置,其特征在于,

所述步骤S2包括:

步骤S21、所述地址转换单元通过访问总线将第n页表查询请求发送至所述存储器中,查询第n页面对应的页目录条目信息和页表条目信息,获取第n页面的物理基地址和页内偏移信息,第n页表查询请求为基于第n页面的虚拟基地址生成的第n页表查询请求,n的取值范围为1到N;

步骤S22、根据第n页面的虚拟基地址和物理基地址建立第n页面的基地址映射关系,基于第n页面的物理基地址和页内偏移,获取第n页面的页内物理地址,基于第n页面的页内物理地址和页内虚拟地址建立第n页面的页内地址映射关系;

步骤S23、将所述第n页面的基地址映射关系和页内地址映射关系存储至所述数据缓冲区。

4.根据权利要求1所述的装置,其特征在于,

所述步骤S3包括:

步骤S31、所述存储器访问单元发出第i个页面的虚拟页内地址至所述地址转换单元;

步骤S32、所述地址转换单元基于所述数据缓冲区中存储的映射关系确定第i个页面的虚拟页内地址对应的第i页面页内物理地址;

步骤S33、基于所述第i页面页内物理地址访问第i页面。

5.根据权利要求1所述的装置,其特征在于,

所述步骤S4中,生成第N+j个页表查询请求进行页表查询,包括:步骤S41、所述存储器访问单元获取第N+j个页面的虚拟基地址,生成第N+j个页表查询请求,发送给所述地址转换单元;

步骤S42、所述地址转换单元通过访问总线将第N+j个页表查询请求发送至所述存储器中,查询第N+j页面对应的页目录条目信息和页表条目信息,获取第N+j页面的物理地址和页内偏移信息;

步骤S43、根据第N+j页面的虚拟基地址和物理基地址建立第N+j页面的基地址映射关系,基于第N+j页面的物理基地址和页内偏移,获取第N+j页面的页内物理地址,基于第N+j页面的页内物理地址和页内虚拟地址建立第n页面的页内地址映射关系;

步骤S44、将所述第N+j页面的基地址映射关系和页内地址映射关系存储至所述数据缓冲区。

6.根据权利要求1‑5中任意一项所述的装置,其特征在于,所述地址数量阈值为目标参数的整数倍。

7.根据权利要求1‑5中任意一项所述的装置,其特征在于,所述存储器访问单元为DMA。

8.根据权利要求1‑5中任意一项所述的装置,其特征在于,所述数据缓冲区为TLB。

9.根据权利要求1‑5中任意一项所述的装置,其特征在于,所述存储器为高带宽存储器、ddr存储器、gddr存储器或flash存储器。

10.一种芯片,其特征在于,包括权利要求1‑9中任意一项所述的装置。

说明书 :

连续数据访问处理装置和芯片

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种连续数据访问处理装置和芯片。

背景技术

[0002] 随着计算机和大数据技术的发展,通常需要实现对大量数据的连续访问。当对大量连续数据进行访问时,需要基于连续的虚拟地址从缓存中获取对应的物理地址,实现连续访问。但是当访问数据量大时,则无法直接在缓存中命中对应的物理地址,这便需要到外部存储器中去查找当前访问页面物理基地址,需要耗费较长的周期,当获取到当前页面物理基地址后,则可直接在缓存中命中当前页面的页内地址,当前页面的业内地址访问完之后,又需要一定的周期来获取下一页面的物理基地址。这便使得每间隔一段时间就会出现物理地址不命中(miss)的情况,需要等待较长周期才能继续访问数据,无法实现数据的连续访问,数据访问效率低,由此可知,如何设置一套连续数据访问机制,提高连续数据访问效率成为亟待解决的技术问题。

发明内容

[0003] 本发明目的在于,提供一种连续数据访问处理装置和芯片,能够实现数据连续访问,提高了数据访问效率。
[0004] 根据本发明第一方面,提供了一种连续数据访问处理装置,包括存储器访问单元、地址转换单元、数据缓冲区、访问总线、存储器和处理器,所述存储器中存储有计算机程序和页表信息,其中,所述存储器访问单元分别与所述地址转换单元和数据缓冲区相连接;所述地址转换单元与所述数据缓冲区相连接,所述数据缓冲区设置在所述地址转换单元之内,或独立于所述地址转换单元单独设置;所述地址转换单元、数据缓冲区、存储器均连接至所述访问总线,当所述存储器访问单元执行所述计算机程序时,实现以下步骤:
[0005] 步骤S1、判断当前所需连续访问的虚拟地址数量是否超过预设的地址数量阈值,若超过,则所述存储器访问单元从当前所需连续访问的虚拟地址中获取第一页面至第N页面的虚拟基地址,生成N个页表查询请求发送给地址转换单元,N为预设的目标参数,N为大于等于2的整数,所述地址数量阈值大于等于N;
[0006] 步骤S2、所述地址转换单元通过访问总线将所述N个页表查询请求发送至所述存储器中进行页表查询,获取N个页表查询请求对应的页表查询信息,建立第一页面至第N页面的物理地址和虚拟地址的映射关系,存储至所述数据缓冲区中,初始化i=1,j=1;
[0007] 步骤S3、所述存储器访问单元发出第i个页面的虚拟页内地址页内地址进行访问;
[0008] 步骤S4、若i和N+j均小于当前所需连续访问页面总量M,则所述存储器访问单元获取第N+j个页面的虚拟基地址,生成第N+j个页表查询请求进行页表查询,设置i=i+1,j=j+1返回执行步骤S3;若i小于当前所需连续访问页面总量M, N+j等于M,则依次设置i=i+1,依次执行步骤S3,直至i=M,结束数据访问流程;若i=M,则直接结束数据访问流程。
[0009] 根据本发明第二方面,提供了一种芯片,包括所述连续数据访问处理装置。
[0010] 本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种连续数据访问处理装置和芯片可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
[0011] 本发明所述装置在执行连续数据访问时,先发送预设数量的页面的虚拟基地址,进行页表查询,在数据缓冲区中建立前N页面的物理地址和虚拟地址的映射关系,接下来再依次循环发出第i个页面的虚拟页内地址页内地址进行访问和第N+j个页面的虚拟基地址,基于数据缓冲区直接实现第i个页面的访问,在此期间,同时可以通过访问存储器执行N+j个页面的映射关系建立操作,这样便使得整个连续数据访问操作只有初始建立前N页面的物理地址和虚拟地址的映射关系时未命中,需要等待,之后访问数据均能直接基于数据缓冲区进行,保证了数据访问的连续性,提高了数据访问效率。
[0012] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

[0013] 图1为本发明实施例提供的连续数据访问处理装置示意图。

具体实施方式

[0014] 为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种连续数据访问处理装置和芯片的具体实施方式及其功效,详细说明如后。
[0015] 本发明实施例提供了一种连续数据访问处理装置,如图1所示,包括存储器访问单元、地址转换单元(address translation unit ,简称ATU)、数据缓冲区、访问总线、存储器和处理器,所述存储器中存储有计算机程序和页表信息,其中,所述存储器访问单元分别与所述地址转换单元和数据缓冲区相连接;所述地址转换单元与所述数据缓冲区相连接,所述数据缓冲区设置在所述地址转换单元之内,或独立于所述地址转换单元单独设置;所述地址转换单元、数据缓冲区、存储器均连接至所述访问总线,可以理解的是,存储器访问单元具体可以为DMA(Direct Memory Access,直接存储器访问单元)等任意具有访问存储功能的部件,也可以为其他能够访问虚拟存储空间的软件、硬件等部件的结合的数据访问引擎。数据缓冲区具体可以为TLB,(Translation Lookaside Buffer ,转换检测缓冲区)。数据缓冲区是高速缓冲存储器(cache),能够实现快速数据访问,可以设置多个级别,如L1和L2,L1的存储空间大小小于L2的存储空间大小。存储器的存储空间远大于L1和L2的存储空间,访问存储器所需的时间要远大于访问L1和L2所需的时间。所述存储器可以为高带宽存储器、ddr存储器、gddr存储器或flash存储器等。
[0016] 当所述存储器访问单元执行所述计算机程序时,实现以下步骤:
[0017] 步骤S1、判断当前所需连续访问的虚拟地址数量是否超过预设的地址数量阈值,若超过,则所述存储器访问单元从当前所需连续访问的虚拟地址中获取第一页面至第N页面的虚拟基地址,生成N个页表查询请求发送给地址转换单元,N为预设的目标参数,N为大于等于2的整数,所述地址数量阈值大于等于N;
[0018] 需要说明的是,当前所需连续访问的虚拟地址为{D1,D2,…DM},Dm为第m个页面对应的虚拟地址信息,Dm包括第m页面的虚拟基地址和虚拟页内地址,m的取值范围为1到M,M为当前所需连续访问的页面总数量。
[0019] 作为一种优选实施例,所述地址数量阈值为目标参数的整数倍。
[0020] 步骤S2、所述地址转换单元通过访问总线将所述N个页表查询请求发送至所述存储器中进行页表查询,获取N个页表查询请求对应的页表查询信息,建立第一页面至第N页面的物理地址和虚拟地址的映射关系,存储至所述数据缓冲区中,初始化i=1,j=1;
[0021] 步骤S3、所述存储器访问单元发出第i个页面的虚拟页内地址页内地址进行访问;
[0022] 需要说明的是,每一第i个页面的虚拟页内地址包括一系列连续的虚拟页内地址,当步骤S3中将第i个页面的一系列连续的虚拟页内地址发出完毕时,再执行步骤S4。
[0023] 步骤S4、若i和N+j均小于当前所需连续访问页面总量M,则所述存储器访问单元获取第N+j个页面的虚拟基地址,生成第N+j个页表查询请求进行页表查询,设置i=i+1,j=j+1返回执行步骤S3;若i小于当前所需连续访问页面总量M, N+j等于M,则依次设置i=i+1,依次执行步骤S3,直至i=M,结束数据访问流程;若i=M,则直接结束数据访问流程。
[0024] 本发明实施例所述装置在执行连续数据访问时,先发送预设数量的页面的虚拟基地址,进行页表查询,在数据缓冲区中建立前N页面的物理地址和虚拟地址的映射关系,接下来再依次循环发出第i个页面的虚拟页内地址页内地址进行访问和第N+j个页面的虚拟基地址,基于数据缓冲区直接实现第i个页面的访问,在此期间,同时可以通过访问存储器执行N+j个页面的映射关系建立操作,这样便使得整个连续数据访问操作只有初始建立前N页面的物理地址和虚拟地址的映射关系时未命中,需要等待,之后的访问数据均能直接基于数据缓冲区进行,保证了数据访问的连续性,提高了数据访问效率。本发明实施例所述方法对于大规模数据有很好的性能,例如人工智能数据等。
[0025] 作为一种优选实施例,当所述存储器访问单元执行所述计算机程序时,还实现以下步骤:
[0026] 步骤S10、所述存储器访问单元获取页表查询的周期、访问总线位宽和页面大小,所述页表查询的周期为所述存储器访问单元从所述存储器执行一个页面的页表查询,获取对应页面物理基地址的周期;
[0027] 访问总线位宽是装置预先设置的,页面大小是直接基于当前所需连续访问的数据信息可以直接获取到的。
[0028] 步骤S20、基于所述页表查询的周期、访问总线位宽、页面大小确定目标参数:
[0029]
[0030] 其中,T为页表查询的周期,B为获取访问总线位宽,P为页面大小。
[0031] 需要说明的是,通过步骤S10‑步骤S20通过页表查询的周期、访问总线位宽、页面大小确定目标参数,能够在保证后续数据连续访问的基础上,尽可能缩短初始等待时间,提高数据访问的效率。
[0032] 作为一种实施例,所述步骤S2包括:
[0033] 步骤S21、所述地址转换单元通过访问总线将第n页表查询(Table walk)请求发送至所述存储器中,查询第n页面对应的页目录条目信息(page directory entry ,简称PDE)和页表条目信息(page table entry ,简称PTE),获取第n页面的物理基地址和页内偏移信息,第n页表查询请求为基于第n页面的虚拟基地址生成的第n页表查询请求,n的取值范围为1到N;
[0034] 可以理解的是,通过页表查询获取物理基地址和页内偏移信息为现有技术,在此不再展开描述,基地址即页面起始地址。
[0035] 步骤S22、根据第n页面的虚拟基地址和物理基地址建立第n页面的基地址映射关系,基于第n页面的物理基地址和页内偏移,获取第n页面的页内物理地址,基于第n页面的页内物理地址和页内虚拟地址建立第n页面的页内地址映射关系;
[0036] 步骤S23、将所述第n页面的基地址映射关系和页内地址映射关系存储至所述数据缓冲区。
[0037] 通过步骤S21‑步骤S23,将前N个页面的地址映射关系存储在数据缓冲区,使得后续数据访问时能够直接在数据缓冲区中读取,提高了数据访问效率。
[0038] 作为一种实施例,所述步骤S3包括:
[0039] 步骤S31、所述存储器访问单元发出第i个页面的虚拟页内地址至所述地址转换单元;
[0040] 步骤S32、所述地址转换单元基于所述数据缓冲区中存储的映射关系确定第i个页面的虚拟页内地址对应的第i页面页内物理地址;
[0041] 步骤S33、基于所述第i页面页内物理地址访问第i页面。
[0042] 由于已经提前在数据缓冲区中预先存储好前N个页面的地址映射信息,且在开始页内访问的过程中,通过步骤S4继续提前获取后续页面的地址映射信息,并存储至数据缓冲区,从而保证在连续数据访问每一页内地址时,均能直接在数据缓冲区中获取映射关系,实现页面访问,保证了数据访问的连续性。
[0043] 作为一种实施例,所述步骤S4中,生成第N+j个页表查询请求进行页表查询,包括:
[0044] 步骤S41、所述存储器访问单元获取第N+j个页面的虚拟基地址,生成第N+j个页表查询请求,发送给所述地址转换单元;
[0045] 步骤S42、所述地址转换单元通过访问总线将第N+j个页表查询请求发送至所述存储器中,查询第N+j页面对应的页目录条目信息和页表条目信息,获取第N+j页面的物理地址和页内偏移信息;
[0046] 步骤S43、根据第N+j页面的虚拟基地址和物理基地址建立第N+j页面的基地址映射关系,基于第N+j页面的物理基地址和页内偏移,获取第N+j页面的页内物理地址,基于第N+j页面的页内物理地址和页内虚拟地址建立第n页面的页内地址映射关系;
[0047] 步骤S44、将所述第N+j页面的基地址映射关系和页内地址映射关系存储至所述数据缓冲区。
[0048] 需要说明的是,步骤S3和步骤S4交替发出第i个页面的虚拟页内地址和第N+j个页表查询请求是交替进行,但步骤S31‑步骤S33是在缓存部分执行,步骤S41‑步骤S44主要在存储器部分执行,因此二者可同时运行,并非一定在步骤S3的所有步骤执行完以后才能执行步骤S4,这样也就保证了在访问当前页内地址的过程中,也在同时获取后续页面的地址映射信息,保证了数据访问的连续性。
[0049] 本发明实施例还提供了一种芯片,包括本发明实施例所述的连续数据访问处理装置。
[0050] 需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
[0051] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。