【技术实现步骤摘要】
数据处理装置、操作方法和机器可读存储介质
[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个字节)存取。如何对内存以其不支持的存取颗粒度进行数据存取,以及/或是如何对内存进行非对齐地址存取,是 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理装置,其特征在于,所述数据处理装置包括:第一内存,支持以第一存取颗粒度和大于所述第一存取颗粒度的第二存取颗粒度进行存取;第二内存,不支持以所述第一存取颗粒度进行存取但支持以所述第二存取颗粒度进行存取;以及处理器,耦接至所述第一内存和所述第二内存,其中在所述处理器将所述第一存取颗粒度的至少一个第一数据从所述处理器的至少一个寄存器存储到所述第二内存的至少一个第一目标地址的过程中,所述处理器基于所述至少一个第一目标地址所对应的第一对齐地址将所述第二存取颗粒度的第二数据从所述第二内存复制到所述第一内存,所述处理器基于所述至少一个第一目标地址将所述第一存取颗粒度的所述至少一个第一数据从所述处理器的所述至少一个寄存器更新到所述第一内存内的所述第二数据的至少一个对应部分以成为经更新第二数据,以及所述处理器基于所述至少一个第一目标地址所对应的所述第一对齐地址将所述经更新第二数据从所述第一内存写回到所述第二内存。2.根据权利要求1所述的数据处理装置,其特征在于,所述第一内存包括全局内存,以及所述第二内存包括本地内存。3.根据权利要求1所述的数据处理装置,其特征在于,在所述处理器将所述第一存取颗粒度的所述至少一个第一数据从所述处理器的所述至少一个寄存器存储到所述第二内存的所述至少一个第一目标地址的过程中,所述处理器基于所述至少一个第一目标地址计算所述至少一个第一目标地址所对应的所述第一对齐地址,所述处理器从所述第二内存的所述第一对齐地址将所述第二存取颗粒度的所述第二数据复制到所述第一内存的第二目标地址,所述处理器计算所述至少一个第一目标地址与所述第一对齐地址之间的至少一个地址偏移,所述处理器根据所述至少一个地址偏移调整所述第二目标地址而获得至少一个第三目标地址,所述处理器将所述至少一个寄存器的所述第一存取颗粒度的所述至少一个第一数据存储到所述第一内存的所述至少一个第三目标地址,以及所述处理器从所述第一内存的所述第二目标地址将所述第二存取颗粒度的所述经更新第二数据复制到所述第二内存的所述第一对齐地址。4.根据权利要求1所述的数据处理装置,其特征在于,所述至少一个第一数据包括第一目的数据和第二目的数据,所述至少一个寄存器包括第一寄存器和第二寄存器,所述至少一个第一目标地址包括第一目的地址和第二目的地址,以及在所述处理器将所述第一存取颗粒度的所述至少一个第一数据从所述处理器的所述至少一个寄存器存储到所述第二内存的所述至少一个第一目标地址的过程中,所述处理器从所述第二内存内所述第一目的地址和所述第二目的地址所对应的所述第一对齐地址将所述第二存取颗粒度的所述第二数据复制到所述第一内存的第二目标地
址,所述处理器基于所述第一目的地址将所述第一存取颗粒度的所述第一目的数据从所述处理器的所述第一寄存器更新到所述第一内存内所述第二目标地址的所述第二数据的第一对应部分,所述处理器基于所述第二目的地址将所述第一存取颗粒度的所述第二目的数据从所述处理器的所述第二寄存器更新到所述第一内存内所述第二目标地址的所述第二数据的第二对应部分,以及所述处理器从所述第一内存内所述第二目标地址将所述经更新第二数据写回到所述第二内存的所述第一对齐地址。5.根据权利要求1所述的数据处理装置,其特征在于,在所述处理器从所述第二内存的至少一个第二目标地址加载所述第一存取颗粒度的至少一个第三数据到所述处理器的所述至少一个寄存器的过程中,所述处理器基于所述至少一个第二目标地址所对应的第二对齐地址将所述第二存取颗粒度的第四数据从所述第二内存复制到所述第一内存,其中所述第二存取颗粒度的所述第四数据含有所述第一存取颗粒度的所述至少一个第三数据,以及所述处理器基于所述至少一个第二目标地址从所述第一内存内的所述第四数据的至少一个对应部分将所述至少一个第三数据加载到所述处理器的所述至少一个寄存器。6.根据权利要求5所述的数据处理装置,其特征在于,在所述处理器从所述第二内存的所述至少一个第二目标地址加载所述第一存取颗粒度的所述至少一个第三数据到所述处理器的所述至少一个寄存器的过程中,所述处理器基于所述至少一个第二目标地址计算所述至少一个第二目标地址所对应的所述第二对齐地址,所述处理器从所述第二内存的所述第二对齐地址将所述第二存取颗粒度的所述第四数据复制到所述第一内存的第三目标地址,所述处理器计算所述至少一个第二目标地址与所述第二对齐地址之间的至少一个地址偏移,所述处理器根据所述至少一个地址偏移调整所述第三目标地址而获得至少一个第四目标地址,以及所述处理器从所述第一内存的所述至少一个第四目标地址加载所述第一存取颗粒度的所述至少一个第三数据到所述处理器的所述至少一个寄存器。7.根据权利要求5所述的数据处理装置,其特征在于,所述至少一个第三数据包括第一目的数据和第二目的数据,所述至少一个寄存器包括第一寄存器和第二寄存器,所述至少一个第二目标地址包括第一目的地址和第二目的地址,以及在所述处理器从所述第二内存的所述至少一个第二目标地址加载所述第一存取颗粒度的至少一个第三数据到所述处理器的所述至少一个寄存器的过程中,所述处理器从所述第二内存内所述第一目的地址和所述第二目的地址所对应的所述第二对齐地址将所述第二存取颗粒度的所述第四数据复制到所述第一内存的第三目标地址,其中所述第二存取颗粒度的所述第四数据含有所述第一存取颗粒度的所述第一目的数据和所述第二目的数据,
所述处理器基于所述第一目的地址从所述第一内存内所述第三目标地址的所述第四数据的第一对应部分将所述第一目的数据加载到所述处理器的所述第一寄存器,以及所述处理器基于所述第二目的地址从所述第一内存内所述第三目标地址的所述第四数据的第二对应部分将所述第二目的数据加载到所述处理器的所述...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:上海壁仞智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。