CN109992539B - 双主机协同工作装置 - Google Patents

双主机协同工作装置 Download PDF

Info

Publication number
CN109992539B
CN109992539B CN201910188623.9A CN201910188623A CN109992539B CN 109992539 B CN109992539 B CN 109992539B CN 201910188623 A CN201910188623 A CN 201910188623A CN 109992539 B CN109992539 B CN 109992539B
Authority
CN
China
Prior art keywords
cooperative
cpu
cpus
access control
control 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.)
Active
Application number
CN201910188623.9A
Other languages
English (en)
Other versions
CN109992539A (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.)
Suzhou Centec Communications Co Ltd
Original Assignee
Suzhou Centec Communications 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 Suzhou Centec Communications Co Ltd filed Critical Suzhou Centec Communications Co Ltd
Priority to CN201910188623.9A priority Critical patent/CN109992539B/zh
Publication of CN109992539A publication Critical patent/CN109992539A/zh
Application granted granted Critical
Publication of CN109992539B publication Critical patent/CN109992539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

一种双主机协同工作装置,包括:存储单元,对应不同CPU划分为对应的存储区域;时钟发生器,用于产生当前时间信息;协同控制单元,接收来自不同CPU的访问控制指令,并将所述控制命令或所述交互信息附加当前时间信息后存储到对应的存储区域中;以及,解析所述存储区域中的访问控制指令,将对CPU的访问控制指令存储到与目的CPU对应的存储空间,以及将对从机设备的访问控制指令发送到从机设备的处理模块。通过所述双主机协同工作装置,可以能够达到高效处理内外CPU协同工的双主机协同。

Description

双主机协同工作装置
技术领域
本发明涉及集成电路技术,特别是涉及一种双主机协同工作装置。
背景技术
现在的集成电路系统中,一般都是主机设备(如CPU)+一个或多个从机设备的结构。其中,从机设备多为专用处理器(如网络交换芯片等),负责大数据量且标准的流程处理。而控制面处理和小数据量非标准的流程处理一般交由主机设备来完成。所以主机设备多为CPU等软件可编程芯片。主机设备通用性好,但性能偏低,无法满足从机设备所处理的工作的要求。
随着集成电路技术的发展,现在很多专用处理器中也会嵌入CPU以提高整个芯片的灵活性。在一些普通应用场景中,内嵌CPU的专用处理器再加上简单的外围设备就可以构成一个完整的系统应用的设计。这简化了整个系统的复杂度,提高了系统的稳定性,降低了系统总体的成本。但内嵌CPU的性能一般不会太强,可以处理一些普通的任务,但难以胜任较复杂的应用场景。这时还是需要外接高性能的CPU来满足系统应用的要求的。又或者为了系统安全考虑,也可外接CPU来实现双机备份等功能。以上应用中,内外CPU可以协同工作,合理分工,以更好地发挥整个系统的性能。这就存在内外CPU之间进行数据交互的需求,包括发送控制命令,读取状态信息,任务的平衡处理和相互协调等。所以整个系统中就要求内外CPU之间、内外CPU与从设备之间都要有高效的通信机制。
要解决以上问题,目前通常采用的方法主要有两种:一是软件方法,通过在内外CPU之间建立网络通信通道(如以太网接口)进行网络通信;二是硬件方法,在内外CPU之间建立硬件通信通道,实现专用的通信交互处理的硬件逻辑,实现它们之间的高效通信。具体来说:
(1)软件方法:在内外CPU之间建立网络通信通道,通过网络通信通道进行信息交互。如图1中所示架构图。其中虚线所示为内部CPU与外部CPU之间用于信息交互的通信通道。因为CPU一般都带有网络接口,所以该信息通道也一般采用网络通信的方式实现。某个CPU需要通知另外一个CPU某个事件时,将事件信息按事先定义的格式打包为一个数据报文,并通过以上网络通信通道发送到另一个CPU,而目的端的CPU接收到该报文后,对其进行解析和相应的处理。
以上技术中内外两个CPU相互独立,结构清晰,但存在缺点:事件信息的传输都是由软件处理的,交互时间较长,处理效率较低。而且两个CPU分别有一条总线(图1中的内部总线和外部总线,其中的外部总线可以是PCIE或其他总线接口)来控制从设备中的核心处理单元,为了避免相互之间的干扰,并保证原子操作的正确性,需要每个CPU在发起控制前都要与另外一个CPU进行协调,进而导致CPU处理流程非常复杂,并进一步降低了处理的效率。在某些对实时性有要求的环境中,该技术方案基本无法满足要求。
(2)硬件方法:参考专利文献1“一种多主机处理系统和方法(公开号CN107656894A)”中实现的方法是,在从机设备和多个主机设备之间增加一个逻辑控制器来实现相互之间的信息交互。其原理图如图2所示。该专利主要用于在硬件上相互独立的多个主机设备之间的协同工作,是一个相对通用的系统解决方案。具体应用到内外CPU协同工作的环境时,该技术方案可以简化为图2所示的结构。在包含内部CPU的从机设备外增加一个逻辑控制器(可以由FPGA等可编程器件实现),内外CPU都通过对外接口(如PCIe接口)连接到这个逻辑控制器上,然后由逻辑控制器输出最终的各种操作指令给从机设备上的核心处理单元。以上所述的逻辑控制器中实现如内存映射、虚拟交换、信息交互等功能。也就是用硬件处理的方式加速两个CPU之间信息交互的处理,提高了信息传递的效率。
该方案因为增加了中间的逻辑控制器,总体实现时有较大的灵活性,而且通过硬件实现两个CPU之间的信息交互,相比方案一中的网络通信方式,较大地提高了处理效率。但它也存在以下几个主要缺点:一是需要增加额外的硬件设备来实现逻辑控制器,这个逻辑控制器不仅内部逻辑设计非常复杂,而且会提高整个系统的成本;二是该技术方案只能用于两个CPU之间的信息交互,不会协调两个CPU同时控制从机设备时的操作,如果要两个CPU同时控制从机设备,仍需要在两个CPU之间传递信息后才可以执行,导致执行的效率比较低下;三是外置的逻辑控制器无法实现较好地原子操作的控制,两个CPU同时控制从机设备,且有操作冲突时,单独的外置逻辑控制器无法及时处理,仍只能通过两个CPU进行信息交互的方式实现原子操作,处理效率较低;在实时性要求较高的应用场景中,以上技术方案仍无法完全满足要求,需要进一步改进。
参考专利2“使用高效的原子操作的方法装置”(公开号CN104854845A)中主要介绍的是多主设备在对同一个从设备进行控制时保证原子操作特性的实现。类似的专利也有许多。但这类技术原理上都是在从设备中增加自旋锁或在主设备发出的请求命令中增加特殊标志信号用以通知从设备进行相应的命令仲裁,以保证相应的原子操作特性。
专利2的方案基本上只能应用在特定的多主设备同时控制一个从设备的应用场景,无法实现主设备之间的高效通信,也就无法完成多个主设备之间任务的平衡处理和多主机之间的相互备份功能。同样以图1所示架构中内外CPU协同工作的场景中也不能适用。
发明内容
本发明实施例所要解决的技术问题是根据上述现有就技术,提供一种简单易实现,且能够达到高效处理内外CPU协同工的双主机协同工作的装置。
为了解决上述的技术问题,本发明实施例提供的技术方案如下:一种双主机协同工作装置,包括:存储单元,对应不同CPU划分为对应的存储区域;时钟发生器,用于产生当前时间信息;协同控制单元,接收来自不同CPU的访问控制指令,并将所述控制命令或所述交互信息附加当前时间信息后存储到对应的存储区域中;以及,解析所述存储区域中的访问控制指令,将对CPU的访问控制指令存储到与目的CPU对应的存储空间,以及将对从机设备的访问控制指令发送到从机设备的处理模块。
上述的双主机协同工作装置,存在多个读取从机设备相同地址的访问控制指令时,所述协同控制单元合并所述多个读取访问控制指令,发送到所述从机设备的处理模块,并将返回结果分别发送到对应的多个CPU可访问的存储空间。
上述的双主机协同工作装置,存在多个有操作冲突的对从机设备相同地址的访问控制指令时,所述协同控制单元读取所述多个访问控制指令附加的当前时间信息,根据所述当前时间信息的先后顺序发送给所述从机设备的处理模块,并将返回结果分别发送到对应的多个CPU可访问的存储空间。
上述的双主机协同工作装置,所述协同控制单元于在执行当前访问控制指令时判定所述当前的访问控制指令为原子操作时,优先执行完成同一原子操作的所有访问控制指令。
上述的双主机协同工作装置,所述协同控制单元还用于,从所述从机设备的处理模块获取从机设备的状态变化信息,并附加当前时间信息后存储到与各CPU对应的存储区域中。
上述的双主机协同工作装置,所述协同控制单元于附加当前时间信息后存储到与各CPU对应的存储区域后,还包括执行:更改状态变化寄存器的标识值,并于从所述从机设备的处理模块收到根据CPU操作处理的反馈后,清除所述状态变化寄存器的标识值。
上述的双主机协同工作装置,当所述协同控制单元收到多个CPU的处理请求时,根据所述处理请求的当前时间信息的先后顺序处理。
上述的双主机协同工作装置,所述协同控制单元于执行当前的CPU处理请求中判定所述当前CPU处理请求为原子操作时,优先执行完成同一原子操作的所有处理请求。
上述的双主机协同工作装置,所述系统控制单元于执行当前的CPU处理请求时,设置标识寄存器,并将状态变化通知其他发送处理请求的CPU。
上述的双主机协同工作装置,所述协同控制单元还用于通过直接内存读取完成对数据的搬移操作。
本发明以有内嵌CPU的从机设备上增加简单的处理逻辑(协同控制单元及其他辅助逻辑),以支持内外CPU同时控制该从机设备且保证两个CPU之间可以达到高效的信息交互的操作。本发明中增加的处理逻辑相比其他解决方案更简单,效率更高,且功能也更完整。尤其适用于对实时性要求较高的内外CPU协同工作的应用场景。而且采用本发明的技术后,两个CPU上处理协同工作的软件也相对更简单,效率更高。对于系统开发人员来讲本发明的实现与普通的设计一样,无需要增加额外的硬件(如可编程的FPGA)来处理两个CPU之间的信息交互,不仅硬件电路设计更简单、不再需要开发FPGA上的逻辑,而且整个系统的可靠性更高。
附图说明
图1是集成电路系统中主从设备连接架构示意图;
图2是专利文献1中多个主机设备协同工作的结构示意图;
图3是专利文献2中内外CPU协同工作的结构示意图;
图4是本发明实施例中双主机协同工作装置的结构示意图。
具体实施方式
现有的集成电路技术中,在从机设备的内外CPU之间以及内外CPU与从机设备之间的通信机制上,无论是现有的软件方法还是硬件方法,普遍存在如交互时间长,处理效率低,或者设计复杂,系统成本高,应用场景局限等问题。可见在现有技术中,目前还没有一种简单易实现,且能够达到高效处理内外CPU协同工的双主机协同工作装置。
本发明实施例以有内嵌CPU的从机设备上增加简单的处理逻辑(协同控制单元及其他辅助逻辑),以支持内外CPU同时控制该从机设备且保证两个CPU之间可以达到高效的信息交互的操作。本发明中增加的处理逻辑相比其他解决方案更简单,效率更高,且功能也更完整。尤其适用于对实时性要求较高的内外CPU协同工作的应用场景。而且采用本发明的技术后,两个CPU上处理协同工作的软件也相对更简单,效率更高。对于系统开发人员来讲本发明的实现与普通的设计一样,无需要增加额外的硬件(如可编程的FPGA)来处理两个CPU之间的信息交互,不仅硬件电路设计更简单、不再需要开发FPGA上的逻辑,而且整个系统的可靠性更高。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例的一种双主机协同工作装置。如图4所示,双主机协同工作装置,包括协同控制单元、协同控制存储器和时钟发生器。协同控制单元分别通过内部总线和连接内部CPU连接,以及通过外部总线和外部CPU连接。外部CPU可以有多个,为了说明方便起见,本实施例以外接一个外部CPU进行说明。
上述的存储单元,为对应不同CPU划分为对应的存储区域,也可根据需要设置一可以由多个CPU共享的存储区域。上述的时钟发生器,用于产生精确的当前时间信息。上述的协同控制单元是本实施例的核心处理模块,其主要任务有:
(1)针对每个CPU设置一定大小的缓冲存储区,接收来自不同CPU的控制命令和交互信息等数据,并将其附加当前精确时间信息后暂存在对应该CPU的缓冲存储区中。
(2)解析某个CPU缓冲存储区中的请求信息。如该信息为此CPU与另一CPU的交互信息,则将该信息的源地址信息、目的地址信息、信息类型标志、信息接收时间等信息存储到目的CPU可以直接访问的存储空间,修改相应的状态标志寄存器,并产生发往目的CPU的中断信号,以通知目的CPU来获取此信息的具体内容。
(3)解析某个CPU的缓冲存储区中的请求信息。如该信息为此CPU访问或配置从机设备的信息,则根据其中的地址、命令等信息,将其整理后发送给从机设备的相应控制模块。如果两个CPU的缓冲存储区中都存在以上的请求信息,则需要协同控制单元根据附加在信息上的时间来按顺序执行相关的操作。同时,为了保证以上控制命令的原子操作特性,同一个CPU发起的一系列原子操作,不能被另外一个CPU的请求所打断。只有在这一系列操作都完成后协同控制单元才可以重新选择来自不同CPU的请求信息。
(4)协同控制单元内部实现了一系列的互斥操作控制寄存器。借用这些寄存器,两个CPU也可以实现较为复杂的原子操作控制,优先执行完成同一原子操作的所有处理请求,防止两个CPU之间的干扰,并保证操作的正确性。
(5)协同控制单元还负责收集从机设备中的状态等需要传递给CPU的信息,将其按指定格式存储到以上的存储空间,并附加精确时间、源地址、目的地址等信息,修改状态标志寄存器,并产生相应的请求信号(如中断信号)以方便CPU的读取。
在实际应用中,内外CPU的协同工作主要包括以下几种操作:一是内外CPU发起普通的访问控制指令到从机设备的核心处理单元;二是内外CPU发起包含原子操作的访问控制指令到从机设备的核心处理单元;三是从机设备的核心处理单元发送消息到内外两个CPU的操作;四是内外两个CPU之间进行数据交互。本发明的技术方案用最简单的方法实现了内外CPU高效地协同工作。以下对应上述的几种操作,对其操作步骤进行具体说明。
操作1.内外CPU发起普通的访问控制指令到从机设备的核心处理单元的具体操作如下所述:
如内部CPU发起命令时,通过内部总线将该命令信息发送到协同控制单元。协同控制单元接收到该CPU的命令信息后,读取当前时间,并与该命令信息一同存储在内部的一个FIFO(FIFO_0)中。协同控制单元中的选择仲裁逻辑检测到以上FIFO_0非空后,将其读出并进行相应的处理后发送到从机核心处理单元,再将从机核心处理单元的结果返回给这个CPU。如果外部CPU也发起了针对从机核心处理单元的操作命令,则同样会附加时间信息后存储到与这个CPU对应的FIFO(FIFO_1)中。
如果FIFO_0和FIFO_1中都存在针对从机设备核心处理单元的操作命令,选择仲裁逻辑首先要检测当前两个CPU的操作是否针对从机设备中的同一个地址,如果不是同一个地址,则会同时读出以上两个FIFO中的数据同时发送到从机设备的核心处理单元,并在接收到来自从机设备核心处理单元返回的两个结果后,分别发送到两个CPU,如果两个FIFO中存储的是读取从机设备相同地址的操作命令,则选择仲裁逻辑可以合并为一条读指令,并将其发送到从机设备的核心处理单元,返回的结果也同样复制为两份,分别发送到两个CPU。如果两个FIFO中的操作有冲突,则选择仲裁逻辑会根据附加在操作命令上的时间信息,先后对其进行处理,并分别返回结果给相应的CPU。
以上过程在两个CPU的操作不同的地址且没有冲突的情况下,可以同时处理,使工作效率提升一倍,而在有冲突时,根据时间先后进行处理,保证了处理的正确性。如果以上FIFO中存储的命令有多条,则会依次对其进行处理。并在每次处理前根据以上操作规则进行选择执行。
操作2.内外CPU发起包含原子操作的访问控制指令到从机核心处理单元的操作如下所述:
内部或外部CPU发起一个原子操作,该操作的命令中包含表示当前操作是原子操作的标志信息。因为原子操作一般都是多条命令信息的集合,所以从每条命令信息都需要包含该标志信息。同时在此原子操作的第一条和最后一条命令信息中要包含表示原子操作开始和结束的标志信息。以上标志信息只要两个CPU与从机设备核心处理单元事先定义好数据格式即可(如在CPU发送的命令信息里增加一个两位的二进制信号:b00表示普通操作,b01表示原子操作的开始,也就是原子操作的第一条命令,b10表示原子操作的最后一条命令,而b11表示此命令为原子操作的中间命令)。
协同控制单元收到原子操作的命令信息后,类似操作1中的处理,也将其附加时间信息后先存储到FIFO_0或FIFO_1中。协同控制单元检测到FIFO中有命令待处理时,先按其中的时间顺序选择一个FIFO中的第一条命令开始处理。然后检测到当前命令是原子操作命令,则在处理完当前这条命令后仍继续选择该FIFO中的后结命令来处理,直到检测到处理的原子操作的最后一条命令时,再根据两个FIFO中的存储的命令上的时间信息来重新选择执行。这样就保证了某个CPU的原子操作中的一系列命令会完整执行,不会被其他CPU的操作所打断,从面保证了本次原子操作完整性和正确性。
操作3.从机设备的核心处理单元发送消息到内外两个CPU:
协同控制单元收集从机设备核心处理单元产生的状态变化等信息,将其附加状态变化的时间信息,并存储在内部的存储区中。更改标志这些状态变化寄存器的值,同时根据需要产生相应的中断信号,分别送到两个CPU。如果是针对某一个CPU的状态变化信息,则中断信号只需要送到该CPU即可。而该CPU收到中断信号后,可以直接发起处理操作,并通过协同控制单元将这些操作再传递到从机设备的核心处理单元中。待从机设备的核心处理单元完成该处理后,协同控制单元清除状态标志寄存器,完成本次状态变化的整个处理过程。
如果状态变化信息是要同时送到两个CPU时,则由协同控制单元同时产生送往两个CPU的中断信号。两个CPU在收到中断信号后,可能会同时进行处理,则需要协同控制单元在收到来自两个CPU的处理请求时,按操作2中的原子操作过程完成某个CPU的中断信号处理流程。一旦某个CPU的请求被优先处理后,协同控制单元需要设置标志寄存器,并通知另外一个CPU,以方便这个CPU需要用最新的状态决定后续的处理。
在实际应用中,除可以由以上所述的中断信号方式来通知CPU外,也可以通过CPU主动查询的方式来判断当前从机设备的状态变化信息。某个CPU可以开启一个进程,定期来读取协同控制单元中的状态变化寄存器的值,如果该值显示从机设备的核心处理单元有状态变化,则CPU可以发起后续的处理操作请求,并交协同控制单元来具体执行。同样的,如果两个CPU同时查询到有状态变化时,可能同时发起请求操作。这时协同控制单元按接收到的时间顺序,并在保证原子操作的完整性的前提下选择执行。同样一旦选中了一个CPU的请求命令后,同样需要设置标志寄存器,以通知另外的CPU。
操作4.内外两个CPU之间进行数据交互:
内外CPU之间需要交互信息,如根据各自的工作量,在忙时将某些任务交给另外的CPU进行处理,以平衡两个CPU的负载。以前的技术方案中大多采用网络通信的方式进行信息传递,效率比较低下。即使采用以上所述的技术二中的硬件方案,也存在需要增加外部硬件设备(如可编程逻辑器件FPGA)和逻辑设计的工作。
本发明实施例中因为存在协同控制单元,则可以将源CPU的待传递的信息接收下来并放置在两个CPU都可以访问的共享存储区内,并通过中断信号或其他方式通知目的CPU。协同控制单元在存储以上信息时,也把信息接收时间、信息类型等标志按事先约定的格式存储下来,以方便读取。目的CPU在接收到中断信号或通过查询等方式得知有信息交互请求时,按事先约定的方式读取待传递信息。而协同控制单元在目的CPU读取所有这些信息后修改状态标志寄存器,并产生中断信号以通知源CPU。
两个CPU之间存储以上交互信息的方式需要事先约定,简单地可以由协同控制单元定义一块共享存储区,并将其切分成合适的多块,每一块内的数据存储格式固定,且地址连续。源CPU的待交互信息被协同控制单元按要求的格式,分块将其按顺序写入这些存储区。而目的CPU读取这些交互信息时,协同控制单元再按顺序将其读出,并通过内部或外部总线送给目的CPU。因为读和写操作都由协同控制单元完成,且按相同的顺序进行操作,可以保证这些交互信息的完整性。
可以在协同控制单元中实现直接内存存取(Direct Memory Access,DMA)控制逻辑。源CPU和目的CPU只要操作交互信息在各自内存空间的地址指针即可,具体的数据搬移操作由协同控制单元的DMA控制逻辑完成。这样即可进一步减轻CPU的负载,从而提高了处理效率。
本发明实施例通过一种简单易实现,能够达到高效处理内外CPU协同工作,并对单一从机设备进行协调控制的双主机系统工作装置。通过在从机设备中内嵌的CPU增加简单的处理逻辑,将外部CPU的控制总线接进来,与内部总线做简单的逻辑处理,完成实时的信息交互、可靠的原子操作控制等功能。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (8)

1.一种双主机协同工作装置,其特征在于,包括:
存储单元,对应不同CPU划分为对应的存储区域;
时钟发生器,用于产生当前时间信息;
协同控制单元,接收来自不同CPU的访问控制指令和交互信息,并将所述访问控制指令或所述交互信息附加当前时间信息后存储到对应的存储区域中;以及,
解析所述存储区域中的访问控制指令,将对CPU的访问控制指令存储到与目的CPU对应的存储空间,以及将对从机设备的访问控制指令发送到从机设备的处理模块,
存在多个读取从机设备相同地址的访问控制指令时,所述协同控制单元合并多个所述访问控制指令,发送到所述从机设备的处理模块,并将返回结果分别发送到对应的多个CPU可访问的存储空间,
存在多个有操作冲突的对从机设备相同地址的访问控制指令时,所述协同控制单元读取多个所述访问控制指令附加的当前时间信息,根据所述当前时间信息的先后顺序发送给所述从机设备的处理模块,并将返回结果分别发送到对应的多个CPU可访问的存储空间。
2.如权利要求1所述的双主机协同工作装置,其特征在于,所述协同控制单元于在执行当前访问控制指令时判定当前的访问控制指令为原子操作时,优先执行完成同一原子操作的所有访问控制指令。
3.如权利要求1所述的双主机协同工作装置,其特征在于,所述协同控制单元还用于,从所述从机设备的处理模块获取从机设备的状态变化信息,并附加当前时间信息后存储到与各CPU对应的存储区域中。
4.如权利要求3所述的双主机协同工作装置,其特征在于,所述协同控制单元于附加当前时间信息后存储到与各CPU对应的存储区域后,还包括执行:更改状态变化寄存器的标识值,并于从所述从机设备的处理模块收到根据CPU操作处理的反馈后,清除所述状态变化寄存器的标识值。
5.如权利要求4所述的双主机协同工作装置,其特征在于,当所述协同控制单元收到多个CPU的处理请求时,根据所述处理请求的当前时间信息的先后顺序处理。
6.如权利要求5所述的双主机协同工作装置,其特征在于,所述协同控制单元于执行当前的CPU处理请求中判定当前CPU处理请求为原子操作时,优先执行完成同一原子操作的所有处理请求。
7.如权利要求5所述的双主机协同工作装置,其特征在于,所述协同控制单元于执行当前的CPU处理请求时,设置标识寄存器,并将状态变化通知其他发送处理请求的CPU。
8.如权利要求1所述的双主机协同工作装置,其特征在于,所述协同控制单元还用于通过直接内存读取完成对数据的搬移操作。
CN201910188623.9A 2019-03-13 2019-03-13 双主机协同工作装置 Active CN109992539B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910188623.9A CN109992539B (zh) 2019-03-13 2019-03-13 双主机协同工作装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910188623.9A CN109992539B (zh) 2019-03-13 2019-03-13 双主机协同工作装置

Publications (2)

Publication Number Publication Date
CN109992539A CN109992539A (zh) 2019-07-09
CN109992539B true CN109992539B (zh) 2023-03-10

Family

ID=67130598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910188623.9A Active CN109992539B (zh) 2019-03-13 2019-03-13 双主机协同工作装置

Country Status (1)

Country Link
CN (1) CN109992539B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531686B (zh) * 2019-09-28 2024-07-12 徐州可云智能科技有限公司 一种基于单主多从协议实现多主机的装置及其方法
CN114691594B (zh) * 2022-03-11 2023-05-23 珠海海奇半导体有限公司 一种基于非对称双核mcu设计的芯片架构及其实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101655824A (zh) * 2009-08-25 2010-02-24 北京广利核系统工程有限公司 一种双口ram互斥访问的实现方法
US9092597B2 (en) * 2009-12-09 2015-07-28 Sandisk Technologies Inc. Storage device and method for using a virtual file in a public memory area to access a plurality of protected files in a private memory area
US10025747B2 (en) * 2015-05-07 2018-07-17 Samsung Electronics Co., Ltd. I/O channel scrambling/ECC disassociated communication protocol

Also Published As

Publication number Publication date
CN109992539A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN109308283B (zh) 一种SoC片上系统及其外设总线切换方法
CN111190842B (zh) 直接存储器访问、处理器、电子设备和数据搬移方法
US20110265093A1 (en) Computer System and Program Product
US20030177288A1 (en) Multiprocessor system
JP2002342299A (ja) クラスタシステム、コンピュータ及びプログラム
CN108415859B (zh) 一种激光陀螺仪数据的硬件加速电路
WO2022032990A1 (zh) 一种命令信息传输方法、系统、装置及可读存储介质
CN109992539B (zh) 双主机协同工作装置
CN111857669A (zh) 软硬件解耦合软件化雷达系统、实时性设计方法和服务器
WO2020177567A1 (zh) 一种迁移数据的方法、装置及系统
CN110737618B (zh) 内嵌处理器进行快速数据通信的方法、装置及存储介质
CN112947857A (zh) 一种数据搬移方法、装置、设备及计算机可读存储介质
CN115827524A (zh) 一种数据传输方法以及装置
KR900004291B1 (ko) 데이터 프로세서
JPH0340868B2 (zh)
US7774513B2 (en) DMA circuit and computer system
JPH06131244A (ja) 共有メモリの非同期アクセス方式
US5734918A (en) Computer system with an input/output processor which enables direct file transfers between a storage medium and a network
CN116719764A (zh) 数据同步方法、系统以及相关装置
CN116483259A (zh) 一种数据处理方法以及相关装置
JPH08212178A (ja) 並列計算機
KR20080089620A (ko) 공유 메모리형 멀티 프로세서에 있어서의 비동기 원격 절차 호출 방법 및 비동기 원격 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
CN116745754A (zh) 一种访问远端资源的系统及方法
CN116601616A (zh) 一种数据处理装置、方法及相关设备
KR100978083B1 (ko) 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province

Applicant after: Suzhou Shengke Communication Co.,Ltd.

Address before: Unit 13 / 16, floor 4, building B, No. 5, Xinghan street, Suzhou Industrial Park, Suzhou, Jiangsu Province, 215000

Applicant before: CENTEC NETWORKS (SUZHOU) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant