用于在处理单元之间交换数据的通信架构的制作方法

文档序号:14347135阅读:171来源:国知局
用于在处理单元之间交换数据的通信架构的制作方法

本发明涉及包括用于并行操作的多个处理单元的数据处理系统,尤其涉及用于嵌入到航空器的所述数据处理系统。

本发明的特别有益但完全非限制性的应用涉及基于一个或多个图形计算处理器的使用的数据处理系统,该一个或多个图形计算处理器能够与一个或多个中央处理器协作以执行图形计算并创建图形内容,这些图形内容用于显示在嵌入到航空器的人机界面的屏幕上。

本发明总体上涉及包括处理单元的任何数据处理系统,这些处理单元能够接收用于并行操作的软件应用或硬件应用。

这种类型的数据处理系统被赋予了确保数据处理单元之间的数据交换的通信架构。



背景技术:

可以使用各种类型的技术来实现处理单元之间的通信。

首先,可使用时分多址(time-divisionmultipleaccess,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。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1