CN117743233A - 数据处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117743233A CN117743233A CN202311488242.5A CN202311488242A CN117743233A CN 117743233 A CN117743233 A CN 117743233A CN 202311488242 A CN202311488242 A CN 202311488242A CN 117743233 A CN117743233 A CN 117743233A
- Authority
- CN
- China
- Prior art keywords
- address
- converted
- virtual
- addresses
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 238000001514 detection method Methods 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims description 67
- 238000012545 processing Methods 0.000 claims description 19
- 238000013519 translation Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,该方法包括:获取待转换地址;从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址;在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址。本方案能够通过并行检测得到待转换地址对应的基准虚拟地址,进而根据基准虚拟地址对应的基准物理地址得到待转换地址对应的物理地址,地址转换效率高,降低了通信时延。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。
背景技术
高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE),主要用于扩充计算机系统总线数据吞吐量以及提高设备通信速度。PCIE的地址转换服务(Address Translation Service,ATS),是以CPU为中心,PCIE总线上的各个设备可以通过ATS,从CPU申请虚拟地址与物理地址的地址映射关系。
但PCIE的官方协议只定义了如何传输地址翻译请求以及如何将地址映射关系下发至终端设备(End Point,EP),但在EP侧如何存储以及使用地址映射关系,官方协议并没有给出相关规定,需要用户设计实现。现有技术通常采用静态随机存储器(StaticRandomAccess Memory,SRAM)存储地址映射关系,在需要使用时,需要串行遍历SRAM(SRAM不允许并行访问)中存储的多个地址映射关系,直到查询到需要的地址映射关系后,转换得到对应的物理地址。但串行遍历SRAM中存储的地址映射关系,需要耗费大量的时间,导致传输时延增加。
因此,如何存储并使用地址映射关系,以减少地址转换带来的时延成为亟需解决的问题。
发明内容
本公开提供了一种数据处理方法、装置、电子设备及计算机可读存储介质;能够通过并行检测得到待转换地址对应的基准虚拟地址,进而根据基准虚拟地址对应的基准物理地址得到待转换地址对应的物理地址,地址转换效率高,降低了通信时延。
第一方面,本公开提供了一种数据处理方法,该方法包括:获取待转换地址;从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址;其中,一个基准虚拟地址与一个基准物理地址的基准地址映射关系预先存储在一个寄存器组中,每个基准虚拟地址指示一组虚拟地址,每个基准物理地址指示一组物理地址,一个虚拟地址对应一个物理地址;在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址。
第二方面,本公开提供了一种数据处理装置,该装置包括:获取模块,检测模块,确定模块;该获取模块,用于获取待转换地址;该检测模块,用于从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址;其中,一个基准虚拟地址与一个基准物理地址的基准地址映射关系预先存储在一个寄存器组中,每个基准虚拟地址指示一组虚拟地址,每个基准物理地址指示一组物理地址,一个虚拟地址对应一个物理地址;该确定模块,用于在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址。
第三方面,本公开提供了一种电子设备,该电子设备包括处理器、存储器及存储在该存储器上并可在该处理器上运行的程序或指令,该程序或指令被该处理器执行时实现如第一方面所述的数据处理方法的步骤。
第四方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质上存储程序或指令,该程序或指令被处理器执行时实现如第一方面所述的数据处理方法的步骤。
第五方面,本公开提供了一种计算机程序产品,其中,该计算机程序产品包括计算机程序或指令,当该计算机程序产品在处理器上运行时,使得处理器执行该计算机程序或指令,实现如第一方面所述的数据处理方法的步骤。
第六方面,本公开提供了一种芯片,该芯片包括处理器和通信接口,该通信接口和该处理器耦合,该处理器用于运行程序或指令,实现如第一方面所述的数据处理方法。
本公开提供了一种数据处理方法,该方法包括:获取待转换地址;从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址;其中,一个基准虚拟地址与一个基准物理地址的基准地址映射关系预先存储在一个寄存器组中,每个基准虚拟地址指示一组虚拟地址,每个基准物理地址指示一组物理地址,一个虚拟地址对应一个物理地址;在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址。如此,每个寄存器组存储了一个基准地址映射关系,每个基准地址映射关系可以指示一组虚拟地址对应的一组物理地址,可以节约存储空间,降低资源消耗;并且,多个寄存器组允许并行操作,因此,在一个检测时长内,所有存储有基准地址映射关系的寄存器组可以并行执行检测,相较于串行检测,减少了检测时长,从而可以降低通信时延。
附图说明
图1为本公开提供的一种应用场景的示意图;
图2为本公开提供的数据处理方法的流程示意图之一;
图3为本公开提供的数据处理方法的流程示意图之二;
图4为本公开提供的寄存器组存储的基准地址映射关系的示意图;
图5为本公开提供的数据处理方法的流程示意图之三;
图6为本公开提供的数据处理方法的流程示意图之四;
图7为本公开提供的数据处理方法的流程示意图之五;
图8为本公开提供的一种数据处理装置的结构框图;
图9为本公开提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本公开中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本公开能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
相关技术中,为了减少EP与CPU的交互,通常在EP侧设置地址转换缓存(AddressTranslation Cache,ATC),用于缓存从CPU侧请求得到的虚拟地址与物理地址的映射关系。其中,ATC是通过SRAM搭建的,但SRAM不允许并行访问。若SRAM中存储了N(大于1的整数)个虚拟地址与物理地址的映射关系,当需查询待转换地址对应的物理地址时,则将待转换地址按照N个虚拟地址与物理地址的映射关系的存储顺序串行一一比对,直至查找到与待转换地址匹配的映射关系,从而得到待转换地址对应的物理地址,但串行查找需要耗费较多的时间,增加了传输时延,如若与待转换地址匹配的映射关系存储在N位,每查询一次需要10毫秒,则查询到与待转换地址匹配的映射关系需要10N毫秒。并且,通常从CPU获取到的不是一个虚拟地址与物理地址之间的映射关系,而是一段虚拟地址与一段物理地址的对应关系,若将一段虚拟地址与一段物理地址的对应关系中,每个虚拟地址与物理地址的对应关系均存储下来,需要较多的存储空间,而SRAM通常价格昂贵,导致成本较高。
因此,本公开的方案利用寄存器允许并行访问的特征,通过寄存器搭建ATC,以达到降低通信时延的目的,并且每个寄存器组仅存储基准虚拟地址与基准物理地址之间的基准地址映射关系,以减少存储需要的空间,降低资源消耗。
具体地,如图1所示,为本公开示出的应用场景示意图。终端设备100包括:地址转换缓存101,PCIE控制器102。其中,地址转换缓存101用于存储基准地址映射关系,该地址转换缓存是由多个寄存器组搭建的,每个寄存器组用于存储一个基准地址映射关系,图1中示出了N个寄存器组,N为大于1的整数。EP侧通常还包括多个功能模块,该功能模块可以通过控制器102与CPU中某一物理地址对应的模块交互,但为了确保CPU不被非法访问,通常EP侧的功能模块能够知晓的是CPU侧的某一物理地址对应的虚拟地址。
因此,当功能模块需要将数据传输至CPU时,可以通过虚拟地址经过层层转化后访问到虚拟地址对应的物理地址;也可以在访问前,将虚拟地址转换为物理地址后,直接访问虚拟地址对应的物理地址。本公开为在访问前进行地址转换,具体地,若有待转换地址(即虚拟地址)需要转换为物理地址,地址转换缓存101包括的N个寄存器组中,每个寄存器组同步检测待转换地址是否落在自己存储的基准虚拟地址指示的一组虚拟地址中,若存在寄存器组检测到待转换地址落在自己存储的基准虚拟地址指示的一组虚拟地址中,则从该寄存器组中确定该基准虚拟地址对应的基准物理地址;再根据该基准物理地址,确定待转换地址的物理地址。PCIE控制器102,用于从地址转换缓存101中接收物理地址后,进行下一步传输。
本公开提供的数据处理方法的执行主体可以为上述的终端设备(包括移动电子设备和非移动电子设备),也可以为该终端设备中能够实现该数据处理方法的功能模块和/或功能实体,具体的可以根据实际使用需求确定,本申请实施例不作限定。
下面结合附图,通过具体的实施例及其应用场景对本公开提供的数据处理方法进行详细地说明。
如图2所示,本公开提供了一种数据处理方法,该方法可以包括下述的步骤201至步骤204。
201、获取待转换地址。
其中,待转换地址为虚拟地址,EP侧的各个功能模块通过虚拟地址,需要访问的是该虚拟地址对应的物理地址,因此,需要将虚拟地址转换为物理地址后进行数据传输。
202、从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址。
其中,一个基准虚拟地址与一个基准物理地址的基准地址映射关系预先存储在一个寄存器组中,每个基准虚拟地址指示一组虚拟地址,每个基准物理地址指示一组物理地址,一个虚拟地址对应一个物理地址。
本方案通过寄存器搭建ATC,一个寄存器组用于存储一个基准地址映射关系,寄存器组允许并行访问。即若需要查询一个虚拟地址对应的物理地址,存储有基准映射关系的多个寄存器组同步检测该虚拟地址是否落在自己的一组虚拟地址中,可以大大降低查询需要花费的时长。如:N个寄存器组中存储有N个基准地址映射关系,每次检测需要耗时10毫秒,若有待转换地址需要转换,则N个寄存器组在一个10毫秒同步检测待转换地址是否落在自身存储的基准虚拟地址指示的一组虚拟地址中,得到检测结果,因此仅耗时10毫秒即可得到检测结果。
203、在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址。
其中,一组虚拟地址包括的多个虚拟地址是连续的,一组物理地址包括的多个物理地址也是连续的,同一个基准地址映射关系指示的一组虚拟地址的地址数量和一组物理地址的地址数量相同且一一对应。
示例性地,从CPU获取到的一段虚拟地址与一段物理地址的对应关系为:(1-10)对应(101-110),即虚拟地址1对应物理地址101,虚拟地址2对应物理地址102,以此类推。确定基准虚拟地址为1,对应的基准物理地址为101,则寄存器组存储的为(1,101),基准虚拟地址为1对应的一组基准地址为1至10,基准物理地址为100对应的一组基准物理地址为101至110,若待转换地址为5,则根据1对应的物理地址101,可以推导得到5对应的物理地址为105。
本公开实施例中,对于需要转换为物理地址的待转换地址,每个寄存器组同步检测该待转换地址是否落在了自身存储的基准虚拟地址对应的一组虚拟地址中,若检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址,则可以根据目标基准虚拟地址对应的基准物理地址,确定出待转换地址对应的物理地址。如此,每个寄存器组存储了一个基准地址映射关系,每个基准地址映射关系可以指示一组虚拟地址对应的一组物理地址,可以节约存储空间,降低资源消耗;并且,多个寄存器组允许并行操作,因此,在一个检测时长内,所有存储有基准地址映射关系的寄存器组可以并行执行检测,相较于串行检测,减少了检测时长,从而可以降低通信时延。
本公开一些实施例中,结合图2,如图3所示,上述步骤203,具体可以通过下述步骤203a至203c实现。
203a、在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,确定待转换地址与目标基准虚拟地址的差值。
203b、将差值与目标基准物理地址的和,确定为待转换地址对应的物理地址。
其中,一个寄存器用于存储一位二进制数据,每个基准地址映射关系以多个二进制数据的形式存储在一个寄存器组中。根据寄存器组中需要存储的基准地址映射关系的位数,确定一个寄存器组中包括的寄存器的个数。具体地,一个寄存器组的个数大于基准地址映射关系的位数。
示例性地,如图4所示,为一个寄存器组的示意图,每个存储有二进制数据的方框表示一个寄存器。每个基准地址映射关系包括8位的基准虚拟地址和8位的基准物理地址,图4中示出的一个寄存器组中寄存器的个数等于基准地址映射关系的位数,即共16个寄存器。虚线之前(如左箭头所示方向)的8位用于存储目标基准虚拟地址,虚线之后(如右箭头所示方向)的8位用于存储目标基准虚拟地址对应的目标基准物理地址,即目标基准虚拟地址0对应目标基准物理地址32,如当待转换地址为5时,待转换地址的二进制表示为:00000101;目标基准物理地址的二进制表示为:00100000,此时,待转换地址与目标虚拟地址的差值为:00000101,差值与目标物理地址的和为:00100101,即5对应的物理地址为37。
可选地,根据目标物理地址和目标基准虚拟地址指示的一组虚拟地址的第一数量,通过地址重组的方式得到待转换地址对应的物理地址。
具体地,在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,确定待转换地址与目标基准虚拟地址的差值的绝对值;根据第一数量,确定目标基准物理地址指示的一组物理地址中变化的低位;在目标基准物理地址中,将除低位外的高位作为待转换地址对应的物理地址的高位;将基准物理地址的低位与差值的和,作为待转换地址对应的物理地址的低位,该低位为除高位外的其他位;拼接待转换地址对应的物理地址的高位和低位,得到待转换地址对应的物理地址。
示例性地,目标基准虚拟地址0对应目标基准物理地址32,以二进制表示的虚拟地址与物理地址的对应关系为:00000000对应00100000,00000001对应00100001,00000010对应00100010……,一组虚拟地址的数量为8,使用二进制的四位即可表示小于或者等于8的任一数字,因此,对于用8位二进制数表示的一个虚拟地址或者物理地址,确定低位包括4位,高位包括4位,待转换地址对应的物理地址的高位为:目标基准物理地址中除低位外的,即为0010;待转换地址为3,基准物理地址的低位为0000,差值为0011,两者的和为0011,即待转换地址对应的物理地址的低位为0011;拼接高位和低位得到00100011即为待转换地址对应的物理地址。
需要说明的是,根据目标基准物理地址,确定待转换地址对应的物理地址的具体实现方式,本公开仅示例性的给出实施例,基于相同或者类似的思想得到待转换地址对应的物理地址的实现方式均在本公开的保护范围内。
本公开实施例中,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址,具体地是通过确定待转换地址与目标基准虚拟地址的差值;再对差值与目标基准物理地址求和,得到待转换地址对应的物理地址。该过程的计算量较小,能更高效地通过目标基准虚拟地址能够快速得到待转换地址的物理地址,进一步降低通信时延。
可选地,若多个基准虚拟地址指示的多组虚拟地址是连续的,则上述步骤202和步骤203,可以通过下述步骤202a和步骤203c实现。
202a、同步检测是否存在小于或者等于待转换地址的基准虚拟地址。
203c、在检测到存在小于或者等于待转换地址的至少一个候选基准虚拟地址的情况下,将至少一个候选基准虚拟地址中的最大值确定为目标基准虚拟地址。
如此,在多组虚拟地址连续的情况下,无需依据其他信息,仅根据基准虚拟地址和基准物理地址即可确定待转换地址的物理地址。
本公开一些实施例中,上述步骤203a和步骤203b适用于多组虚拟地址连续的情况,对于以任意方式分组的虚拟地址,在上述步骤202之前,结合图2,如图5所示,可以通过下述步骤204实现该数据处理方法。
204、从多个寄存器组中存储的至少一个基准虚拟地址中,根据预设数量,确定每个基准虚拟地址对应的一组虚拟地址。
在向CPU发送地址转换请求时,地址转换请求中包括用于指示一组虚拟地址的数量,CPU返回的的是指示一组物理地址的基准物理地址,在寄存器组存储能代表一组虚拟地址和一组物理地址的基准虚拟地址和基准物理地址,以及该一组虚拟地址的数量,即预设数量。
示例性地,寄存器组中存储的基准虚拟地址和基准物理地址为(1,101),预设数量为10,则该基准虚拟地址指示的一组虚拟地址为1至10,对应的一组物理地址为101至110。
本公开实施例中,对于以任意方式分组的一组虚拟地址,根据基准物理地址,以及预先存储的该一组虚拟地址的预设数量,即可确定落在该一组虚拟地址中的任一待转换地址对应的物理地址。
本公开一些实施例中,若待转换地址未落在任一基准虚拟地址指示的一组地址中,为了能够实现将待转换地址转换为物理地址,结合图2,如图6所示,可以在上述步骤202之后,通过下述步骤205至步骤207实现。
205、在每个基准虚拟地址指示的一组虚拟地址均不包括待转换地址的情况下,基于待转换地址,生成地址转换请求。
其中,地址转换请求包括待转换地址。
基于待转换地址,生成地址转换请求,具体地,基于待转换地址,生产包括待转换地址的事务包(Transaction LayerPacket,TLP),该事务包即地址转换请求。该地址转换请求还包括用于指示预设数量的数量信息,CPU返回的物理地址指示的是一组连续的物理地址,如地址转换请求中包括的待转换地址为0,预设数量为8,CPU返回的物理地址为100,即指示虚拟地址0-7对应的物理地址为100-107。
206、向CPU发送地址转换请求,并接收CPU返回的待转换地址对应的物理地址。
CPU在接收到地址转换请求后,通过查询表,将待转换地址的对应的物理地址返回至控制器。
207、将待转换地址和待转换地址对应的物理地址,作为基准地址映射关系存储至空闲寄存器组中。
若待转换地址对应的物理地址在ATC中未存储,则在待转换地址首次向CPU请求物理地址的情况下,CPU返回的为待转换地址对应的物理地址,该待转换地址即为基准虚拟地址,用于指示预设数量的一组虚拟地址,该一组虚拟地址为以待转换地址为首位的连续的虚拟地址,如待转换地址为0,预设数量为8,则一组虚拟地址为0至7;待转换地址为16,预设数量为16,则一组虚拟地址为16至31。
本公开实施例中,在寄存器组中存储的任一基准虚拟地址指示的一组虚拟地址均不包括待转换地址的情况下,为了实现地址转换,可以从CPU中获取多个待转换地址对应的物理地址,并作为一组基准映射关系存储至一组寄存器组中,便于下次使用。
当CPU侧的存储的虚拟地址与物理地址的对应关系变化后,EP侧若不做处理,仍按照原始物理地址执行操作,则会导致报错,影响数据传输的正常流程。因此,本公开一些实施例中,如图7所示,其示出了另一种数据处理的方法流程,该流程可以包括下述步骤:
在上述步骤207之后,该数据处理方法还包括下述步骤208和步骤209,上述步骤203,具体可以通过下述步骤203d实现。
201、获取待转换地址。
202、从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址。
205、在每个基准虚拟地址指示的一组虚拟地址均不包括待转换地址的情况下,基于待转换地址,生成地址转换请求。
206、向CPU发送地址转换请求,并接收CPU返回的待转换地址对应的物理地址。
207、将待转换地址和待转换地址对应的物理地址,作为基准地址映射关系存储至空闲寄存器组中。
203d、在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址,且目标基准虚拟地址对应的基准地址映射关系可用的情况下,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址。
可选地,在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址,且目标基准虚拟地址对应的基准地址映射关系不可用的情况下,执行步骤205至步骤207,以获取更改后的地址映射关系。
208、在空闲寄存器组中存储的基准地址映射关系中添加有效标志。
其中,有效标志用于指示基准地址映射关系可用。
209、在接收到CPU发送的指示第一基准地址映射关系不可用的无效指示消息的情况下,将第一基准地址映射关系的有效标志修改为无效标志。
具体地,对于从CPU中获取的待转换地址对应的物理地址,并将其作为基准地址映射关系存储至一个寄存器组中后,在该寄存器组中添加有效标志,表示该基准映射关系可用。CPU侧的虚拟地址与物理地址之间的关系修改后,CPU会主动向CPU侧发送用于指示某一虚拟地址不可用的无效指示信息,在EP侧,将第一基准地址映射关系的有效标志修改为无效标志,第一基准地址映射关系的基准虚拟地址指示的一组虚拟地址包括该无效的虚拟地址。
需要说明的是,上述201和步骤202,步骤205至步骤207的具体细节可参见前述,此处不再赘述。
本公开实施例中,为存储的每个基准地址映射关系设置有效标志或无效标志,以使多个寄存器组中存储的,每个具有有效标志的基准地址映射关系与CPU侧存储的地址映射关系同步,避免了由于CPU侧的地址映射关系已更改,导致的访问出错的问题。
现有技术中,每个虚拟地址是否需要进行地址转换依据的算法内置在硬件中,因此,EP侧所有的虚拟地址是否需要进行地址转换依据的是固定算法,灵活性较差。因此,本公开一些实施例中,上述步骤205,具体可以通过下述步骤205a实现。
205a、在每个基准虚拟地址指示的一组虚拟地址均不包括待转换地址,且待转换地址的属性信息满足目标条件的情况下,基于待转换地址,生成地址转换请求。
其中,目标条件包括以下至少一项:访问数量大于或者等于预设数量,访问频次大于或者等于预设频次,优先级大于或者等于预设优先级。
具体地,待转换地址的属性信息包括:访问数量,访问频次,优先级;访问数量用于指示待转换地址的总访问次数,访问频次用于指示待转换地址在预设时长内的访问次数,优先级用于指示该待转换地址的重要程度。
本公开实施例中,目标条件通过软件的方式设置,允许用户修改,因此,对于不同的需求,用户可以灵活修改目标条件。
图8为本公开示出的一种数据处理装置的结构框图,如图8所示,包括:获取模块801,检测模块802,确定模块803;获取模块801,用于获取待转换地址;检测模块802,用于从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址;其中,一个基准虚拟地址与一个基准物理地址的基准地址映射关系预先存储在一个寄存器组中,每个基准虚拟地址指示一组虚拟地址,每个基准物理地址指示一组物理地址,一个虚拟地址对应一个物理地址;确定模块803,用于在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址。
本公开一些实施例中,该确定模块803,具体用于在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,确定待转换地址与目标基准虚拟地址的差值;将差值与目标基准物理地址的和,确定为待转换地址对应的物理地址。
本公开一些实施例中,该确定模块803,还用于在从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址之前,从多个寄存器组中存储的至少一个基准虚拟地址中,根据预设数量,确定每个基准虚拟地址对应的一组虚拟地址。
本公开一些实施例中,该装置还包括:生成模块,输入输出模块和存储模块;该生成模块,用于在从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括待转换地址之后,在每个基准虚拟地址指示的一组虚拟地址均不包括待转换地址的情况下,基于待转换地址,生成地址转换请求,地址转换请求包括待转换地址;该输入输出模块,用于向中央处理器CPU发送地址转换请求,并接收CPU返回的待转换地址对应的物理地址;该存储模块,用于将待转换地址和待转换地址对应的物理地址,作为基准地址映射关系存储至空闲寄存器组中。
本公开一些实施例中,该装置还包括:添加模块,用于在将待转换地址和待转换地址对应的物理地址,作为基准地址映射关系存储至空闲寄存器组中之后,在空闲寄存器组中存储的基准地址映射关系中添加有效标志,有效标志用于指示基准地址映射关系可用;该确定模块803,具体用于在检测到包括待转换地址的一组虚拟地址对应的目标基准虚拟地址,且目标基准虚拟地址对应的基准地址映射关系可用的情况下,根据目标基准虚拟地址对应的目标基准物理地址,确定待转换地址对应的物理地址。
本公开一些实施例中,该装置还包括:修改模块,用于在接收到CPU发送的指示第一基准地址映射关系不可用的无效指示消息的情况下,将第一基准地址映射关系的有效标志修改为无效标志。
本公开一些实施例中,该生成模块,具体用于在每个基准虚拟地址指示的一组虚拟地址均不包括待转换地址,且待转换地址的属性信息满足目标条件的情况下,基于待转换地址,生成地址转换请求,目标条件包括以下至少一项:访问数量大于或者等于预设数量,访问频次大于或者等于预设频次,优先级大于或者等于预设优先级。
需要说明的是,上述数据处理装置可以为本申请上述方法实施例中的电子设备,也可以是该电子设备中能够实现该装置实施例功能的功能模块和/或功能实体,本申请实施例不做限定。
本申请实施例中,各模块可以实现上述方法实施例提供的数据处理装置方法,且能达到相同的技术效果,为避免重复,这里不再赘述。
如图9所示,示出了本公开一个示例性实施例提供的电子设备的结构方框图。在一些示例中,电子设备90可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种。电子设备90具有通信功能,可以接入有线网络或无线网络。电子设备90可以泛指多个终端中的一个,本领域技术人员可以知晓,上述终端的数量可以更多或更少。可以理解地,电子设备90承担本公开技术方案的计算及处理工作,本公开对此不作限定。
如图9所示,本公开中的电子设备可以包括一个或多个如下部件:处理器910和存储器920。
可选地,处理器910利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器920内的指令、程序、代码集或指令集,以及调用存储在存储器920内的数据,执行电子设备的各种功能和处理数据。可选地,处理器910可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器910可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network Processing Unit,NPU)和基带芯片等中的一种或几种的个合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;NPU用于实现人工智能(Artificial Intelligence,AI)功能;基带芯片用于处理无线通信。可以理解的是,上述基带芯片也可以不集成到处理器910中,单独通过一块芯片进行实现。
存储器920可以包括随机存储器(RandomAccess Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器920包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器920可用于存储指令、程序、代码、代码集或指令集。存储器920可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现以上各个方法实施例的指令等;存储数据区可存储根据电子设备的使用所创建的数据等。
除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者个合某些部件,或者不同的部件布置。比如,电子设备中还包括显示屏、摄像器件、麦克风、扬声器、射频电路、输入单元、传感器(比如加速度传感器、角速度传感器、光线传感器等等)、音频电路、WiFi模块、电源、蓝牙模块等部件,在此不再赘述。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上各个实施例所述的数据处理方法。
本公开还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中;电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行以实现上述各个实施例所述的数据处理方法。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统,装置,服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或个件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本公开所描述的功能可以用硬件、软件、固件或它们的任意一个组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
需要说明的是:本公开所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取待转换地址;
从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括所述待转换地址;其中,一个基准虚拟地址与一个基准物理地址的基准地址映射关系预先存储在一个寄存器组中,每个基准虚拟地址指示一组虚拟地址,每个基准物理地址指示一组物理地址,一个虚拟地址对应一个物理地址;
在检测到包括所述待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据所述目标基准虚拟地址对应的目标基准物理地址,确定所述待转换地址对应的物理地址。
2.根据权利要求1所述的方法,其特征在于,所述在检测到包括所述待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据所述目标基准虚拟地址对应的目标基准物理地址,确定所述待转换地址对应的物理地址,包括:
在检测到包括所述待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,确定所述待转换地址与所述目标基准虚拟地址的差值;
将所述差值与所述目标基准物理地址的和,确定为所述待转换地址对应的物理地址。
3.根据权利要求1所述的方法,其特征在于,所述从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括所述待转换地址之前,所述方法还包括:
从多个寄存器组中存储的至少一个基准虚拟地址中,根据预设数量,确定每个基准虚拟地址对应的一组虚拟地址。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括所述待转换地址之后,所述方法还包括:
在所述每个基准虚拟地址指示的一组虚拟地址均不包括所述待转换地址的情况下,基于所述待转换地址,生成地址转换请求,所述地址转换请求包括所述待转换地址;
向中央处理器CPU发送所述地址转换请求,并接收所述CPU返回的所述待转换地址对应的物理地址;
将所述待转换地址和所述待转换地址对应的物理地址,作为基准地址映射关系存储至空闲寄存器组中。
5.根据权利要求4所述的方法,其特征在于,所述将所述待转换地址和所述待转换地址对应的物理地址,作为基准地址映射关系存储至空闲寄存器组中之后,所述方法还包括:
在所述空闲寄存器组中存储的基准地址映射关系中添加有效标志,所述有效标志用于指示所述基准地址映射关系可用;
所述在检测到包括所述待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据所述目标基准虚拟地址对应的目标基准物理地址,确定所述待转换地址对应的物理地址,包括:
在检测到包括所述待转换地址的一组虚拟地址对应的目标基准虚拟地址,且所述目标基准虚拟地址对应的基准地址映射关系可用的情况下,根据所述目标基准虚拟地址对应的目标基准物理地址,确定所述待转换地址对应的物理地址。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在接收到CPU发送的指示第一基准地址映射关系不可用的无效指示消息的情况下,将所述第一基准地址映射关系的有效标志修改为无效标志。
7.根据权利要求4所述的方法,其特征在于,所述在所述每个基准虚拟地址指示的一组虚拟地址均不包括所述待转换地址的情况下,基于所述待转换地址,生成地址转换请求,包括:
在所述每个基准虚拟地址指示的一组虚拟地址均不包括所述待转换地址,且所述待转换地址的属性信息满足目标条件的情况下,基于所述待转换地址,生成地址转换请求,所述目标条件包括以下至少一项:访问数量大于或者等于预设数量,访问频次大于或者等于预设频次,优先级大于或者等于预设优先级。
8.一种数据处理装置,其特征在于,包括:获取模块,检测模块,确定模块;
所述获取模块,用于获取待转换地址;
所述检测模块,用于从多个寄存器组中存储的至少一个基准虚拟地址中,同步检测每个基准虚拟地址指示的一组虚拟地址中是否包括所述待转换地址;其中,一个基准虚拟地址与一个基准物理地址的基准地址映射关系预先存储在一个寄存器组中,每个基准虚拟地址指示一组虚拟地址,每个基准物理地址指示一组物理地址,一个虚拟地址对应一个物理地址;
所述确定模块,用于在检测到包括所述待转换地址的一组虚拟地址对应的目标基准虚拟地址的情况下,根据所述目标基准虚拟地址对应的目标基准物理地址,确定所述待转换地址对应的物理地址。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311488242.5A CN117743233A (zh) | 2023-11-09 | 2023-11-09 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311488242.5A CN117743233A (zh) | 2023-11-09 | 2023-11-09 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117743233A true CN117743233A (zh) | 2024-03-22 |
Family
ID=90253417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311488242.5A Pending CN117743233A (zh) | 2023-11-09 | 2023-11-09 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117743233A (zh) |
-
2023
- 2023-11-09 CN CN202311488242.5A patent/CN117743233A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959127B (zh) | 地址转换方法、装置及系统 | |
EP3816924B1 (en) | Method for accepting blockchain evidence storage transaction and system | |
CN114556881B (zh) | 一种地址翻译方法及装置 | |
CN114265800B (zh) | 中断消息处理方法、装置、电子设备及可读存储介质 | |
CN110719345B (zh) | 虚拟机mac地址生成方法、系统、设备及计算机介质 | |
CN114090479A (zh) | 访问报告系统、方法、装置、芯片及电子设备 | |
CN109710502B (zh) | 日志传输方法、装置及存储介质 | |
CN109636460B (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN114756332A (zh) | 基于虚拟机设备直通的数据访问方法、设备以及系统 | |
US8312331B2 (en) | Memory testing with snoop capabilities in a data processing system | |
CN103092676A (zh) | 虚拟机集群的模拟输入输出方法、装置及系统 | |
CN114793223A (zh) | Dns记录的存储方法、装置、存储介质及电子设备 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN117743233A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN112199039A (zh) | 虚拟存储管理方法及处理器 | |
CN115334013B (zh) | 一种流量统计方法、网卡及电子设备 | |
CN113656330B (zh) | 确定访问地址的方法和装置 | |
CN110659143A (zh) | 一种容器间的通讯方法、装置及电子设备 | |
CN106940684B (zh) | 一种按比特写数据的方法及装置 | |
CN113656331A (zh) | 基于高低位的确定访问地址的方法和装置 | |
CN115454705A (zh) | 故障处理方法、相关装置、计算机设备、介质和程序 | |
CN113535611A (zh) | 数据处理方法及装置、异构系统 | |
CN111228815A (zh) | 处理游戏的配置表的方法、装置、存储介质和系统 | |
CN117435143B (zh) | 一种数据处理方法、装置及电子设备 | |
CN117472806B (zh) | 一种地址翻译方法、装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |