CN113051197A - 数据传输、数据处理装置及方法、计算机设备及存储介质 - Google Patents

数据传输、数据处理装置及方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN113051197A
CN113051197A CN202110351856.3A CN202110351856A CN113051197A CN 113051197 A CN113051197 A CN 113051197A CN 202110351856 A CN202110351856 A CN 202110351856A CN 113051197 A CN113051197 A CN 113051197A
Authority
CN
China
Prior art keywords
data
storage
memory
register
transmitted
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
Application number
CN202110351856.3A
Other languages
English (en)
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.)
Shanghai Power Tensors Intelligent Technology Co Ltd
Original Assignee
Shanghai Power Tensors Intelligent 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 Shanghai Power Tensors Intelligent Technology Co Ltd filed Critical Shanghai Power Tensors Intelligent Technology Co Ltd
Priority to CN202110351856.3A priority Critical patent/CN113051197A/zh
Publication of CN113051197A publication Critical patent/CN113051197A/zh
Pending legal-status Critical Current

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/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory

Abstract

本公开提供了一种数据传输、数据处理装置及方法、计算机设备及存储介质,其中,数据传输装置包括:控制器、寄存器、以及存储器;所述控制器,用于监测所述寄存器和所述存储器的存储状态,并基于所述存储状态,控制从所述数据传输装置的数据输入端到所述寄存器的第一数据通路、所述数据输入端到所述存储器的第二数据通路、以及所述存储器至所述寄存器的第三数据通路的通断状态;所述寄存器,用于将数据发送设备或者存储器发送的待传输数据传输给所述数据传输装置的数据输出端,可以无需数据接收设备从存储器中读取数据,减少数据接收设备从数据传输装置中读取数据所需要的耗时,以提升数据传输的效率。

Description

数据传输、数据处理装置及方法、计算机设备及存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种数据传输、数据处理装置及方法、计算机设备及存储介质。
背景技术
先进先出队列(First Input First Output,FIFO)是一种按序执行方法,利用FIFO可以缓冲两侧的数据发送设备和数据接收设备在传输数据时速度不匹配的问题。对于FIFO的数据载体,在利用寄存器搭建时可能会造成很大的面积开销,而使用静态随机存取存储器(Static Random-Access Memory,SRAM)搭建时又会出现功耗开销大的问题;这些方式都容易出现资源浪费的情况。因此,为了解决上述问题,目前通常会在寄存器搭建浅FIFO的同时,利用SRAM搭建深FIFO。当浅FIFO被存满之后,数据发送装置能够将新发送的数据写入到深FIFO中;同时,数据接收设备在接收数据时,会从浅FIFO和深FIFO中读取数据,这造成了数据读取效率较低。
发明内容
本公开实施例至少提供一种数据传输、数据处理装置及方法、计算机设备及存储介质。
第一方面,本公开实施例提供了一种数据传输装置,包括:控制器、寄存器、以及存储器;所述控制器,用于监测所述寄存器和所述存储器的存储状态,并基于所述存储状态,控制从所述数据传输装置的数据输入端到所述寄存器的第一数据通路、所述数据输入端到所述存储器的第二数据通路、以及所述存储器至所述寄存器的第三数据通路的通断状态;所述寄存器,用于将数据发送设备或者存储器发送的待传输数据传输给所述数据传输装置的数据输出端。
这样,可以无需数据接收设备从存储器中读取数据,减少数据接收设备从数据传输装置中读取数据所需要的耗时,以提升数据传输的效率。
一种可选的实施方式中,所述存储状态包括下述任一种:所述寄存器存在空余存储空间、且所述存储器未存储待传输数据;所述寄存器存在空余存储空间、且所述存储器存储有待传输数据;所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间。
这样,可以在得到较少的存储状态的情况下,还能够依据这些存储状态确定在数据传输装置中数据通路的状态,因此可以减少对寄存器和存储器分别对应的存储状态的判断,提高效率。
一种可选的实施方式中,所述控制器,在基于所述存储状态,所述第一数据通路、所述第二数据通路、以及所述第三数据通路的通断状态时,用于:在所述存储状态包括所述寄存器存在空余存储空间、且所述存储器未存储待传输数据的情况下,控制第一数据通路连通,并控制所述第二数据通路和所述第三数据通路断开;在所述存储状态包括所述寄存器存在空余存储空间、且所述存储器存储有待传输数据,或者,所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间的情况下,控制第一数据通路断开,并控制所述第二数据通路和所述第三数据通路连通。
这样,控制器可以在确定不同的存储状态后,有针对性的确定多个数据通路的通断,方式更加灵活;并且,通过控制多个数据通路的通断可以更安全并且稳定的控制待传输数据向对应的存储器中传输。
一种可选的实施方式中,所述控制器,在监测所述寄存器和所述存储器的存储状态时,用于:基于所述寄存器对应的第一写指针指向的第一存储位置、以及所述寄存器对应的第一读指针指向的第二存储位置,以及所述第一写指针和所述第一读指针分别对应的第一标志位,确定所述寄存器的第一存储状态;基于所述存储器对应的第二写指针指向的第三存储位置、以及所述存储器对应的第二读指针指向的第四存储位置,以及所述第二写指针和所述第二读指针分别对应的第二标志位,确定所述存储器的第二存储状态。
这样,通过第一写指针和第一读指针分别指向的第一存储位置和第二存储位置、以及第一标志位,即可以较为迅速的确定寄存器的第一存储状态;同时,通过第二写指针和第二读指针分别指向的第三存储位置和第四存储位置、以及第二标志位,即可以较为迅速的确定存储器的第二存储状态;从而,可以进一步提高数据传输的效率。
一种可选的实施方式中,所述控制器,在监测所述寄存器的第一存储状态时,用于:响应于所述第一写指针指向的第一存储位置变化为所述寄存器的最后一个存储位置,控制所述第一写指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一写指针对应的标志位的值翻转;所述控制器,在监测所述存储器的第二存储状态时,用于:响应于所述第二写指针指向的第三存储位置变化为所述存储器的最后一个存储位置,控制所述第二写指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二写指针对应的标志位的值翻转。
一种可选的实施方式中,所述控制器,在监测所述寄存器的第一存储状态时,用于:响应于所述第一读指针指向的第二存储位置变化为所述寄存器的最后一个存储位置,控制所述第一读指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一读指针对应的标志位的值翻转;所述控制器,在监测所述存储器的第二存储状态时,用于:响应于所述第二读指针指向的第四存储位置变化为所述存储器的最后一个存储位置,控制所述第二读指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二读指针对应的标志位的值翻转。
这样,通过控制器根据寄存器对应的第一读指针和第一写指针指向的存储位置,可以有逻辑的对第一标志位进行翻转,并根据第一标志位的值和第一读指针和第一写指针指向的存储位置,可以快速且准确的确定寄存器的第一存储状态。同样的,通过控制器根据存储器对应的第二读指针和第二写指针指向的存储位置,可以有逻辑的对第二标志位进行翻转,并根据第二标志位的值和第二读指针和第二写指针指向的存储位置,可以快速且准确的确定存储器的第二存储状态。
一种可选的实施方式中,所述控制器,在监测所述寄存器的存储状态时,用于:确定所述第一存储位置、和所述第二存储位置是否为同一存储位置;在所述第一存储位置、和所述第二存储位置为不同存储位置的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
一种可选的实施方式中,所述控制器,在监测所述寄存器的存储状态时,还用于:在所述第一存储位置、和所述第二存储位置为同一存储位置的情况下,确定所述第一写指针和所述第一读指针分别对应的第一标志位是否相同;在不相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器的存储空间被全部占用;在相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
一种可选的实施方式中,所述控制器,在监测所述存储器的存储状态时,用于:确定所述第三存储位置、和所述第四存储位置是否为同一存储位置;在所述第三存储位置、和所述第四存储位置为不同存储位置的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据。
一种可选的实施方式中,所述控制器,在监测所述存储器的存储状态时,还用于:在所述第三存储位置、和所述第四存储位置为同一存储位置的情况下,确定所述第二写指针和所述第二读指针分别对应的第二标志位是否相同;在不相同的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据;在相同的情况下,确定所述存储器的第二存储状态为:所述存储器未存储待传输数据,或,所述存储器存在空余存储空间。
第二方面,本公开实施例提供了一种数据处理装置,包括:数据发送设备、如第一方面所述的数据传输装置、以及数据接收设备;所述数据发送设备,用于根据所述数据传输装置中寄存器和存储器的存储状态,将所述待传输数据向所述寄存器或者所述存储器传输;所述数据接收设备,用于从所述寄存器读取所述待传输数据。
这样,由于数据传输装置的对数据传输的效率较高,因此数据发送设备以及数据接收设备在利用数据传输装置进行待传输数据的传输时,也会提高效率,从而提高数据处理装置的数据处理效率。
第三方面,本公开实施例还提供一种数据传输方法,应用于数据传输装置,所述数据传输装置包括:控制器、寄存器、以及存储器;所述数据传输方法包括:所述控制器监测所述寄存器和所述存储器的存储状态,并基于所述存储状态,控制从所述数据传输装置的数据输入端到所述寄存器的第一数据通路、所述数据输入端到所述存储器的第二数据通路、以及所述存储器至所述寄存器的第三数据通路的通断状态;所述寄存器将数据发送设备或者存储器发送的待传输数据传输给所述数据传输装置的数据输出端。
一种可选的实施方式中,所述存储状态包括下述任一种:所述寄存器存在空余存储空间、且所述存储器未存储待传输数据;所述寄存器存在空余存储空间、且所述存储器存储有待传输数据;所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间。
一种可选的实施方式中,所述控制器基于所述存储状态,所述第一数据通路、所述第二数据通路、以及所述第三数据通路的通断状态,包括:在所述存储状态包括所述寄存器存在空余存储空间、且所述存储器未存储待传输数据的情况下,所述控制器控制第一数据通路连通,并控制所述第二数据通路和所述第三数据通路断开;在所述存储状态包括所述寄存器存在空余存储空间、且所述存储器存储有待传输数据,或者,所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间的情况下,所述控制器控制第一数据通路断开,并控制所述第二数据通路和所述第三数据通路连通。
一种可选的实施方式中,所述控制器监测所述寄存器和所述存储器的存储状态,包括:所述控制器基于所述寄存器对应的第一写指针指向的第一存储位置、以及所述寄存器对应的第一读指针指向的第二存储位置,以及所述第一写指针和所述第一读指针分别对应的第一标志位,确定所述寄存器的第一存储状态;基于所述存储器对应的第二写指针指向的第三存储位置、以及所述存储器对应的第二读指针指向的第四存储位置,以及所述第二写指针和所述第二读指针分别对应的第二标志位,确定所述存储器的第二存储状态。
一种可选的实施方式中,监测所述寄存器的第一存储状态,包括:响应于所述第一写指针指向的第一存储位置变化为所述寄存器的最后一个存储位置,控制所述第一写指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一写指针对应的标志位的值翻转;监测所述存储器的第二存储状态,包括:响应于所述第二写指针指向的第三存储位置变化为所述存储器的最后一个存储位置,控制所述第二写指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二写指针对应的标志位的值翻转。
一种可选的实施方式中,监测所述寄存器的第一存储状态,包括:响应于所述第一读指针指向的第二存储位置变化为所述寄存器的最后一个存储位置,控制所述第一读指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一读指针对应的标志位的值翻转;监测所述存储器的第二存储状态,包括:响应于所述第二读指针指向的第四存储位置变化为所述存储器的最后一个存储位置,控制所述第二读指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二读指针对应的标志位的值翻转。
一种可选的实施方式中,所述控制器确定所述寄存器的存储状态,包括:所述控制器判断所述第一存储位置、和所述第二存储位置是否为同一存储位置;在所述第一存储位置、和所述第二存储位置为不同存储位置的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
一种可选的实施方式中,还包括:在所述第一存储位置、和所述第二存储位置为同一存储位置的情况下,所述控制器确定所述第一写指针和所述第一读指针分别对应的第一标志位是否相同;在不相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器的存储空间被全部占用;在相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
一种可选的实施方式中,所述控制器监测所述存储器的存储状态,包括:所述控制器确定所述第三存储位置、和所述第四存储位置是否为同一存储位置;在所述第三存储位置、和所述第四存储位置为不同存储位置的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据。
一种可选的实施方式中,还包括:在所述第三存储位置、和所述第四存储位置为同一存储位置的情况下,所述控制器确定所述第二写指针和所述第二读指针分别对应的第二标志位是否相同;在不相同的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据;在相同的情况下,确定所述存储器的第二存储状态为:所述存储器未存储待传输数据,或,所述存储器存在空余存储空间。
第四方面,本公开实施例还提供一种数据传输方法,应用于数据处理装置,所述数据处理装置包括:数据发送设备、第一方面所述的数据传输装置、以及数据接收设备;所述数据发送设备根据所述数据传输装置中寄存器和存储器的存储状态,将所述待传输数据向所述寄存器或者所述存储器传输;所述数据接收设备从所述寄存器读取所述待传输数据。
第五方面,本公开可选实现方式还提供一种计算机设备,包括指令存储器和本公开第一方面提供的数据传输装置或者第二方面提供的数据处理装置。
第六方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第三方面,或第四方面中任一种可能的实施方式中的步骤。
关于上述装置、计算机设备、及计算机可读存储介质的效果描述参见上述对应方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据传输装置的示意图;
图2示出了本公开实施例所提供的一种寄存器、以及存储器内部存储空间的示意图;
图3示出了本公开实施例所提供的一种判断寄存器的第一存储状态的示意图;
图4示出了本公开实施例所提供的一种具体判断寄存器的第一存储状态的流程图;
图5示出了本公开实施例所提供的一种具体判断存储器的第二存储状态的流程图;
图6示出了本公开实施例所提供的一种多个数据通路的通断状态的示意图;
图7示出了本公开实施例所提供的另一种多个数据通路的通断状态的示意图;
图8示出了本公开实施例所提供的一种数据处理装置的示意图;
图9示出了本公开实施例所提供的数据传输方法的具体流程图;
图10示出了本公开实施例提供的一种数据处理方法的具体流程图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,在大规模的系统级芯片中,存在较多不同数据发送设备和数据接收设备之间的数据传输。在数据发送设备和数据接收设备的数据率不同时,FIFO可以在不同的数据发送设备和数据接收设备间缓冲数据,以避免数据的遗漏或者丢失。在设计FIFO时,通常出于访问功耗以及存储容量的考虑,用寄存器和SRAM结合作为FIFO的载体。在不同数据发送设备和数据接收设备间数据率相差较小的情况下,发送待传输数据的数据发送设备和接收待传输数据的数据接收设备仅适用寄存器进行数据的读写即能够满足数据传输的需求,使用寄存器能够加快读写的速度;在不同数据发送设备和数据接收设备间数据率相差较大的情况下,寄存器的存储容量无法满足数据传输的需求,因此在寄存器被存满后,可以使用SRAM应对突发的大量数据存储。同时,数据接收设备在读取数据时,在寄存器中存储有数据的情况下,首先从寄存器中读取数据,在寄存器为空后,再从SRAM中读取数据。数据接收设备从寄存器中读取数据时,在当前的处理周期即可以将数据读取;从SRAM读取数据时需要两个处理周期,这造成了数据读取需要更多的时间,进而导致数据传输的效率较低。
基于上述研究,本公开提供了一种数据传输装置,利用控制器监测寄存器和存储器的存储状态,从而控制待传输数据从外部传输至寄存器,或者从存储器传输至寄存器;数据接收设备仅从寄存器中读取数据,进而无需数据接收设备从存储器中读取数据,减少数据接收设备从数据传输装置中读取数据所需要的耗时,以提升数据传输的效率。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据传输装置进行详细介绍,本公开实施例所提供的数据传输装置通常搭载在具有一定计算能力的计算机设备上,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。
参见图1所示,为本公开实施例提供的一种数据传输装置的示意图,所述数据传输装置包括控制器10、寄存器20、以及存储器30;其中,
控制器10,用于监测寄存器20和存储器30的存储状态,并基于存储状态,控制从数据传输装置的数据输入端到寄存器20的第一数据通路、数据输入端到存储器30的第二数据通路、以及存储器30至寄存器20的第三数据通路的通断状态;
寄存器20,用于将数据发送设备或者存储器30发送的待传输数据传输给数据传输装置的数据输出端。
本公开实施例利用控制器监测寄存器和存储器的存储状态,可以确定数据传输装置的数据输入端到寄存器的第一数据通路、数据输入端到存储器的第二数据通路、以及存储器至寄存器的第三数据通路的通断状态,从而将数据传输装置中从数据输入端输入的待传输数据进行存储,并将直接存储至寄存器、或者由存储器存储至寄存器中的待传输数据由寄存器传输给数据传输装置的数据输出端,可以无需数据接收设备从存储器中读取数据,减少数据接收设备从数据传输装置中读取数据所需要的耗时,以提升数据传输的效率。
在具体实施中,由于在搭建FIFO的载体时,为了加快待传输数据传输的速度,因此将寄存器20作为FIFO中的浅FIFO,并将存储器30作为FIFO中的深FIFO。在按照一定的处理周期进行数据传输时,寄存器可以在接收到数据接收设备的读请求后,在当前处理周期完成待传输数据的传输。较之存储器而言,相同存储容量的寄存器占用的物理空间较大,因此为寄存器20设置较小的待传输数据存储容量,例如为寄存器设置2比特位的可以存储4个待传输数据的存储空间;或者设置3比特位的存储空间,以存储6个待传输数据。
并且,出于存储容量的考虑,例如可以选用较大容量的SRAM作为存储器30,以应对数据写入率大于数据读出率的情况下,寄存器20的存储空间无法满足数据存储需求的情况。存储器30的存储容量可以根据实际情况确定,例如使用数据传输装置完成特定的数据处理任务时,最多需要在数据发送设备和数据接收设备之间传输1000个待传输数据,则可以将存储器30的存储容量设置为1000;又例如,可以根据数据传输装置的体积要求,确定SRAM的容量。
参见图2所示,为本公开实施例提供的一种寄存器、以及存储器内部存储空间的示意图。其中,图2中的(a)示出了寄存器20的内部存储空间的示意图,包括4个数据存储空间21,分别对应的存储位置可以按序编号为0、1、2、3;另外,还包括第一标志位22,包括两个标志存储空间,分别对应寄存器20对应的第一写指针以及第一读指针。示例性的,第一标志位中的221与第一写指针对应,第一标志位中的222与第一读指针对应。
类似的,图2中(b)示出了存储器30的内部存储空间的示意图,包括多个数据存储空间23,分别对应的存储位置可以按序编号为4、5、……、1000;另外,还包括第二标志位24,包括两个标志存储空间,分别对应存储器30对应的第二写指针以及第二读指针。示例性的,第二标志位中的241与第二写指针对应,第二标志位中的242与第二读指针对应。
在控制器10监测寄存器20和存储器30的存储状态时,可以利用第一读指针以及第一写指针判断寄存器20的状态、以及利用第二读指针以及第二写指针判断存储器30的状态。下面以控制器10监测寄存器20的第一存储状态为例进行说明。
在具体实施中,可以根据下述方式确定寄存器20的第一存储状态:基于寄存器20对应的第一写指针指向的第一存储位置、以及寄存器20对应的第一读指针指向的第二存储位置,以及第一写指针和第一读指针分别对应的第一标志位,确定寄存器20的第一存储状态。
由于在待传输数据在第一存储单元中读写时,控制器10可以控制第一写指针以及第一读指针在寄存器20中指向对应的存取位置,因此第一写指针以及第一读指针进行移动时,可以确定寄存器20中待传输数据的存储位置,从而确定寄存器20的第一存储状态。
具体地,控制器在监测寄存器的存储状态时,用于响应于第一写指针指向的第一存储位置变化为寄存器的最后一个存储位置,控制第一写指针指向寄存器的第一个存储位置,并将第一标志位中第一写指针对应的标志位的值翻转。
示例性的,参见图3所示,为本公开实施例提供的一种判断寄存器的第一存储状态的示意图。在图3中(a)示出了一种在寄存器20未开始接收待传输数据时,寄存器20内部第一存储状态的示意图。其中,寄存器20中的4个存储空间中未存储待传输数据,第一写指针以及第一读指针均指向存储位置0,也即第一写指针指向的第一存储位置、以及第一读指针指向的第二存储位置均为存储位置0。并且,第一标志位22中的第一标志位221、以及第一标志位222均为初始值,例如均为0。
此时,第一存储位置和第二存储位置为同一存储位置,并且可以判断第一写指针和第一读指针分别对应的第一标志位不同,则确定寄存器20的第一存储状态为寄存器20的存储空间被全部占用;而第一存储位置和第二存储位置为同一存储位置,并且可以判断第一写指针和第一读指针分别对应的第一标志位相同(不限定于位置0),则确定寄存器20的第一存储状态为寄存器20的存储空间为空。
在图3中(b)示出了一种在寄存器20接收到2个待传输数据时,寄存器20内部第一存储状态的示意图。其中,寄存器20中的2个存储空间中存储了待传输数据,例如在存储位置0存放待传输数据A、以及在存储位置1存放待传输数据B。在向寄存器20中的存储位置1写完待传输数据B后,第一写指针指向寄存器20的存储位置2,在未向数据传输装置的数据输出端发送待传输数据时,第一读指针指向寄存器20的存储位置0,也即第一写指针指向的第一存储位置为存储位置2、第一读指针指向的第二存储位置为存储位置0。
此时,第一存储位置和第二存储位置为不同存储位置,确定第一存储状态为存在空余空间。由于已确定第一存储状态为存在空余空间,因此无需再确定第一写指针和第一读指针分别对应的第一标志位是否相同。在图3中(b),承接图3中(a)的状态,不对标志位进行更改,第一标志位22中的第一标志位221、以及第一标志位222均为0。
另外,在控制器检测寄存器的存储状态时,可以响应于第一读指针指向的第二存储位置变化为寄存器的最后一个存储位置,控制第一读指针指向寄存器的第一个存储位置,并将第一标志位中第一读指针对应的标志位的值翻转。
示例性的,在图3中(c)示出了一种在寄存器20接收到4个待传输数据时,寄存器20内部第一存储状态的示意图。其中,寄存器20的4个存储位置分别顺序存储了待传输数据A、B、C、D。在第一写指针指向寄存器20的存储位置3后,第一写指针已到达寄存器20中最后一个存储位置,因此,第一标志位22中与第一写指针对应的第一标志位221翻转,例如可以置1,然后第一写指针再重新指向存储位置0。这样,第一写指针指向的第一存储位置、以及第一读指针指向的第二存储位置均为存储位置0;并且,第一标志位22中的第一标志位221为1,而第一标志位222为0。
此时,第一存储位置和第二存储位置为同一存储位置,并且可以判断第一写指针和第一读指针分别对应的第一标志位不相同,则确定寄存器20的存储空间被全部占用。
类似的,对于第一读指针,在第一读指针从存储位置0读取待传输数据后,会依次移动至存储位置1、存储位置2、以及存储位置3,并从指向的存储位置中读取待传输数据。在第一读指针指向存储位置3,并将其中存储的待传输数据读取出后,可以将第一读指针对应的第一标志位翻转,然后第一读指针再重新指向存储位置0。例如在图2中示出的第一标志位22中,将与第一读指针对应的第一标志位222由0翻转为1。
由于寄存器中的存储位置是有限的,在多个待传输数据将寄存器中的存储位置写满后,只有在第一读指针将其中存储的至少一个待传输数据读取出后,第一写指针才能够继续向其中空置的存储位置中写入待传输数据。
可见,第一读指针和第一写指针按照上述变化规则根据各自需要操作的数据独立的在存储器位置间移动,并随着移动位置的变化,对应的第一标志位也做出相应的变化,因此,利用第一标志位中第一写指针和第一读指针对应的标志位的值,以及第一写指针和第一读指针指向的存储位置,即可对寄存器的第一存储状态做出判断。
另外,在第一写指针到达寄存器中最后一个存储位置,例如第一写指针指向了在图2中(a)编号为3的存储空间,并将待传输数据D存储至该编号为3的存储空间中,则第一标志位中第一写指针对应的标志位的值进行翻转,例如可以将当前值“1”翻转为“0”,或者将当前值“0”翻转为“1”。
类似的,对于存储器而言,当控制器监测存储器的存储状态时,用于:响应于第二写指针指向的第三存储位置变化为存储器的最后一个存储位置,控制第二写指针指向存储器的第一个存储位置,并将第二标志位中第二写指针对应的标志位的值翻转。具体地,控制器响应于第二读指针指向的第四存储位置变化为存储器的最后一个存储位置,控制第二读指针指向存储器的第一个存储位置,并将第二标志位中第二读指针对应的标志位的值翻转。由于该过程与上述控制器监测寄存器的存储状态的过程相似,在此不再赘述。
本公开实施例还提供了一种确定第一存储状态和确定第二存储状态的流程图。
参见图4所示,为本公开实施例提供的一种具体判断寄存器的第一存储状态的流程图;其中:
S401:判断第一存储位置和第二存储位置是否为同一存储位置;若是,跳转至S403;若否,继续执行S402。
S402:确定第一存储状态为寄存器存在空余空间,结束当前的判断周期。
S403:判断第一写指针和第一读指针分别对应的第一标志位是否相同;若是,跳转至S405;若否,继续执行S404。
S404:确定第一存储状态为寄存器的存储空间被全部占用,结束当前的判断周期。
S405:确定第一存储状态为寄存器存在空余空间,结束当前的判断周期。
与判断寄存器20的第一存储状态类似,在判断存储器的第二存储状态时,参见图5所示,为本公开实施例提供的一种具体判断存储器的第二存储状态的流程图;其中:
S501:判断第三存储位置和第四存储位置是否为同一存储位置;若是,跳转至S503;若否,继续执行S502。
S502:确定第二存储状态为存储器存储有待传输数据,结束当前的判断周期。
S503:判断第二写指针和第二读指针分别对应的第二标志位是否相同;若是,跳转至S505;若否,继续执行S504。
S504:确定第二存储状态为存储器存储有待传输数据,结束当前的判断周期。
S505:确定第二存储状态为存储器未存储待传输数据或存储器存在空余存储空间,结束当前的判断周期。
在具体实施中,控制器10在监测存储器30的存储状态时,可以判断第三存储位置、和第四存储位置是否为同一存储位置;在第三存储位置、和第四存储位置为不同存储位置的情况下,确定存储器30的第二存储状态为:存储器30存储有待传输数据。
在第三存储位置、和第四存储位置为同一存储位置的情况下,控制器10还可以判断第二写指针和第二读指针分别对应的第二标志位是否相同;在不相同的情况下,确定存储器30的第二存储状态为:存储器30存储有待传输数据;在相同的情况下,确定存储器30的第二存储状态为:存储器30未存储待传输数据,或,存储器30存在空余存储空间。
此处,存储器存在空余存储空间,包括下述两种情况中任一种:存储器30为空;存储器30不为空,但存储有其他数据,该其他数据为不需要向寄存器传递的数据。
此处,值得注意的是,在判断寄存器20和存储器30分别对应的第一存储状态以及第二存储状态时,由于寄存器20以及存储器30在实际使用时关注的存储状态不同,因为分别为其确定第一存储状态以及第二存储状态时所需要确定的状态也有所不同。
具体地,对于寄存器20而言,在寄存器20中存在空余空间时,即可以接收待传输数据,待传输数据可以是数据传输装置的数据输入端输入的,也可以是存储器30中存储的。因此,仅需要关心寄存器20的状态是存在空余空间,或者是存储空间被全部占用即可,而不需要对状态是存在空余空间的情况继续划分寄存器20中是否未存储待传输数据,或者仅有部分存储空间存储了待传输数据。
而对于存储器30而言,在存储器30中存储有待传输数据时,由于所有的待传输数据均从寄存器20中读取出,因此需要判断存储器30中是否有待传输数据,以将存储器30中的待传输数据读取并存储至寄存器20中;另外,如果存储器30中有空余存储空间时,若寄存器20中的待传输数据未被全部读取出,则数据传输装置的数据输入端输入的待传输数据均会被传输至存储器30,因此还需要判断存储器30是否存在空余存储空间。
控制器10在监测寄存器20和存储器30的存储状态时,可以分别根据其分别对应的第一存储状态以及第二存储状态,以得到下述(a1)~(a3)中任一种可能存在的存储状态:
(a1):寄存器20存在空余存储空间、且存储器30未存储待传输数据;
(a2):寄存器20存在空余存储空间、且存储器30存储有待传输数据;
(a3):寄存器20的存储空间被全部占用、且存储器30存在空余存储空间。
在确定上述(a1)~(a3)中任一种可能存在的存储状态后,控制器10即可以根据存储状态确定多个数据通路的通断状态。
其中,多个数据通路包括:数据传输装置的数据输入端到寄存器20的第一数据通路、数据输入端到存储器30的第二数据通路、以及存储器30至寄存器20的第三数据通路。
参见图1所示,其中标号①的数据通路表示第一数据通路,标号②的数据通路表示第二数据通路,标号③的数据通路表示第三数据通路。
下面,分别对控制器10在不同存储状态下,对第一数据通路、第二数据通路、以及第三数据通路的通断状态控制进行说明,包括下述(b1)以及(b2):
(b1):当存储状态包括寄存器20存在空余存储空间、且存储器30未存储待传输数据时,控制器10控制第一数据通路联通,并控制第二数据通路和第三数据通路断开。参见图6所示,为本公开实施例提供的一种多个数据通路的通断状态的示意图。其中,以在数据通路上标柱“×”符号表示数据通路断开,未标注“×”符号的表示数据通路联通。
具体地,在寄存器20中存在空余存储空间、且存储器30未存储待传输数据时,可以优先将数据传输装置的数据输入端输入的待传输数据传输至寄存器20,已对此待传输数据进行快速的存取,从而提高数据传输的效率。
(b2):当寄存器20存在空余存储空间、且存储器30存储有待传输数据,或者,寄存器20的存储空间被全部占用、且存储器30存在空余存储空间时,控制器10控制第一数据通路断开,并控制第二数据通路和第三数据通路连通。参见图7所示,为本公开实施例提供的另一种多个数据通路的通断状态的示意图。
具体地,当寄存器20存在空余存储空间、且存储器30存储有待传输数据时,为了将存储器30中的待传输数据存储至寄存器20中,以使此待传输数据在向数据输出端输出时减少时延,因此可以打开第三数据通路,以使得存储器30中的待传输数据可以存储至寄存器20中。另外,由于存储器30中有待传输数据,因此在接收由数据输入端传输的新的待传输数据时,还需要存储器30接收此新的待传输数据,因此还可以打开第二数据通路,以保证可以继续接收新的待传输数据,防止待传输数据的丢失。
当寄存器20的存储空间被全部占用、且存储器30存在空余存储空间时,控制器10可以选择将新的待传输数据通过第二传输通路传输至存储器30,以保证可以接收新的待传输数据,防止待传输数据的丢失。
参见图8所示,为本公开实施例提供的一种数据处理装置,其中,包括数据发送设备81、如上述图1所示的数据传输装置82、以及数据接收设备83;
其中,数据发送设备81,用于根据数据传输装置82中寄存器20和存储器30的存储状态,将待传输数据向寄存器20或者存储器30传输;
数据接收设备83,用于从寄存器20读取待传输数据。
在一种可能的实施方式中,可以将数据传输装置82中的数据输入端与数据发送设备81相连接,并将数据传输装置82中的数据输出端与数据接收设备83连接,以使数据发送设备81可以将待传输数据通过数据传输装置82中的数据输入端传输至寄存器20或者存储器30中,并且使数据接收设备83能够接收到数据传输装置82中的数据输出端传输的存储在寄存器中的待传输数据,以减少时延,提高数据发送设备81以及数据接收设备83之间传输待传输数据的效率。
本领域技术人员可以理解,在具体实施方式对装置中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与各装置对应的方法,由于本公开实施例中的装置解决问题的原理与本公开实施例上述各装置相似,因此方法的实施可以参见装置的实施,重复之处不再赘述。
参照图9所示,为本公开实施例提供的一种数据传输方法的具体流程图,所述数据传输方法应用于数据处理装置,所述数据处理装置包括控制器、寄存器、以及存储器;所述数据传输方法包括:
S901:控制器监测寄存器和存储器的存储状态,并基于存储状态,控制从数据传输装置的数据输入端到寄存器的第一数据通路、数据输入端到存储器的第二数据通路、以及存储器至寄存器的第三数据通路的通断状态;
S902:寄存器将数据发送设备或者存储器发送的待传输数据传输给数据传输装置的数据输出端。
一种可选的实施方式中,所述存储状态包括下述任一种:所述寄存器存在空余存储空间、且所述存储器未存储待传输数据;所述寄存器存在空余存储空间、且所述存储器存储有待传输数据;所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间。
一种可选的实施方式中,所述控制器基于所述存储状态,所述第一数据通路、所述第二数据通路、以及所述第三数据通路的通断状态,包括:在所述存储状态包括:所述寄存器存在空余存储空间、且所述存储器未存储待传输数据的情况下,所述控制器控制第一数据通路连通,并控制所述第二数据通路和所述第三数据通路断开;在所述存储状态包括:所述寄存器存在空余存储空间、且所述存储器存储有待传输数据,或者,所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间的情况下,所述控制器控制第一数据通路断开,并控制所述第二数据通路和所述第三数据通路连通。
一种可选的实施方式中,所述控制器监测所述寄存器和所述存储器的存储状态,包括:所述控制器基于所述寄存器对应的第一写指针指向的第一存储位置、以及所述寄存器对应的第一读指针指向的第二存储位置,以及所述第一写指针和所述第一读指针分别对应的第一标志位,确定所述寄存器的第一存储状态;基于所述存储器对应的第二写指针指向的第三存储位置、以及所述存储器对应的第二读指针指向的第四存储位置,以及所述第二写指针和所述第二读指针分别对应的第二标志位,确定所述存储器的第二存储状态。
一种可选的实施方式中,监测所述寄存器的第一存储状态,包括:响应于所述第一写指针指向的第一存储位置变化为所述寄存器的最后一个存储位置,控制所述第一写指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一写指针对应的标志位的值翻转;监测所述存储器的第二存储状态,包括:响应于所述第二写指针指向的第三存储位置变化为所述存储器的最后一个存储位置,控制所述第二写指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二写指针对应的标志位的值翻转。
一种可选的实施方式中,监测所述寄存器的第一存储状态,包括:响应于所述第一读指针指向的第二存储位置变化为所述寄存器的最后一个存储位置,控制所述第一读指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一读指针对应的标志位的值翻转;监测所述存储器的第二存储状态,包括:响应于所述第二读指针指向的第四存储位置变化为所述存储器的最后一个存储位置,控制所述第二读指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二读指针对应的标志位的值翻转。
一种可选的实施方式中,所述控制器监测所述寄存器的存储状态,包括:所述控制器确定所述第一存储位置、和所述第二存储位置是否为同一存储位置;在所述第一存储位置、和所述第二存储位置为不同存储位置的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
一种可选的实施方式中,还包括:在所述第一存储位置、和所述第二存储位置为同一存储位置的情况下,所述控制器确定所述第一写指针和所述第一读指针分别对应的第一标志位是否相同;在不相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器的存储空间被全部占用;在相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
一种可选的实施方式中,所述控制器监测所述存储器的存储状态,包括:所述控制器确定所述第三存储位置、和所述第四存储位置是否为同一存储位置;在所述第三存储位置、和所述第四存储位置为不同存储位置的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据。
一种可选的实施方式中,还包括:在所述第三存储位置、和所述第四存储位置为同一存储位置的情况下,所述控制器确定所述第二写指针和所述第二读指针分别对应的第二标志位是否相同;在不相同的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据;在相同的情况下,确定所述存储器的第二存储状态为:所述存储器未存储待传输数据,或,所述存储器存在空余存储空间。
参照图10所示,为本公开实施例提供的一种数据处理方法的具体流程图,所述数据处理方法应用于数据处理装置,所述数据处理装置包括数据发送设备、上述图1所示的数据传输装置、以及数据接收设备;所述数据处理方法包括:
S101:数据发送设备根据数据传输装置中寄存器和存储器的存储状态,将待传输数据向寄存器或者存储器传输;
S102:数据接收设备从寄存器读取待传输数据。
关于方法执行流程的描述可以参照上述装置实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,包括指令存储器和本公开实施例提供的数据传输装置或者数据处理装置。
本公开实施例提供的数据处理装置可以包括芯片、AI芯片等。本公开实施例提供的计算机设备可以包括手机等智能终端,或者也可以是其他可以用于进行数据处理的设备、服务器等,这里并不限制。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据传输方法或数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据传输方法或数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (24)

1.一种数据传输装置,其特征在于,包括:控制器、寄存器、以及存储器;
所述控制器,用于监测所述寄存器和所述存储器的存储状态,并基于所述存储状态,控制从所述数据传输装置的数据输入端到所述寄存器的第一数据通路、所述数据输入端到所述存储器的第二数据通路、以及所述存储器至所述寄存器的第三数据通路的通断状态;
所述寄存器,用于将数据发送设备或者存储器发送的待传输数据传输给所述数据传输装置的数据输出端。
2.根据权利要求1所述的数据传输装置,其特征在于,所述存储状态包括下述任一种:
所述寄存器存在空余存储空间、且所述存储器未存储待传输数据;
所述寄存器存在空余存储空间、且所述存储器存储有待传输数据;
所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间。
3.根据权利要求2所述的数据传输装置,其特征在于,所述控制器,在基于所述存储状态,所述第一数据通路、所述第二数据通路、以及所述第三数据通路的通断状态时,用于:
在所述存储状态包括所述寄存器存在空余存储空间、且所述存储器未存储待传输数据的情况下,控制第一数据通路连通,并控制所述第二数据通路和所述第三数据通路断开;
在所述存储状态包括所述寄存器存在空余存储空间、且所述存储器存储有待传输数据,或者,所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间的情况下,控制第一数据通路断开,并控制所述第二数据通路和所述第三数据通路连通。
4.根据权利要求1-3任一项所述的数据传输装置,其特征在于,所述控制器,在监测所述寄存器和所述存储器的存储状态时,用于:
基于所述寄存器对应的第一写指针指向的第一存储位置、以及所述寄存器对应的第一读指针指向的第二存储位置,以及所述第一写指针和所述第一读指针分别对应的第一标志位,确定所述寄存器的第一存储状态;
基于所述存储器对应的第二写指针指向的第三存储位置、以及所述存储器对应的第二读指针指向的第四存储位置,以及所述第二写指针和所述第二读指针分别对应的第二标志位,确定所述存储器的第二存储状态。
5.根据权利要求4所述的数据传输装置,其特征在于,所述控制器,在监测所述寄存器的第一存储状态时,用于:
响应于所述第一写指针指向的第一存储位置变化为所述寄存器的最后一个存储位置,控制所述第一写指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一写指针对应的标志位的值翻转;
所述控制器,在监测所述存储器的第二存储状态时,用于:
响应于所述第二写指针指向的第三存储位置变化为所述存储器的最后一个存储位置,控制所述第二写指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二写指针对应的标志位的值翻转。
6.根据权利要求4或5所述的数据传输装置,其特征在于,所述控制器,在监测所述寄存器的第一存储状态时,用于:
响应于所述第一读指针指向的第二存储位置变化为所述寄存器的最后一个存储位置,控制所述第一读指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一读指针对应的标志位的值翻转;
所述控制器,在监测所述存储器的第二存储状态时,用于:
响应于所述第二读指针指向的第四存储位置变化为所述存储器的最后一个存储位置,控制所述第二读指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二读指针对应的标志位的值翻转。
7.根据权利要求4-6任一项所述的数据传输装置,其特征在于,所述控制器,在监测所述寄存器的存储状态时,用于:
确定所述第一存储位置、和所述第二存储位置是否为同一存储位置;
在所述第一存储位置、和所述第二存储位置为不同存储位置的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
8.根据权利要求7所述的数据传输装置,其特征在于,所述控制器,在监测所述寄存器的存储状态时,还用于:
在所述第一存储位置、和所述第二存储位置为同一存储位置的情况下,确定所述第一写指针和所述第一读指针分别对应的第一标志位是否相同;
在不相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器的存储空间被全部占用;
在相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
9.根据权利要求4-8任一项所述的数据传输装置,其特征在于,所述控制器,在监测所述存储器的存储状态时,用于:
确定所述第三存储位置、和所述第四存储位置是否为同一存储位置;
在所述第三存储位置、和所述第四存储位置为不同存储位置的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据。
10.根据权利要求9所述的数据传输装置,其特征在于,所述控制器,在监测所述存储器的存储状态时,还用于:
在所述第三存储位置、和所述第四存储位置为同一存储位置的情况下,确定所述第二写指针和所述第二读指针分别对应的第二标志位是否相同;
在不相同的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据;
在相同的情况下,确定所述存储器的第二存储状态为:所述存储器未存储待传输数据,或,所述存储器存在空余存储空间。
11.一种数据处理装置,其特征在于,包括:数据发送设备、如权利要求1-10任一项所述的数据传输装置、以及数据接收设备;
所述数据发送设备,用于根据所述数据传输装置中寄存器和存储器的存储状态,将所述待传输数据向所述寄存器或者所述存储器传输;
所述数据接收设备,用于从所述寄存器读取所述待传输数据。
12.一种数据传输方法,其特征在于,应用于数据传输装置,所述数据传输装置包括:控制器、寄存器、以及存储器;所述数据传输方法包括:
所述控制器监测所述寄存器和所述存储器的存储状态,并基于所述存储状态,控制从所述数据传输装置的数据输入端到所述寄存器的第一数据通路、所述数据输入端到所述存储器的第二数据通路、以及所述存储器至所述寄存器的第三数据通路的通断状态;
所述寄存器将数据发送设备或者存储器发送的待传输数据传输给所述数据传输装置的数据输出端。
13.根据权利要求12所述的数据传输方法,其特征在于,所述存储状态包括下述任一种:
所述寄存器存在空余存储空间、且所述存储器未存储待传输数据;
所述寄存器存在空余存储空间、且所述存储器存储有待传输数据;
所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间。
14.根据权利要求12所述的数据传输方法,其特征在于,所述控制器基于所述存储状态,所述第一数据通路、所述第二数据通路、以及所述第三数据通路的通断状态,包括:
在所述存储状态包括所述寄存器存在空余存储空间、且所述存储器未存储待传输数据的情况下,所述控制器控制第一数据通路连通,并控制所述第二数据通路和所述第三数据通路断开;
在所述存储状态包括所述寄存器存在空余存储空间、且所述存储器存储有待传输数据,或者,所述寄存器的存储空间被全部占用、且所述存储器存在空余存储空间的情况下,所述控制器控制第一数据通路断开,并控制所述第二数据通路和所述第三数据通路连通。
15.根据权利要求12-14任一项所述的数据传输方法,其特征在于,所述控制器监测所述寄存器和所述存储器的存储状态,包括:
所述控制器基于所述寄存器对应的第一写指针指向的第一存储位置、以及所述寄存器对应的第一读指针指向的第二存储位置,以及所述第一写指针和所述第一读指针分别对应的第一标志位,确定所述寄存器的第一存储状态;
基于所述存储器对应的第二写指针指向的第三存储位置、以及所述存储器对应的第二读指针指向的第四存储位置,以及所述第二写指针和所述第二读指针分别对应的第二标志位,确定所述存储器的第二存储状态。
16.根据权利要求15所述的数据传输方法,其特征在于,监测所述寄存器的第一存储状态,包括:
响应于所述第一写指针指向的第一存储位置变化为所述寄存器的最后一个存储位置,控制所述第一写指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一写指针对应的标志位的值翻转;
监测所述存储器的第二存储状态,包括:
响应于所述第二写指针指向的第三存储位置变化为所述存储器的最后一个存储位置,控制所述第二写指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二写指针对应的标志位的值翻转。
17.根据权利要求15或16所述的数据传输方法,其特征在于,监测所述寄存器的第一存储状态,包括:
响应于所述第一读指针指向的第二存储位置变化为所述寄存器的最后一个存储位置,控制所述第一读指针指向所述寄存器的第一个存储位置,并将所述第一标志位中所述第一读指针对应的标志位的值翻转;
监测所述存储器的第二存储状态,包括:
响应于所述第二读指针指向的第四存储位置变化为所述存储器的最后一个存储位置,控制所述第二读指针指向所述存储器的第一个存储位置,并将所述第二标志位中所述第二读指针对应的标志位的值翻转。
18.根据权利要求15-17任一项所述的数据传输方法,其特征在于,所述控制器监测所述寄存器的存储状态,包括:
所述控制器确定所述第一存储位置、和所述第二存储位置是否为同一存储位置;
在所述第一存储位置、和所述第二存储位置为不同存储位置的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
19.根据权利要求18所述的数据传输方法,其特征在于,还包括:在所述第一存储位置、和所述第二存储位置为同一存储位置的情况下,所述控制器确定所述第一写指针和所述第一读指针分别对应的第一标志位是否相同;
在不相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器的存储空间被全部占用;
在相同的情况下,确定所述寄存器的第一存储状态为:所述寄存器存在空余空间。
20.根据权利要求15-19任一项所述的数据传输方法,其特征在于,所述控制器监测所述存储器的存储状态,包括:
所述控制器确定所述第三存储位置、和所述第四存储位置是否为同一存储位置;
在所述第三存储位置、和所述第四存储位置为不同存储位置的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据。
21.根据权利要求20所述的数据传输方法,其特征在于,还包括:在所述第三存储位置、和所述第四存储位置为同一存储位置的情况下,所述控制器确定所述第二写指针和所述第二读指针分别对应的第二标志位是否相同;
在不相同的情况下,确定所述存储器的第二存储状态为:所述存储器存储有待传输数据;
在相同的情况下,确定所述存储器的第二存储状态为:所述存储器未存储待传输数据,或,所述存储器存在空余存储空间。
22.一种数据处理方法,其特征在于,应用于数据处理装置,所述数据处理装置包括:数据发送设备、如权利要求1-10任一项所述的数据传输装置、以及数据接收设备;
所述数据发送设备根据所述数据传输装置中寄存器和存储器的存储状态,将所述待传输数据向所述寄存器或者所述存储器传输;
所述数据接收设备从所述寄存器读取所述待传输数据。
23.一种计算机设备,其特征在于,包括:指令存储器和如权利要求1-10任一项所述的数据传输装置或者如权利要求11所述的数据处理装置。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被数据传输装置执行如权利要求12至21任一项所述的数据传输方法的步骤;或者被数据处理装置执行如权利要求22任一项所述的数据处理方法的步骤。
CN202110351856.3A 2021-03-31 2021-03-31 数据传输、数据处理装置及方法、计算机设备及存储介质 Pending CN113051197A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110351856.3A CN113051197A (zh) 2021-03-31 2021-03-31 数据传输、数据处理装置及方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110351856.3A CN113051197A (zh) 2021-03-31 2021-03-31 数据传输、数据处理装置及方法、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN113051197A true CN113051197A (zh) 2021-06-29

Family

ID=76516830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110351856.3A Pending CN113051197A (zh) 2021-03-31 2021-03-31 数据传输、数据处理装置及方法、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113051197A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126713A1 (en) * 2006-09-14 2008-05-29 Novatek Microelectronics Corp. Power-saving control circuit and method
CN101227689A (zh) * 2007-12-27 2008-07-23 华为技术有限公司 信息上报方法及装置
CN104407809A (zh) * 2014-11-04 2015-03-11 盛科网络(苏州)有限公司 多通道fifo缓冲器及其控制方法
CN108401467A (zh) * 2017-02-17 2018-08-14 深圳市大疆创新科技有限公司 存储设备、芯片及存储设备的控制方法
CN111414148A (zh) * 2020-04-03 2020-07-14 中国人民解放军国防科技大学 面向高性能处理器的混合型fifo数据存储方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126713A1 (en) * 2006-09-14 2008-05-29 Novatek Microelectronics Corp. Power-saving control circuit and method
CN101227689A (zh) * 2007-12-27 2008-07-23 华为技术有限公司 信息上报方法及装置
CN104407809A (zh) * 2014-11-04 2015-03-11 盛科网络(苏州)有限公司 多通道fifo缓冲器及其控制方法
CN108401467A (zh) * 2017-02-17 2018-08-14 深圳市大疆创新科技有限公司 存储设备、芯片及存储设备的控制方法
CN111414148A (zh) * 2020-04-03 2020-07-14 中国人民解放军国防科技大学 面向高性能处理器的混合型fifo数据存储方法及装置

Similar Documents

Publication Publication Date Title
US20230097722A1 (en) Single field for encoding multiple elements
CN103092798B (zh) 片上系统及总线下的访问设备的方法
CN113138802B (zh) 命令分发装置、方法、芯片、计算机设备及存储介质
CN104407809A (zh) 多通道fifo缓冲器及其控制方法
US11362939B2 (en) Flow control for a multiple flow control unit interface
US20110296437A1 (en) Method and apparatus for lockless communication between cores in a multi-core processor
WO2022086791A1 (en) Detecting infinite loops in a programmable atomic transaction
CN107861691A (zh) 一种多控存储系统的负载均衡方法和装置
CN116250218A (zh) 用于基于信用值的流控的早期信用值返回
CN114780465B (zh) 可共享远程直接数据存取链接的创建方法及装置
CN102750245A (zh) 报文接收方法、报文接收模块、装置及系统
CN106254270A (zh) 一种队列管理方法及装置
CN113051197A (zh) 数据传输、数据处理装置及方法、计算机设备及存储介质
CN116685943A (zh) 可编程原子单元中的自调度线程
CN111201516A (zh) 数据处理系统中的消息传递
CN108984148B (zh) 一种基于同步fifo存储器的数据存储的方法及存储器
CN106062814A (zh) 由图形处理器改进的成组存储器存取效率
US20140280716A1 (en) Direct push operations and gather operations
CN114969851A (zh) 一种基于fpga的数据处理方法、装置、设备及介质
KR102338872B1 (ko) 다수의 클라이언트 데이터를 처리하는 저장 장치 및 방법
CN109426562A (zh) 优先级加权轮转调度器
Kumar et al. An extended client server architecture in mobile environment
CN113222807A (zh) 数据存储器、数据存储、读取方法、芯片及计算机设备
JP2017204846A (ja) スイッチおよびそのデータアクセス方法
CN114741214B (zh) 一种数据传输方法、装置及设备

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