CN107992328A - 一种数据处理的方法、装置和片上系统 - Google Patents
一种数据处理的方法、装置和片上系统 Download PDFInfo
- Publication number
- CN107992328A CN107992328A CN201610945057.8A CN201610945057A CN107992328A CN 107992328 A CN107992328 A CN 107992328A CN 201610945057 A CN201610945057 A CN 201610945057A CN 107992328 A CN107992328 A CN 107992328A
- Authority
- CN
- China
- Prior art keywords
- command
- command table
- data
- processing
- processing unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000010586 diagram Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 7
- 238000003672 processing method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000004148 unit process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
Abstract
本发明实施例公开了一种数据处理的方法,所述方法包括:中央处理器CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元,使数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕本发明实施例还公开了一种数据处理的装置和片上系统。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据处理的方法、装置和片上系统。
背景技术
数据处理系统广泛的应用于专用集成电路(Application Specific IntegratedCircuit,ASIC)芯片、现场可编程门阵列(Field Programmable Gate Array,FPGA)等各类集成电路设计中。其中一些数据处理系统在进行数据处理时,往往要配置相关的命令参数后才能开始处理对应的待处理数据。图1为现有技术中数据处理系统的结构图,如图1所示,数据处理单元在处理一帧数据时,一般由中央处理器(Central Processing Unit,CPU)通过各类总线接口对数据处理单元内的控制寄存器配置待处理的一帧数据对应的处理命令,配置完成后,数据处理单元从存储单元获取一帧原始数据,经过处理流水子模块按照CPU配置的处理命令对原始数据进行处理,处理完成后再写入存储单元,同时上报中断通知CPU本帧数据处理完成。CPU收到中断后,进入对应的中断服务程序中,配置下一帧需要处理的参数后,再启动数据处理单元开始工作,如此循环往复。
然而随着信息化社会的到来,一些现有的数据处理单元中由于需要处理的数据越来越大,因此每一帧数据之间留给CPU配置寄存器的时间变的越来越短,而同时需要配置的命令参数内容却越来越多,这种情况下很容易出现处理不及时等现象。例如在对图像数据进行处理时,随着处理图像的分辨率大小、显示帧率的不断提高,每一帧图像之间留给CPU响应图像处理单元的中断命令,并进行下一帧图像参数配置的时间越来越短。而且随着处理图像的复杂度的提升,需要配置的参数也越来越多。图2为现有技术中数据处理单元的工作流程图,如图2所示,每一帧数据之间的时间间隔变的越来越短,为了避免处理不及时等现象,需要CPU在本帧数据处理结束到下一帧数据处理开始的这个特定时间内完成大量的寄存器配置,因此对系统中CPU的中断响应及时性提出了比较高的要求。
发明内容
为解决上述技术问题,本发明实施例期望提供一种数据处理的方法、装置和片上系统,实现了在数据处理时,降低CPU响应数据处理单元中断信号的紧迫性,节约CPU进行数据处理时参数配置的时间。
本发明的技术方案是这样实现的:
本发明实施例提供了一种数据处理的方法,包括:
中央处理器CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元,使数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
上述方案中,所述方法还包括:所述CPU将命令表信息配置到所述数据处理单元中,使所述数据处理单元根据所述命令表信息读取并执行所述命令表中的每个处理命令;所述命令表信息包括:所述命令表在存储单元中的起始地址信息、所述命令表中的命令个数信息。
上述方案中,所述方法还包括:所述CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元后,所述CPU利用下一次待处理的至少一帧数据对应的处理命令建立新的命令表。
所述命令表中所有命令均执行完毕后,所述CPU接收中断请求命令,根据所述中断请求命令将新的命令表信息配置到所述数据处理单元中。
上述方案中,所述方法还包括:所述CPU按照本次待处理数据的处理顺序,依次将待处理数据对应的处理命令写入命令表中,使所述数据处理单元按照处理命令写入所述命令表的顺序,读取并执行所述命令表中的每个处理命令。
上述方案中,所述处理命令包括:处理对应的一帧数据时使用的配置参数。
上述方案中,所述处理命令还包括操作码字段,所述操作码字段用于确定处理命令中配置参数的结构。
本发明实施例还提供了另一种数据处理的方法,包括:
数据处理单元获取利用本次待处理的至少一帧数据对应的处理命令建立的命令表,执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
上述方案中,所述数据处理单元包括先入先出队列(First Input First Output,FIFO)和寄存器,所述寄存器用于通过所述FIFO读取命令表中的每个命令。
所述方法还包括:所述命令表中存在未执行的命令,所述数据处理单元根据所述FIFO的命令存储情况、以及所述数据处理单元和所述存储单元之间的总线状态,读取所述命令表中的剩余处理命令。
本发明实施例还提供了一种数据处理的装置,包括:中央处理单元、数据处理单元和存储单元;其中,
中央处理单元,用于利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元,使数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
上述方案中,所述中央处理单元,还用于将命令表信息配置到所述数据处理单元中,使所述数据处理单元根据所述命令表信息读取并执行所述命令表中的每个处理命令;所述命令表信息包括:所述命令表在存储单元中的起始地址信息、所述命令表中的命令个数信息。
本发明实施例还提供了另一种数据处理的装置,其特征在于,所述装置包括:数据处理单元,所述数据处理单元包括:获取子单元和执行子单元;其中,
获取子单元,用于获取利用本次待处理的至少一帧数据对应的处理命令建立的命令表。
执行子单元,用于执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
本发明实施例还提供了一种片上系统,其特征在于,所述片上系统包括上述任一项所述的装置。
本发明实施例提供的一种数据处理的方法、装置和片上系统,CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元;数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。如此,实现了在数据处理时,降低CPU响应数据处理单元中断信号的紧迫性,节约CPU进行数据处理时参数配置的时间。
附图说明
图1为现有技术中数据处理系统的结构图;
图2为现有技术中数据处理单元的工作流程图;
图3为本发明数据处理的方法的第一实施例的流程图;
图4为本发明实施例中操作描述符的结构示意图;
图5为本发明实施例中命令表的结构示意图;
图6为本发明实施例数据处理系统的结构图;
图7为本发明实施例数据处理单元的工作流程图;
图8为本发明实施例中图像处理单元的控制流程图;
图9为本发明数据处理的方法的第二实施例的流程图;
图10为本发明实施例数据处理的装置的第一组成结构示意图;
图11为本发明实施例数据处理的装置的第二组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图3为本发明数据处理的方法的第一实施例的流程图,如图3所示,该方法包括:
步骤300:中央处理器CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元。
这里,一帧数据至少对应一个处理命令,在一帧复杂数据无法利用一个处理命令来处理时,可以对一帧复杂数据生成多个对应的处理命令,利用多个处理命令对一帧复杂数据进行多次处理。因此,利用至少一帧数据对应的处理命令建立的命令表中至少包含一个处理命令。
本步骤中,CPU按照本次待处理数据的处理顺序,依次将待处理数据对应的处理命令写入命令表中。示例性的,在一帧数据对应一个处理命令时,有连续10帧待处理的数据,需要按照数据1、数据2到数据10的顺序进行处理,数据1、数据2到数据10分别对应的处理命令为:处理命令1、处理命令2到处理命令10,那么就可以按照处理命令1、处理命令2到处理命令10的顺序建立一个命令表。
存储单元可以包括一下至少一种,随机访问存储器、静态随机访问存储器、只读存储器、电可擦除可编程只读存储器、可编程只读存储器等等。
需要说明的是,CPU在建立并存储完命令表后,CPU将命令表信息配置到数据处理单元中,命令表信息包括:命令表在存储单元中的起始地址信息、命令表中的命令个数信息。
优选地,处理命令可以包括:处理对应的一帧数据时使用的配置参数。
处理命令还可以包括:操作码字段,操作码字段用于确定处理命令中配置参数的结构。
本发明实施例中,处理命令可以是一种操作描述符。其中,操作描述符包括:处理对应的一帧数据时使用的配置参数和操作码字段,操作码字段用于确定处理命令中配置参数的结构。操作描述符中操作码字段可以是具有固定位置和固定长度的字段。
图4为本发明实施例中操作描述符的结构示意图;如图4所示,每一种操作符中可以包括:一个固定位置和固定长度的操作码字段,不同结构的参数,以及部分保留空间。
这里,每种操作描述符的长度可以是相等的,或者具有一定变化规律的不同长度。当数据处理单元获取命令表在存储单元中的起始地址和命令表中的命令个数时,便可以根据预先设定的操作描述符的长度信息,确定每一个处理命令的存储位置,从而获取每一个处理命令。
图5为本发明实施例中命令表的结构示意图;如图5所示,CPU利用M个处理命令建立一个命令表,并将命令表存储到存储单元中。在数据处理时,CPU只需将存储单元中命令表起始地址和命令表中命令个数M配置给数据处理单元。M的取值为大于0的整数,M的取值由数据处理单元实际处理数据的能力决定,例如M可以取255。
示例性的,每一个处理命令的长度都为固定长度256bits时,利用10个处理命令建立一个命令表,将命令表存储在内存单元地址为0010H到0019H的地址空间中。CPU便将命令表存储的首地址0010H和命令表中处理命令个数10配置给数据处理单元。
进一步的,在CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元后,CPU利用下一次待处理的至少一帧数据对应的处理命令建立新的命令表并存储。
步骤301:数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
本步骤中,数据处理单元根据命令表在存储单元中的起始地址信息和命令表中的命令个数信息,读取命令表中的每个处理命令;数据处理单元确定已执行的命令的个数等于命令表中的命令个数时,确定命令表中所有命令均执行完。
示例性的,操作描述符的长度可以为固定长度256bits,数据处理单元根据获得的命令表存储的首地址0010H和命令表中处理命令个数10,可以确定每个处理命令所在地址空间,分别为0010H、0011H到0019H。数据处理单元根据每个处理命令存储的地址空间读取每个处理命令。
这里,操作描述符的长度可以是依据等差数列规律变化的,设置成递增长度或者递减长度。例如,命令表中包含有10和不同长度的操作描述符,每个操作描述符长度的变化规律是首项为256bits,公差为256bits的递增等差数列,操作描述符长度分别为256bits、512bits、768bits、…、2560bits,命令表的在存储单元中的首地址为0010H。数据处理单元根据获得的命令表存储的首地址0010H和命令表中处理命令个数10,可以确定每个处理命令所在地址空间,分别为:0010H、0011H、0013H、0016H、…、003DH。
本步骤中,命令表中所有命令均执行完毕后,数据处理单元向CPU发送中断请求命令,以请求CPU将新的命令表信息配置到数据处理单元中。
这里,数据处理单元包括FIFO和寄存器,寄存器用于通过FIFO读取命令表中的每个命令;命令表中存在未执行的命令,数据处理单元根据FIFO的命令存储情况、以及数据处理单元和存储单元之间的总线状态,读取命令表中的剩余处理命令。
本发明实施例中,数据处理单元按照处理命令写入命令表的顺序,读取并执行命令表中的每个处理命令。例如,命令表中的处理命令存储顺序为处理命令1、处理命令2到处理命令10,则数据处理单元按照处理命令的存储顺序,从处理命令1开始到依次顺序执行处理命令。
这里,数据处理单元通过FIFO和数据处理单元和存储单元之间的数据,实现对命令表的顺序读取操作。示例性的,当FIFO总存储空间一半以上为空且数据总线为空闲状态时,FIFO一次可以读取命令表中2个及以上的剩余处理命令;当FIFO总存储空间一半以下为空且数据总线为空闲状态时,FIFO每次只能读取命令表中1个剩余处理命令;当FIFO满时或者数据总线忙碌时,停止读取剩余处理命令。
图6为本发明实施例数据处理系统的结构图;如图6所示,CPU可预先利用多个处理命令建立一个命令表并存储到存储单元中。在进行数据处理时,CPU只对数据处理单元配置命令表在存储单元中的起始地址和命令表中的命令个数,由数据处理单元通过FIFO主动获取处理命令,并通过处理流水子模块执行每个处理命令。
图7为本发明实施例数据处理单元的工作流程图;如图7所示,数据处理单元最开始时读取到命令表中的部分命令后,即可开始处理数据,处理完一帧数据后,无需向CPU发出中断来请求下一帧数据的配置,数据处理单元根据读取的命令直接开始下一帧数据处理。处理过程中,根据FIFO的命令存储情况、以及数据处理单元和存储单元之间的总线状态,读取命令表中的剩余处理命令。等到命令表中的所有命令均执行完毕,数据处理单元向CPU发送中断请求命令,请求新的命令表信息配置。
需要说明的是,对比图2和图7,数据处理单元在处理2帧及2帧以上数据时,现有技术中数据处理单元处理完每一帧数据后均需要向CPU发送中断请求命令,请求新的参数配置。本发明实施例中,只需在本次待处理的数据全部处理完成后,向CPU发送一条中断请求命令。这里CPU响应该中断时,仅需要配置很少的寄存器来告知新的命令表的位置和命令个数这两个信息,比原有方式节省了配置很多寄存器的时间。因此,更能体现出本发明实施例在降低CPU响应数据处理单元中断信号的紧迫性,和节约CPU进行数据处理时参数配置的时间的优势。
本发明实施例中,中央处理器CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元;数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至命令表中所有命令均执行完毕。如此,在数据处理时,可降低CPU响应数据处理单元中断信号的紧迫性。由于CPU读写存储单元(例如,双倍速率同步动态随机存储器)的速率快于读写数据处理单元中寄存器的速率,所以当处理命令中包含较多参数时,可节约CPU进行数据处理时参数配置的时间。
第二实施例
为了能更加体现本发明的目的,在本发明第一实施例的基础上,将图像处理单元作为数据处理单元,进行进一步的举例说明。这里的图像处理单元可以是微处理器、数字信号处理器或现场可编程门阵列等,具体用于根据命令表中的处理命令完成对应图像的处理。
图8为本发明实施例中图像处理单元的控制流程图;如图8所示,CPU向图像处理单元仅配置命令表起始地址及命令个数,图像处理单元读取命令表中的部分命令,当FIFO中无处理命令需要执行时,说明命令表中所有处理命令均已被执行;FIFO中有处理命令需要执行时,继续执行FIFO中的处理命令。当命令表中所有处理命令均已读取时,等待所有命令执行完毕;当命令表中仍有处理命令未读取时,图像处理单元根据FIFO的命令存储情况、以及图像处理单元和存储单元之间的总线状态,读取命令表中剩余处理命令。当命令表中所有处理命令均执行完毕后,图像处理单元向CPU发送中断请求命令,请求配置新的命令表信息。
图9为本发明数据处理的方法的第二实施例的流程图,结合图8和图9该方法包括:
步骤900:根据待处理的图像确定对应的处理命令。
本步骤中,一帧图像只对应一个处理命令。
步骤901:CPU利用连续M帧待处理的图像所对应的处理命令建立命令表。
需要说明的是,CPU将每帧图像对应的处理命令按照预先设定的M帧图像的处理顺序,对应的存放在命令表中,以保证图像处理单元在顺序读取并执行命令表中的处理命令时,可以按照预先设定的M帧图像的处理顺序进行处理。
步骤902:CPU将命令表信息配置到图像处理单元中。
步骤903:图像处理单元获取命令表中的n个处理命令。
本步骤中,n取大于0的整数。图像处理单元最开始时主动获取命令表中至少一个处理命令。
步骤904:处理命令n是否小于处理命令个数M,如果是,执行步骤905;如果否,执行步骤906。
可以理解的是,图像处理单元在最开始时,如果FIFO为空或者大部分为空、且图像处理单元和存储单元之间的总线空闲,则FIFO可能将命令表中的所有处理命令全部读取,此时n等于M,命令表中没有剩余处理命令,执行步骤906。
步骤905:图像处理单元执行获取的处理命令,并继续获取命令表中的剩余处理命令。
本步骤中,图像处理单元最开始时主动获取命令表中部分处理命令,本步骤中,从处理命令1开始,图像处理单元解析处理命令1的操作描述符,获取第一帧图像的存储地址以及第一帧图像对应的处理参数后,开始处理第一帧图像;在处理完第一帧图像后继续处理下一帧图像,直到执行完获取的n个处理命令。
可以理解的是,图像处理单元最开始时主动获取命令表中的处理命令个数小于命令总数M时,图像处理单元通过FIFO继续获取命令表中剩余处理命令,并执行。这里,当FIFO的命令存储情况和总线状态良好时,图像处理单元可以读取多个剩余处理命令;当FIFO的命令存储情况和总线状态不佳时,可以只读取一个剩余处理命令或者暂停读取剩余处理命令。
步骤906:图像处理单元执行n个处理命令。
可以理解的是,此时n等于M,即图像处理单元最开始时主动获取命令表中全部处理命令。本步骤中,从处理命令1开始,图像处理单元解析处理命令1的操作描述符,获取第一帧图像的存储地址以及第一帧图像对应的处理参数后,开始处理第一帧图像;在处理完第一帧图像后继续处理下一帧图像,直到执行完命令表中的所有处理命令后,执行步骤908。
本发明实施例中,还可以实现另一种图像处理操作,即多次复合处理同一帧图像,以实现对复杂图像的处理操作。
示例性的,一帧复杂的图像需要用3个处理命令来完成处理,由于3个处理命令中除了对应的处理参数外,还可以包括待处理一帧图像的存储地址,因此通过设置这3个处理命令中图像的存储地址,来实现对同一帧图像的处理。例如,将一帧原始图像存储的起始地址作为处理命令1对应的待处理图像的起始地址;原始图像经过处理命令1处理后得到图像1,将存储图像1的起始地址作为处理命令2对应的待处理图像的起始地址;图像1经处理命令2处理后得到图像2,将存储图像2的起始地址作为处理命令3对应的待处理图像的起始地址,图像2经处理命令3处理后得到最终的图像。如此,便可以实现对一帧图像分别执行处理命令1、处理命令2和处理命令3的操作,完成多次复合处理同一帧图像的操作。
步骤907:判断是否执行完命令表中的所有处理命令,如果是,执行步骤908;如果否,返回步骤905。
本步骤中,结合图8所示,可以通过以下两种判断条件来判断是否处理完命令表中的所有处理命令,其中,第一种判断条件为:判断FIFO中是否有命令需要执行;第二种判断条件为:判断命令表中所有的处理命令是否均已读取并执行。可以理解的是,第一种判断条件的优先级高于第二种判断条件,如果FIFO中没有命令需要执行,即FIFO为空,说明命令表中的所有处理命令执行完毕,可无需判断第二种条件;如果FIFO不为空,就无法通过第一种判断条件来判断处理命令是否全部执行,需要通过第二种判断条件来判断。
步骤908:图像处理单元向CPU发中断请求信号,请求新的命令信息配置。
本步骤中,在命令表中的所有处理命令均处理完毕后,图像处理单元向CPU发中断请求信号,通知CPU命令表中所有的处理命令对应的图像处理均处理完毕,请求配置新的命令表信息。
第三实施例
本发明第三实施例提供了一种数据处理的方法,该方法包括:中央处理器CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将命令表通过存储单元传递到数据处理单元,使数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至命令表中所有命令均执行完毕。
优选地,CPU将命令表信息配置到数据处理单元中,使数据处理单元根据命令表信息读取并执行命令表中的每个处理命令;命令表信息可以包括:命令表在存储单元中的起始地址信息、命令表中的命令个数信息。
优选地,CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将命令表通过存储单元传递到数据处理单元后,CPU利用下一次待处理的至少一帧数据对应的处理命令建立新的命令表。
命令表中所有命令均执行完毕后,CPU接收中断请求命令,根据中断请求命令将新的命令表信息配置到数据处理单元中。
优选地,CPU按照本次待处理数据的处理顺序,依次将待处理数据对应的处理命令写入命令表中,使数据处理单元按照处理命令写入命令表的顺序,读取并执行命令表中的每个处理命令。
这里,处理命令可以包括:处理对应的一帧数据时使用的配置参数和操作码字段,操作码字段用于确定处理命令中配置参数的结构。
第四实施例
本发明第四实施例提供了一种数据处理的方法,该方法包括:数据处理单元获取利用本次待处理的至少一帧数据对应的处理命令建立的命令表,执行命令表中的每个处理命令,以处理对应的一帧数据,直至命令表中所有命令均执行完毕。
优选地,所述数据处理单元可以包括先入先出队列FIFO和寄存器,寄存器用于通过FIFO读取命令表中的每个命令。
在实际实施时,所述命令表中存在未执行的命令,所述数据处理单元根据所述FIFO的命令存储情况、以及所述数据处理单元和所述存储单元之间的总线状态,读取所述命令表中的剩余处理命令。
第五实施例
针对本发明实施例的方法,本发明实施例还提供了一种数据处理的装置,图10为本发明实施例数据处理的装置的第一组成结构示意图,如图10所示,该装置包括:中央处理单元100、存储单元101和数据处理单元102;其中,
中央处理单元100,用于利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元,使数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
优选地,中央处理单元100,还用于将命令表信息配置到所述数据处理单元中,使所述数据处理单元根据所述命令表信息读取并执行所述命令表中的每个处理命令;所述命令表信息包括:所述命令表在存储单元中的起始地址信息、所述命令表中的命令个数信息。
第六实施例
本发明实施例还提供了另一种数据处理的装置,图11为本发明实施例数据处理的装置的第二组成结构示意图,如图11所示,该装置包括:数据处理单元102,数据处理单元可以包括:获取子单元1021和执行子单元1022;其中,
获取子单元1021,用于获取中央处理单元利用本次待处理的至少一帧数据对应的处理命令建立的命令表。
执行子单元1022,用于执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
在实际应用中,所述中央处理单元100、存储单元101、数据处理单元102、获取子单元1021和执行子单元1022均可由位于终端设备中的中央处理器(Central ProcessingUnit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital SignalProcessor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (12)
1.一种数据处理的方法,其特征在于,所述方法包括:
中央处理器CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元,使数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述CPU将命令表信息配置到所述数据处理单元中,使所述数据处理单元根据所述命令表信息读取并执行所述命令表中的每个处理命令;所述命令表信息包括:所述命令表在存储单元中的起始地址信息、所述命令表中的命令个数信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述CPU利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元后,所述CPU利用下一次待处理的至少一帧数据对应的处理命令建立新的命令表;
所述命令表中所有命令均执行完毕后,所述CPU接收中断请求命令,根据所述中断请求命令将新的命令表信息配置到所述数据处理单元中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述CPU按照本次待处理数据的处理顺序,依次将待处理数据对应的处理命令写入命令表中,使所述数据处理单元按照处理命令写入所述命令表的顺序,读取并执行所述命令表中的每个处理命令。
5.根据权利要求1所述方法,其特征在于,所述处理命令包括:处理对应的一帧数据时使用的配置参数。
6.根据权利要求5所述的方法,其特征在于,所述处理命令还包括:操作码字段,所述操作码字段用于确定处理命令中配置参数的结构。
7.一种数据处理的方法,其特征在于,所述方法包括:
数据处理单元获取利用本次待处理的至少一帧数据对应的处理命令建立的命令表,执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
8.根据权利要求7所述的方法,其特征在于,所述数据处理单元包括先入先出队列FIFO和寄存器,所述寄存器用于通过所述FIFO读取命令表中的每个命令;
所述方法还包括:所述命令表中存在未执行的命令,所述数据处理单元根据所述FIFO的命令存储情况、以及所述数据处理单元和所述存储单元之间的总线状态,读取所述命令表中的剩余处理命令。
9.一种数据处理的装置,其特征在于,所述装置包括:中央处理单元、数据处理单元和存储单元;其中,
中央处理单元,用于利用本次待处理的至少一帧数据对应的处理命令建立命令表,并将所述命令表通过存储单元传递到数据处理单元,使数据处理单元读取并执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
10.根据权利要求9所述的装置,其特征在于,所述中央处理单元,还用于将命令表信息配置到所述数据处理单元中,使所述数据处理单元根据所述命令表信息读取并执行所述命令表中的每个处理命令;所述命令表信息包括:所述命令表在存储单元中的起始地址信息、所述命令表中的命令个数信息。
11.一种数据处理的装置,其特征在于,所述装置包括:数据处理单元,所述数据处理单元包括:获取子单元和执行子单元;其中,
获取子单元,用于获取利用本次待处理的至少一帧数据对应的处理命令建立的命令表;
执行子单元,用于执行命令表中的每个处理命令,以处理对应的一帧数据,直至所述命令表中所有命令均执行完毕。
12.一种片上系统,其特征在于,所述片上系统包括权利要求9至11中任一项所述的装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610945057.8A CN107992328A (zh) | 2016-10-26 | 2016-10-26 | 一种数据处理的方法、装置和片上系统 |
PCT/CN2017/082444 WO2018076647A1 (zh) | 2016-10-26 | 2017-04-28 | 数据处理的方法、装置和片上系统、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610945057.8A CN107992328A (zh) | 2016-10-26 | 2016-10-26 | 一种数据处理的方法、装置和片上系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107992328A true CN107992328A (zh) | 2018-05-04 |
Family
ID=62024190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610945057.8A Pending CN107992328A (zh) | 2016-10-26 | 2016-10-26 | 一种数据处理的方法、装置和片上系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107992328A (zh) |
WO (1) | WO2018076647A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737540B (zh) * | 2019-09-29 | 2023-06-06 | 深圳忆联信息系统有限公司 | 用于ssd读取异常的恢复优化方法、装置、设备、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4922418B2 (ja) * | 2010-02-16 | 2012-04-25 | 株式会社東芝 | 再生装置および再生装置の制御方法 |
CN104823215A (zh) * | 2012-12-28 | 2015-08-05 | 苹果公司 | 子画面图形渲染系统 |
CN105940388A (zh) * | 2014-02-20 | 2016-09-14 | 英特尔公司 | 用于图形处理单元的工作负荷批量提交机制 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2383648B1 (en) * | 2010-04-28 | 2020-02-19 | Telefonaktiebolaget LM Ericsson (publ) | Technique for GPU command scheduling |
CN105095149B (zh) * | 2015-08-10 | 2018-10-16 | 青岛中星微电子有限公司 | 一种片上系统参数的批处理方法和装置 |
-
2016
- 2016-10-26 CN CN201610945057.8A patent/CN107992328A/zh active Pending
-
2017
- 2017-04-28 WO PCT/CN2017/082444 patent/WO2018076647A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4922418B2 (ja) * | 2010-02-16 | 2012-04-25 | 株式会社東芝 | 再生装置および再生装置の制御方法 |
CN104823215A (zh) * | 2012-12-28 | 2015-08-05 | 苹果公司 | 子画面图形渲染系统 |
CN105940388A (zh) * | 2014-02-20 | 2016-09-14 | 英特尔公司 | 用于图形处理单元的工作负荷批量提交机制 |
Non-Patent Citations (1)
Title |
---|
程敬原: "《VxWorks软件开发项目实例完全解析》", 31 October 2005, 中国电力出版社 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018076647A1 (zh) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595353B (zh) | 一种基于PCIe总线的控制数据传输的方法及装置 | |
JP4456490B2 (ja) | Dma装置 | |
EP3255553B1 (en) | Transmission control method and device for direct memory access | |
CN112765059A (zh) | 一种基于fpga的dma设备及dma数据搬移方法 | |
CN109558344B (zh) | 一种适用于网络传输的dma传输方法及dma控制器 | |
US9588808B2 (en) | Multi-core system performing packet processing with context switching | |
JP5578713B2 (ja) | 情報処理装置 | |
CN112947857B (zh) | 一种数据搬移方法、装置、设备及计算机可读存储介质 | |
US10437650B2 (en) | Controlling execution of tasks in a series of operational processing by identifying processing units based on task command, task setting information, state of operational processing | |
CN113703951B (zh) | 一种处理dma的方法、装置、及计算机可读存储介质 | |
JP2006338538A (ja) | ストリームプロセッサ | |
US20150268985A1 (en) | Low Latency Data Delivery | |
US9172839B2 (en) | Image forming apparatus, control method and storage medium | |
JP6372262B2 (ja) | 印刷装置、およびプログラム | |
JPH0926885A (ja) | マイクロプロセッサに対する多重優先度割込み要求のための制御回路および制御方法 | |
CN111488303B (zh) | 接口转接电路 | |
US20110022767A1 (en) | Dma controller with interrupt control processor | |
CN107992328A (zh) | 一种数据处理的方法、装置和片上系统 | |
US20130219095A1 (en) | Circuit and method for pipe arbitration using available state information and arbitration | |
US12019909B2 (en) | IO request pipeline processing device, method and system, and storage medium | |
JP2007249635A (ja) | データ転送装置及びデータ転送方法 | |
US6920513B2 (en) | Bus management techniques | |
US20080209085A1 (en) | Semiconductor device and dma transfer method | |
US10540305B2 (en) | Semiconductor device | |
JP2006285872A (ja) | マルチcpuシステム |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180504 |