CN107992444B - 用于在处理单元之间交换数据的通信架构 - Google Patents

用于在处理单元之间交换数据的通信架构 Download PDF

Info

Publication number
CN107992444B
CN107992444B CN201710942597.5A CN201710942597A CN107992444B CN 107992444 B CN107992444 B CN 107992444B CN 201710942597 A CN201710942597 A CN 201710942597A CN 107992444 B CN107992444 B CN 107992444B
Authority
CN
China
Prior art keywords
data
processing unit
communication architecture
shared memory
processing units
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
CN201710942597.5A
Other languages
English (en)
Other versions
CN107992444A (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.)
Saifeng Electronics And Defense Module Solutions Co
Original Assignee
Saifeng Electronics And Defense Module Solutions Co
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 Saifeng Electronics And Defense Module Solutions Co filed Critical Saifeng Electronics And Defense Module Solutions Co
Publication of CN107992444A publication Critical patent/CN107992444A/zh
Application granted granted Critical
Publication of CN107992444B publication Critical patent/CN107992444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Multi Processors (AREA)
  • Programmable Controllers (AREA)

Abstract

本通信架构用于在用于并行操作的处理单元(u1,...,un)之间交换数据,该通信架构包括通信系统(2),通信系统(2)包括一组接口(4‑1,...,4‑n)、一组定序器(5‑1,...,5‑m)和一组地址管理器(6‑1,...,6‑m),一组接口中的每个接口用于链接到一个处理单元,处理单元可访问共享存储器以写入和读取数据,该组定序器能够为每个处理单元定义访问该共享存储器的时间间隔,以顺序仲裁对共享存储器的访问,该组地址管理器能够为每个处理单元分配用于访问共享存储器端口。

Description

用于在处理单元之间交换数据的通信架构
技术领域
本发明涉及包括用于并行操作的多个处理单元的数据处理系统,尤其涉及用于嵌入到航空器的所述数据处理系统。
本发明的特别有益但完全非限制性的应用涉及基于一个或多个图形计算处理器的使用的数据处理系统,该一个或多个图形计算处理器能够与一个或多个中央处理器协作以执行图形计算并创建图形内容,这些图形内容用于显示在嵌入到航空器的人机界面的屏幕上。
本发明总体上涉及包括处理单元的任何数据处理系统,这些处理单元能够接收用于并行操作的软件应用或硬件应用。
这种类型的数据处理系统被赋予了确保数据处理单元之间的数据交换的通信架构。
背景技术
可以使用各种类型的技术来实现处理单元之间的通信。
首先,可使用时分多址(time-division multiple access,TDMA)控制技术来监管处理单元之间的通信。该TDMA技术依赖于通过分配各处理单元间的可用访问时间而进行的可用通频带的时间分割。因此,TDMA的原理依赖于时间窗口或“时隙”的使用,在时间窗口或“时隙”内,单个处理单元访问受监管的元素。
在时间窗口终止后,对资源的访问委托给另一个处理单元。
可根据时间重复机制固定并组织时间窗口。但是,在这种情况下,通信不是最理想的。其实,当已被给予时间窗口的处理单元在分配给其的该时间段内没有任何行动时,可能有行动要执行的另一个元件却不能访问该通信架构。
以上就是我们提议动态分配时间窗口的原因。使用动态版本的TDMA是已知的,其根据要求和通频带方面的需求对时间窗口进行分配。
动态版本的TDMA访问的缺点是,每个处理单元层面上的数据交换机制呈现出不可预测性。确保一方在每一时刻与其需要访问的资源进行通信也是不可能的。
发明内容
本发明的目的是提出一种通信架构,该通信架构用于在能够并行操作的处理单元之间交换数据,在该通信架构中,保证了数据通信的可预测特性。
换句话说,本发明的目的是提出一种通信架构,该通信架构用于在能够并行操作的处理单元之间交换数据,保证了每个处理单元访问其被实际授权访问的资源。
因此,根据第一方面,本发明的主题是一种用于在处理单元之间交换数据的通信架构,这些处理单元尤其用于接收能够并行操作的软件应用或硬件应用,该通信架构包括通信系统,该通信系统包含一组接口、一组定序器和一组地址管理器,所述一组接口中的每个接口用于连接到一个处理单元,处理单元可访问共享存储器以写入和读取数据,所述一组定序器能够为每个处理单元定义访问该共享存储器的时间间隔,以顺序仲裁对该共享存储器的访问,所述一组地址管理器能够为每个处理单元分配端口,用于访问该共享存储器。
因此,该通信架构使得能够在为每个处理单元分配内存地址区域以读取和写入数据的同时,定义访问共享存储器的时间间隔。
因此,地址管理器保证了处理单元无权访问共享存储器的这些端口中未被授权访问的任何端口。
根据本发明所述的通信架构的另一特征是,通信架构还包括配置存储器,该配置存储器用于与地址管理器通信并用于为每个处理单元接收访问表,用于访问访问端口和共享存储器。
可提供错误检测装置,该错误检测装置与配置存储器和共享存储器中的至少一个相关联。
在一个实施例中,定序器是时分多址(TDMA)定序器。
在一个实施例中,定序器包括可配置装置,该可配置装置将定序器选择性地连接到接口。
有利地,对于每个处理单元,共享存储器包括至少两个存储位置,所述至少两个存储位置包括至少一个用于存储采样消息的存储位置,和至少一个用于存储数据队列的存储位置。
在一个实施例中,通信架构的所有组成元件或部分组成元件被集成在同一个集成电路中。
根据另一个方面,本发明的主题也是一种用于处理多个数据的系统,该系统包括一组数据处理单元,该组数据处理单元被特别地配置为接收用于并行操作的软件应用或硬件应用。
该系统包括至少一个例如上文限定的、用于在处理单元之间交换数据的通信架构。
在一种实施方式中,该系统包括第一组数据处理单元和至少一个第二组数据处理单元,第一组处理单元和至少一个第二组数据处理单元中的每组中的多个数据处理单元通过至少一个通信系统连接,所述至少一个通信系统中的每一个连接到一个或多个共享存储器。
附图说明
通过阅读以下仅以非限制性示例给出并参照附图的描述,本发明的其他目的、特点和优点将变得明显,在附图中:
图1是根据本发明的通信架构的示意图;
图2示出了在图1的通信架构中所实施的时分多址的排序机制;
图3和图4示出了访问存储有采样消息和数据队列的共享存储器的原理;
图5示出了使用图1的通信架构的多数据处理系统的示例性实现。
具体实施方式
图1示意性地示出了根据本发明的通信架构,该通信架构由通用标号1指示。
在设想的示例性实施例中,该通信架构1用于通过通信系统2和共享存储器3来确保处理单元u1,u2,…un之间的数据通信,上述处理单元u1,u2,…un能够接收软件应用或硬件应用。
如图1的实施例中所表现的,共享存储器3可位于通信系统2内,或者也可位于该通信系统2之外。
例如,本发明的通信架构1可用在包括一组诸如处理器的处理单元的多核数据处理系统中,所述处理器联网对处理器之间的数据进行交换。
可联网的处理器可以是与中央处理器协作的图形计算处理器。
大体上说,本发明涉及一种通信架构,该通信架构允许处理单元之间的数据交换,该处理单元中装有并行操作的软件应用或硬件应用,或者用于接收并行操作的软件应用或硬件应用。
通信系统2顺序包括一组接口4-1,4-2…,4-n,所述一组接口中的每一个连接到单个处理单元。
这些接口由适于以双向方式与处理单元进行通信的接口构成。
接口4-1,4-2,…,4-n链接到定序器5-1,5-2,…,5-m,这些定序器接收来自接口的数据流,并为中央处理单元分配时间窗口以访问共享存储器3。
定序器5-1,5-2,…,5-m可以是TDMA定序器。在这种情况下,这些定序器5-1,5-2,…,5-m通过定义时间窗口,确保了用于访问共享存储器3的可用通频带的时间分割,在时间窗口内,对于定序器5-1,5-2,…,5-m中的每个定序器,上述接口中的单个接口被授权为将数据传递到共享存储器3或接收源自于该共享存储器3的数据。
通信系统2还被赋予了一组地址管理器6-1,6-2,…,6-m,这组地址管理器中的每个地址管理器与相应的定序器进行通信,且这组地址管理器控制对共享存储器3的访问。
地址管理器6-1,6-2,…,6-m由配置存储器监管,该配置存储器中可加载有一个或多个访问表,用于在任何使用之前或使用时访问共享存储器的端口p1,p2,…,pm。
该一个或多个访问表的加载使得能够定义这样一种配置,该配置允许地址管理器6-1,6-2,…,6-m在访问期间通过端口p1,p2,…,pm从共享存储器3的特定物理位置转移数据,或向共享存储器3的特定物理位置转移数据。
为了保证对共享存储器3的访问,可访问端口的数量m对应于地址管理器的数量和定序器的数量,以这种方式,多个定序器可并行且同时地访问该共享存储器。
在配置阶段,可例如在启动处理系统时对配置存储器7进行配置,在该配置阶段内,由每个处理单元声明该处理单元用于写入的端口。然后,将这些访问表提供给地址管理器以指示,处理单元被授权为与其进行通信的端口。
可在可编程硬件设备的程序块的基础上获得通信系统的基本元件和定序器的基本元件。
因此,在先前配置阶段内对对共享存储器端口的访问进行编程,并将该配置存储在配置存储器中。
图1中可实际看出,定序器能够链接到一组接口4-1,4-2,…,4-n。
根据图1所示的实施例,定序器在输入端被赋予了可配置元件,可配置元件用于选择性地连接到接口。
这些可配置元件此处包括开关8,开关8被选择性地编程以确保定序器与单个接口的链接。
图1中还可看出,配置存储器7被赋予了纠错模块9,及共享存储器3被赋予了纠错模块10,上述纠错模块确保了存储在存储器3和7中数据的错误的检测和/或修正。例如,这可能需要根据存储在存储器中的字的其他位的值来检测并修正损坏的数据位。
根据一种变型,多个存储器中只有一个存储器或剩余存储器被赋予了这种用于修正错误的模块。
参见图2,TDMA定序器5-1,5-2,…,5-m通过使用访问共享存储器3以进行数据写入或读取的时间间隔,确保了对共享存储器3的访问的仲裁。
根据图2所示的实施例,基于访问时间间隔“时隙1,...,时隙n”的周期P执行访问。这里所使用的序列是基于固定但可选地非均匀的访问间隔的序列。每个时隙的时间间隔的大小可以不同。每个周期的这些时间间隔的配置要么在启动定序器时加载,要么永久存储在定序器中。
根据图3和图4所示的实施例,对于每个端口,使用存储位置执行对共享存储器3的访问,该存储位置可以是用于存储采样消息的存储位置、用于存储数据队列的存储位置、或其他类型的存储位置。
因此,共享存储器3被划分成部分U1,...,Un,分别分配给多个处理单元。对于每个部分U1,...,Un,共享存储器3包括一个或多个用于读取和写入采样消息M的存储位置“端口采样1”,...,“端口采样p”。该读取和写入机制通常称为“采样”。
对于每个部分U1,...,Un,共享存储器3还包括用于存储数据队列M1、M2和M3的存储位置“端口队列1”,...,“端口队列q”。这些访问称为“队列”。
根据通过采样消息对共享存储器进行的访问,在每次新的写入时对包含在端口中的信息进行更新。访问端口涉及管理消息M的大小。
如图所示,可以将表示数据项已存储在存储器中的时长的指示符I添加到每个存储位置。
根据基于数据队列的存储器访问机制,由处理单元之一写入的第一数据项是,由接收数据的接收处理单元所读取的第一数据项。
一旦该数据项被读取,其就会被从端口清除。这种读取和写入机制涉及消息大小和队列深度的概念的使用。
在以上两种情况下,单个处理单元被授权为将数据写入分配给该处理单元的端口。在基于数据队列的存储器访问的情况下,单个处理单元被授权为读取并利用写入到存储器的数据。
依靠地址管理器的使用,处理单元可以在不知道存储读取和写入消息的物理地址的情况下访问存储器的存储元件,诸如采样端口1到p和队列端口1到q。
地址管理器确保了对端口的管理。
在基于采样的写入的情况下,地址管理器确保了消息的完整性。
只要处理单元访问消息,那么该消息就不会被新的写入所改变,但不会阻止该新的写入。
对存储元件的读访问保证了对最新数据项的读取。
在正在进行读访问的情况下,新的写入不会改变处理单元在读取过程中所读取的数据项。另一方面,任何新的访问都是针对新的数据项完成的。
在基于数据队列的访问的情况下,访问管理器保证了读取的消息是队列中第一个可获得的消息。
在读访问期间,地址管理器返回包含在等待队列中第一消息中的数据。
在随后的访问中,向接收者提供后续消息,而接收者不必担心后续消息的物理地址。
在所有情况下,地址管理器都确保了每个存储元件仅具有单个提供者,并且在基于队列的访问的情况下,每个存储元件仅具有单个用户。
关于共享存储器3,其实际上可以由一个或多个存储器构成。共享存储器3也可以被集成到通信系统中,或由通信系统外部的存储器构成。
该通信系统或该通信系统的主要组成元件可以被集成到同一个集成电路中。
刚描述的本发明可以用于确保多数据处理系统的处理单元之间的数据交换。
例如,可能需要确保分区和连通的数据处理器之间的通信。
这种系统的示例性实施例已经在图5中示出。
图5中示出的系统是多核系统,该多核系统在此处包括两级,每级包括多个处理单元u1,...,un以及一组或多组额外的处理单元u'1,...,u'n。根据本发明的系统可以是包括三级、四级或甚至更多级的多核系统。
通过与前述通信系统2相同的通信系统利用一个或多个共享存储器3,执行第一组处理单元的处理单元与第二组处理单元的处理单元之间的数据交换和每个处理单元内的数据交换。
根据图5所示的实施例,通信系统2共享同一共享存储器3。
根据另一变型,多个通信系统2中的每个具有一个或多个专用共享存储器3。

Claims (9)

1.一种通信架构(1),用于在能够并行操作的处理单元(u1,...,un)之间交换数据,其特征在于,所述通信架构(1)包括通信系统(2),所述通信系统(2)包括一组接口(4-1,...,4-n)、一组定序器(5-1,...,5-m)和一组地址管理器(6-1,...,6-m),所述一组接口中的每个接口用于链接到一个处理单元,所述处理单元可访问共享存储器(3)以写入和读取数据,所述一组定序器(5-1,...,5-m)能够为每个处理单元定义访问所述共享存储器(3)的时间间隔,以顺续仲裁对所述共享存储器(3)的访问,所述一组地址管理器(6-1,...,6-m)能够为每个所述处理单元分配用于访问所述共享存储器(3)的端口。
2.如权利要求1所述的通信架构,其特征在于,所述通信架构还包括配置存储器(7),所述配置存储器(7)用于与所述一组地址管理器(6-1,...,6-m)进行通信并为每个处理单元接收访问表,用于访问访问端口和所述共享存储器。
3.如权利要求2所述的通信架构,其特征在于,所述通信架构包括错误检测装置(9,10),所述错误检测装置与所述配置存储器和所述共享存储器中的至少一个相关联。
4.如权利要求1至3中任一项所述的通信架构,其特征在于,所述一组定序器(5-1,...,5-m)是时分多址定序器。
5.如权利要求1至4中任一项所述的通信架构,其特征在于,所述定序器包括可配置装置(8),所述可配置装置将所述定序器选择性地链接到所述接口。
6.如权利要求1至5中任一项所述的通信架构,其特征在于,对于每个处理单元,所述共享存储器(3)包括至少两个存储位置,所述至少两个存储位置包括至少一个用于存储采样消息的存储位置和/或至少一个用于存储数据队列的存储位置。
7.如权利要求1至6中任一项所述的通信架构,其特征在于,所述通信架构的部分组成元件或所有组成元件被集成于同一个集成电路中。
8.一种用于处理多个数据的系统,其特征在于,所述系统包括用于并行操作的一组数据处理单元(u1,...,un,u'1,...,u'n),其中,所述系统包括至少一个如权利要求1至7中任一项所述的用于在所述一组数据处理单元之间交换数据的通信架构(1)。
9.如权利要求8所述的处理系统,其特征在于,所述系统包括第一组数据处理单元(u1,...,un)和至少一个第二组数据处理单元(u'1,...,u'n),所述第一组处理单元和所述至少一个第二组数据处理单元中的每组数据处理单元中的多个数据处理单元通过至少一个通信系统(2)链接,所述至少一个通信系统(2)中的每个通信系统链接到一个或多个共享存储器(3)。
CN201710942597.5A 2016-10-26 2017-10-11 用于在处理单元之间交换数据的通信架构 Active CN107992444B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1660389A FR3057970B1 (fr) 2016-10-26 2016-10-26 Architecture de communication pour l'echange de donnees entre des unites de traitement
FRFR1660389 2016-10-26

Publications (2)

Publication Number Publication Date
CN107992444A CN107992444A (zh) 2018-05-04
CN107992444B true CN107992444B (zh) 2024-01-23

Family

ID=58347481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710942597.5A Active CN107992444B (zh) 2016-10-26 2017-10-11 用于在处理单元之间交换数据的通信架构

Country Status (5)

Country Link
US (1) US11216308B2 (zh)
CN (1) CN107992444B (zh)
CA (1) CA2981462A1 (zh)
DE (1) DE102017122909A1 (zh)
FR (1) FR3057970B1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544203B2 (en) 2019-12-30 2023-01-03 Micron Technology, Inc. Sequencer chaining circuitry
US11513941B2 (en) * 2020-09-02 2022-11-29 Ge Aviation Systems Llc Systems and method for flexible write- and read-access of a regulated system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810124A (zh) * 2012-11-09 2014-05-21 辉达公司 用于数据传输的系统及方法
US9098462B1 (en) * 2010-09-14 2015-08-04 The Boeing Company Communications via shared memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363096A (en) * 1980-06-26 1982-12-07 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
US6687797B1 (en) * 2001-05-17 2004-02-03 Emc Corporation Arbitration system and method
EP1482412B1 (en) * 2003-05-30 2006-08-23 Agilent Technologies Inc Shared storage arbitration
JP5037952B2 (ja) * 2007-01-15 2012-10-03 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US20080270658A1 (en) * 2007-04-27 2008-10-30 Matsushita Electric Industrial Co., Ltd. Processor system, bus controlling method, and semiconductor device
FR3019340B1 (fr) * 2014-03-28 2016-03-25 Voox Composant electronique a reponse determeniste

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098462B1 (en) * 2010-09-14 2015-08-04 The Boeing Company Communications via shared memory
CN103810124A (zh) * 2012-11-09 2014-05-21 辉达公司 用于数据传输的系统及方法

Also Published As

Publication number Publication date
CN107992444A (zh) 2018-05-04
CA2981462A1 (fr) 2018-04-26
US11216308B2 (en) 2022-01-04
FR3057970B1 (fr) 2019-12-13
US20180113743A1 (en) 2018-04-26
DE102017122909A1 (de) 2018-04-26
FR3057970A1 (fr) 2018-04-27

Similar Documents

Publication Publication Date Title
US9098462B1 (en) Communications via shared memory
KR100501289B1 (ko) 입력/출력 서브-프로세서와의 비동기 인터페이스를 통한 입력/출력 성능 개선 방법
US9542227B2 (en) Parallel dynamic memory allocation using a lock-free FIFO
Craig Queuing spin lock algorithms to support timing predictability
US20130198419A1 (en) Lock-free fifo
US10013235B2 (en) Method and system for queuing data for multiple readers and writers
US10346311B2 (en) Configurable hardware queue management and address translation
US20010014918A1 (en) Method and apparatus for synchronized message passng using shared resources
CN107992444B (zh) 用于在处理单元之间交换数据的通信架构
EP0198559B1 (en) Communication system including a first-in-first-out buffer
US10031786B2 (en) Lockless multithreaded completion queue access
CN105302489B (zh) 一种异构多核远程嵌入式存储器系统与方法
US8364879B2 (en) Hierarchical to physical memory mapped input/output translation
US5572697A (en) Apparatus for recovering lost buffer contents in a data processing system
KR20050076702A (ko) 멀티프로세서 시스템에서의 데이터 전송 방법과, 그방법을 수행하는 멀티프로세서 및 프로세서
US20030120842A1 (en) Writing and reading data from a queue
CN108984441B (zh) 一种保持数据传送一致性的方法及系统
US10691486B2 (en) Processor comprising a plurality of computation cores
US20190377671A1 (en) Memory controller with memory resource memory management
US11360702B2 (en) Controller event queues
US8689230B2 (en) Determination of running status of logical processor
US8219736B2 (en) Method and apparatus for a data bridge in a computer system
US10002099B2 (en) Arbitrated access to resources among multiple devices
US7549026B2 (en) Method and apparatus to provide dynamic hardware signal allocation in a processor
US6654861B2 (en) Method to manage multiple communication queues in an 8-bit microcontroller

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: The city of Monte Carlo, France

Applicant after: SaiFeng electronics and defense module solutions Co.

Address before: The city of Monte Carlo, France

Applicant before: Zodiac Aero Electric

GR01 Patent grant
GR01 Patent grant