CN103729329A - 核间通信装置及方法 - Google Patents

核间通信装置及方法 Download PDF

Info

Publication number
CN103729329A
CN103729329A CN201210389118.9A CN201210389118A CN103729329A CN 103729329 A CN103729329 A CN 103729329A CN 201210389118 A CN201210389118 A CN 201210389118A CN 103729329 A CN103729329 A CN 103729329A
Authority
CN
China
Prior art keywords
message
core
read
write
mailbox module
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
CN201210389118.9A
Other languages
English (en)
Other versions
CN103729329B (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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201210389118.9A priority Critical patent/CN103729329B/zh
Priority to US14/434,245 priority patent/US9639409B2/en
Priority to PCT/CN2013/084831 priority patent/WO2014056420A1/zh
Priority to JP2015535970A priority patent/JP6475625B2/ja
Priority to KR1020157012032A priority patent/KR101951072B1/ko
Priority to EP13845652.0A priority patent/EP2908252B1/en
Publication of CN103729329A publication Critical patent/CN103729329A/zh
Application granted granted Critical
Publication of CN103729329B publication Critical patent/CN103729329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/521Atomic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供了一种核间通信装置及方法,该装置包括:信箱模块,用于存储消息发送核发送给消息接收核的消息,并通知消息接收核读取所述消息;总线适配模块,连接于信箱模块与进行通信的消息接收核和消息发送核之间,用于提供信箱模块与消息接收核和消息发送核的读写接口,通过本发明,解决了现有技术中核间通信装置和方法存在复杂度高、实时性差,以及多核应用时可扩展性差的问题,进而达到了显著减少核间通信复杂度,减少通信时延,以及具备极好的可扩展性和可裁减性的效果。

Description

核间通信装置及方法
技术领域
本发明涉及高性能芯片设计领域,具体而言,涉及一种核间通信装置及方法。
背景技术
随着多核处理器被越来越广泛的应用到各个技术领域,其强大的并行计算能力,低功耗以及高集成度的优点逐渐被市场所接受。多核处理器的显著特征是同一个任务可以被分解到多个内核的线程或进程上并行运行,这种并行性带来了性能的显著提升。但是多核处理器带来性能提升的同时,也带来了频繁的核间通信任务以及复杂的对多核通信进行管理等一系列问题,而且随着同一芯片上集成的核越来越多,此问题变的越来越突出。因此,高速高效的核间通信装置和方法成为多核处理器芯片的关键技术之一。
在相关技术中,普遍基于共享内存进行核间通信。例如,专利号为CN200510087321的专利“嵌入式实时操作系统中多核处理器的核间通信方法及装置”,其采用共享内存实现核间通信所需的共享消息池和消息数据管道。该种方法需要操作系统软件创建消息队列,需要建立核间通信的管道操作,因此复杂性较高;更关键的是为了完成对多核共享消息内存的访问一致性需要采用自旋锁资源以及额外的申请锁释放锁等同步操作,这些复杂的软件交互步骤将大大降低核间通信的效率,同时在核数量显著增加时可靠性降低;其分离的消息操作和中断通知机制也会导致效率下降。此外,基于共享内存的方法由于核间消息必须与数据共用同一带宽,在通信实时性上更增加了不确定性。
为解决基于共享内存的核间通信机制的高复杂性高时延问题,也产生了一些改进方法。例如,专利号为US20080988459的专利“Method and System for Generating and DeliveringInter-Processor Interrupts in a Multi-Core Processor and in Certain Shared Memory Multi-ProcessorSystems”,其通过软件操作一组专用的中断屏蔽寄存器(Interrupt Mask Register,简称为IMR)来指定共享存储区域,并在写操作针对所指定的共享存储器区域时自动触发核间中断生成。但其消息是存在共享存储区的循环缓冲中,仍旧需要通过软件实现的数据结构进行循环缓冲访问;而消息通知所产生的中断由IMR产生。其仍需要提前设置IMR寄存器,且寄存器操作与消息操作的分离以及软件交互步骤多等因素直接导致其核间通信延迟较大,软件编程复杂,无法满足高性能多核通信的需要。同时,该专利也未能解决为保证核间通信可靠性必须引入互斥操作而带来的资源消耗和复杂度提升的问题。
除了上面所述现有核间通信技术通信效率低,实时性无法保证的主要缺陷外,现有核间通信技术在核数量显著增加时,其将需要更多的硬件资源和更加复杂的软件处理步骤;在异构多核系统中,核的频率,接口结构以及对数据结构的支持差异也大大增加了现有核间通信方法的软件复杂性,异构核通信程序的兼容性和可靠性不足。即现有核间通信技术在适应核异构和核数量增加时的可扩展性和灵活性不足。
因此,在相关技术中的核间通信装置和方法存在复杂度高、实时性差,以及多核应用时可扩展性差的问题。
发明内容
本发明提供了一种核间通信装置及方法,以至少解决现有技术中核间通信装置和方法存在复杂度高、实时性差,以及多核应用时可扩展性差的问题。
根据本发明的一个方面,提供了一种核间通信装置,包括:信箱模块,用于存储消息发送核发送给消息接收核的消息,并通知所述消息接收核读取所述消息;总线适配模块,连接于所述信箱模块与进行通信的所述消息接收核和消息发送核之间,用于提供所述信箱模块与所述消息接收核和所述消息发送核的读写接口。
优选地,该核间通信装置还包括:仲裁模块:用于在多个核同时向所述信箱模块发起用于请求读写消息的读写访问请求时,按照预定的规则对所述多个读写访问请求进行仲裁,将所述多个读写访问请求依次串行输出。
优选地,所述信箱模块包括:总线接口单元,用于通过复用总线错误反馈寄存器实现读写消息的互斥。
优选地,所述总线接口单元包括:第一互斥单元,用于通过复用所述总线错误反馈寄存器实现互斥锁的功能,实现多个消息发送核向所述信箱模块写消息的互斥;和/或,第二互斥单元,用于通过复用所述总线错误反馈寄存器实现互斥锁的功能,实现消息发送核向所述信箱模块写消息与消息接收核从所述信箱模块读消息的互斥。
优选地,所述总线接口单元还包括:触发子单元,用于在所述消息发送核向所述信箱模块写入了消息,或者,所述消息接收核从所述信箱模块读取了消息之后,触发所述总线错误反馈寄存器的状态变化。
优选地,所述信箱模块包括:存储单元,用于根据消息访问地址对所述消息进行存储。
优选地,所述信箱模块包括:通知单元,用于通过中断请求通知所述消息接收核接收消息。
根据本发明的另一方面,提供了一种核间通信方法,包括:信箱模块通过总线适配模块接收来自消息发送核发送的消息;所述信箱模块向消息接收核发送中断请求,其中,所述消息接收核根据所述中断请求读取所述消息。
优选地,该方法还包括:在多个核同时向所述信箱模块发起用于请求读写消息的读写访问请求时,按照预定的规则对所述多个读写访问请求进行仲裁,将所述多个读写访问请求依次串行输出。
优选地,在多个核同时向所述信箱模块发起用于请求读写消息的读写访问请求时,通过复用总线错误反馈寄存器实现读写消息的互斥。
优选地,通过复用总线错误反馈寄存器实现读写消息的互斥包括:通过复用所述总线错误反馈寄存器实现互斥锁的功能,实现多个消息发送核向所述信箱模块写消息的互斥;和/或,通过复用所述总线错误反馈寄存器实现互斥锁的功能,实现消息发送核向所述信箱模块写消息与消息接收核从所述信箱模块读消息的互斥。
优选地,在所述消息发送核向所述信箱模块写入了消息,或者,所述消息接收核从所述信箱模块读取了消息之后,触发所述总线错误反馈寄存器的状态变化。
优选地,在所述消息发送核向所述信箱模块写入了消息之后,所述信箱模块向所述消息发送核发送第一响应消息,其中,所述消息发送核根据所述第一响应消息确定所述消息发送核向所述信箱模块写入消息成功;和/或,在所述消息接收核从所述信箱模块读取了消息之后,所述信箱模块向所述消息接收核发送第二响应消息,其中,所述消息接收核根据所述第二响应消息确定所述消息接收核读取消息成功。
优选地,在所述消息接收核读取了所述消息之后,还包括,所述信箱模块将所述中断请求清除。
根据本发明的再一方面,提供了一种核间通信装置,包括:接收单元,位于信箱模块中,用于通过总线适配模块接收来自消息发送核发送的消息;发送单元,位于所述信箱模块中,用于向消息接收核发送中断请求,其中,所述消息接收核根据所述中断请求读取所述消息。
通过本发明,采用信箱模块,用于存储消息发送核发送给消息接收核的消息,并通知所述消息接收核读取所述消息;总线适配模块,连接于所述信箱模块与进行通信的所述消息接收核和消息发送核之间,用于提供所述信箱模块与所述消息接收核和所述消息发送核的读写接口,解决了现有技术中核间通信装置和方法存在复杂度高、实时性差,以及多核应用时可扩展性差的问题,进而达到了显著减少核间通信复杂度,减少通信时延,以及具备极好的可扩展性和可裁减性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的核间通信装置的结构框图;
图2是根据本发明实施例的核间通信装置的优选结构框图;
图3是根据本发明实施例的核间通信装置中信箱模块12的优选结构框图一;
图4是根据本发明实施例的核间通信装置中信箱模块12中总线接口单元32的优选结构框图;
图5是根据本发明实施例的核间通信装置中总线接口单元32的优选结构框图;
图6是根据本发明实施例的核间通信装置中信箱模块12的优选结构框图二;
图7是根据本发明实施例的核间通信装置中信箱模块12的优选结构框图三;
图8是根据本发明实施例的核间通信方法的流程图;
图9是根据本发明实施例的核间通信装置的结构框图;
图10是根据本发明实施例的多核芯片的核间通信装置结构框图;
图11是根据本发明实施例的核间通信方法的流程图;
图12是根据本发明实施例的核间通信装置中信箱模块的结构框图;
图13是根据本发明实施例的核间通信装置中总线适配模块的结构框图;
图14是根据本发明实施例的核间通信装置中仲裁模块的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种核间通信装置,图1是根据本发明实施例的核间通信装置的结构框图,如图1所示,该核间通信装置包括信箱模块12和总线适配模块14,下面对该装置进行说明。
信箱模块12,用于存储消息发送核发送给消息接收核的消息,并通知消息接收核读取该消息;总线适配模块14,连接于上述信箱模块12,并且,处于信箱模块与进行通信的消息接收核和消息发送核之间,用于提供信箱模块与消息接收核和消息发送核的读写接口。
通过上述核间通信装置,仅采用信箱模块以及连接于消息接收核与消息发送核之间的总线适配模块的架构,相对于相关技术中采用共享内存的方式,或者,采用专用中断配合共享内存的方式由于需要众多软件交互,从而导致核间通信步骤复杂,效率低下以及灵活性不高的问题,采用信箱模块与总线适配模块构成的简单架构的核间通信装置,通过核间通信装置本身读写消息访问及响应读写消息访问的反馈,显著地减少了核间通信的复杂度,有效地减少了通信时延,同时仅靠增加模块的方式就可以实现,具备较佳的可扩展性及可裁减性。
图2是根据本发明实施例的核间通信装置的优选结构框图,如图2所示,该装置除包括图1所示的所有模块外,还包括仲裁模块22,该仲裁模块22:连接于信箱模块12与总线适配模块14之间,用于在多个核同时向信箱模块发起用于请求读写消息的读写访问请求时,按照预定的规则对上述多个读写访问请求进行仲裁,将该多个读写访问请求依次串行输出。
图3是根据本发明实施例的核间通信装置中信箱模块12的优选结构框图一,如图3所示,该信箱模块12包括:总线接口单元32,该总线接口单元32,用于通过复用总线错误反馈寄存器实现读写消息的互斥。
图4是根据本发明实施例的核间通信装置中信箱模块12中总线接口单元32的优选结构框图,如图4所示,该总线接口单元32包括:第一互斥单元42和/或第二互斥单元44,下面对该优选总线接口单元进行说明。
第一互斥单元42,用于通过复用总线错误反馈寄存器实现互斥锁的功能,实现多个消息发送核向该信箱模块写消息的互斥;和/或,第二互斥单元44,用于通过复用总线错误反馈寄存器实现互斥锁的功能,实现消息发送核向该信箱模块写消息与消息接收核从该信箱模块读消息的互斥。
图5是根据本发明实施例的核间通信装置中总线接口单元32的优选结构框图,如图5所示,该总线接口单元32包括:触发子单元52,该触发子单元52,用于在消息发送核向信箱模块写入了消息,或者,消息接收核从信箱模块读取了消息之后,触发总线错误反馈寄存器的状态变化。
图6是根据本发明实施例的核间通信装置中信箱模块12的优选结构框图二,如图6所示,该信箱模块12包括:存储单元62,该存储单元62,用于根据消息访问地址对上述消息进行存储。
图7是根据本发明实施例的核间通信装置中信箱模块12的优选结构框图三,如图7所示,该信箱模块12包括:通知单元72,用于通过中断请求通知上述消息接收核接收消息。
在本实施例中还提供了一种核间通信方法,图8是根据本发明实施例的核间通信方法的流程图,如图8所示,该流程包括如下步骤:
步骤S802,信箱模块通过总线适配模块接收来自消息发送核发送的消息;
步骤S804,该信箱模块向消息接收核发送中断请求,其中,该消息接收核根据上述中断请求读取上述消息。
通过上述步骤,通过信箱模块以及总线适配模块的组合实现核间通信,相对于相关技术中采用共享内存的方式,或者,采用专用中断配合共享内存的方式由于需要众多软件交互,从而导致核间通信步骤复杂,效率低下以及灵活性不高的问题,不仅流程简单,仅通过消息读写访问本身即可实现核间通信,显著减少了核间通信的复杂度,而且在一定程度上有效地提高了核间通信效率。
优选地,在多个核同时向信箱模块发起用于请求读写消息的读写访问请求时,可以按照预定的规则对该多个读写访问请求进行仲裁,将上述多个读写访问请求依次串行输出。需要说明的是,上述多个核可以是多个消息发送核,也可以是多个消息接收核,也可以为两者的混合,在进行读写访问之前,对读写访问请求先进行仲裁处理,避免核间通信的混乱,另外,该仲裁模块可以根据具体的进行核间通信的多个核的数量不同而灵活选择,例如,当进行通信的核的数量较少时,可以不采用,而核的数量较多时,则也可以选择一个或多个仲裁模块进行处理。
在多个核同时向信箱模块发起用于请求读写消息的读写访问请求时,通过复用总线错误反馈寄存器实现读写消息的互斥。利用核间通信中已有的总线错误反馈寄存器实现读写消息的互斥,相对于现有技术中为了实现互斥功能需要增加另外的互斥装置和另外的互斥操作步骤,不仅能够减少了核间通信装置与外部结构的交互,并且在一定程度上有效地降低了资源的消耗。
需要指出的是,对于核间通信中较为容易出现的异常情况,复用总线错误反馈寄存器可以较好地实现读写消息的互斥,例如,通过复用总线错误反馈寄存器实现互斥锁的功能,实现多个消息发送核向信箱模块写消息的互斥;又例如,通过复用总线错误反馈寄存器实现互斥锁的功能,实现消息发送核向信箱模块写消息与消息接收核从信箱模块读消息的互斥。当然,两者可以结合使用。操作时,在消息发送核向信箱模块写入了消息,或者,消息接收核从信箱模块读取了消息之后,通过触发总线错误反馈寄存器状态的变化来实现信箱模块的读写状态的变化,避免消息的丢失,实现读写的有序性,保证读写消息的可靠性。
较优地,在消息发送核向信箱模块写入了消息之后,信箱模块向消息发送核发送第一响应消息,其中,该消息发送核根据上述第一响应消息确定消息发送核向信箱模块写入消息成功;和/或,在消息接收核从信箱模块读取了消息之后,信箱模块向消息接收核发送第二响应消息,其中,消息接收核根据该第二响应消息确定消息接收核读取消息成功。在确定消息接收核读取了消息之后,信箱模块将中断请求自动清除。便于后续写入新的消息时,产生新的中断请求,不仅保证读写消息的对应性,而且减少了接收核清除中断请求的操作步骤。
在本实施例中还提供了一种核间通信装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以硬件来实现,但是软件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本发明实施例的核间通信装置的结构框图,如图9所示,该装置位于信箱模块90中,接收单元92和发送单元94,下面对该装置进行说明。
接收单元92,用于通过总线适配模块接收来自消息发送核发送的消息;发送单元94,连接至上述接收单元92,用于向消息接收核发送中断请求,其中,该消息接收核根据上述中断请求读取上述消息。
为解决相关技术中的核间通信装置复杂度高,实时性差,以及在多核应用时的可扩展性差等问题。在本实施例中提供了一种新型的核间通信装置ICN(Inter-core CommunicationNetwork,简称为ICN)(在本部分为叙述方便,将核间通信装置简写为ICN),该核间通信装置ICN包括任意数量的以下3类模块:信箱模块(Postbox)(同上述信箱模块12),总线适配模块(Bus Adapter,简称为BA)(同上述总线适配模块14)、以及仲裁模块(Arbiter)(同上述仲裁模块22)。ICN可以应用于采用层次结构以满足核数量显著增多和核异构的应用场景,图10是根据本发明实施例的多核芯片的核间通信装置结构框图,如图10所示,该结构包括信箱模块、总线适配模块、仲裁模块,下面对该装置分别进行说明。
(1)信箱模块(Postbox)
消息需要暂存在某个地方供接收核读取,并且要具有可靠的通知接收核消息到来的机制,在本实施例中提供的ICN中包括若干个Postbox模块。用以达到上述要求,该信箱模块提供以下功能:互斥的读写消息、消息存储、产生通知中断请求。
为实现信箱模块的上述功能,Postbox模块通过以下各个单元来完成,即在该信箱模块中包括若干总线接口单元(Bus Interface Unit,简称为BIU),若干消息存储单元(RegFiles),以及若干中断产生单元(IntGen)。下面分别对信箱模块所包括的各个单元进行说明。
BIU单元:用于实现读写消息的互斥访问功能。该BIU单元提供一个消息接收核的读消息通道,和若干消息发送核的写消息通道。BIU单元复用总线错误(Error)反馈寄存器实现了一个锁完成对同一资源(即下文说的RegFiles)的互斥访问功能。
RegFiles单元:用于提供若干单元消息存储寄存器空间。对于每个Postbox来说,有几个发送消息通道就有几组消息存储寄存器。同时根据应用需求所决定的通信流量,也可以设置更多的消息寄存器,不同的消息寄存器之间通过地址进行区分。
IntGen单元:用于当有消息到来时,负责产生中断请求通知接收核。若检测到接收核将消息读走后,中断请求自动清除。可见,其避免了传统核间通信方式中读取消息还需要额外的设置中断清除寄存器的操作。其中,每根中断线可以与一个或一组Regfiles单元捆绑在一起,从而接收核可以通过中断请求编号进入特定ISR(中断服务程序),并读取对应RegFiles中的消息。
需要说明的是,在本实施例的核间通信装置中的Postbox具有相关技术中所不具备的互斥访问保护功能:
在传统的多核通信方式中,多核占用同一个核间通信资源需要利用互斥锁或自旋锁进行互斥操作。而Postbox复用总线Error反馈寄存器实现了一个锁寄存器完成了互斥访问功能,该操作实现如下:
BIU复用Error信息反馈寄存器实现了一个锁寄存器。当锁寄存器为0,代表锁为释放状态;当锁寄存器为1,代表锁为占用状态。在正常情况下,发送核写了Postbox RegFiles后,锁寄存器自动变为1。之后,Postbox产生中断通知接收核,接收核进行Postbox RegFiles读操作,锁寄存器自动变为0。
当第一种异常发生,即在接收核进行Postbox RegFiles读操作之前又有某个发送核想对一个Regfiles进行写操作,如果此时Regfiles 中的消息被修改,则会造成之前的消息丢失。但由于本实例中的Postbox中的锁寄存器为1,表示锁处于占用状态,故发送消息写操作未成功,即Postbox RegFiles信息未被修改;同时,锁寄存器信息1将作为Error响应信息返回给发送核通知其进行了异常操作。核进入异常处理,即可以等待若干指令周期后继续进行访问。直到当接收核进行了正常的读Postbox RegFiles操作之后,锁寄存器变为0,即锁被释放,其他发送核可以进行正常写操作。
当第二种异常发生,即在接收核读取消息的同时,发生了某个核的写消息操作,则BIU强制以先读后写的顺序进行,即先保证前一个消息被读走,然后才能写入新的消息,这样保证了核间通信的可靠性。
(2)总线适配模块(BA,Bus Adapter):
由于进行通信的核之间总线协议可能不同,同时核需要访问的Postbox比较多,故本实施例中的ICN包括若干BA模块,其包括1个核读写接口和若干个Postbox读写接口,该BA模块完成以下2个功能:
A、完成不同核接口总线协议向ICN内部数据读写协议的适配;
B、根据总线访问的Postbox地址,进行地址过滤,即仅使唯一目的Postbox的内部接口上出现有效数据和有效控制信号。
可见,通过BA模块可以显著隔离外部复杂的总线协议,内部仅采用简单快速的数据读写协议,显著减少了核间通信装置的硬件延迟。
(3)仲裁模块(Arbiter):
当一个Cluster内部有多个核同时对一个Postbox发起消息读写访问时将发生冲突。因而在本实施例中的ICN包括若干Arbiter模块,其包括若干个消息输入接口和1个消息输出接口。用以提供如下功能:对若干数据通道的读写访问请求按照特定原则进行仲裁,即将同时到达的消息读写访问请求串行化。
其中,Arbiter对同时到达仲裁模块的消息读写访问进行轮询仲裁,即使多个同时到达的消息读写访问按照顺序串行输出;或者,对同时到达该仲裁模块的消息读写访问进行优先级仲裁,即使多个同时到达的消息读写访问请求按照优先级由高到低的顺序串行输出。
在本实施例中还提供了一种核间通信方法,图11是根据本发明实施例的核间通信方法的流程图,如图11所示,该方法包括如下步骤:
步骤S1102,发消息核通过BA进行写消息操作,并根据BA返回的信息确定消息是否发送成功。各个核的写消息操作是异步且独立的,互不影响。如果BA返回的ErrorResponse信息为无效,则消息发送成功;反之,表示Postbox被占用,写消息未成功。此时,发送核可以延迟若干周期后再进行写消息操作,直到消息发送成功为止。
步骤S1104,发送核的发送消息经过Arbiter或不经过Arbiter发送至具有特定地址的Postbox中,Postbox产生中断请求(int)给接收消息核。
步骤S1106,接收核接收到中断,并进行消息读取操作。
步骤S1108,接收核的消息读操作请求信号进入ICN直至发送到产生中断请求的信箱模块(Postbox)中,并读取到发送给它的消息,且Postbox的中断请求自动拉低。
本发明所提供的实施例及优选实施方式具有天生的互斥功能。即在进行核间通信前,无需进行额外的申请锁和释放锁的操作,互斥完全通过对ICN本身的读写访问和ERROR返回机制完成,显著减少了核间通信的复杂性,减少了通信时延;另外,无需要任何初始化步骤,ICN上电复位后即可正常工作;当消息读写请求进入ICN后,完全由ICN自行管理,不仅实现了自动化管理,而且在一定程度上大大节省了资源。
采用分布式结构,可以使某些通信流量局限在特定区域的带宽之内而不对其他通信区域造成任何影响,并且显著减少了单一仲裁模块的仲裁开销,从而显著减少了多核整体的统计通信延迟。
当核数量显著增加时,仅需增加相应数量的3类模块和对应的互联线,同时互联方式也可以根据应用需求灵活连接,不影响ICN的现有结构特征和软件操作步骤,因此具有极好的可扩展性和可裁减性。
下面结合附图10对本发明实施例作进一步的具体说明。需要说明的是,多核不限于实施例子中所举的CPU(中央处理器)和DSP(数字信号处理器)。
整个ICN采用3级结构以满足多核(一共10个核)和核异构(6DSP+4ARM)的应用需求。整个ICN包含15个Postbox,10个BA以及4个Arbiter,其整体结构如图10所示。3个DSP构成一个Cluster。2个CPU构成1个Cluster,由于其数据流量比较小,数据通路未经过仲裁器。可见,ICN可以根据核的数量和通信流量选择3类组件的数量,以及互联方式(如实施例子中不经过仲裁器,直接连到Postbox上),不影响ICN的整个结构特征和通信流程,可扩展现性和可裁减性极好。
按照负责功能区域,Postbox分为Local Postbox(本地信箱)和Cross Postbox(交叉信箱)。具体来说,在本实施例中存在以下几个:负责DSP cluster(簇)内部和DSP cluster(簇)内部进行核间通信的10个local Postbox,负责DSP cluster与CPU cluster之间的核间通信的1个local Postbox,负责DSP cluster之间进行核间通信1个Cross Postbox以及或负责CPU cluster之间进行核间通信1个Cross Postbox。可见,这种分布式结构可以使某些通信流量局限在特定区域的带宽之内而不对其他通信区域造成任何影响,并且显著减少了单一仲裁模块的仲裁开销,显著增大了多核整体带宽效率,减少了多核整体的通信延迟。同时,当核数量显著增加时,可能导致一个核接收的核间通信中断请求过多,此时可将多个Postbox的中断请求通过或逻辑进行合并从而减少到达核的核间中断请求数量,从而大大增加了ICN的可扩展现性。
其中,ICN包括的3类模块的具体实施如下:
(1)信箱模块(Postbox)
消息需要暂存在某个地方供接收核读取,并且要具有可靠的通知接收核消息到来的机制,故本发明所述ICN包括若干Postbox模块。其提供如下功能:
消息存储
互斥的读写消息
产生通知中断请求
图12是根据本发明实施例的核间通信装置中信箱模块的结构框图,如图12所示,该信箱模块(Postbox)包括若干BIU单元,若干RegFiles单元,和若干IntGen单元。其中,各功能单元如下:
BIU单元:
实现读写消息的互斥访问功能。其中BUS0为该Postbox所属接收核的读消息通道,BUS1~n为发送核的写消息通道。BIU单元复用总线Error反馈寄存器实现了一个锁完成对同一个RegFiles单元的互斥访问功能。
RegFiles单元:
提供若干单元消息存储寄存器空间。对于每个Postbox来说,有几个发送消息通道就有几组消息存储寄存器。同时根据应用需求所决定的通信流量,也可以设置更多的消息寄存器,不同的消息寄存器之间通过地址进行区分。
IntGen单元:
当有消息到来时,负责产生中断请求通知接收核。若检测到接收核将消息读走后,中断请求自动清除。可见,其避免了传统核间通信方式中读取消息还需要额外的设置中断清除寄存器的操作。其中每根中断线可以与一个或一组Regfiles单元捆绑在一起,从而接收核可以通过中断请求编号进入特定ISR(中断服务程序),并读取对应RegFiles中的消息。
其中,需要特别强调的,本核间通信装置中的Postbox具有其他方案所不具备的互斥访问保护功能。
在传统的多核通信方式中,多核占用同一个核间通信资源需要利用互斥锁或自旋锁进行互斥操作。而Postbox复用总线Error反馈寄存器实现了一个锁寄存器完成了互斥访问功能,其具体实现如下:
BIU复用Error信息反馈寄存器实现了一个锁寄存器。当锁寄存器为0,代表锁为释放状态;当锁寄存器为1,代表锁为占用状态。在正常情况下,发送核写了Postbox RegFiles后,锁寄存器自动变为1。之后,Postbox产生中断通知接收核,接收核进行PostboxRegFiles读操作,锁寄存器自动变为0;
当第一种异常发生,即在接收核进行Postbox RegFiles读操作之前又有某个发送核想对一个Regfiles进行写操作,如果此时Regfiles中的消息被修改,则会造成之前的消息丢失。但由于本实施例Postbox中的锁寄存器为1,表示锁处于占用状态,故发送消息写操作未成功,即Postbox RegFiles信息未被修改;同时,锁寄存器信息1将作为Error响应信息返回给发送核通知其进行了异常操作。核进入异常处理,即等待若干指令周期后继续进行访问。直到当接收核进行了正常的读Postbox RegFiles操作之后,锁寄存器变为0,即锁被释放,其他发送核可以进行正常写操作。
当第二种异常发生,即在接收核读取消息的同时,发生了某个核的写消息操作,则BIU强制以先读后写的顺序进行,即先保证前一个消息被读走,然后才能写入新的消息,这样保证了核间通信的可靠性。
在实现时,锁寄存器即从设备Error信息产生寄存器,即无需增加额外的如互斥锁,信号量那样的互斥功能单元;申请锁操作成功即是消息发送操作成功,释放锁成功即是消息读取成功,消息申请锁失败即是总线反馈Error响应,即互斥处理机制与总线通用的读写机制一致,即无需增加额外的互斥操作周期,显著减少了编程复杂性和通信延迟。因此,上述实施例及优选实施方式所示的装置和方法实现了对核间通信资源的互斥访问保护。
(2)总线适配模块(BA,Bus Adapter):
由于进行通信的核之间总线协议可能不同,同时核需要访问的Postbox比较多,故本发明所述ICN包括若干BA模块,其包括1个核读写接口和若干个Postbox读写接口,其完成2个功能:
A.完成不同核接口总线协议向ICN内部数据读写协议的适配;
B.根据总线访问的Postbox地址,进行地址过滤,即仅使唯一目的Postbox的内部接口上出现有效数据和有效控制信号。
可见,通过BA模块可以显著隔离外部复杂的总线协议,内部仅采用简单快速的数据读写协议,显著减少了核间通信装置的硬件延迟。
在本实施例子中,内部外部均采用比较简单的增强外置总线(Advanced Peripheral Bus,简称为APB)协议,图13是根据本发明实施例的核间通信装置中总线适配模块的结构框图,如图13所示,BA根据APB的访问地址和Postbox的寄存器地址是否匹配来使能输出不同的APB选择信号,从而选通不同的消息通路。该APB接口可读可写,核通过APB接口对Postbox进行消息读写操作。
(3)仲裁模块(Arbiter):
当一个Cluster内部有多个核同时对一个Postbox发起消息读写访问时将发生冲突。故本发明所述ICN包括若干Arbiter模块,图14是根据本发明实施例的核间通信装置中仲裁模块的结构框图,如图14所示,该仲裁模块包括若干个消息输入接口和1个消息输出接口。其提供如下功能:对若干数据通道的读写访问请求按照特定原则进行仲裁,即将同时到达的消息读写访问请求串行化。
其中,Arbiter对同时到达所述仲裁模块的消息读写访问进行轮询仲裁,即使多个同时到达的消息读写访问按照顺序串行输出;即对存在消息读写请求的不同数据通路之间进行轮询,即每次只能选通一个存在请求的数据通路,读写访问完成后,再选通下一个存在消息读写请求的数据通路;依次类推,直至处理完所有通路的消息读写请求。
同时,根据模块设置的工作模式,可以对同时到达所述仲裁模块的消息读写访问进行优先级仲裁,即使多个同时到达的消息读写访问请求按照优先级由高到低的顺序进行。
应用本核间通信装置的核间通信方法步骤如下:
待发送消息核通过BA进行写消息操作,并根据BA返回的信息确定消息是否发送成功。各个核的写消息操作是异步且独立的,互不影响。如果BA返回的ErrorResponse通信息为无效,则消息发送成功;反之,表示Postbox被占用,写消息未成功。此时,发送核可以延迟若干周期后再进行写消息操作,直到消息发送成功为止。
若干发送核的发送消息经过Arbiter或不经过Arbiter发送至具有特定地址的Postbox中,Postbox产生中断请求给接收消息核。当互相通信的核数量较少时,消息读写可以不经过Arbiter。
接收核接收到中断,并进行消息读取操作。
接收核的消息读操作请求信号进入ICN直至发送到产生中断请求的Postbox中,并读取到发送给它的消息且Postbox的中断请求自动拉低(即将读取完毕消息所对应的中断请求自动清除)。
举下面3个例子说明本发明所述核间方法:
A:一般应用下CLUSTER内部消息通信过程:
1.发消息核DSP2发送消息到属于目的核DSP0的Postbox0;
2.Postbox0产生中断请求给DSP0;
3.DSP0进入ISR,读取Postbox中的消息。
B.一般应用下同时有跨CLUSTER的消息通信和CLUSTER内部的消息通信过程:
1.DSP cluster0内部发消息核DSP2发送消息到属于目的核DSP0的Postbox0;DSP cluster1的发消息核DSP3,4同时有消息需要发送给DSP cluster0DSP0。故首先经过了DSP cluster1内部的Arbiter2进行了仲裁,假设发送核DSP3获得了仲裁权,先把消息写到了DSP CLUSTER0的Postbox中,而后发送核DSP4获得了仲裁权,把消息写到了DSP CLUSTER0的Postbox中;
2.DSP CLUSTER0内部Postbox0和DSP CLUSTER0的Postbox同时有中断请求产生;
3.DSP0核进入ISR,根据软件设定的优先级,假设先读取了内部Postbox0的消息,再读取DSP CLUSTER0的Postbox中的消息。
C.互斥保护机制生效时的跨CLUSTER的核间通信过程:
1.CPU CORE0经过BA6发送了一条消息到CPU&DSP cross Postbox;
2.CPU&DSP cross Postbox产生中断请求给DSP5,DSP5由于同时有优先级更高的事务未来得及处理该中断,即未进行消息读取;
3.CPU CORE0经过BA6又发送了一条消息到CPU&DSP cross Postbox,但返回ERROR信息,表示通信资源锁未被释放,该消息未发送成功;CPU CORE0进入等待周期后又再次进行消息发送操作。
4.DSP5处理完高优先级的事务,成功读取第1条消息。
5.CPU CORE0成功发送第2条消息,即返回的ERROR信息为无效。然后CPU core0成功读取了第2条消息。可见在进行核间通信的过程中无需额外的互斥保护机制,即实现了可靠的核间通信。
需要强调的是,在实际的核间通信过程中,以上3种情况或更复杂的通信场景都是可能存在的。
另外,本发明实施例的核间通信装置所包括的上述3个模块以及连接交互关系是解决相关技术所存在的技术问题的关键;本发明实施例的核间通信方法也是区别与现有技术也是显而易见的。上述实施例及优选实施方式具有天生的互斥功能。即在进行核间通信前,无需进行额外的申请锁和释放锁的操作,互斥完全通过对ICN本身的读写访问和ERROR返回机制完成;另外,实施时无需要任何初始化步骤,ICN上电复位后即可正常工作;当消息读写请求进入ICN后,完全由ICN自行管理,从而显著减少了核间通信的复杂性,减少通信时延;该核间通信装置采用分布式结构,可以使某些通信流量局限在特定区域的带宽之内而不对其他通信区域造成任何影响,并且显著减少了单一仲裁模块的仲裁开销,从而显著减少了多核整体的统计通信延迟;当核数量显著增加时,通过上述实施例及优选实施方式,仅需增加相应数量的3类模块和对应的互联线,同时互联方式也可以根据应用需求灵活连接,不影响ICN的现有结构特征和软件操作步骤,因此具有极好的可扩展性和可裁减性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种核间通信装置,其特征在于,包括:
信箱模块,用于存储消息发送核发送给消息接收核的消息,并通知所述消息接收核读取所述消息;
总线适配模块,连接于所述信箱模块与进行通信的所述消息接收核和消息发送核之间,用于提供所述信箱模块与所述消息接收核和所述消息发送核的读写接口。
2.根据权利要求1所述的装置,其特征在于,还包括:
仲裁模块:用于在多个核同时向所述信箱模块发起用于请求读写消息的读写访问请求时,按照预定的规则对所述多个读写访问请求进行仲裁,将所述多个读写访问请求依次串行输出。
3.根据权利要求1所述的装置,其特征在于,所述信箱模块包括:
总线接口单元,用于通过复用总线错误反馈寄存器实现读写消息的互斥。
4.根据权利要求3所述的装置,其特征在于,所述总线接口单元包括:
第一互斥单元,用于通过复用所述总线错误反馈寄存器实现互斥锁的功能,实现多个消息发送核向所述信箱模块写消息的互斥;和/或,
第二互斥单元,用于通过复用所述总线错误反馈寄存器实现互斥锁的功能,实现消息发送核向所述信箱模块写消息与消息接收核从所述信箱模块读消息的互斥。
5.根据权利要求3或4所述的装置,其特征在于,所述总线接口单元还包括:
触发子单元,用于在所述消息发送核向所述信箱模块写入了消息,或者,所述消息接收核从所述信箱模块读取了消息之后,触发所述总线错误反馈寄存器的状态变化。
6.根据权利要求1所述的装置,其特征在于,所述信箱模块包括:
存储单元,用于根据消息访问地址对所述消息进行存储。
7.根据权利要求1所述的装置,其特征在于,所述信箱模块包括:
通知单元,用于通过中断请求通知所述消息接收核接收消息。
8.一种核间通信方法,其特征在于,包括:
信箱模块通过总线适配模块接收来自消息发送核发送的消息;
所述信箱模块向消息接收核发送中断请求,其中,所述消息接收核根据所述中断请求读取所述消息。
9.根据权利要求8所述的方法,其特征在于,还包括:在多个核同时向所述信箱模块发起用于请求读写消息的读写访问请求时,按照预定的规则对所述多个读写访问请求进行仲裁,将所述多个读写访问请求依次串行输出。
10.根据权利要求8所述的方法,其特征在于,在多个核同时向所述信箱模块发起用于请求读写消息的读写访问请求时,通过复用总线错误反馈寄存器实现读写消息的互斥。
11.根据权利要求10所述的方法,其特征在于,通过复用总线错误反馈寄存器实现读写消息的互斥包括:
通过复用所述总线错误反馈寄存器实现互斥锁的功能,实现多个消息发送核向所述信箱模块写消息的互斥;和/或,通过复用所述总线错误反馈寄存器实现互斥锁的功能,实现消息发送核向所述信箱模块写消息与消息接收核从所述信箱模块读消息的互斥。
12.根据权利要求10或11所述的方法,其特征在于,在所述消息发送核向所述信箱模块写入了消息,或者,所述消息接收核从所述信箱模块读取了消息之后,触发所述总线错误反馈寄存器的状态变化。
13.根据权利要求10或11所述的方法,其特征在于,
在所述消息发送核向所述信箱模块写入了消息之后,所述信箱模块向所述消息发送核发送第一响应消息,其中,所述消息发送核根据所述第一响应消息确定所述消息发送核向所述信箱模块写入消息成功;和/或,
在所述消息接收核从所述信箱模块读取了消息之后,所述信箱模块向所述消息接收核发送第二响应消息,其中,所述消息接收核根据所述第二响应消息确定所述消息接收核读取消息成功。
14.根据权利要求8所述的方法,其特征在于,在所述消息接收核读取了所述消息之后,还包括,所述信箱模块将所述中断请求清除。
15.一种核间通信装置,其特征在于,包括:
接收单元,位于信箱模块中,用于通过总线适配模块接收来自消息发送核发送的消息;
发送单元,位于所述信箱模块中,用于向消息接收核发送中断请求,其中,所述消息接收核根据所述中断请求读取所述消息。
CN201210389118.9A 2012-10-12 2012-10-12 核间通信装置及方法 Active CN103729329B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201210389118.9A CN103729329B (zh) 2012-10-12 2012-10-12 核间通信装置及方法
US14/434,245 US9639409B2 (en) 2012-10-12 2013-10-08 Device and method for communicating between cores
PCT/CN2013/084831 WO2014056420A1 (zh) 2012-10-12 2013-10-08 核间通信装置及方法
JP2015535970A JP6475625B2 (ja) 2012-10-12 2013-10-08 コア間通信装置及び方法
KR1020157012032A KR101951072B1 (ko) 2012-10-12 2013-10-08 코어 간 통신 장치 및 방법
EP13845652.0A EP2908252B1 (en) 2012-10-12 2013-10-08 Inter-core communication apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210389118.9A CN103729329B (zh) 2012-10-12 2012-10-12 核间通信装置及方法

Publications (2)

Publication Number Publication Date
CN103729329A true CN103729329A (zh) 2014-04-16
CN103729329B CN103729329B (zh) 2018-01-19

Family

ID=50453409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210389118.9A Active CN103729329B (zh) 2012-10-12 2012-10-12 核间通信装置及方法

Country Status (6)

Country Link
US (1) US9639409B2 (zh)
EP (1) EP2908252B1 (zh)
JP (1) JP6475625B2 (zh)
KR (1) KR101951072B1 (zh)
CN (1) CN103729329B (zh)
WO (1) WO2014056420A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991413A (zh) * 2015-02-13 2016-10-05 展讯通信(上海)有限公司 用户终端及其amp系统下消息邮箱故障的处理方法及装置
CN106372029A (zh) * 2016-09-06 2017-02-01 北方电子研究院安徽有限公司 一种基于中断的点对点片内通信模块
CN106407016A (zh) * 2016-10-19 2017-02-15 腾讯科技(深圳)有限公司 一种多线程争抢资源的模拟方法及装置
CN104268105B (zh) * 2014-09-23 2017-06-30 天津国芯科技有限公司 处理器局部总线互斥存取的扩展结构及操作方法
CN108521351A (zh) * 2018-03-21 2018-09-11 东软集团股份有限公司 会话流量统计方法、处理器核心、存储介质、电子设备
CN109582633A (zh) * 2018-12-04 2019-04-05 艾体威尔电子技术(北京)有限公司 一种pos机中双cpu的通讯方法
CN110597643A (zh) * 2019-08-30 2019-12-20 Oppo广东移动通信有限公司 核间通信方法、处理器以及电子设备
CN111026697A (zh) * 2019-11-21 2020-04-17 Oppo广东移动通信有限公司 核间通信方法、系统、电子器件以及电子设备
CN111475202A (zh) * 2020-03-31 2020-07-31 北京经纬恒润科技有限公司 基于异构多处理系统的核间通信方法及系统
CN112579488A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种支持动态缓冲区分配的消息存储电路及方法
CN113032166A (zh) * 2021-03-26 2021-06-25 黑芝麻智能科技(上海)有限公司 核间通信的方法、处理器、核间通信系统及计算机可读存储介质
CN113110950A (zh) * 2021-05-18 2021-07-13 南方电网科学研究院有限责任公司 处理器及通信方法、存储介质及计算设备
CN116541336A (zh) * 2023-07-04 2023-08-04 南方电网数字电网研究院有限公司 多核芯片、协处理器的软件运行方法
CN117234761A (zh) * 2023-11-16 2023-12-15 苏州萨沙迈半导体有限公司 多核系统、芯片和车辆处理器

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495794B (zh) * 2020-04-03 2022-09-09 武汉斗鱼鱼乐网络科技有限公司 一种Android系统的模块桥接方法、装置、电子设备及存储介质
CN112000608B (zh) * 2020-09-02 2021-10-01 展讯通信(上海)有限公司 系统级芯片及其中核间通信的方法、智能穿戴设备
CN112882987A (zh) * 2021-03-12 2021-06-01 北京小米移动软件有限公司 多核通信方法、装置、电子设备及存储介质
CN113220541B (zh) * 2021-06-10 2021-09-07 北京全路通信信号研究设计院集团有限公司 一种多核处理器的内存巡检方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5901326A (en) * 1996-11-26 1999-05-04 International Business Machines Corporation Memory bus address snooper logic for determining memory activity without performing memory accesses
CN1246761A (zh) * 1998-09-03 2000-03-08 Lg情报通信株式会社 用于交换机处理器之间的通信装置及其方法
US6456628B1 (en) * 1998-04-17 2002-09-24 Intelect Communications, Inc. DSP intercommunication network
US20050060450A1 (en) * 2003-08-20 2005-03-17 Chih-Ming Tsai Bus interface extender and method thereof
US7606254B1 (en) * 2006-03-02 2009-10-20 Rockwell Collins, Inc. Evaluatable high-assurance guard for security applications
CN101593159A (zh) * 2008-05-30 2009-12-02 英特尔公司 使用关键度信息来路由高速缓存一致性通信
CN102394732A (zh) * 2011-09-06 2012-03-28 中国人民解放军国防科学技术大学 一种多微包并行处理结构

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995010805A1 (en) * 1993-10-08 1995-04-20 International Business Machines Corporation Message transmission across a network
US20020116595A1 (en) * 1996-01-11 2002-08-22 Morton Steven G. Digital signal processor integrated circuit
GB2409303B (en) * 2003-12-18 2006-10-18 Advanced Risc Mach Ltd Inter-processor communication mechanism
GB2409302B (en) * 2003-12-18 2006-11-22 Advanced Risc Mach Ltd Data communication mechanism
AU2006226760A1 (en) 2005-03-22 2006-09-28 Feeva, Inc. Systems and methods of network operation and information processing, including engaging users of a public-access network
GB2447688B (en) * 2007-03-22 2011-05-18 Advanced Risc Mach Ltd A data processing apparatus and method for arbitrating between messages routed over a communication channel

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5901326A (en) * 1996-11-26 1999-05-04 International Business Machines Corporation Memory bus address snooper logic for determining memory activity without performing memory accesses
US6456628B1 (en) * 1998-04-17 2002-09-24 Intelect Communications, Inc. DSP intercommunication network
CN1246761A (zh) * 1998-09-03 2000-03-08 Lg情报通信株式会社 用于交换机处理器之间的通信装置及其方法
US20050060450A1 (en) * 2003-08-20 2005-03-17 Chih-Ming Tsai Bus interface extender and method thereof
US7606254B1 (en) * 2006-03-02 2009-10-20 Rockwell Collins, Inc. Evaluatable high-assurance guard for security applications
CN101593159A (zh) * 2008-05-30 2009-12-02 英特尔公司 使用关键度信息来路由高速缓存一致性通信
CN102394732A (zh) * 2011-09-06 2012-03-28 中国人民解放军国防科学技术大学 一种多微包并行处理结构

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268105B (zh) * 2014-09-23 2017-06-30 天津国芯科技有限公司 处理器局部总线互斥存取的扩展结构及操作方法
CN105991413A (zh) * 2015-02-13 2016-10-05 展讯通信(上海)有限公司 用户终端及其amp系统下消息邮箱故障的处理方法及装置
CN105991413B (zh) * 2015-02-13 2018-11-16 展讯通信(上海)有限公司 用户终端及其amp系统下消息邮箱故障的处理方法及装置
CN106372029A (zh) * 2016-09-06 2017-02-01 北方电子研究院安徽有限公司 一种基于中断的点对点片内通信模块
CN106407016A (zh) * 2016-10-19 2017-02-15 腾讯科技(深圳)有限公司 一种多线程争抢资源的模拟方法及装置
CN106407016B (zh) * 2016-10-19 2021-06-25 腾讯科技(深圳)有限公司 一种多线程争抢资源的模拟方法及装置
CN108521351B (zh) * 2018-03-21 2021-02-05 东软集团股份有限公司 会话流量统计方法、处理器核心、存储介质、电子设备
CN108521351A (zh) * 2018-03-21 2018-09-11 东软集团股份有限公司 会话流量统计方法、处理器核心、存储介质、电子设备
CN109582633A (zh) * 2018-12-04 2019-04-05 艾体威尔电子技术(北京)有限公司 一种pos机中双cpu的通讯方法
CN110597643B (zh) * 2019-08-30 2022-08-12 Oppo广东移动通信有限公司 核间通信方法、处理器以及电子设备
CN110597643A (zh) * 2019-08-30 2019-12-20 Oppo广东移动通信有限公司 核间通信方法、处理器以及电子设备
CN111026697A (zh) * 2019-11-21 2020-04-17 Oppo广东移动通信有限公司 核间通信方法、系统、电子器件以及电子设备
CN111475202A (zh) * 2020-03-31 2020-07-31 北京经纬恒润科技有限公司 基于异构多处理系统的核间通信方法及系统
CN112579488B (zh) * 2020-12-05 2023-02-24 西安翔腾微电子科技有限公司 一种支持动态缓冲区分配的消息存储电路及方法
CN112579488A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种支持动态缓冲区分配的消息存储电路及方法
CN113032166A (zh) * 2021-03-26 2021-06-25 黑芝麻智能科技(上海)有限公司 核间通信的方法、处理器、核间通信系统及计算机可读存储介质
US11948021B2 (en) 2021-03-26 2024-04-02 Black Sesame Technologies Inc. Method for inter-core communication, processor, inter-core communication system and computer readable storage medium
CN113032166B (zh) * 2021-03-26 2024-05-24 黑芝麻智能科技(上海)有限公司 核间通信的方法、处理器、核间通信系统及计算机可读存储介质
CN113110950A (zh) * 2021-05-18 2021-07-13 南方电网科学研究院有限责任公司 处理器及通信方法、存储介质及计算设备
CN116541336A (zh) * 2023-07-04 2023-08-04 南方电网数字电网研究院有限公司 多核芯片、协处理器的软件运行方法
CN117234761A (zh) * 2023-11-16 2023-12-15 苏州萨沙迈半导体有限公司 多核系统、芯片和车辆处理器
CN117234761B (zh) * 2023-11-16 2024-02-02 苏州萨沙迈半导体有限公司 多核系统、芯片和车辆处理器

Also Published As

Publication number Publication date
EP2908252B1 (en) 2019-07-10
KR20150067332A (ko) 2015-06-17
JP6475625B2 (ja) 2019-02-27
EP2908252A1 (en) 2015-08-19
US20150261586A1 (en) 2015-09-17
CN103729329B (zh) 2018-01-19
WO2014056420A1 (zh) 2014-04-17
KR101951072B1 (ko) 2019-04-22
US9639409B2 (en) 2017-05-02
JP2015536490A (ja) 2015-12-21
EP2908252A4 (en) 2016-11-23

Similar Documents

Publication Publication Date Title
CN103729329A (zh) 核间通信装置及方法
US6009275A (en) Centralized management of resources shared by multiple processing units
US7546393B2 (en) System for asynchronous DMA command completion notification wherein the DMA command comprising a tag belongs to a plurality of tag groups
US7971029B2 (en) Barrier synchronization method, device, and multi-core processor
US5519883A (en) Interbus interface module
US7249207B2 (en) Internal data bus interconnection mechanism utilizing central interconnection module converting data in different alignment domains
JPS62189549A (ja) 多重階層レベルマルチプロセツサ装置
JPH04230557A (ja) 直接メモリアクセス・コントローラ
US7143226B2 (en) Method and apparatus for multiplexing commands in a symmetric multiprocessing system interchip link
CN103218329A (zh) 数字信号处理数据传输
JPH077374B2 (ja) インタフェース回路
JP6129976B2 (ja) 高効率アトミック演算を使用した方法および装置
EP2899644A1 (en) Device and method for inter-core communication in multi-core processor
CN116414534A (zh) 任务调度方法、装置、集成电路、网络设备及存储介质
US6466993B1 (en) Method and apparatus for performing transactions rendering between host processors and I/O devices using concurrent non-blocking queuing techniques and I/O bus write operations
US20080082708A1 (en) Token hold off for chipset communication
KR102326892B1 (ko) 적응형 트랜잭션 처리 방법 및 이를 위한 장치
CN103069401B (zh) 维持多数据总线平台中事务连贯性的方法、装置以及系统
CN102033808B (zh) Dsp中的数据存储方法和存储控制装置
EP2800003B1 (en) Method and device for realizing end-to-end hardware message passing
JP2010118020A (ja) リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム
US7047284B1 (en) Transfer request bus node for transfer controller with hub and ports
JPS602710B2 (ja) 複合計算機システム
CN104620233A (zh) 用于对cpu内的消息通道基础设施的多流访问的虚拟化通信套接字
CN112131169B (zh) 高速数据通信系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140416

Assignee: Xi'an Chris Semiconductor Technology Co. Ltd.

Assignor: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Contract record no.: 2019440020036

Denomination of invention: ICN device and method

Granted publication date: 20180119

License type: Common License

Record date: 20190619