CN109324982B - 一种数据处理方法以及数据处理装置 - Google Patents
一种数据处理方法以及数据处理装置 Download PDFInfo
- Publication number
- CN109324982B CN109324982B CN201710640687.9A CN201710640687A CN109324982B CN 109324982 B CN109324982 B CN 109324982B CN 201710640687 A CN201710640687 A CN 201710640687A CN 109324982 B CN109324982 B CN 109324982B
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- data processing
- inactive
- standby
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例公开了一种数据处理方法和数据处理设备,能够提高数据访问效率,降低功耗。本申请实施例方法包括:数据处理装置接收处理器配置信息,所述配置信息用于指示所述数据处理装置调用待用数据块,所述配置信息包括所述待用数据块的源地址、所述待用数据块的目的地址、所述待用数据块大小以及所述待用数据块的调用命令格式;所述数据处理装置根据所述待用数据块大小进行细粒度划分确定传输次数;所述数据处理装置再根据传输次数、所述待用数据块的源地址以及所述待用数据块的调用命令格式调用所述待用数据块;所述数据处理装置将所述待用数据块存储在所述待用数据块的目的地址。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据处理方法以及数据处理装置。
背景技术
当前处理器多采用缓存(Cache)结构作为本地缓存,用来解决内存(memory)远距离访问带来的性能大幅恶化的问题,并利用数据访问的空间局部性和时间局部性对Cache结构做了不断的优化和完善,支持缓存行(Cache line)软硬件预取、一致性访问等,大大提升了软件灵活性和访存性能。
现有的一种采用Cache进行数据处理的方法为:将Cache访问过程中的待访问的数据读取到本地内存中,通过设置相应的标志来表明该数据已经存储在本地内存;当再次访问该数据时,由于该数据已经存储在本地内存中,所以无需再次访问外部存储单元,即实现高速访问。
然而,每次Cache访问过程中都需要和多个地址标签进行比较,以此判断待访问的数据是否有效,数据访问效率不高,一方面功耗过大,另一方面存在判定待访问的数据无效情况,导致待访问的数据的访问概率不高,从而冗余存取量大,进一步加大了功耗。
发明内容
本申请实施例提供了一种数据处理方法以及数据处理装置,能够提高数据访问效率,降低功耗。
有鉴于此,本申请第一方面提供了一种数据处理方法,可包括:当软件需要访问外部空间连续数据块或者少量单个数据的时候,处理器快速配置数据处理装置相关信息,例如,待用数据块的源地址、待用数据块的目的地址、待用数据块大小以及待用数据块的调用命令格式,处理器生成完配置信息后,向数据处理装置发送配置信息;数据处理装置根据待用数据块大小进行细粒度划分确定传输次数;再之后,数据处理装置再根据传输次数、待用数据块的源地址以及待用数据块的调用命令格式调用待用数据块;最后,数据处理装置将待用数据块存储在待用数据块的目的地址。可见,待用数据块直接访问,从而避免了多个地址标签的比较,提高了访问效率,降低了功耗。另外,待用数据块确定性访问的概率加大,以进一步减少功耗。由此,本申请能够提高数据访问效率,降低功耗。
在一些可能的实现方式中,数据处理装置根据待用数据块大小进行细粒度划分确定传输次数可以为:数据处理装置根据待用数据库大小进行细粒度划分确定突发(burst)个数;根据burst个数确定传输次数,其中,burst为一个数据包,可以包含512byte的数据。
在另一些可能的实现方式中,数据处理装置将待用数据块存储在待用数据块的目的地址可以为:数据处理装置预先配置多个通道,数据处理装置通过所配置的多个通道将待用数据块发送至待用数据块的目的地址;通过待用数据块的目的地址存储待用数据块。
在另一些可能的实现方式中,待用数据块的目的地址为外部存储器,待用数据块的源地址可以为内部存储器,则数据处理装置通过待用数据块的目的地址存储待用数据块可以为:数据处理装置通过外部存储器存储待用数据块。
在另一些可能的实现方式中,待用数据块的目的地址为内部存储器,待用数据块的源地址可以为外部存储器,则数据处理装置通过待用数据块的目的地址存储待用数据块可以为:数据处理装置通过内部存储器存储待用数据块。
在另一些可能的实现方式中,在数据处理装置接收处理器配置信息之后,数据处理装置可以通过循环队列缓存配置信息。
在另一些可能的实现方式中,若配置信息还用于指示数据处理装置调用待用离散数据,则数据处理装置可以通过预设缓存Cache存储待用离散数据。可见,通过预设Cache,在Cache的规格缩小的情况下,仍保留了离散数据的访问灵活性,扩大了本申请的应用场景范围。
本申请第二方面提供了一种数据处理方法,可包括:处理器生成配置信息,配置信息包括待用数据块的源地址、待用数据块的目的地址、待用数据块大小以及待用数据块的调用命令格式;处理器向数据处理装置发送配置信息,以便数据处理装置根据配置信息调用待用数据块。
本申请第三方面提供了一种数据处理装置,该数据处理装置可以实现上述第一方面或第一方面任一可选的实现方式所提供的方法的功能,该功能可以由软件实现,其软件包括与上述功能相应的模块,各模块用于执行相应的功能。
本申请第四方面提供了一种处理器,该处理器可以实现上述第二方面或第二方面任一可选的实现方式所提供的方法的功能,该功能可以由软件实现,其软件包括与上述功能相应的模块,各模块用于执行相应的功能。
本申请第五方面提供了一种计算机存储介质,用于存储为上述数据处理装置所用的计算机软件指令,其包括用于执行上述各方面中数据处理装置所实现的功能所设计的程序。
本申请第六方面提供了一种计算机存储介质,用于存储为上述处理器所用的计算机软件指令,其包括用于执行上述各方面中处理器所实现的功能所设计的程序。
从以上技术方案可以看出,本申请实施例具有以下优点:待用数据块直接访问,从而避免了多个地址标签的比较,提高了访问效率,降低了功耗。另外,待用数据块的确定性访问概率提高,降低了冗余存取量,从而进一步降低了功耗。由此,本申请能够提高数据访问效率,降低功耗。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种数据处理方法的***架构图;
图2为本申请提供的一种FDFU内部结构示意图;
图3为本申请提供的一种命令缓存管理单元的状态管理示意图;
图4为本申请提供的一种数据处理方法流程图;
图5为本申请提供的一种双向FDFU内部结构示意图;
图6为本申请提供的一种FDFU配合Cache机制的架构示意图;
图7为本申请提供的一种数据处理装置结构图;
图8为本申请提供的另一种数据处理装置结构图。
具体实施方式
本申请实施例提供了一种数据处理方法以及数据处理装置,能够提高数据访问效率,降低功耗。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面介绍下本申请中的数据处理方法的***架构,请参阅图1,图1为本申请提供的一种数据处理方法的***架构图,图1中包括如下部分:内存、快速数据预取单元(FastData pre-Fetch Unit,FDFU)以及内核。通过快速配置FDFU模块,达到细粒度搬移数据的效果。需要说明的是,本申请中的数据处理装置可以为图1中的FDFU,本申请中的处理器可以包括图1中的内核。
请参阅图2,图2为本申请提供的一种FDFU内部结构示意图,FDFU模块可以包括:命令接收单元、命令缓存管理单元、读预取管理单元、读数据交互单元以及写数据交互单元。
命令接收单元,主要负责接收从内核来的命令,分配适当的逻辑标识(Identity,ID),并返回给内核;同时将新接收到的命令解析后填入命令缓存管理单元;
命令缓存管理单元,主要负责命令缓存的管理,能够缓存16条来自内核的命令,并维护16条命名的执行状态,其状态管理机制可以参见图3,在图3中,命令缓存为一个循环队列,其中第一信号(如instr_buffer_head)表示循环队列的首位置,其指向的命令为待执行的命令;而第二信号(如instr_buffer_over)则表示正在执行并按顺序期望返回的指令,支持返回的命令ID不是第二信号的功能,而第三信号(如instr_buffer_tail)则是循环队列的尾地址,下一个接收的数据将会被写入该位置。图3为队列状态的一个示例,示例中第一信号指向ID4,表示ID为4的命令将提供给下一次命令解析;而第二信号指向ID0,表示ID为0的命令正在执行(状态位为1),此外,ID为1和2的命令已经执行完成,状态位清零;此时如果ID为0的命令执行完成后,应该执行ID为3的命令;第三信号指向ID15,该循环队列中仅能额外再接收一条命令。命令缓存管理单元负责内核的查询指令,当对应的ID状态位为0时,表示数据搬移完成,逻辑通道释放;否则表示数据搬移未完成,内核需要停顿。
读预取管理单元,主要负责从命令缓存管理单元里读取命令,可以最大支持4个命令连续解析(在8个总线burst outstanding用完之前);将大数据包(数据块)切分为多个burst;记录并维护4个命令执行的状态和8个总线burst outstanding状态;接收读操作返回的数据;合并、对齐数据以适配本地内存的读写位宽。读预取管理单元主要通过状态机实现,状态机包含3个状态,各状态含义如下:第一状态:空闲状态,等待命令通道准备好,并在有命令的前提下记录当前命令的源地址、目的地址和数据块大小,状态跳转到第二状态;第二状态:发送第一个burst请求,当第一个burst请求同时也是最后一个burst请求时,若数据块大小小于等于预设最大burst大小,预设最大burst大小可以设置为512字节(byte),则状态机跳转到第一状态;若数据块大小大于预设最大burst大小,则状态机跳转到第三状态;第三状态:接收到的读数据,根据状态机产生的标记进行流水处理,当代表某个命令ID的所有outstanding均返回结束,并成功写回本地内存后,返还对应的命令ID给命令缓存管理单元,更新对应状态。
读数据交互单元,主要负责仲裁预取请求和直接读取请求,本申请中直接读取请求的优先级高于预取请求的优先级。
写数据交互单元,可以缓存4个256bit的数据,同时支持多次store之间的合并功能,在没有flush操作的前提下支持相同地址的数据覆盖。
下面通过具体实施例对本申请中的数据处理方法进行描述,请参阅图4,本申请中数据处理方法一个实施例包括:
101、数据处理装置接收处理器配置信息,该配置信息用于指示数据处理装置调用待用数据块,该配置信息包括待用数据块的源地址、待用数据块的目的地址、待用数据块大小以及待用数据块的调用命令格式;
本实施例中,当软件需要访问外部空间连续数据块或者少量单个数据的时候,处理器快速配置数据处理装置相关信息,例如,待用数据块的源地址、待用数据块的目的地址、待用数据块大小以及待用数据块的调用命令格式,之后,处理器配置完配置信息后,向数据处理装置发送配置信息。
本实施例中的数据处理装置的相关配置可以满足如下要求:
支持外部存储器到内部存储器的数据搬移,搬移数据大小可配,最大可以为64k。不支持外部存储器之间的数据搬移,不支持内部存储器到外部存储器的数据搬移。
单指令完成数据处理装置的相关信息的配置,包括源地址、目的地址、数据大小,自动返回通道ID,供查询。
单指令完成,查询数据搬移是否成功,若没有成功,则处理器的内核阻塞,等待之前的数据搬移完成。
数据处理装置配置通道个数,如16个,如果配置时16个通道都被占用,则内核阻塞,等待之前的数据搬移完成。
内部存储器和外部存储器统一编址,内部存储器与外部存储器的地址不重复。
支持四路并行的逻辑通道,可同时维护4个命令的执行。
支持数据块划分,将大数据块拆分为多个burst。
支持8个独立的读操作,对应8个总线outstanding,8个burst请求。
支持连续16个周期内写数据合并功能,支持4个256bit的数据的写缓存;支持buffer清空功能;
支持外部配置内部存储器的高位16bit地址。
此外,处理器支持外部存储器直接读和写操作,最大支持2个外部存储器直接读操作,最大支持32个外部存储器直接写操作。
需要说明的是,调用命令格式可以用于指示待用数据块搬移方向,比如由外部空间搬移到内部空间,又或者由内部空间搬移到外部空间。
处理器可以采用如下方式确定待用数据块大小,比如处理器可以根据外部空间的外部存储器与处理器的内核之间的距离确定时间颗粒度,然后根据时间颗粒度的单位时间内的数据吞吐量确定搬移的待用数据块大小。
处理器可以采用如下方式确定待用数据块的目的地址,比如处理器根据待用数据块大小,通过创建本地临时变量的方法设置目的地址,具体过程如下:根据每次待用数据块大小,定义临时变量(循环样式的连续数据块访问定义乒乓缓存,非连续变量可以直接定义本地临时变量);产生外部空间(全局变量)的源地址和本地临时变量的目的地址,设定每次搬移的大小(连续数据块则是细粒度搬移的乒乓大小,非连续变量则是整个变量的大小)。
在实际应用中,处理器通过简单交互的内部总线与数据处理装置相连,数据处理装置与外部存储器通过总线相连,数据处理装置与内部存储器通过总线相连。
可选的,在一些可能的实施例中,在数据处理装置接收处理器配置信息之后,还可以包括:
数据处理装置通过循环队列缓存配置信息。
102、数据处理装置根据待用数据块大小进行细粒度划分确定传输次数;
本实施例中,数据处理装置可以采用如下方式确定传输次数:数据处理装置根据待用数据块大小进行细粒度划分确定burst个数;根据burst个数确定传输次数。
其中,burst为一个数据包,包含512byte的数据。
103、数据处理装置再根据传输次数、待用数据块的源地址以及待用数据块的调用命令格式调用待用数据块;
本实施例中,在数据处理装置确定传输次数后,数据处理装置再根据传输次数、待用数据块的源地址、待用数据块的调用命令格式调用待用数据块。
104、数据处理装置将待用数据块存储在待用数据块的目的地址。
本实施例中,在数据处理装置再根据传输次数、待用数据块的源地址、待用数据块的调用命令格式调用待用数据块后,数据处理装置将待用数据块存储在待用数据块的目的地址。
可选的,在一些可能的实施例中,上述数据处理装置将待用数据块存储在待用数据块的目的地址可以为:
数据处理装置通过预先配置的通道将待用数据块发送至待用数据块的目的地址;
数据处理装置通过待用数据块的目的地址存储待用数据块。
本实施例中,数据处理装置预先配置通道,通道的最大个数可以限制为16个。
进一步的,若待用数据块的目的地址为外部存储器,则上述数据处理装置通过待用数据块的目的地址存储待用数据块可以为:
数据处理装置通过外部存储器存储待用数据块。
或,若待用数据块的目的地址为内部存储器,则上述数据处理装置通过待用数据块的目的地址存储待用数据块可以为:
数据处理装置通过内部存储器存储待用数据块。
本实施例中,数据处理装置支持外部存储器到内部存储器之间的数据搬移,也支持内部存储器到外部存储器之间的数据搬移,即支持待用数据块的对外搬移。
本实施例提供了一种支持待用数据块的对外搬移的双向FDFU内部结构示意图,具体可以参见图5,图5为本申请提供的一种双向FDFU内部结构示意图,图5中所示的FDFU相当于本申请中的数据处理装置。图5所示的双向FDFU内部结构下的数据块支持双向二维搬移,双向指的是外部存储器向内部存储器搬移数据块或内部存储器向外部存储器搬移数据块,二维指的是固定间隔的搬移,即按照固定间隔搬移数据块中的数据,或者每次搬移的偏移值是一个等差数列,该固定间隔和偏移值可以由处理器配置。
可选的,在一些可能的实施例中,若配置信息还用于指示数据处理装置调用待用离散数据,则还可以包括:
数据处理装置通过预设缓存Cache存储待用离散数据。
本实施例中,通过预设Cache,在Cache的规格缩小的情况下,仍保留了离散数据的访问灵活性,扩大了本申请的应用场景范围。
本实施例提供的一种支持离散数据访问的FDFU配合Cache机制的架构示意图,具体可以参见图6,图6为本申请提供的一种FDFU配合Cache机制的架构示意图,图6中所示的FDFU相当于本申请中的数据处理装置。
本实施例中,待用数据块直接访问,从而避免了多个地址标签的比较,提高了访问效率,降低了功耗。另外,待用数据块的确定性访问概率提高,降低了冗余存取量,从而进一步降低了功耗。由此,本申请能够提高数据访问效率,降低功耗。
其次,支持待用数据块的对外搬移,提高了对外写操作的效率,降低了总线复杂度。
最后,保留了离散数据的访问灵活性,扩大了本申请的应用场景范围。
上面通过实施例介绍了本申请中的数据处理方法,下面通过实施例介绍本申请中的数据处理装置,请参阅图7,本申请中数据处理装置一个实施例包括:
接收模块201,用于接收处理器配置信息,配置信息用于指示数据处理装置调用待用数据块,配置信息包括待用数据块的源地址、待用数据块的目的地址、待用数据块大小以及待用数据块的调用命令格式;
确定模块202,用于根据待用数据块大小进行细粒度划分确定传输次数;
调用模块203,用于再根据传输次数、待用数据块的源地址以及待用数据块的调用命令格式调用待用数据块;
存储模块204,用于将待用数据块存储在待用数据块的目的地址。
本实施例中,待用数据块直接访问,从而避免了多个地址标签的比较,提高了访问效率,降低了功耗。另外,待用数据块的确定性访问概率提高,降低了冗余存取量,从而进一步降低了功耗。由此,本申请能够提高数据访问效率,降低功耗。
进一步的,在一些可能的实施例中,确定模块202,具体用于根据待用数据块大小进行细粒度划分确定burst个数;根据burst个数确定传输次数。
进一步的,在一些可能的实施例中,存储模块204,具体用于通过预先配置的通道将待用数据块发送至待用数据块的目的地址;通过待用数据块的目的地址存储待用数据块。
进一步的,在一些可能的实施例中,待用数据块的目的地址为外部存储器,存储模块204,具体用于通过外部存储器存储待用数据块。
进一步的,在一些可能的实施例中,待用数据块的目的地址为内部存储器,存储模块204,具体用于通过内部存储器存储待用数据块。
进一步的,在一些可能的实施例中,存储模块204,还用于通过循环队列缓存配置信息。
进一步的,在一些可能的实施例中,若配置信息还用于指示数据处理装置调用待用离散数据,存储模块204,还用于通过预设缓存Cache存储待用离散数据。
可见,通过预设Cache,在Cache的规格缩小的情况下,仍保留了离散数据的访问灵活性,扩大了本申请的应用场景范围。
上面从模块化功能实体的角度对本申请中的数据处理装置进行了描述,下面从硬件处理的角度对本申请中的数据处理装置进行描述,请参阅图8,本申请中的数据处理装置包括:接收器301、处理器302以及存储器303。
本申请涉及的数据处理装置可以具有比图8所示出的更多或更少的部件,可以组合两个或更多个部件,或者可以具有不同的部件配置或设置,各个部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件或硬件和软件的组合实现。
接收器301用于执行如下操作:
接收处理器配置信息,配置信息用于指示数据处理装置调用待用数据块,配置信息包括待用数据块的源地址、待用数据块的目的地址、待用数据块大小以及待用数据块的调用命令格式;
处理器302用于执行如下操作:
根据待用数据块大小进行细粒度划分确定传输次数;
再根据传输次数、待用数据块的源地址以及待用数据块的调用命令格式调用待用数据块;
存储器303用于执行如下操作:
将待用数据块存储在待用数据块的目的地址。
本实施例中,待用数据块直接访问,从而避免了多个地址标签的比较,提高了访问效率,降低了功耗。另外,待用数据块的确定性访问概率提高,降低了冗余存取量,从而进一步降低了功耗。由此,本申请能够提高数据访问效率,降低功耗。
处理器302还用于执行如下操作:
根据待用数据块大小进行细粒度划分确定burst个数;根据burst个数确定传输次数。
存储器303还用于执行如下操作:
通过预先配置的通道将待用数据块发送至待用数据块的目的地址;通过待用数据块的目的地址存储待用数据块。
存储器303还用于执行如下操作:
当待用数据块的目的地址为外部存储器时,通过外部存储器存储待用数据块。
存储器303还用于执行如下操作:
当待用数据块的目的地址为内部存储器时,通过内部存储器存储待用数据块。
存储器303还用于执行如下操作:
通过循环队列缓存配置信息。
存储器303还用于执行如下操作:
若配置信息还用于指示数据处理装置调用待用离散数据,则通过预设缓存Cache存储待用离散数据。
在上述实施例中,可以全部或部分地通过软件、硬件或者其组合来实现。当使用软件或软件硬件组合实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一存储介质传输。例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、双绞线、光纤)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存储的任何介质或者是包含一个或多个介质集成的服务器、数据中心等数据存储设备。所述介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如固态硬盘(SSD))等。
本领域普通技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络设备上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
本申请各实施例之间相关部分可以相互参考,包括:方法实施例之间相关部分可以相互参考;各装置实施例所提供的装置用于执行对应的方法实施例所提供的方法,故各装置实施例可以参考相关的方法实施例中的相关部分进行理解。
本申请各装置实施例中给出的装置结构图仅示出了对应的装置的简化设计。在实际应用中,该装置可以包含任意数量的通信模块,处理器,存储器等,以实现本申请各装置实施例中该装置所执行的功能或操作,而所有可以实现本申请的装置都在本申请的保护范围之内。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制。本领域普通技术人员可以对前述各实施例所记载的技术方案进行修改,而这些修改,并不使相应技术方案脱离权利要求的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
数据处理装置接收处理器配置信息,所述配置信息用于指示所述数据处理装置调用待用数据块,所述配置信息包括所述待用数据块的源地址、所述待用数据块的目的地址、所述待用数据块大小以及所述待用数据块的调用命令格式,所述待用数据块大小为根据时间颗粒度的单位时间内的数据吞吐量确定的,所述时间颗粒度为根据外部空间的外部存储器与处理器的内核之间的距离确定的;
所述数据处理装置根据所述待用数据块大小进行细粒度划分确定传输次数;
所述数据处理装置再根据传输次数、所述待用数据块的源地址以及所述待用数据块的调用命令格式调用所述待用数据块,所述调用命令格式可以用于指示待用数据块搬移方向;
所述数据处理装置将所述待用数据块存储在所述待用数据块的目的地址。
2.根据权利要求1所述的方法,其特征在于,所述数据处理装置根据所述待用数据块大小进行细粒度划分确定传输次数包括:
所述数据处理装置根据所述待用数据块大小进行细粒度划分确定突发burst个数;
根据所述burst个数确定传输次数。
3.根据权利要求1所述的方法,其特征在于,所述数据处理装置将所述待用数据块存储在所述待用数据块的目的地址包括:
所述数据处理装置通过预先配置的通道将所述待用数据块发送至所述待用数据块的目的地址;
所述数据处理装置通过所述待用数据块的目的地址存储所述待用数据块。
4.根据权利要求3所述的方法,其特征在于,所述待用数据块的目的地址为外部存储器,所述数据处理装置通过所述待用数据块的目的地址存储所述待用数据块包括:
所述数据处理装置通过所述外部存储器存储所述待用数据块。
5.根据权利要求3所述的方法,其特征在于,所述待用数据块的目的地址为内部存储器,所述数据处理装置通过所述待用数据块的目的地址存储所述待用数据块包括:
所述数据处理装置通过所述内部存储器存储所述待用数据块。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述数据处理装置接收处理器配置信息之后包括:
所述数据处理装置通过循环队列缓存所述配置信息。
7.根据权利要求1至5任一项所述的方法,其特征在于,若所述配置信息还用于指示所述数据处理装置调用待用离散数据,则所述方法还包括:
所述数据处理装置通过预设缓存Cache存储所述待用离散数据。
8.一种数据处理装置,其特征在于,包括:
接收模块,用于接收处理器配置信息,所述配置信息用于指示所述数据处理装置调用待用数据块,所述配置信息包括所述待用数据块的源地址、所述待用数据块的目的地址、所述待用数据块大小以及所述待用数据块的调用命令格式,所述待用数据块大小为根据时间颗粒度的单位时间内的数据吞吐量确定的,所述时间颗粒度为根据外部空间的外部存储器与处理器的内核之间的距离确定的;
确定模块,用于根据所述待用数据块大小进行细粒度划分确定传输次数;
调用模块,用于再根据传输次数、所述待用数据块的源地址以及所述待用数据块的调用命令格式调用所述待用数据块,所述调用命令格式可以用于指示待用数据块搬移方向;
存储模块,用于将所述待用数据块存储在所述待用数据块的目的地址。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,具体用于根据所述待用数据块大小进行细粒度划分确定突发burst个数;根据所述burst个数确定传输次数。
10.根据权利要求8所述的装置,其特征在于,所述存储模块,具体用于通过预先配置的通道将所述待用数据块发送至所述待用数据块的目的地址;通过所述待用数据块的目的地址存储所述待用数据块。
11.根据权利要求10所述的装置,其特征在于,所述待用数据块的目的地址为外部存储器,所述存储模块,具体用于通过所述外部存储器存储所述待用数据块。
12.根据权利要求10所述的装置,其特征在于,所述待用数据块的目的地址为内部存储器,所述存储模块,具体用于通过所述内部存储器存储所述待用数据块。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述存储模块,还用于通过循环队列缓存所述配置信息。
14.根据权利要求8至12任一项所述的装置,其特征在于,若所述配置信息还用于指示所述数据处理装置调用待用离散数据,所述存储模块,还用于通过预设缓存Cache存储所述待用离散数据。
15.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710640687.9A CN109324982B (zh) | 2017-07-31 | 2017-07-31 | 一种数据处理方法以及数据处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710640687.9A CN109324982B (zh) | 2017-07-31 | 2017-07-31 | 一种数据处理方法以及数据处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109324982A CN109324982A (zh) | 2019-02-12 |
CN109324982B true CN109324982B (zh) | 2023-06-27 |
Family
ID=65245648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710640687.9A Active CN109324982B (zh) | 2017-07-31 | 2017-07-31 | 一种数据处理方法以及数据处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109324982B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407357B (zh) * | 2020-03-17 | 2023-08-22 | 华为技术有限公司 | 进程间数据搬移的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116856B2 (en) * | 2012-11-08 | 2015-08-25 | Qualcomm Incorporated | Intelligent dual data rate (DDR) memory controller |
CN107577614B (zh) * | 2013-06-29 | 2020-10-16 | 华为技术有限公司 | 数据写入方法及内存*** |
CN103500107B (zh) * | 2013-09-29 | 2017-05-17 | 中国船舶重工集团公司第七0九研究所 | 一种cpu的硬件优化方法 |
CN105446888B (zh) * | 2014-05-30 | 2018-10-12 | 华为技术有限公司 | 存储设备间移动数据的方法、控制器和存储*** |
-
2017
- 2017-07-31 CN CN201710640687.9A patent/CN109324982B/zh active Active
Non-Patent Citations (1)
Title |
---|
杜学亮 ; 金西 ; .NAND flash的并行调度算法.小型微型计算机***.2010,(第06期),3128-3130. * |
Also Published As
Publication number | Publication date |
---|---|
CN109324982A (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9116800B2 (en) | Block-based storage device with a memory-mapped interface | |
CN100481028C (zh) | 一种利用缓存实现数据存储的方法和装置 | |
EP2478441B1 (en) | Read and write aware cache | |
KR101051506B1 (ko) | 스케일러블 멀티채널 메모리 액세스를 위한 방법 및 메모리제어기 | |
US6782454B1 (en) | System and method for pre-fetching for pointer linked data structures | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
US10496550B2 (en) | Multi-port shared cache apparatus | |
KR102594657B1 (ko) | 비순차적 리소스 할당을 구현하는 방법 및 장치 | |
US20060218332A1 (en) | Interface circuit, system, and method for interfacing between buses of different widths | |
CN108496161A (zh) | 数据缓存装置及控制方法、数据处理芯片、数据处理*** | |
US7664823B1 (en) | Partitioned packet processing in a multiprocessor environment | |
US9342258B2 (en) | Integrated circuit device and method for providing data access control | |
CN113900974B (zh) | 一种存储装置、数据存储方法及相关设备 | |
KR102617154B1 (ko) | 저장된 교체 정보를 갖는 스누프 필터, 이에 대한 방법 및 희생자 전용 캐시와 스누프 필터 공유 교체 정책을 포함하는 시스템 | |
US7694041B2 (en) | Method for managing buffers pool and a system using the method | |
CN109324982B (zh) | 一种数据处理方法以及数据处理装置 | |
CN102065073A (zh) | 向协议层直接提供数据消息 | |
KR101103619B1 (ko) | 멀티 포트 메모리 및 그 억세스 제어 방법 | |
CN111562883B (zh) | 固态硬盘的缓存管理***、方法、装置 | |
CN105224258B (zh) | 一种数据缓冲区的复用方法与*** | |
US20150212942A1 (en) | Electronic device, and method for accessing data in electronic device | |
CN109032965B (zh) | 一种数据读取方法、主机及存储设备 | |
CN112148653A (zh) | 数据传输装置、数据处理***、数据处理方法和介质 | |
KR100950356B1 (ko) | 다중 코히런시 단위들을 지원하는 데이터 전송 유닛 | |
JP2002024007A (ja) | プロセッサシステム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |