数据处理装置、操作方法和机器可读存储介质制造方法及图纸

技术编号:38230612 阅读:8 留言:0更新日期:2023-07-25 17:58
本发明专利技术提供一种数据处理装置及其操作方法,以及机器可读存储介质。所述数据处理装置包括第一内存、第二内存以及处理器。第二内存不支持以第一存取颗粒度进行存取。在处理器将第一存取颗粒度的第一数据从处理器的寄存器存储到第二内存的第一目标地址的过程中:基于第一目标地址所对应的第一对齐地址,第二存取颗粒度的第二数据从第二内存被复制到第一内存;基于第一目标地址,第一数据从寄存器被更新到第一内存内的第二数据的对应部分,以成为经更新第二数据;以及基于第一对齐地址将经更新第二数据从第一内存写回到第二内存。新第二数据从第一内存写回到第二内存。新第二数据从第一内存写回到第二内存。

【技术实现步骤摘要】
数据处理装置、操作方法和机器可读存储介质


[0001]本专利技术涉及一种电子装置,且特别涉及一种数据处理装置、操作方法和机器可读存储介质。

技术介绍

[0002]处理器可以执行加载(load)和存储(store)指令,以存取内存的数据。一般而言,内存有其特定的存取颗粒度。所述存取颗粒度的意思是,对此内存进行存取的最小数据长度。举例来说,线程本地内存(thread local memory,TLM),或称为本地内存(local memory),的存取颗粒度可能是4个字节(byte)。亦即,处理器对此线程本地内存进行存取的最小数据长度为32位(bit)。在内存的每一个字节均被定义一个地址的情况下,假设内存的存取颗粒度是4个字节,则地址0、4、8、12、

被称为对齐地址,而其他地址被称为非对齐地址。加载(或存储)指令的地址若为对齐地址,则此加载(或存储)指令为合法指令。加载(或存储)指令的地址若为非对齐地址,因为内存不支持非对齐地址存取,则此加载(或存储)指令为不合法指令。
[0003]此外,当内存不支持指令所欲加载(或存储)的数据的颗粒度时,此加载(或存储)指令亦为不合法指令。举例来说,假设线程本地内存(TLM)的存取颗粒度是4个字节(对齐地址为0、4、8、

),且存储指令欲从处理器的寄存器存储8位数据到TLM,则此存储指令为不合法指令,因为TLM的存取颗粒度不支持8位(1个字节)存取。如何对内存以其不支持的存取颗粒度进行数据存取,以及/或是如何对内存进行非对齐地址存取,是本领域的诸多技术课题之一。

技术实现思路

[0004]本专利技术提供一种数据处理装置及其操作方法,以及机器可读存储介质,以对内存进行数据存取。
[0005]在根据本专利技术的实施例中,所述数据处理装置包括第一内存、第二内存以及处理器。第一内存支持以第一存取颗粒度和大于第一存取颗粒度的第二存取颗粒度进行存取。第二内存不支持以第一存取颗粒度进行存取,但支持以第二存取颗粒度进行存取。处理器耦接至第一内存和第二内存。在处理器将第一存取颗粒度的至少一个第一数据从处理器的至少一个寄存器存储到第二内存的至少一个第一目标地址的过程中,处理器基于所述至少一个第一目标地址所对应的第一对齐地址将第二存取颗粒度的第二数据从第二内存复制到第一内存,处理器基于所述至少一个第一目标地址将第一存取颗粒度的所述至少一个第一数据从处理器的所述至少一个寄存器更新到第一内存内的第二数据的至少一个对应部分以成为经更新第二数据,以及处理器基于所述至少一个第一目标地址所对应的第一对齐地址将经更新第二数据从第一内存写回到第二内存。
[0006]在根据本专利技术的实施例中,所述操作方法包括:将第一存取颗粒度的至少一个第一数据从处理器的至少一个寄存器存储到不支持以第一存取颗粒度进行存取的第二内存
的至少一个第一目标地址,其中将所述至少一个第一数据从所述至少一个寄存器存储到第二内存的所述至少一个第一目标地址的过程包括:基于所述至少一个第一目标地址所对应的第一对齐地址,将第二存取颗粒度的第二数据从第二内存复制到第一内存;基于所述至少一个第一目标地址,将第一存取颗粒度的所述至少一个第一数据从处理器的所述至少一个寄存器更新到第一内存内的第二数据的至少一个对应部分以成为经更新第二数据;以及基于所述至少一个第一目标地址所对应的第一对齐地址,将经更新第二数据从第一内存写回到第二内存。
[0007]在根据本专利技术的实施例中,所述机器可读存储介质用于存储非暂时性机器可读指令。当所述非暂时性机器可读指令由计算机执行时,可以实现所述数据处理装置的操作方法。
[0008]基于上述,基于第一目标地址所对应的第一对齐地址,大颗粒度(第二存取颗粒度,例如32位或是其他颗粒度)的第二数据可以从第二内存被复制到支持小存取颗粒度(第一存取颗粒度,例如8位或是其他存取颗粒度)的第一内存,然后小存取颗粒度的第一数据可以从处理器的寄存器被更新到第一内存内的第二数据的对应部分以成为经更新第二数据,最后将经更新第二数据从第一内存写回到第二内存。因此,所述处理器可以对第二内存以其不支持的第一存取颗粒度进行数据存取,以及/或是对内存进行非对齐地址存取。
附图说明
[0009]图1是依照本专利技术的一实施例的一种数据处理装置的电路方块(circuit block)示意图。
[0010]图2是依照本专利技术的一实施例的一种数据处理装置的操作方法的流程示意图。
[0011]图3是依照本专利技术的一实施例所绘示,处理器将数据存储到内存的过程示意图。
[0012]图4是依照本专利技术的另一实施例所绘示,处理器将数据存储到内存的过程示意图。
[0013]图5是依照本专利技术的另一实施例的一种数据处理装置的操作方法的流程示意图。
[0014]图6是依照本专利技术的一实施例所绘示,处理器从内存加载数据到寄存器的过程示意图。
[0015]图7是依照本专利技术的另一实施例所绘示,处理器从内存加载数据到寄存器的过程示意图。
[0016]附图标记说明
[0017]100:数据处理装置
[0018]110:处理器
[0019]D0、D1、D2、D3、Da、Db、Dc、Dn:数据
[0020]G0、G1、G2、G3:地址
[0021]MEM1、MEM2:内存
[0022]S210、S220、S230、S510、S520:步骤
具体实施方式
[0023]现将详细地参考本专利技术的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
[0024]在本案说明书全文(包括权利要求)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以透过其他装置或某种连接手段而间接地连接至该第二装置。本案说明书全文(包括权利要求)中提及的“第一”、“第二”等用语是用以命名组件(element)的名称,而并非用来限制组件数量的上限或下限,亦非用来限制组件的次序。另外,凡可能之处,在附图及实施方式中使用相同标号的组件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的组件/构件/步骤可以相互参照相关说明。
[0025]图1是依照本专利技术的一实施例的一种数据处理装置100的电路方块(circuit block)示意图。图1所示数据处理装置100包括内存MEM1、内存MEM2以及处理器110。依照不同的设计需求,在一些实施例中,处理器110的实现方式可以是硬件(hardware)电路。在另一些实施例中,处理器110的实现方式可以是硬件、固件、软件中的多者的组合形式。
[0026]以硬件形式而言,上述处理器110可以实现于集成电路(integrated circuit)上的逻辑电路。举例来说,处理器110的相关功能可以被实现于一或多个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理装置,其特征在于,所述数据处理装置包括:第一内存,支持以第一存取颗粒度和大于所述第一存取颗粒度的第二存取颗粒度进行存取;第二内存,不支持以所述第一存取颗粒度进行存取但支持以所述第二存取颗粒度进行存取;以及处理器,耦接至所述第一内存和所述第二内存,其中在所述处理器将所述第一存取颗粒度的至少一个第一数据从所述处理器的至少一个寄存器存储到所述第二内存的至少一个第一目标地址的过程中,所述处理器基于所述至少一个第一目标地址所对应的第一对齐地址将所述第二存取颗粒度的第二数据从所述第二内存复制到所述第一内存,所述处理器基于所述至少一个第一目标地址将所述第一存取颗粒度的所述至少一个第一数据从所述处理器的所述至少一个寄存器更新到所述第一内存内的所述第二数据的至少一个对应部分以成为经更新第二数据,以及所述处理器基于所述至少一个第一目标地址所对应的所述第一对齐地址将所述经更新第二数据从所述第一内存写回到所述第二内存。2.根据权利要求1所述的数据处理装置,其特征在于,所述第一内存包括全局内存,以及所述第二内存包括本地内存。3.根据权利要求1所述的数据处理装置,其特征在于,在所述处理器将所述第一存取颗粒度的所述至少一个第一数据从所述处理器的所述至少一个寄存器存储到所述第二内存的所述至少一个第一目标地址的过程中,所述处理器基于所述至少一个第一目标地址计算所述至少一个第一目标地址所对应的所述第一对齐地址,所述处理器从所述第二内存的所述第一对齐地址将所述第二存取颗粒度的所述第二数据复制到所述第一内存的第二目标地址,所述处理器计算所述至少一个第一目标地址与所述第一对齐地址之间的至少一个地址偏移,所述处理器根据所述至少一个地址偏移调整所述第二目标地址而获得至少一个第三目标地址,所述处理器将所述至少一个寄存器的所述第一存取颗粒度的所述至少一个第一数据存储到所述第一内存的所述至少一个第三目标地址,以及所述处理器从所述第一内存的所述第二目标地址将所述第二存取颗粒度的所述经更新第二数据复制到所述第二内存的所述第一对齐地址。4.根据权利要求1所述的数据处理装置,其特征在于,所述至少一个第一数据包括第一目的数据和第二目的数据,所述至少一个寄存器包括第一寄存器和第二寄存器,所述至少一个第一目标地址包括第一目的地址和第二目的地址,以及在所述处理器将所述第一存取颗粒度的所述至少一个第一数据从所述处理器的所述至少一个寄存器存储到所述第二内存的所述至少一个第一目标地址的过程中,所述处理器从所述第二内存内所述第一目的地址和所述第二目的地址所对应的所述第一对齐地址将所述第二存取颗粒度的所述第二数据复制到所述第一内存的第二目标地
址,所述处理器基于所述第一目的地址将所述第一存取颗粒度的所述第一目的数据从所述处理器的所述第一寄存器更新到所述第一内存内所述第二目标地址的所述第二数据的第一对应部分,所述处理器基于所述第二目的地址将所述第一存取颗粒度的所述第二目的数据从所述处理器的所述第二寄存器更新到所述第一内存内所述第二目标地址的所述第二数据的第二对应部分,以及所述处理器从所述第一内存内所述第二目标地址将所述经更新第二数据写回到所述第二内存的所述第一对齐地址。5.根据权利要求1所述的数据处理装置,其特征在于,在所述处理器从所述第二内存的至少一个第二目标地址加载所述第一存取颗粒度的至少一个第三数据到所述处理器的所述至少一个寄存器的过程中,所述处理器基于所述至少一个第二目标地址所对应的第二对齐地址将所述第二存取颗粒度的第四数据从所述第二内存复制到所述第一内存,其中所述第二存取颗粒度的所述第四数据含有所述第一存取颗粒度的所述至少一个第三数据,以及所述处理器基于所述至少一个第二目标地址从所述第一内存内的所述第四数据的至少一个对应部分将所述至少一个第三数据加载到所述处理器的所述至少一个寄存器。6.根据权利要求5所述的数据处理装置,其特征在于,在所述处理器从所述第二内存的所述至少一个第二目标地址加载所述第一存取颗粒度的所述至少一个第三数据到所述处理器的所述至少一个寄存器的过程中,所述处理器基于所述至少一个第二目标地址计算所述至少一个第二目标地址所对应的所述第二对齐地址,所述处理器从所述第二内存的所述第二对齐地址将所述第二存取颗粒度的所述第四数据复制到所述第一内存的第三目标地址,所述处理器计算所述至少一个第二目标地址与所述第二对齐地址之间的至少一个地址偏移,所述处理器根据所述至少一个地址偏移调整所述第三目标地址而获得至少一个第四目标地址,以及所述处理器从所述第一内存的所述至少一个第四目标地址加载所述第一存取颗粒度的所述至少一个第三数据到所述处理器的所述至少一个寄存器。7.根据权利要求5所述的数据处理装置,其特征在于,所述至少一个第三数据包括第一目的数据和第二目的数据,所述至少一个寄存器包括第一寄存器和第二寄存器,所述至少一个第二目标地址包括第一目的地址和第二目的地址,以及在所述处理器从所述第二内存的所述至少一个第二目标地址加载所述第一存取颗粒度的至少一个第三数据到所述处理器的所述至少一个寄存器的过程中,所述处理器从所述第二内存内所述第一目的地址和所述第二目的地址所对应的所述第二对齐地址将所述第二存取颗粒度的所述第四数据复制到所述第一内存的第三目标地址,其中所述第二存取颗粒度的所述第四数据含有所述第一存取颗粒度的所述第一目的数据和所述第二目的数据,
所述处理器基于所述第一目的地址从所述第一内存内所述第三目标地址的所述第四数据的第一对应部分将所述第一目的数据加载到所述处理器的所述第一寄存器,以及所述处理器基于所述第二目的地址从所述第一内存内所述第三目标地址的所述第四数据的第二对应部分将所述第二目的数据加载到所述处理器的所述...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1