CN110442543A - 通信装置及通信方法 - Google Patents

通信装置及通信方法 Download PDF

Info

Publication number
CN110442543A
CN110442543A CN201910733383.6A CN201910733383A CN110442543A CN 110442543 A CN110442543 A CN 110442543A CN 201910733383 A CN201910733383 A CN 201910733383A CN 110442543 A CN110442543 A CN 110442543A
Authority
CN
China
Prior art keywords
data
interface unit
transmitted
control register
receiving end
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.)
Granted
Application number
CN201910733383.6A
Other languages
English (en)
Other versions
CN110442543B (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.)
Lusheng Technology Co Ltd
Original Assignee
Lusheng 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 Lusheng Technology Co Ltd filed Critical Lusheng Technology Co Ltd
Priority to CN201910733383.6A priority Critical patent/CN110442543B/zh
Publication of CN110442543A publication Critical patent/CN110442543A/zh
Application granted granted Critical
Publication of CN110442543B publication Critical patent/CN110442543B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种通信装置,包括至少一个通道单元,每个通道单元包括第一接口单元、第二接口单元、第一FIFO单元、第二FIFO单元和存储单元。第一接口单元包括第一控制寄存器,第一控制寄存器适于接收待传输数据的数量信息和位置信息。第二接口单元包括第二控制寄存器,第二控制寄存器适于接收来自第一控制寄存器的待传输数据的数量信息,且适于接收接收端为待传输数据分配的存储区域的位置信息。第一FIFO单元连接第一接口单元,且适于从第一控制寄存器获取待传输数据的数量信息和位置信息。第二FIFO单元连接第二接口单元,且适于从第二控制寄存器获取待传输数据的数量信息。存储单元连接第一FIFO单元和第二FIFO单元。

Description

通信装置及通信方法
技术领域
本发明涉及一种通信装置,该通信装置可以实现发送端和接收端之间的高速通信。
背景技术
在集成电路领域,为了满足通信、多媒体和数字处理等方面的需求,片上系统(SoC,System-on-a-chip)己不仅仅集成一个核(Core)或者处理器(CPU),而更多的是将多个处理器集成到系统中,甚至还需要结合片外的处理器共同工作。例如,在个人电脑和智能手机等电子设备内部往往采用多处理器运行的模式。在包含有两个或两个以上的处理器的系统中,各处理器之间彼此可以交换数据,共享内存、I/O设备、控制器以及外部设备等资源。通过操作系统的控制,在处理器和程序之间实现作业、任务、程序、数组及其元素各级的全面并行。
在包含多个处理器的通信系统中,各处理器之间能否实现高速、有效的通信,对系统的整体性能有着至关重要的作用。有鉴于此,如何提供一种通信装置,使其可以实现多处理器之间(核间)的高速通信,为目前业界亟待解决的问题。
图1是一种现有的通信装置的结构示意图。参考图1所示,该通信装置10采用传统内存拷贝的通信方式。下面以SoC内部处理器110向处理器120发送数据为例对这种通信方式进行说明。首先,处理器110将待发送的数据写入(WR,Write)到约定的共享内存130中,然后,处理器110发送中断请求(IRQ,Interrupt request)通知处理器120。处理器120收到中断请求后从共享内存130中读出该数据。采用这种通信方式的通信装置10可以实现核间地址空间的有效隔离,安全性相对较高。但是由于每次都需要处理器110完成数据的写入后,处理器120才能读出该数据,因而通信效率较低,无法满足高速数据传输的需求。
图2是另一种现有的通信装置的结构示意图。参考图2所示,该通信装置20采用零内存拷贝的通信方式。下面同样以SoC内部处理器210向处理器220发送数据为例对这种通信方式进行说明。首先,内存221为处理器220的子系统,而不是如图1中的共享内存130那样为处理器110和处理器120所共享。处理器220通过某个约定或者通知机制,告知处理器210待接收数据的内存221的起始地址。然后,处理器210直接把待发送的数据写入该内存221中,并发送中断请求(IRQ)通知处理器220。处理器220收到中断请求后从内存221中读出该数据。采用这种通信方式的通信装置20虽然效率相对较高,但是需要各处理器暴露自己的一部分内存地址空间,以允许其它处理器修改该内存地址空间,因而存在数据篡改等风险,系统设计并不合理。
发明内容
本发明所要解决的技术问题是提供一种通信装置,该通信装置可以实现发送端和接收端之间的高速通信。
本发明为解决上述技术问题而采用的技术方案是提供一种通信装置,包括至少一个通道单元,每个通道单元包括:第一接口单元,包括第一控制寄存器,所述第一控制寄存器适于接收待传输数据的数量信息和位置信息;第二接口单元,包括第二控制寄存器,所述第二控制寄存器适于接收来自所述第一控制寄存器的待传输数据的数量信息,且适于接收接收端为所述待传输数据分配的存储区域的位置信息;第一FIFO单元,连接所述第一接口单元,且适于从所述第一控制寄存器获取待传输数据的数量信息和位置信息;第二FIFO单元,连接所述第二接口单元,且适于从所述第二控制寄存器获取待传输数据的数量信息;存储单元,连接所述第一FIFO单元和第二FIFO单元;其中所述第一FIFO单元适于根据所述待传输数据的数量信息和位置信息从与发送端关联的存储区域中获取所述待传输数据,并通过所述存储单元传输给第二FIFO单元,所述第二FIFO单元适于根据所述待传输数据的数量信息和所述存储区域的位置信息,将接收的待传输数据存储到所述存储区域中。
在本发明的一实施例中,所述待传输数据的数量信息包括数据块的数目和每个数据块的尺寸。
在本发明的一实施例中,第一控制寄存器还适于接收来自所述发送端的启动传输命令,其中所述第一接口单元响应所述启动传输命令而发送请求信号。
在本发明的一实施例中,所述第二接口单元适于接收所述请求信号,且适于与所述接收端连接而产生中断信号至所述接收端,通知所述接收端准备接收数据。
在本发明的一实施例中,所述第二控制寄存器适于接收来自所述接收端的确认传输命令,其中所述第二接口单元适于响应所述确认传输命令而发送确认信号至所述第一接口单元,在所述第一接口单元收到所述确认信号后,所述第一FIFO单元获取及传输所述待传输数据。
在本发明的一实施例中,所述第一接口单元还包括第一状态寄存器,用于记录已传输的数据量。
在本发明的一实施例中,所述发送端和/或接收端是处理器。
本发明的另一方面提供一种通信方法,适用于一通信装置,所述通信装置包括第一接口单元、第一FIFO单元、第二接口单元、第二FIFO单元以及存储单元,所述第一接口单元包括第一控制寄存器,所述第二接口单元包括第二控制寄存器,所述第一接口单元连接所述第二接口单元,所述第一FIFO单元连接所述第一接口单元,所述第二FIFO单元连接所述第二接口单元,所述存储单元连接所述第一FIFO单元和第二FIFO单元,所述方法包括以下步骤:所述第一控制寄存器从发送端接收待传输数据的数量信息和位置信息;所述第一控制寄存器从所述发送端接收启动传输命令,且所述第一接口单元传输请求信号至所述第二接口单元;所述第二控制寄存器接收来自所述第一控制寄存器的待传输数据的数量信息;所述第二接口单元接收所述请求信号,且产生中断信号至接收端,通知所述接收端准备接收数据;所述第二控制寄存器接收所述接收端为所述待传输数据分配的存储区域的位置信息;所述第二控制寄存器接收来自所述接收端的确认传输命令,且所述第二接口单元适于响应所述确认传输命令而发送确认信号至所述第一接口单元;所述第一FIFO单元根据所述待传输数据的数量信息和位置信息从与所述发送端关联的存储区域中获取所述待传输数据,并通过所述存储单元传输给第二FIFO单元;所述第二FIFO单元根据所述待传输数据的数量信息和所述存储区域的位置信息,将接收的待传输数据存储到所述存储区域中。
在本发明的一实施例中,所述第一接口单元还包括第一状态寄存器,所述方法还包括在所述第一状态寄存器中记录已传输的数据量。
在本发明的一实施例中,所述发送端和/或接收端是处理器。
本发明的另一方面提供一种通信系统,包括:存储器;发送端,配置为:向所述存储器存储待传输数据;配置待传输数据的数量信息和位置信息;以及发送启动传输命令;接收端,配置为:分配所述存储器的存储块;配置为所述待传输数据分配的存储区域的位置信息;以及发送确认传输命令;以及如上所述的通信装置。
在本发明的一实施例中,所述存储器包括独立的第一区域和第二区域,所述第一区域用于所述发送端,所述第二区域用于所述接收端。
本发明由于采用以上技术方案,使之与现有技术相比,具有如下显著优点:
本发明提供的一种通信装置既可以实现各处理器之间地址空间有效隔离,安全性较高,又可以实现各处理器之间的高效通信。与现有的核间通信装置相比,本发明的技术方案不仅解决了传统内存拷贝方案中通信效率较低的问题,而且避免了零内存拷贝方案中数据被篡改的风险,在保证安全性的同时满足了高速数据传输的需求。
本发明的通信装置可以应用于AMP(Asymmetric multiprocessing,非对称多处理)架构的处理器,以实现异构多核之间的高速通信。例如,移动通信处理器中的Modem(调制解调器)和AP(Application Processor,应用处理器)之间的高速数据通信。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1是一种现有的通信装置的结构示意图;
图2是另一种现有的通信装置的结构示意图;
图3是本发明一实施例的一种通信装置的结构示意图;
图4是本发明一实施例的一种通信方法的流程图;
图5是本发明一实施例的一种通信装置的一个应用实例的结构示意图。
具体实施方式
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
为了方便描述,此处可能使用诸如“之下”、“下方”、“低于”、“下面”、“上方”、“上”等等的空间关系词语来描述附图中所示的一个元件或特征与其他元件或特征的关系。将理解到,这些空间关系词语意图包含使用中或操作中的器件的、除了附图中描绘的方向之外的其他方向。例如,如果翻转附图中的器件,则被描述为在其他元件或特征“下方”或“之下”或“下面”的元件的方向将改为在所述其他元件或特征的“上方”。因而,示例性的词语“下方”和“下面”能够包含上和下两个方向。器件也可能具有其他朝向(旋转90度或处于其他方向),因此应相应地解释此处使用的空间关系描述词。此外,还将理解,当一层被称为在两层“之间”时,它可以是所述两层之间仅有的层,或者也可以存在一个或多个介于其间的层。
在本申请的上下文中,所描述的第一特征在第二特征之“上”的结构可以包括第一和第二特征形成为直接接触的实施例,也可以包括另外的特征形成在第一和第二特征之间的实施例,这样第一和第二特征可能不是直接接触。
应当理解,当一个部件被称为“在另一个部件上”、“连接到另一个部件”、“耦合于另一个部件”或“接触另一个部件”时,它可以直接在该另一个部件之上、连接于或耦合于、或接触该另一个部件,或者可以存在插入部件。相比之下,当一个部件被称为“直接在另一个部件上”、“直接连接于”、“直接耦合于”或“直接接触”另一个部件时,不存在插入部件。同样的,当第一个部件被称为“电接触”或“电耦合于”第二个部件,在该第一部件和该第二部件之间存在允许电流流动的电路径。该电路径可以包括电容器、耦合的电感器和/或允许电流流动的其它部件,甚至在导电部件之间没有直接接触。
针对以上的问题,本发明的以下实施例描述一种通信装置,该通信装置可以实现发送端和接收端之间的高速通信。
图3是本发明一实施例的一种通信装置的结构示意图。参考图3所示,该通信装置30包括至少一个通道单元300,每个通道单元300包括第一接口单元310、第二接口单元320、第一FIFO单元330、第二FIFO单元340以及存储单元350。
第一接口单元310包括第一控制寄存器311和第一状态寄存器312。第一控制寄存器311适于接收待传输数据的数量信息和位置信息。第一状态寄存器312用于记录已传输的数据量。
第二接口单元320包括第二控制寄存器321和第二状态寄存器322。第二控制寄存器321适于接收来自第一控制寄存器311的待传输数据的数量信息,且适于接收接收端402为待传输数据分配的存储区域(例如存储器502中的存储区域)的位置信息。第二状态寄存器322用于记录已传输的数据量。
第一FIFO单元330连接第一接口单元310,且适于从第一控制寄存器311获取待传输数据的数量信息和位置信息。第二FIFO单元340连接第二接口单元320,且适于从第二控制寄存器321获取待传输数据的数量信息。存储单元350连接第一FIFO单元330和第二FIFO单元340。
其中,第一FIFO单元330适于根据待传输数据的数量信息和位置信息从与发送端401关联的存储区域(例如存储器501)中获取待传输数据,并通过存储单元350传输给第二FIFO单元340,第二FIFO单元340适于根据待传输数据的数量信息和存储区域(例如存储器502中的存储区域)的位置信息,将接收的待传输数据存储到存储区域(例如存储器502)中。
在一些实施例中,上述通信装置30的第一接口单元310与发送端401连接。第二接口单元320与接收端402连接。发送端401还可以包括与发送端401关联的存储区域(例如存储器501)。接收端402还可以包括与接收端402关联的存储区域(例如存储器502)。
在本发明的一实施例中,待传输数据的数量信息包括数据块的数目和每个数据块的尺寸,但本实施例并非以此为限。
可以理解,在本发明的一些实施例中,第一接口单元310中的第一状态寄存器312和/或第二接口单元320中的第二状态寄存器322是可以省略的。
参考图3所示,在本发明的一实施例中,第一控制寄存器311还适于接收来自发送端401的启动传输命令ST。第一接口单元310与发送端401连接。第一接口单元310响应该启动传输命令ST而发送请求信号Req。
在一些示例中,第二接口单元320适于接收第一接口单元310发送的请求信号Req。第二接口单元320与接收端402连接。第二接口单元320产生中断信号IRQ至接收端402,通知接收端402准备接收数据。
在本发明的一实施例中,第二控制寄存器321适于接收来自接收端402的确认传输命令AF。其中,第二接口单元320适于响应该确认传输命令AF而发送确认信号Ack至第一接口单元310,在第一接口单元310收到确认信号Ack后,第一FIFO单元330获取及传输待传输数据,并通过存储单元350将待传输数据传输给第二FIFO单元340。
应当注意,在本发明的以上实施例中,发送端401和接收端402是可以互换的。例如,发送端401也可以作为接收端401,接收端402也可以作为发送端402。
对应的,第二控制寄存器321还适于接收来自发送端402的启动传输命令ST。第二接口单元320与发送端402连接。第二接口单元320响应该启动传输命令ST而发送请求信号Req
第一接口单元310适于接收第二接口单元320发送的请求信号Req。第一接口单元310与接收端401连接。第一接口单元310产生中断信号IRQ至接收端401,通知接收端401准备接收数据。
第一控制寄存器311适于接收来自接收端401的确认传输命令AF。其中,第一接口单元310适于响应该确认传输命令AF而发送确认信号Ack至第二接口单元320,在第二接口单元320收到确认信号Ack后,第二FIFO单元340获取及传输待传输数据,并通过存储单元350将待传输数据传输给第一FIFO单元330。
应当理解,发送端401、接收端402以及与发送端401关联的存储区域(例如存储器501)和与接收端402关联的存储区域(例如存储器502)可以是通信装置30的一部分,也可以不是通信装置30的一部分,而是与通信装置30组成通信系统,但本实施例并非以此为限。
在本发明的一些示例中,发送端401和/或接收端402是处理器。处理器主要包括运算器(算术逻辑运算单元,ALU)、高速缓冲存储器(Cache)以及实现它们之间联系的数据传输和状态控制的总线(Bus)。处理器可以采用多种类型的架构。例如,多核处理器平台的实时操作系统体系的架构可以为对称多处理(SMP,Symmetric Multi-Processing)构架、非对称多处理(AMP,Asymmetric Multi-Processing)构架以及混合多处理(BMP,Boundmultiprocessing)架构等。
示例性的,存储器501和存储器502可以是不同的存储器,也可以是相同存储器中的不同存储区域。可以理解,存储器(Memory)可以是内部存储器(内存)、外部存储器或是二者的组合。其中,内存可以为半导体存储单元,包括随机存储器(RAM),只读存储器(ROM)以及高速缓存(CACHE)。外部存储器可以包括但不限于硬盘、软盘、光盘和U盘等。存储器还可以与输入/输出(I/O)设备(图未示)相连。
本发明的以上实施例提出了一种通信装置,该通信装置可以实现发送端和接收端之间的高速通信。
本发明的另一方面提出一种通信方法。该通信方法可以实现发送端和接收端之间的高速通信。
图4是本发明一实施例的一种通信方法的流程图。下面结合图3和图4对通信方法的步骤进行说明。应当理解的是,该通信方法可以在例如图3所示的通信装置30或其变化例中实施,但本发明并不以此为限。
参考图3所示,通信装置30包括至少一个通道单元300,每个通道单元300包括第一接口单元310、第二接口单元320、第一FIFO单元330、第二FIFO单元340以及存储单元350。第一接口单元310包括第一控制寄存器311和第一状态寄存器312。第二接口单元320包括第二控制寄存器321和第二状态寄存器322。第一接口单元310连接第二接口单元320。第一FIFO单元330连接第一接口单元310。第二FIFO单元340连接第二接口单元320。存储单元350连接第一FIFO单元330和第二FIFO单元340。
在一些实施例中,上述通信装置30的第一接口单元310与发送端401连接。第二接口单元320与接收端402连接。发送端401还可以包括与发送端401关联的存储区域(例如存储器501)。接收端402还可以包括与接收端402关联的存储区域(例如存储器502)。
可以理解,在本发明的一些实施例中,第一接口单元310中的第一状态寄存器312和/或第二接口单元320中的第二状态寄存器322是可以省略的。
参考图4所示,上述通信方法包括以下步骤:
步骤410,第一控制寄存器从发送端接收待传输数据的数量信息和位置信息。
在本发明的一实施例中,第一控制寄存器311从发送端401接收待传输数据的数量信息和位置信息。
步骤420,第一控制寄存器从发送端接收启动传输命令,且第一接口单元传输请求信号至第二接口单元。
在本发明的一实施例中,第一控制寄存器311接收来自发送端401的启动传输命令ST。第一接口单元310响应该启动传输命令ST而发送请求信号Req至第二接口单元320。
步骤430,第二控制寄存器接收来自第一控制寄存器的待传输数据的数量信息。
在本发明的一实施例中,第二控制寄存器321接收来自第一控制寄存器311的待传输数据的数量信息。
步骤440,第二接口单元接收请求信号,且产生中断信号至接收端,通知接收端准备接收数据。
在本发明的一实施例中,第二接口单元320接收第一接口单元310发送的请求信号Req。第二接口单元320产生中断信号IRQ至接收端402,通知接收端402准备接收数据。
步骤450,第二控制寄存器接收接收端为待传输数据分配的存储区域的位置信息。
在本发明的一实施例中,第二控制寄存器321接收接收端402为待传输数据分配的存储区域(例如存储器502中的存储区域)的位置信息。
步骤460,第二控制寄存器接收来自接收端的确认传输命令,且第二接口单元适于响应确认传输命令而发送确认信号至第一接口单元。
在本发明的一实施例中,第二控制寄存器321接收来自接收端402的确认传输命令AF。第二接口单元320响应该确认传输命令AF而发送确认信号Ack至第一接口单元310。
步骤470,第一FIFO单元根据待传输数据的数量信息和位置信息从与发送端关联的存储区域中获取待传输数据,并通过存储单元传输给第二FIFO单元。
在本发明的一实施例中,第一接口单元310收到步骤460中的确认信号Ack后,第一FIFO单元330根据待传输数据的数量信息和位置信息从与发送端401关联的存储区域(例如存储器501)中获取待传输数据,并通过存储单元350将待传输数据传输给第二FIFO单元340。
步骤480,第二FIFO单元根据待传输数据的数量信息和存储区域的位置信息,将接收的待传输数据存储到存储区域中。
在本发明的一实施例中,第二FIFO单元340根据待传输数据的数量信息和存储区域(例如存储器502中的存储区域)的位置信息,将接收的待传输数据存储到存储区域(例如存储器502)中。
在本发明的一些实施例中,上述通信方法还包括在第一状态寄存器312中记录已传输的数据量和/或在第二状态寄存器322中记录已传输的数据量。
在本发明的一些示例中,上述发送端401和/或接收端402可以是处理器。
应当注意,在此使用了如图4所示的流程图用来说明根据本申请的实施例的方法所执行的操作。可以理解的是,前面的操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本实施例的通信方法的其他实施细节可参考图3所描述的实施例,在此不再展开。
图5是本发明一实施例的一种通信装置的一个应用实例的结构示意图。下面结合图5对通信装置30实现从源片段数据输入到连续数据输出的过程进行说明。
首先,通信装置30的发送端401将每一个存储块(memory block)的起始地址和大小(例如src_addr0,src_size0;src_addr1,src_size1;…src_addrN,src_sizeN)以及存储块(memory block)的数量信息写入第一控制寄存器311。所有的存储块(memory block)对应的空间是一系列的碎片数据包。
然后,通信装置30的接收端402同样将每一个存储块(memory block)的起始地址和大小(例如dst_addr0,dst_size0;dst_addr1,dst_size1;…dst_addrN,dst_sizeN)以及存储块(memory block)的数量信息写入第二控制寄存器321。所有的存储块(memoryblock)对应的空间是一个连续的地址空间。
最后,利用通信装置30的数据拷贝功能可以实现从片段数据输入到连续数据输出的过程。
需要说明的是,在图5所示的一个应用实例的结构示意图中,数据输入(Input)时每一个存储块(memory block)的起始地址(例如src_addr0,src_addr1,src_addr2,…src_addrN)是不连续的。而数据输出(Output)时每一个存储块(memory block)的起始地址(例如dst_addr0,dst_addr1,dst_addr2,…dst_addrN)则是连续的。数据输入(Input)时每一个存储块(memory block)的大小等于数据输出(Output)时对应的每一个存储块(memoryblock)的大小。例如src_size0=dst_size0,src_size1=dst_size1,src_size2=dst_size2,…src_sizeN=dst_sizeN。
本发明的以上实施例提出了一种通信方法。该通信方法可以实现发送端和接收端之间的高速通信。
本发明的另一方面提出一种通信系统。该通信系统可以实现发送端和接收端之间的高速通信。
参考图3所示,该通信系统可以包括存储器(例如存储器501和存储器502)、发送端401、接收端402以及如上所述的通信装置30。发送端401配置为向存储器(例如存储器501)存储待传输数据,且配置待传输数据的数量信息和位置信息,以及发送启动传输命令ST。接收端402配置为分配存储器(例如存储器502)的存储块,且配置为待传输数据分配的存储区域的位置信息,以及发送确认传输命令AF。
在本发明的一些实施例中,上述通信系统的存储器包括独立的第一区域和第二区域,第一区域用于发送端401,第二区域用于接收端402。示例性的,第一区域可以是存储器501,第二区域可以是存储器502。存储器501和存储器502是同一存储器中的两个独立的区域。
在本发明的另一些实施例中,存储器501和存储器502也可以为两个独立的存储器。
本发明的以上实施例提出了一种通信系统。该通信系统可以实现发送端和接收端之间的高速通信。
应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理单元可以在一个或者多个特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个申请实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

Claims (12)

1.一种通信装置,包括至少一个通道单元,每个通道单元包括:
第一接口单元,包括第一控制寄存器,所述第一控制寄存器适于接收待传输数据的数量信息和位置信息;
第二接口单元,包括第二控制寄存器,所述第二控制寄存器适于接收来自所述第一控制寄存器的待传输数据的数量信息,且适于接收接收端为所述待传输数据分配的存储区域的位置信息;
第一FIFO单元,连接所述第一接口单元,且适于从所述第一控制寄存器获取待传输数据的数量信息和位置信息;
第二FIFO单元,连接所述第二接口单元,且适于从所述第二控制寄存器获取待传输数据的数量信息;
存储单元,连接所述第一FIFO单元和第二FIFO单元;
其中所述第一FIFO单元适于根据所述待传输数据的数量信息和位置信息从与发送端关联的存储区域中获取所述待传输数据,并通过所述存储单元传输给第二FIFO单元,所述第二FIFO单元适于根据所述待传输数据的数量信息和所述存储区域的位置信息,将接收的待传输数据存储到所述存储区域中。
2.根据权利要求1所述的通信装置,其特征在于,所述待传输数据的数量信息包括数据块的数目和每个数据块的尺寸。
3.根据权利要求1所述的通信装置,其特征在于,第一控制寄存器还适于接收来自所述发送端的启动传输命令,其中所述第一接口单元响应所述启动传输命令而发送请求信号。
4.根据权利要求3所述的通信装置,其特征在于,所述第二接口单元适于接收所述请求信号,且适于与所述接收端连接而产生中断信号至所述接收端,通知所述接收端准备接收数据。
5.根据权利要求4所述的通信装置,其特征在于,所述第二控制寄存器适于接收来自所述接收端的确认传输命令,其中所述第二接口单元适于响应所述确认传输命令而发送确认信号至所述第一接口单元,在所述第一接口单元收到所述确认信号后,所述第一FIFO单元获取及传输所述待传输数据。
6.根据权利要求1所述的通信装置,其特征在于,所述第一接口单元还包括第一状态寄存器,用于记录已传输的数据量。
7.根据权利要求1所述的通信装置,其特征在于,所述发送端和/或接收端是处理器。
8.一种通信方法,适用于一通信装置,所述通信装置包括第一接口单元、第一FIFO单元、第二接口单元、第二FIFO单元以及存储单元,所述第一接口单元包括第一控制寄存器,所述第二接口单元包括第二控制寄存器,所述第一接口单元连接所述第二接口单元,所述第一FIFO单元连接所述第一接口单元,所述第二FIFO单元连接所述第二接口单元,所述存储单元连接所述第一FIFO单元和第二FIFO单元,所述方法包括以下步骤:
所述第一控制寄存器从发送端接收待传输数据的数量信息和位置信息;
所述第一控制寄存器从所述发送端接收启动传输命令,且所述第一接口单元传输请求信号至所述第二接口单元;
所述第二控制寄存器接收来自所述第一控制寄存器的待传输数据的数量信息;
所述第二接口单元接收所述请求信号,且产生中断信号至接收端,通知所述接收端准备接收数据;
所述第二控制寄存器接收所述接收端为所述待传输数据分配的存储区域的位置信息;
所述第二控制寄存器接收来自所述接收端的确认传输命令,且所述第二接口单元适于响应所述确认传输命令而发送确认信号至所述第一接口单元;
所述第一FIFO单元根据所述待传输数据的数量信息和位置信息从与所述发送端关联的存储区域中获取所述待传输数据,并通过所述存储单元传输给第二FIFO单元;
所述第二FIFO单元根据所述待传输数据的数量信息和所述存储区域的位置信息,将接收的待传输数据存储到所述存储区域中。
9.如权利要求8所述的通信方法,其特征在于,所述第一接口单元还包括第一状态寄存器,所述方法还包括在所述第一状态寄存器中记录已传输的数据量。
10.根据权利要求8所述的通信方法,其特征在于,所述发送端和/或接收端是处理器。
11.一种通信系统,包括:
存储器;
发送端,配置为:向所述存储器存储待传输数据;配置待传输数据的数量信息和位置信息;以及发送启动传输命令;
接收端,配置为:分配所述存储器的存储块;配置为所述待传输数据分配的存储区域的位置信息;以及发送确认传输命令;以及
如权利要求1-7任一项所述的通信装置。
12.如权利要求11所述的通信系统,其特征在于,所述存储器包括独立的第一区域和第二区域,所述第一区域用于所述发送端,所述第二区域用于所述接收端。
CN201910733383.6A 2019-08-09 2019-08-09 通信装置及通信方法 Active CN110442543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910733383.6A CN110442543B (zh) 2019-08-09 2019-08-09 通信装置及通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910733383.6A CN110442543B (zh) 2019-08-09 2019-08-09 通信装置及通信方法

Publications (2)

Publication Number Publication Date
CN110442543A true CN110442543A (zh) 2019-11-12
CN110442543B CN110442543B (zh) 2023-09-08

Family

ID=68434142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910733383.6A Active CN110442543B (zh) 2019-08-09 2019-08-09 通信装置及通信方法

Country Status (1)

Country Link
CN (1) CN110442543B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930676A (zh) * 2020-09-17 2020-11-13 湖北芯擎科技有限公司 多处理器间的通信方法、装置、系统及存储介质
CN112785734A (zh) * 2020-12-29 2021-05-11 瓴盛科技有限公司 基于双向认证的电子不停车收费系统和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147780A (zh) * 2011-04-27 2011-08-10 中国电子科技集团公司第三十八研究所 一种基于串行数据传输方式的链路接口电路
CN105677598A (zh) * 2016-01-04 2016-06-15 中国科学院嘉兴微电子与系统工程中心 基于i2c接口快速读取多个mems传感器数据的模块和方法
CN107391406A (zh) * 2017-07-14 2017-11-24 佛山华芯微特科技有限公司 一种用于协议处理的微处理器及处理协议的方法
CN108228104A (zh) * 2017-12-29 2018-06-29 北京联想核芯科技有限公司 数据传输方法及固态硬盘控制器
CN109511275A (zh) * 2016-12-31 2019-03-22 深圳配天智能技术研究院有限公司 一种基于现场可编程门阵列的数字控制系统及其数据传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147780A (zh) * 2011-04-27 2011-08-10 中国电子科技集团公司第三十八研究所 一种基于串行数据传输方式的链路接口电路
CN105677598A (zh) * 2016-01-04 2016-06-15 中国科学院嘉兴微电子与系统工程中心 基于i2c接口快速读取多个mems传感器数据的模块和方法
CN109511275A (zh) * 2016-12-31 2019-03-22 深圳配天智能技术研究院有限公司 一种基于现场可编程门阵列的数字控制系统及其数据传输方法
CN107391406A (zh) * 2017-07-14 2017-11-24 佛山华芯微特科技有限公司 一种用于协议处理的微处理器及处理协议的方法
CN108228104A (zh) * 2017-12-29 2018-06-29 北京联想核芯科技有限公司 数据传输方法及固态硬盘控制器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930676A (zh) * 2020-09-17 2020-11-13 湖北芯擎科技有限公司 多处理器间的通信方法、装置、系统及存储介质
CN111930676B (zh) * 2020-09-17 2020-12-29 湖北芯擎科技有限公司 多处理器间的通信方法、装置、系统及存储介质
CN112785734A (zh) * 2020-12-29 2021-05-11 瓴盛科技有限公司 基于双向认证的电子不停车收费系统和方法
CN112785734B (zh) * 2020-12-29 2023-07-14 瓴盛科技有限公司 基于双向认证的电子不停车收费系统和方法

Also Published As

Publication number Publication date
CN110442543B (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
Ben-Nun et al. Groute: An asynchronous multi-GPU programming model for irregular computations
CN105718390B (zh) 共享存储器链路中的低功率进入
CN108696461A (zh) 用于智能网络接口卡的共享存储器
CN114253706A (zh) 用于协调边缘平台的方法和装置
US7669036B2 (en) Direct path monitoring by primary processor to each status register in pipeline chained secondary processors for task allocation via downstream communication
CN110442543A (zh) 通信装置及通信方法
CN105378694A (zh) 用于执行与通用串行总线(usb)装置的管理组件传输协议(mctp)通信的方法、设备和系统
CN109274717A (zh) 基于区块链的共享存储方法、装置、介质及电子设备
CN114338680A (zh) 用于在计算设备中相对于服务水平协议来管理服务质量的方法和装置
CN103778017B (zh) 改进虚拟处理器调度的亲和性
CN111176836B (zh) 一种云渲染资源调度方法及装置
US20090260012A1 (en) Workload Scheduling
CN103297493A (zh) 有分区意识服务质量特征
CN107957965B (zh) 服务质量序数修改
CN103927216A (zh) 用于管理虚拟装置的方法和系统
CN110008722A (zh) 基于区块链的通证转移奖励处理方法、装置及存储介质
Jenkins et al. Processing MPI derived datatypes on noncontiguous GPU-resident data
Kelm et al. HybridOS: runtime support for reconfigurable accelerators
Narantuya et al. Multi-Agent Deep Reinforcement Learning-Based Resource Allocation in HPC/AI Converged Cluster.
Mathewson The evolution of soc interconnect and how noc fits within it
Shin et al. Automatic generation of transaction level models for rapid design space exploration
Islam et al. A comparative study of major service providers for cloud computing
Yu et al. High performance support of parallel virtual file system (pvfs2) over quadrics
Dayarathna et al. Energy consumption analysis of data stream processing: a benchmarking approach
CN108345564A (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
GR01 Patent grant
GR01 Patent grant