CN114116553B - 数据处理装置、方法以及*** - Google Patents

数据处理装置、方法以及*** Download PDF

Info

Publication number
CN114116553B
CN114116553B CN202111445101.6A CN202111445101A CN114116553B CN 114116553 B CN114116553 B CN 114116553B CN 202111445101 A CN202111445101 A CN 202111445101A CN 114116553 B CN114116553 B CN 114116553B
Authority
CN
China
Prior art keywords
access request
transmission
data
buffer
data processing
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
Application number
CN202111445101.6A
Other languages
English (en)
Other versions
CN114116553A (zh
Inventor
潘治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202111445101.6A priority Critical patent/CN114116553B/zh
Publication of CN114116553A publication Critical patent/CN114116553A/zh
Application granted granted Critical
Publication of CN114116553B publication Critical patent/CN114116553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本公开提供了一种数据处理装置、方法以及***,该数据处理装置包括计算单元、传输访问请求缓冲和命令处理单元。该计算单元被配置为响应于需要传输的数据而产生传输访问请求;传输访问请求缓冲被配置为缓存传输访问请求;命令处理单元被配置为:响应于缓存在传输访问请求缓冲中的传输访问请求,将传输访问请求提供至数据传输控制装置,由此数据传输控制装置响应该传输访问请求以传输需要传输的数据。该数据处理装置可以降低***开销,提升***性能。

Description

数据处理装置、方法以及***
技术领域
本公开的实施例涉及一种数据处理装置、数据处理方法以及数据处理***。
背景技术
直接存储器存取(Direct Memory Access,DMA)是计算机***中一种快速传输数据的机制。DMA方式将数据从一个地址空间传输到另外一个地址空间。中央处理单元(CPU)初始化DMA传输操作,而传输操作本身是由DMA控制器来直接执行和完成。DMA控制器从CPU完全接管对***总线的控制而不依赖于CPU。DMA传输主要涉及四种情况,但这四种情况本质上是一样的,都是从某一存储区域传输到另一存储区域。这四种情况包括:外设到内存(Device to Host,D2H)、内存到外设(H2D)、内存到内存(H2H)、外设到外设(D2D)(内存被认为属于主机侧)。
发明内容
本公开的至少一个实施例提供了一种数据处理装置,包括:
计算单元,被配置为响应于需要传输的数据而产生传输访问请求;
传输访问请求缓冲,被配置为缓存所述传输访问请求;
命令处理单元,被配置为:响应于缓存在所述传输访问请求缓冲中的所述传输访问请求,将所述传输访问请求提供至数据传输控制装置,由此所述数据传输控制装置响应所述传输访问请求以传输所述需要传输的数据。
例如,在根据本公开至少一实施例的数据处理装置中,所述计算单元还被配置为,在产生所述传输访问请求之后,通知所述数据处理装置之外的中央处理单元。
例如,在根据本公开至少一实施例的数据处理装置中,所述计算单元还被配置为,在产生所述传输访问请求之后,查询所述传输访问请求缓冲是否已满,且响应于所述传输访问请求缓冲未满,将所述传输访问请求写入所述传输访问请求缓冲。
例如,在根据本公开至少一实施例的数据处理装置中,所述传输访问请求包括:传输源地址、传输目标地址和传输数据规模。
例如,在根据本公开至少一实施例的数据处理装置中,所述传输访问请求还包括传输状态,所述传输状态包括待传输、传输中、传输完成或传输失败。
例如,根据本公开至少一实施例的数据处理装置还包括:命令缓冲,被配置为缓存用于所述命令处理单元的操作指令;其中,所述命令处理单元还配置为:在所述命令缓冲中缓存有至少一条操作指令以及所述传输访问请求缓冲缓存有至少一条传输访问请求的情形,优先处理所述传输访问请求缓冲中缓存的所述至少一条传输访问请求。
例如,在根据本公开至少一实施例的数据处理装置中,所述命令处理单元还配置为:在处理了所述命令缓冲中的每条操作指令之后,查询所述传输访问请求缓冲中是否缓存有至少一条传输访问请求,响应于所述传输访问请求缓冲中缓存有所述待处理的传输访问请求,在处理了所述传输访问请求缓冲中缓存的所述待处理的传输访问请求之后,再返回处理所述命令缓冲中其他的操作指令。
例如,在根据本公开至少一实施例的数据处理装置中,所述传输访问请求缓冲为先进先出缓冲。
例如,在根据本公开至少一实施例的数据处理装置中,所述命令处理单元还被配置为将所述传输访问请求提供至所述数据处理装置之外的所述数据传输控制装置。
本公开的至少一个实施例还提供了一种数据处理***,该***包括:如上所述的任一所述的数据处理装置以及上述数据传输控制装置,该数据传输控制装置被配置为响应所述传输访问请求以传输所述需要传输的数据。
例如,根据本公开至少一实施例的数据处理***还包括中央处理单元,其中,所述计算单元还被配置为,在产生所述传输访问请求之后,通知所述中央处理单元。
例如,根据本公开至少一实施例的数据处理***中,所述中央处理单元配置为在收到关于所述传输访问请求的通知之后,持续查看所述传输访问请求的完成状态。
例如,根据本公开至少一实施例的数据处理***中,所述数据传输控制装置包括直接存储器访问装置。
本公开的至少一个实施例还提供了一种数据处理方法,该方法包括:响应于需要传输的数据而产生传输访问请求;缓存所述传输访问请求;响应于缓存的所述传输访问请求,将所述传输访问请求提供至数据传输控制装置;使得所述数据传输控制装置响应所述传输访问请求以传输所述需要传输的数据。
例如,根据本公开至少一实施例的数据处理方法还包括:缓存操作指令;使得执行所述操作指令以及所述传输访问请求的命令处理单元优先处理所述传输访问请求。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了一种计算机***的示意图;
图2示出了根据本公开至少一个实施例的数据处理装置的示意图;
图3示出了根据本公开至少一个实施例的数据处理***的示意图;
图4示出了根据本公开至少一个实施例的数据处理方法的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
计算机***可以包括一个或多个中央处理单元(CPU)、一个或多个深度计算单元,深度计算单元例如包括图像处理器(GPU)、张量处理单元(TPU)、神经计算单元(NPU)等。为了尽可能提高***整机性能,需要深度计算单元和CPU之间密切配合。例如,在使用深度计算单元继续大尺度的矩阵运算时,需要频繁地进行大批量数据传输操作。此时,使用DMA方式具有更高的传输效率。
图1示出了一种计算机***,该计算机***包括中央处理单元(CPU)101、深度计算单元100、DMA控制器103以及总线104,中央处理单元(CPU)101、深度计算单元100、DMA控制器103通过总线104彼此通信。
当需要针对深度计算单元100所需的数据或产生的数据以DMA方式进行数据传输时,例如,可以采用如下步骤。
(1)在深度计算单元100根据指令进行数据计算,通知中央处理单元101需要传输的数据已就绪,该需要传输的数据可以是从深度计算单元100传输到内存或其他外设,或者从内存或其他外设传输到深度计算单元100。
(2)中央处理单元101根据***中当前运行的应用程序的指令,通过操作***的应用程序接口(API)发出DMA传输访问请求,例如这个DMA传输访问请求会写到操作***的运行队列中。
(3)运行队列会把该DMA传输访问请求以及当前程序运行过程中产生的其他请求以例如PM4包的形式写到CPU/深度计算单元共享的命令缓冲(command buffer)中。
(4)深度计算单元100的命令处理单元(command processor,CP)处理该命令缓冲中缓存的各种包,由此将该DMA传输访问请求提供至DMA控制器(DMA Engine)。
(5)DMA控制器进行数据传输,将需要传输的数据从源地址直接传输到目的地址。在DMA控制器完成数据传输后,通知CPU数据传输完成。
上述步骤(2)-(3)实际上仍然在一定程度上涉及CPU需要进行的工作。在进行大量数据传输操作的情况下,上述步骤多次迭代。此时,这些步骤(2)-(3)将会对***性能带来不利影响。
本公开的至少一个实施例提供了一种数据处理装置,该中包括计算单元(Calculation Unit)、传输访问请求缓冲(Request Buffer)、命令处理单元(CommandProcessor)。该计算单元被配置为响应于需要传输的数据而产生传输访问请求。该传输访问缓冲被配置为缓存传输访问请求。该命令处理单元被配置为:响应于缓存在传输访问缓冲中的传输访问请求,将传输访问请求提供至数据传输控制装置,由此数据传输控制装置响应传输访问以传输需要传输的数据。
本公开的至少一个实施例还提供了一种数据处理***,该***包括上述数据处理装置以及数据传输控制装置,该数据传输控制装置被配置为响应传输访问请求以传输需要传输的数据。
本公开的至少一个实施例还提供了一种数据处理方法,该方法包括:响应于需要传输的数据而产生传输访问请求;缓存传输访问请求;响应于缓存的传输访问请求,将传输访问请求提供至数据传输控制装置;使得数据传输控制装置响应传输访问请求以传输需要传输的数据。
通过本公开上述实施例的数据处理装置、***以及方法,在应用于DMA方式时,可以进一步降低CPU的开销,增加DMA操作的有效带宽,提高***的整体性能。
本公开的实施例的数据处理装置例如可以为深度计算单元,例如深度计算单元可以具体实现为图像处理器(GPU)、张量处理单元(TPU)、神经处理单元(NPU)等,本公开的实施例对此不作限制,并且可以通过集成电路等实现。
图2示出了根据本公开一实施例的数据处理装置的示意图;图3示出了根据本公开一实施例的数据处理***的示意图,该数据处理***包括例如图2所示数据处理装置。例如,该数据处理装置例如为深度计算单元,该数据处理***例如为计算机***,该***中数据处理装置相对于CPU为外设(Device)侧,而对应地,CPU或内存被作为主机(Host)侧。
如图2所示,该数据处理装置200包括命令处理单元211、命令缓冲212、传输访问请求缓冲213、一个或多个计算单元230等。例如,该数据处理装置200还可以包括存储装置(未示出),该存储装置例如是高宽带存储器(HBM)。例如,该数据处理装置200的存储装置可以被数据处理装置200之外的装置(例如CPU或另一个数据处理装置)访问。
图2中具体示出了2个计算单元230作为示例,而省略了其他可能的计算单元。每个计算单元230包括线程束调度/分发模块、多个计算核心(Kernel)、寄存器堆、共享L1缓存等。为了在多个计算单元230之间对执行计算任务的线程进行调度,该数据处理装置200还包括线程块调度单元221。
该数据处理装置可以用于例如矩阵计算、图像渲染等计算任务,这些计算任务可以通过多个线程(thread)并行执行。例如,这些线程在执行前,在线程块调度单元221中被划分成多个线程块(thread block),然后这些线程块被分发到各个计算单元。一个线程块中的所有线程通常要分配到同一个计算单元上执行。同时,线程块会被拆分成线程束(或简称线程束,thread warp),例如,每个线程束包含了固定数量(或小于这个固定数量)的线程,例如,32个线程。多个线程块可以在同一个计算单元中执行,或者在不同计算单元中执行。
在每个计算单元中,线程束调度/分发模块对线程束进行调度、分配,以便该计算单元230的多个计算核心运行对应的线程束。每个计算核心包括算术逻辑单元(ALU)、浮点计算单元等。根据计算单元中计算核心的个数,一个线程块中的多个线程束可以同时执行或分时执行。每个线程束中的多个线程会执行相同的指令。例如,指令的读取、译码、发射都在线程束调度/分发模块中完成。内存执行指令会被发射到计算单元中的共享缓存(例如共享L1缓存)或进一步发射到统一缓存中以进行读写操作等。
在执行计算任务的进行过程中,计算单元230需要获取将被处理的输入数据,也同样会产生结果数据,这些数据例如可以存储在该数据处理装置200的存储装置(例如HBM)中。这些输入数据或结果数据可以通过DMA方式进行传输(输入或输出),在这种情况下计算单元230将产生传输访问请求,用于进行DMA。传输访问请求缓冲213用于缓存上述传输访问请求。计算单元230将该传输访问请求缓存(提交)到传输访问请求缓冲213缓存。例如,计算单元230在产生传输访问请求之后,例如通过总线通知数据处理装置200之外的中央处理单元。
传输访问请求缓冲213根据自身容量可以包括多个条目(entry),由此可以保存多条传输访问请求。例如,传输访问请求缓冲213可以是先进先出(FIFO)队列,由此先产生的传输访问请求可以先得到处理。例如,当传输访问请求缓冲213未满时,则可以一直接收并缓存新的传输访问请求,直到到达已满的状态。
例如,计算单元230在产生传输访问请求之后,查询传输访问请求缓冲213是否已满,且在传输访问请求缓冲213未满的情况下,将传输访问请求写入传输访问请求缓冲213,否则例如进行等待,或者抛弃当前的传输访问请求。
例如,该传输访问请求可以包括传输源地址、传输目标地址和传输数据规模。传输源地址和传输目标地址根据具体需求可以分别是数据处理装置200内的存储装置的存储地址,或者可以是***内存的存储地址,或者是计算机***中其他外设(例如另一个数据处理装置)内的存储地址等,本公开的实施例对此不作限制。根据具体情况,可以得到例如用于如下四种情况的传输访问请求:外设到内存(Device to Host,D2H)、内存到外设(H2D)、内存到内存(H2H)、外设到外设(D2D)。传输数据规模指代在进行DMA时连续传输数据长度,其例如可以等于***总线的带宽(例如可以为64位或128位等)。
当传输访问请求缓存在传输访问请求缓冲213之后,传输访问请求缓冲213除了记录传输源地址、传输目标地址和传输数据规模之外,还可以进一步记录每个传输访问请求的状态,例如,该状态可以包括:待传输、传输中、传输完成或传输失败。例如,这些状态信息可以由命令处理单元211或其他可以访问该传输访问请求缓冲213的设备(例如CPU或数据传输控制装置)访问,甚至修改。根据需要,传输访问请求还可以包括其他状态。
例如,在至少一个示例中,命令处理单元211可以查询传输访问请求缓冲213是否有至少一条待处理的传输访问请求,如果有待处理的传输访问请求,则将该传输访问请求提交给数据传输控制装置(例如DMA控制器),或将这些传输访问请求依次提交给数据传输控制装置,以便数据传输控制装置进行数据传输操作。数据传输控制装置根据具体的传输访问请求进行处理。
例如,当一个传输访问请求被处理完成之后,例如,如果确定传输完成或传输失败,则可以将该传输访问请求从传输访问请求缓冲213删除。该操作例如可由命令处理单元211执行,也即查询传输访问请求缓冲213是否有待处理的传输访问请求,获取仍然缓存在传输访问请求缓冲213中的传输访问请求的状态,在确定某一个传输访问请求所对应的数据传输完成或传输失败,则可以将该传输访问请求从传输访问请求缓冲213删除。
在本公开的实施例中,数据处理装置200内的命令缓冲212用于缓存来自CPU等设备或数据处理装置200自身的指令或请求等,这些指令或请求例如以包(例如PM4包)的形式被缓存。命令缓冲212根据自身容量可以包括多个条目(entry),由此可以保存多个包。对应地,命令处理单元211还用于执行在命令缓冲212中缓存的指令或请求,例如还可以与CPU等设备进行通信、交互。例如,命令缓冲212和传输访问请求缓冲213在数据处理装置200内可以彼此独立设置,或者共享同一个物理存储装置,但是在逻辑上分别控制、管理。
例如,在至少一个示例中,命令处理单元211在命令缓冲212中缓存有至少一条操作指令以及传输访问请求缓冲213缓存有至少一条传输访问请求的情形下,优先处理传输访问请求缓冲213中缓存的至少一条传输访问请求。也即,命令处理单元211在同时面对需要处理的传输访问请求以及需要处理的其他操作指令时,先处理该传输访问请求,将该传输访问请求提交到数据传输控制装置。
具体地,在一个示例中,例如,命令处理单元211在处理了命令缓冲中的每条操作指令之后,查询传输访问请求缓冲213中是否缓存有至少一条传输访问请求,在传输访问请求缓冲213中缓存有至少一条传输访问请求的情况下,在处理了传输访问请求缓冲213中缓存的待处理的传输访问请求之后,再返回处理命令缓冲212中其他的操作指令。例如,命令处理单元211在将传输访问请求缓冲213中全部传输访问请求都提供至数据传输控制装置之后,回到之前离开命令缓冲212时的位置继续处理命令缓冲212中的操作指令。
例如,在一个示例中,命令处理单元211还响应于关于某一传输访问请求的状态改变(例如数据传输完成)的消息,对仍缓存在传输访问请求缓冲213中的该传输访问请求进行后续处理,例如,修改其状态信息,或将其删除等。
如图3所示的计算机***包括中央处理单元(CPU)201、一个或多个数据处理装置200、存储装置202、数据传输控制装置203以及总线204。该数据处理装置200为图2中所示的数据处理装置,图中示出了2个数据处理装置200作为示例。该2个数据处理装置200分别为数据处理装置200-1和数据处理装置200-2,例如,可以在数据处理装置200-1和数据处理装置200-2之间,根据传输访问请求由数据传输控制装置进行数据传输。
在本公开的实施例中,中央处理单元201例如可以为单核处理器或多核处理器,可以为RISC或CISC处理器等,例如可以为ARM处理器、RISC-V处理器等,本公开的实施例对此不做限制。数据传输控制装置203例如为DMA控制器,该DMA控制器例如单独提供或集成在例如中央处理单元201中等。存储装置202可以为计算机***的***内存或外存(例如硬盘),例如,可以为半导体存储装置等,本公开的实施例对于该存储装置的类型、结构等不作限制。
中央处理单元201、数据处理装置200、存储装置202、DMA控制器203通过总线204彼此通信。本公开的实施例对于总线的类型不做限制,例如可以为各种适用的总线,例如PCIE总线。
例如,中央处理单元201在收到关于传输访问请求的通知之后,持续查看传输访问请求的完成状态,在确定传输访问请求完成之后,通知例如应用程序。
例如,数据传输控制装置203根据传输访问请求执行从传输源地址到传输目的地址的数据传输操作,在数据传输过程中、在完成了该数据传输之后,或者在多次尝试进行数据传输而仍然失败之后,还可以进一步更新对应的传输访问请求的状态,例如,提供关于状态改变的消息以更新数据处理装置200的传输访问请求缓冲213中存储的对应的传输访问请求的状态。
下面结合图2和图3说明根据本公开至少一实施例的数据处理装置以及数据处理***的示例性工作过程。
在工作过程中,CPU 201根据当前运行的应用程序,将计算任务发送给数据处理装置200中的一个或多个进行处理。
例如,对于其中的数据处理装置200-1,在计算任务的执行过程中,计算单元230例如根据指令进行计算且产生了某一传输访问请求(这里称为“第一传输访问请求”),之后计算单元230查询传输访问请求缓冲213是否已满,如果传输访问请求缓冲213未满,则将该第一传输访问请求写入到传输访问请求缓冲213以待处理,并且将该第一传输访问请求的状态标注为“未传输”。该第一传输访问请求记载有对应的传输源地址、传输目的地址以及传输数据规模;同时,计算单元230还通知CPU 201产生了第一传输访问请求。CPU 201在接收到该通知之后,持续监测该第一传输访问请求的完成状态。
在计算单元230执行计算任务的同时,数据处理装置200中的命令处理单元211在处理命令缓冲212中的缓存的多个操作指令;当执行完一条操作指令P1之后,命令处理单元211查询传输访问请求缓冲213当前是否有待处理的传输访问请求。在第一传输访问请求已经写入到传输访问请求缓冲213中之后,命令处理单元211访问到该第一传输访问请求且获知其状态为“待传输”,该第一传输访问请求比命令缓冲212中的操作指令有更高的优先级,因此命令处理单元211转入处理该第一传输访问请求,将该第一传输访问请求发送到数据传输控制装置203。之后,如果传输访问请求缓冲213还有其他传输访问请求,则命令处理单元211继续处理这些待处理的传输访问请求,直到全部待处理的传输访问请求都被成功发送到数据传输控制装置203,然后,命令处理单元211才回转到命令缓冲212,从之前处理过的操作指令P1的位置开始继续处理命令缓冲212中其他待处理的操作指令。
数据传输控制装置203根据该第一传输访问请求记载的传输源地址、传输目的地址以及传输数据规模,进行对应的数据传输操作,通知数据处理装置200-1的命令处理单元211将该第一传输访问请求的状态修改为“传输中”;并且,当数据传输操作完成之后,数据传输控制装置203通知数据处理装置200-1的命令处理单元211,该命令处理单元211在传输访问请求缓冲213中修改第一传输访问请求的状态为“传输完成”,并且例如预定时间之后或由其他操作触发将该已经完成的第一传输访问请求从传输访问请求缓冲213中删除。此外,数据传输控制装置203还可以通知CPU 201该第一传输访问请求已经完成,由此CPU 201可以将该信息反馈给上层应用程序。
在上述过程中,数据处理装置200主动发起传输访问请求,由此相比于经由CPU发起传输访问请求,可以降低***开销,提升***性能。
对应于上述装置与***,本公开的实施例还提供了一种数据处理方法。如图4所示,该数据处理方法包括如下的步骤301~304:
步骤301:响应于需要传输的数据而产生传输访问请求。
步骤302:缓存传输访问请求。
步骤303:响应于缓存的传输访问请求,将传输访问请求提供至数据传输控制装置。
步骤304:使得数据传输控制装置响应传输访问请求以传输需要传输的数据。
例如,通过计算单元进行计算并确定需要传输的数据,并且响应于需要传输的数据而产生传输访问请求。通过传输访问请求缓冲缓存传输访问请求。通过命令处理单元,响应于缓存在传输访问请求缓冲中的传输访问请求,将传输访问请求提供至数据传输控制装置。通过数据传输控制装置响应传输访问请求以传输需要传输的数据。
例如,例如,根据本公开至少一实施例的数据处理方法还包括:缓存操作指令;使得执行操作指令以及传输访问请求的命令处理单元优先处理传输访问请求。
对于该方法其他可能的操作步骤或选择等,可以参考前面结合图2和图3所描述的操作,这里不再赘述。
该实施例的数据处理方法例如可通过数据处理装置发起传输访问请求,由此可以降低***开销,提升***性能。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。

Claims (15)

1.一种数据处理装置,包括:
计算单元,被配置为响应于需要传输的数据而产生传输访问请求;
传输访问请求缓冲,被配置为缓存所述传输访问请求;
命令处理单元,被配置为:响应于缓存在所述传输访问请求缓冲中的所述传输访问请求,将所述传输访问请求提供至数据传输控制装置,由此所述数据传输控制装置响应所述传输访问请求以直接存储器存取方式将所述需要传输的数据从源地址直接传输到目的地址。
2.根据权利要求1的数据处理装置,其中,所述计算单元还被配置为,在产生所述传输访问请求之后,通知所述数据处理装置之外的中央处理单元。
3.根据权利要求1的数据处理装置,其中,所述计算单元还被配置为,在产生所述传输访问请求之后,查询所述传输访问请求缓冲是否已满,且响应于所述传输访问请求缓冲未满,将所述传输访问请求写入所述传输访问请求缓冲。
4.根据权利要求1-3任一的数据处理装置,其中,所述传输访问请求包括:传输源地址、传输目标地址和传输数据规模。
5.根据权利要求4的数据处理装置,其中,所述传输访问请求还包括传输状态,
所述传输状态包括待传输、传输中、传输完成或传输失败。
6.根据权利要求1-3任一的数据处理装置,还包括:
命令缓冲,被配置为缓存用于所述命令处理单元的操作指令;
其中,所述命令处理单元还配置为:在所述命令缓冲中缓存有至少一条操作指令以及所述传输访问请求缓冲缓存有至少一条传输访问请求的情形,优先处理所述传输访问请求缓冲中缓存的所述至少一条传输访问请求。
7.根据权利要求1的数据处理装置,其中,所述命令处理单元还配置为:在处理了所述命令缓冲中的每条操作指令之后,查询所述传输访问请求缓冲中是否缓存有至少一条传输访问请求,响应于所述传输访问请求缓冲中缓存有待处理的传输访问请求,在处理了所述传输访问请求缓冲中缓存的所述至少一条传输访问请求之后,再返回处理所述命令缓冲中其他的操作指令。
8.根据权利要求1的数据处理装置,其中,所述传输访问请求缓冲为先进先出缓冲。
9.根据权利要求1的数据处理装置,其中,所述命令处理单元还被配置为将所述传输访问请求提供至所述数据处理装置之外的所述数据传输控制装置。
10.一种数据处理***,包括:
如权利要求1、3-9任一所述的数据处理装置;
所述数据传输控制装置,被配置为响应所述传输访问请求以传输所述需要传输的数据。
11.根据权利要求10的数据处理***,还包括中央处理单元,其中,所述计算单元还被配置为,在产生所述传输访问请求之后,通知所述中央处理单元。
12.根据权利要求11的数据处理***,其中,所述中央处理单元配置为在收到关于所述传输访问请求的通知之后,持续查看所述传输访问请求的完成状态。
13.根据权利要求10-12任一的数据处理***,其中,所述数据传输控制装置包括直接存储器访问装置。
14.一种数据处理方法,包括:
响应于需要传输的数据而产生传输访问请求;
缓存所述传输访问请求;
响应于缓存的所述传输访问请求,将所述传输访问请求提供至数据传输控制装置;
使得所述数据传输控制装置响应所述传输访问请求以直接存储器存取方式将所述需要传输的数据从源地址直接传输到目的地址。
15.根据权利要求14的数据处理方法,还包括:
缓存操作指令;
使得执行所述操作指令以及所述传输访问请求的命令处理单元优先处理所述传输访问请求。
CN202111445101.6A 2021-11-30 2021-11-30 数据处理装置、方法以及*** Active CN114116553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111445101.6A CN114116553B (zh) 2021-11-30 2021-11-30 数据处理装置、方法以及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111445101.6A CN114116553B (zh) 2021-11-30 2021-11-30 数据处理装置、方法以及***

Publications (2)

Publication Number Publication Date
CN114116553A CN114116553A (zh) 2022-03-01
CN114116553B true CN114116553B (zh) 2023-01-20

Family

ID=80368796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111445101.6A Active CN114116553B (zh) 2021-11-30 2021-11-30 数据处理装置、方法以及***

Country Status (1)

Country Link
CN (1) CN114116553B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000354083A (ja) * 1999-04-09 2000-12-19 Matsushita Electric Ind Co Ltd データ伝送装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03122745A (ja) * 1989-10-05 1991-05-24 Mitsubishi Electric Corp Dma制御方式
JP2000215154A (ja) * 1999-01-25 2000-08-04 Matsushita Electric Ind Co Ltd Dmaコントロ―ラ
JP5102917B2 (ja) * 2008-02-22 2012-12-19 株式会社日立製作所 ストレージ装置及びアクセス命令送信方法
TW201015321A (en) * 2008-09-25 2010-04-16 Panasonic Corp Buffer memory device, memory system and data trnsfer method
US8775699B2 (en) * 2011-03-01 2014-07-08 Freescale Semiconductor, Inc. Read stacking for data processor interface
US9658975B2 (en) * 2012-07-31 2017-05-23 Silicon Laboratories Inc. Data transfer manager
CN106202261A (zh) * 2016-06-29 2016-12-07 浪潮(北京)电子信息产业有限公司 一种数据访问请求的分布式处理方法及引擎
JP6880402B2 (ja) * 2017-05-10 2021-06-02 富士通株式会社 メモリアクセス制御装置及びその制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000354083A (ja) * 1999-04-09 2000-12-19 Matsushita Electric Ind Co Ltd データ伝送装置

Also Published As

Publication number Publication date
CN114116553A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
US8149854B2 (en) Multi-threaded transmit transport engine for storage devices
US10331595B2 (en) Collaborative hardware interaction by multiple entities using a shared queue
US8316220B2 (en) Operating processors over a network
US8713287B2 (en) Off-loading of processing from a processor blade to storage blades based on processing activity, availability of cache, and other status indicators
US20150261535A1 (en) Method and apparatus for low latency exchange of data between a processor and coprocessor
US20150253997A1 (en) Method and Apparatus for Memory Allocation in a Multi-Node System
US20210374080A1 (en) Computer Memory Expansion Device and Method of Operation
WO2013082809A1 (zh) 协处理加速方法、装置及***
US20150254207A1 (en) Method and system for ordering i/o access in a multi-node environment
US20150254183A1 (en) Inter-chip interconnect protocol for a multi-chip system
US11258887B2 (en) Payload cache
US11995351B2 (en) DMA engines configured to perform first portion data transfer commands with a first DMA engine and second portion data transfer commands with second DMA engine
JP4585647B2 (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
US20200310690A1 (en) Dynamic near-data processing control mechanism based on computer resource availability on solid-state disk platforms
JP3266470B2 (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
US9286129B2 (en) Termination of requests in a distributed coprocessor system
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
CN114116553B (zh) 数据处理装置、方法以及***
US8307141B2 (en) Multi-core processor, control method thereof, and information processing apparatus
US7120758B2 (en) Technique for improving processor performance
US20230195664A1 (en) Software management of direct memory access commands
US12061562B2 (en) Computer memory expansion device and method of operation
US11789866B2 (en) Method for processing non-cache data write request, cache, and node
US20240069965A1 (en) Systems and methods for executing compute functions
EP4310678A1 (en) Accelerator control system, accelerator control method, and accelerator control program

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