计算单元和对此的运行方法与流程

文档序号:17441407发布日期:2019-04-17 04:48阅读:161来源:国知局
计算单元和对此的运行方法与流程

本发明涉及一种计算单元,该计算单元具有至少一个计算核、初级存储装置和至少一个主连接单元,所述至少一个主连接单元用于将至少一个计算核与初级存储装置连接。此外,本发明涉及一种用于这样的计算单元的运行方法。这样的计算单元是已知的,并且例如呈微控制器的形式而在市面有售。



技术实现要素:

本发明的任务是,对开头所述类型的计算单元进行如下改进:该计算单元具有提高的灵活性并且具有提高的实用性。

在开头所述类型的计算单元的情况下,该任务根据本发明通过根据权利要求1的特征组合来解决。

根据本发明的功能单元有利地提供了扩展计算单元的计算能力和/或功能性的可能性。尤其是,通过根据本发明的在功能单元之间的直接数据交换的可能性,能够实现如下数据流:所述数据流并没有将计算单元的其他部件、譬如其计算核或初级存储装置一起包括在内。以该方式,可以减轻计算核或初级存储装置或主连接单元的负担,而同时一个或者多个根据本发明的功能单元履行针对其设置的计算任务或别的任务。

根据本发明的数据流控制单元依照优选的实施形式呈特别构造的功能单元的形式而是可实现的,所述根据本发明的数据流控制单元可以有利地在功能单元的层级上控制要通过计算单元处理的数据的数据流。

特别优选地,根据本发明的计算单元可以使用在用于目标系统的控制设备中,例如使用在用于机动车的内燃机或者用于基于雷达的距离测量系统等等的控制设备中。不同于传统的计算单元、譬如传统的微控制器,给根据本发明的计算单元有利地扩展了通过功能单元提供的并且在下文更详细地描述的功能性,并且因此也可以将根据本发明的计算单元视为具有根据本发明能够实现的附加功能性的微控制器。通常,可以在如下地方到处采用根据本发明的计算单元:在那些地方采用常规计算单元、譬如微控制器或者微处理器或者数字信号处理器等等,并且在那些地方期望有附加功能性和/或更高的效率,如其通过根据本发明的功能单元所提供的那样。此外可能的是,通过根据本发明的计算单元替换在现有系统中存在的常规计算单元,以便能够实现更高效地执行从那时起通过常规计算单元实施的计算任务和别的任务。特别有利地,依照一些实施形式,在处理与安全有关的数据的领域中或用于加工加密算法的领域中也可设想采用根据本发明的计算单元。

在有利的实施形式中设置了,设置至少一个初级连接单元,所述至少一个初级连接单元构造为,在至少两个功能单元的至少一个其他的功能单元与第一功能单元之间至少暂时地建立(尤其是直接的)数据连接。这有利地能够实现对在不同的功能单元之间的数据交换或数据流的控制,使得在计算单元运行期间也可能配置或新配置(neukonfiguration)在相关的功能单元之间的(多个)数据连接,由此实现提高的灵活性。在优选的实施形式中,初级连接单元具有至少一个耦合网络。特别优选地,耦合网络设计为无阻塞的耦合网络。在该情况下,耦合网络在任何时候都能够实现在所有与该耦合网络连接的功能单元之间以及必要时在其他与该耦合网络连接的单元、譬如计算单元的部件之间建立数据连接。在其他实施形式中,也可设想的是,将初级连接单元实施为耦合网络,可是不是无阻塞地设计该耦合网络。在其他实施形式中,初级连接单元也可以包括另外的结构,例如包括至少一个总线系统,所述总线系统在连接到该总线系统上的功能单元之间建立数据连接。在其他实施形式中,初级连接单元也可以具有至少一个在至少两个功能单元之间的直接的数据连接。此外,在另外的实施形式中,也可设想在多于两个的功能单元之间的直接的数据连接。

在另一实施形式中,设置了至少一个二级连接单元,所述二级连接单元构造为,在主连接单元与至少一个功能单元之间建立数据连接,和/或在主连接单元与至少一个初级连接单元之间建立数据连接,由此给出有效率的连通(anbindung),用于在相关的功能单元与主连接单元之间传输数据。主连接单元例如可以构造为所谓的“核互连(core-interconnect)”,就是说可以为中央连接单元,用于高性能地(尤其是以高数据速率和/或低延迟时间)将根据本发明的计算单元的部件彼此间连接。在优选的实施形式中,主连接单元也可以优选地设计为耦合网络,尤其是设计为无阻塞的耦合网络。

在另一优选的实施形式中,设置了至少一个二级存储装置,其中在至少一个二级存储装置与至少一个功能单元之间存在直接的数据连接。在本上下文中,在二级存储装置与至少一个功能单元之间的直接的数据连接要被理解为如下这种数据连接:所述数据连接能够实现在二级存储装置与至少一个功能单元之间的数据交换,而对此并不使用主连接单元。换言之,在本实施形式中,可以直接在功能单元中的一个或多个功能单元与二级存储装置之间进行数据交换,由此没有减轻主连接单元的负担,使得必要时可以其他方式使用主连接单元,例如用于在计算核与二级存储装置之间进行数据交换等等。

在其他实施形式中设置了,计算单元的至少一个部件构造为,根据输出数据控制在功能单元彼此之间和/或在功能单元与计算单元的其他部件之间的至少一个数据流。

在一些实施形式中,前面所述的数据流可以例如通过数据流控制单元或者通过另外的功能单元来控制,使得所述的单元全体共同起作用并且经此能够实现例如将上级算法或子算法映射到多于一个的单个功能单元上,由此多个功能单元的经此获得的逻辑复合体(verbund)相较于各个未以这种方式共同起作用的功能单元可以实现更高的复杂性。

尤其是,根据本发明的数据流控制单元依照一些实施形式可以实施或承担控制任务,这并未已经通过联接正常的“简单的”功能单元来实现。同样,数据流控制单元可以在其他实施形式中例如也将子算法耦合成总算法,其中例如子算法包括多个功能单元和控制所述子算法的数据流控制单元,以及必要时包括至少一个其他的数据流控制单元,所述至少一个其他的数据流控制单元在逻辑上置于子算法的上级并且经此将所述子算法连接成整体。

在其他实施形式中设置了,数据流控制单元构造为,对输入数据进行与预设数据的比较,并且根据该比较产生输出数据。为此,数据流控制单元可以拥有至少一个(尤其是“自己的”)比较器。

在其他实施形式中设置了,数据流控制单元具有分析单元,所述分析单元构造为,分析输入数据和/或根据该分析产生输出数据。

在其他实施形式中设置了,数据流控制单元构造为,控制计算单元的多个功能单元的运行,例如用于实施比较复杂的算法或计算任务,其中数据流控制单元例如在算法或计算任务的意义上控制各个功能单元的运行。

在其他实施形式中设置了,数据流控制单元构造为,与至少一个外部部件交换数据,尤其是交换算法数据和/或控制数据。

在其他实施形式中设置了,数据流控制单元构造为,等待可预设的输入数据或控制数据,尤其是以便使其运行与计算单元的至少一个另外的部件同步(例如与定时器模块、a/d转换器、中断控制器(interrupt-controller)、外部接口同步)。在一些实施形式中,输入数据或控制数据例如通过计算单元的至少一个另外的部件(例如计算核、另外的数据流控制单元、另外的功能单元等)可输送给数据流控制单元。

在其他实施形式中设置了,数据流控制单元构造为,输出可预设的和/或所计算的输出数据或控制数据,尤其是以便控制计算单元的至少一个另外的部件(例如定时器模块、中断控制器、外部接口)。至计算单元的至少一个另外的部件(例如计算核、另外的数据流控制单元、另外的功能单元等)的输出数据或控制数据在一些实施形式中例如通过数据流控制单元是可输送的。

在其他实施形式中设置了,数据流控制单元构造为,将进入的数据直接地或者经修改地转交给一个或者多个另外的功能单元。

在其他实施形式中设置了,数据流控制单元构造为,采用循环计数器、尤其是其接收和分析以及产生和传输给另外的功能单元,用于控制在功能单元之间的数据流。

在其他实施形式中设置了,数据流控制单元构造为,通过至少一个另外的功能单元来管理和/或控制对数据的迭代计算和/或递归计算,尤其是管理计数器,用于迭代计算和/或递归计算。

在其他实施形式中设置了,数据流控制单元是可配置的。例如,数据流控制单元可以拥有具有一个或者多个配置寄存器的配置存储器,在所述配置存储器中可至少暂时地存储控制数据流控制单元的运行的配置。在一些实施形式中,数据流控制单元可以(尤其是独立地)从计算单元的存储器中加载或再加载配置数据,尤其是借助对初级存储装置和/或二级存储装置的存储器存取、例如经由相对应的存储器接口来加载或再加载配置数据。在另外的实施形式中,数据流控制单元有关配置数据的加载或再加载的特性也可以是是可配置的。从存储器中加载的或再加载的配置数据可以被用于配置数据流控制单元或者用于配置随后的功能单元。

在另一优选的实施形式中,功能单元中的至少一个功能单元(尤其是数据流控制单元)构造为硬件电路,尤其是完全构造为硬件电路。经此,有利地可以特别快速地且高效地实施计算、逻辑运算和别的由相关的功能单元提供的功能。

在另一有利的实施形式中设置了,所述功能单元中的至少一个功能单元(必要时也为数据流控制单元)具有如下元件中的至少一个元件:微控制器、数字信号处理器(dsp)、可编程逻辑电路(例如fpga,现场可编程门阵列(fieldprogrammablegatearray))、专用集成电路(asic,applicationspecificintegratedcircuit)。

在实施形式中设置了,所有功能单元(尤其也是至少一个数据流控制单元)构造为硬件电路,尤其是完全构造为硬件电路。在另外的实施形式中,可能的是,一个或者多个功能单元构造为硬件电路,尤其是完全构造为硬件电路,并且至少一个没有完全构造为硬件电路的部件或别的部件呈至少一个其他的功能单元的形式来设置。例如,在特别优选的实施形式中,可以设置第一数目的功能单元,所述第一数目的功能单元完全构造为硬件电路,并且另一功能单元例如可以具有微控制器或者可编程逻辑模块或可编程逻辑电路。

在另一有利的实施形式中设置了,所述功能单元中的至少一个功能单元具有如下部件中的至少一个部件:加法器、乘法器、除法器、移位寄存器、桶式移位器(barrel-shifter)、比较器、乘法累加器(mac)、算术逻辑单元(alu)、存储单元、寄存器、复用器、解复用器、接口、用于分析指数函数的单元、用于分析三角函数的单元。

在另一优选的实施形式中,所述功能单元中的至少一个功能单元具有至少一个粗粒度的(grobgranular)硬件元件。可替选地或者补充地,所述功能单元中的至少一个功能单元可以构造为粗粒度的硬件元件。术语“粗粒度的”在本发明中意思是,相关的硬件元件具有多于一个的逻辑门电路或由多于一个的逻辑门电路形成。门电路依照实施形式在功能和/或连接方面可以彼此间不变。一般而言,粒度理解为,系统由可彼此相区分的各个单元组成直至何种程度。粗粒度的系统由比较少的、比较大的粗粒度的元件组成,而细粒度的系统由比较多的、比较小的细粒度的元件组成。特别地,粒度可以在计算机架构的范围中通过逻辑门电路的数目并且随之而来地尤其是通过在计算运算或执行时间与通信或数据交换之间的关系来描述。在细粒度的硬件元件(分别一个逻辑门电路)中,可以快速地在比较短的执行时间内实施简单的逻辑运算,可是在各个元件之间频繁交换数据。与之不同,在粗粒度的硬件元件中(分别多个逻辑门电路)中,在比较长的执行时间的情况下实施尤其是相应复杂的运算,并且在各个元件之间较稀有地交换数据。

粗粒度的硬件元件因此尤其是要被理解为如下元件:所述元件分别可以自动地实施复杂的计算运算,尤其是为此并不频繁地彼此间交换数据。例如,各个粗粒度的硬件元件分别构造为如下元件中的一个:复杂度较高的(hoeherkomplex)元件、如算术逻辑单元(alu)、存储器存取单元、通信接口,和/或较不复杂的单元、如比较器、加法器、乘法器、除法器、移位寄存器、桶式移位器、乘法累加器(“multiply-accumulate”(mac))、寄存器或寄存器组、存储单元(例如ram、闪存(flash)等)、复用器(例如2:1-mux,m:n-mux)、解复用器。

在特别优选的实施形式中,通过多个相互连接的部件、譬如加法器、乘法器、除法器、移位寄存器、桶式移位器、比较器、乘法累加器、算术逻辑单元、存储单元、寄存器、复用器、接口或一般为粗粒度的能够形成(多个)功能单元或者其组成部分的硬件元件,提供比较复杂的计算装置,其中根据本发明,有利地至少一个第一功能单元构造为,从至少一个其他的功能单元接收第一数据和/或向至少一个其他的功能单元发送第二数据,如这已经在前面已描述过的那样。经此,可以限定如下数据流:所述数据流此外也能够实现实施比较复杂的计算,所述计算例如使用多个前面所述的部件或粗粒度的硬件元件,例如以可预设的顺序根据要分析的算法或者别的计算规则来使用多个前面所述的部件或粗粒度的硬件元件。

依照本发明的另一方面,尤其是通过根据本发明的数据流控制单元,数据流可以特别有利地也动态地(这意思是在根据本发明的计算单元的运行时间期间)被影响或被改变,就是说被重构(umkonfigurieren)或被重新配置。在其他优选的实施形式中,这例如可以通过相对应地控制初级连接单元来实现。

依照另一有利的实施形式设置了,计算单元构造为,改变至少一个功能单元(尤其也是数据流控制单元)(或一个或者多个包含于其中的粗粒度的元件)的配置,和/或检验至少一个功能单元的状态或配置。经此,进一步提高了根据本发明的计算单元的灵活性和实用性。例如,在实施形式中可以设置,至少一个功能单元具有配置寄存器,所述配置寄存器例如可以在本地布置在该功能单元中。通过对计算单元进行写存取,例如由于其计算核中的一个对计算单元进行写存取,计算单元因此可以改变相关的功能单元的配置。换言之,在一些实施形式中,例如计算单元的计算核可以构造为,改变至少一个功能单元(尤其也是数据流控制单元)的配置,和/或检验至少一个功能单元的状态或配置。

在其他实施形式中可想象的是,至少一个功能单元或至少一个数据流控制单元构造为,改变至少一个(另外的)功能单元或(另外的)数据流控制单元的配置,和/或检验至少一个功能单元的状态或配置。此外可想象的是,在其他实施形式中,功能单元构造为,改变和/或检验其自己的配置。

在优选的实施形式中可以设置,至少一个功能单元或至少一个数据流控制单元构造为,根据对输入数据的分析来实施对自己或另外的部件(例如另外的功能单元或数据流控制单元)的配置或重新配置。例如,在这种情况下,根据对输入数据的分析可以确定,至少一个功能单元或至少一个数据流控制单元究竟是否进行了对自己或另外的部件的配置或重新配置,和/或以何种方式进行这样的配置或重新配置。

在其他优选的实施形式中,可以设置,至少一个功能单元或至少一个数据流控制单元构造为,访问初级存储装置和/或二级存储装置,尤其是以便读取和/或写入配置数据。在其他实施形式中,可以设置,至少一个功能单元或至少一个数据流控制单元构造为,将这种被读取的数据(尤其是配置数据)用于自己的配置和/或转交给至少一个其他的功能单元。

在其他实施形式中可想象的是,计算单元的至少一个外围单元构造为,改变至少一个功能单元的配置,和/或检验至少一个功能单元的状态或配置。例如,外围单元可以是dma控制装置。经此,有利地能够实现:dma控制装置基本上自主地从计算单元的第一存储区域中读出例如用于确定的功能单元的配置信息,并且将所读出的配置信息写入到相关的功能单元的相对应的配置寄存器中。

在另一实施形式中设置了,功能单元中的至少一个功能单元构造为,改变初级连接单元和/或至少一个二级连接单元的配置,和/或检验至少该初级连接单元和/或至少一个二级连接单元的状态或配置。例如,相关的功能单元可以根据对其输入数据的分析来确定:a)究竟是否要实施对初级连接单元和/或至少一个二级连接单元的配置或重新配置,和/或b)以何种方式进行这样的配置或重新配置。

根据另一实施形式,对粗粒度的硬件元件的配置要被理解为:根据可支配的可能性以及尤其也是各个元件的连接结构(例如初级连接单元),对粗粒度的硬件元件的功能进行具体地说明。通过改变所述配置,所述计算单元或功能单元因此可以在硬件层上配置(重构)所述元件的功能,以及以不同的方式将所述元件相互(重新)连接,并且经此能够实现使计算单元与在硬件层上的不同算法相适配。在特别优选的实施形式中,不同功能单元彼此间的配置或连接可以通过针对在功能单元之间例如呈数据包的形式来交换的数据预设相对应的目标地址来进行。

在另一有利的实施形式中设置了,为了配置或重构(“重新配置”)一个或者多个功能单元或数据流控制单元,从源(例如配置存储器)中读出相对应的配置信息,并且这些配置信息被写到相关的功能单元的相对应的配置寄存器中。配置存储器例如可以布置在二级存储装置中。可替选地或者补充地,配置存储器也可以布置在初级存储装置中。此外,在另一实施形式中可设想的是,借助在计算单元外部的部件提供配置信息,所述在计算单元外部的部件例如呈(串行)闪存存储器形式,所述闪存存储器例如连接到计算单元的相对应的接口上。

一般地,计算单元的初级存储装置在实施形式中可以有利地不仅具有工作存储器(直接存取存储器,ram(randomaccessmemory(随机存取存储器))),而且具有至少一个闪存存储器(就是说非易失性存储器)。在其他实施形式中,二级存储装置优选地构造为ram存储器,尤其是构造为静态ram存储器(sram)。

在另一有利的实施形式中设置了,功能单元中的至少一个功能单元具有用于接收第一数据的输入接口和/或用于输出第二数据的输出接口。(多个)输入接口或输出接口在优选的实施形式中尤其是可以被用于与另外的同类的或者不同类的功能单元交换数据(发送和/或接收),(或者必要时也与另外的部件交换数据,所述另外的部件具有与功能单元的(多个)输入接口或输出接口兼容的相对应的接口)。

根据另一实施形式,输入接口和/或输出接口例如可以构造为,接收对于功能单元确定的呈可预设的格式(例如呈数据包形式)的第一数据,或为了向另外的单元(例如另外的功能单元)输出而输出呈可预设的格式(例如又呈数据包形式)的确定的第二数据。

输入接口例如可以构造为,被连接到初级连接单元。根据初级连接单元的实施方案,输入接口因此例如可以构造为,被连接到耦合网络和/或总线系统上。可替选地或者补充地,输入接口也可以构造为,在相关的功能单元与至少一个其他的功能单元之间建立直接的数据连接,例如借助直接互连的数据线来建立直接的数据连接。相同的实施方案以相对应的方式适用于在本发明的其他实施形式中构造输出接口。

在另一实施形式中设置,功能单元中的至少一个功能单元具有用于控制功能单元的运行的本地控制装置。例如,这样的本地控制装置可以包括至少一个状态自动装置(用英语表达:statemachine)。

在另一有利的实施形式中,所述功能单元中的至少一个功能单元具有本地计算单元。在另一有利的实施形式中,本地计算单元可以具有至少一个粗粒度的硬件元件,或者构造为粗粒度的硬件元件。在另一有利的实施形式中,本地计算单元可以具有如下部件中的至少一个部件:加法器、乘法器、除法器、移位寄存器、桶式移位器、比较器、乘法累加器(mac)、算术逻辑单元(alu)、存储单元、寄存器、复用器、解复用器、接口、用于分析指数函数的单元、用于分析三角函数的单元。

在另一有利的实施形式中设置了,所述功能单元中的至少一个功能单元具有本地配置存储器。特别优选地,本地配置存储器可以包括寄存器存储器,其中尤其是本地配置存储器包括多个配置寄存器。经此,高效的配置和新配置或重新配置(也在功能单元运行期间)是可能的,其方式是:一个或者多个配置寄存器以期望的方式被修改。对配置寄存器的修改例如可以通过功能单元自己和/或通过另外的功能单元和/或计算单元的另外的部件、诸如计算核来进行。

在另一有利的实施形式中设置了,所述功能单元中的至少一个功能单元具有本地功能存储器。特别优选地,本地功能存储器可以包括寄存器存储器,或可以是寄存器存储器的部分。尤其是,本地功能存储器可以包括至少一个功能寄存器。本地功能存储器可以有利地被用于至少暂时地存储功能单元的输入数据和/或输出数据或存储功能单元的计算的中间结果。

在另一有利的实施形式中也可设想的是,给功能单元配备多个寄存器存储器,其中第一数目的寄存器存储器可用作配置寄存器,并且其中第二数目的寄存器存储器可用作功能寄存器。在其他实施形式中,此外可设想的是,第一数目或第二数目变化,并且例如通过配置可改变第一数目或第二数目。以这种方式,功能单元的运行可以非常灵活地来构建,并且尤其是本地(寄存器)存储器可以动态地与要由功能单元实施的计算相适配。

其他有利的设计方案是从属权利要求的主题。

本发明的任务的其他解决方案通过根据权利要求13的控制设备以及根据权利要求14的方法来说明。

附图说明

本发明的其他特征、应用可能性和优点从随后对本发明的实施例的描述中得到,这些实施例在附图的图中示出。在此,所有所描述的或者所示出的特征独自地或者以任意组合来形成本发明的主题,而与其在权利要求书中的概括或者其回引无关,以及与其在说明书或附图中的表述或图示无关。

在附图中:

图1a示意性地示出了根据本发明的计算单元的实施形式的框图,

图1b-1g示意性地示出了根据本发明的计算单元的其他实施形式,

图2a示意性地示出了根据本发明的实施形式的功能单元的经简化的框图,

图2b示意性地示出了根据本发明的实施形式的数据结构,

图2c示意性地示出了根据本发明的另一实施形式的功能单元的经简化的框图,

图3a、图3b分别示意性地示出了根据本发明的另一实施形式的功能单元的经简化的框图,

图4a、图4b、图4c分别示意性地示出了根据实施形式的数据流,

图5示意性地示出了根据本发明的方法的实施形式的经简化的流程图,

图6示出了根据实施形式的运行场景,以及

图7示意性地示出了实施形式的经简化的数据流。

具体实施方式

图1a示意性地示出了根据本发明的计算单元100的实施形式的框图。计算单元100具有多个计算核110a、110b、110c以及初级存储装置120。设置了主连接单元130,用于将计算核彼此连接或用于将计算核与初级存储装置120连接,该主连接单元130例如可以是总线系统或者耦合网络(用英语表达:crossbarswitch(交叉开关))。可选地,计算单元100具有其他外围部件,这在本发明通过虚线示出的框125来表明。例如,这样的外围部件可以是模拟/数字转换器、输入/输出接口、定时器模块等等。

初级存储装置120在实施形式中可以有利地不仅具有至少一个工作存储器(直接存取存储器,ram,随机存取存储器)、尤其是sram型的工作存储器和/或dram型的工作存储器,而且具有至少一个非易失性存储器(非易失性ram(nvram)),例如作为闪存、eprom、铁电ram(feram,ferroelectricram)、磁阻式ram(mram,magnetoresistiveram)、相变ram(pcram,phase-changeram)。

根据本发明,计算单元100具有至少两个功能单元,其中至少一个第一功能单元140a构造为,从至少一个其他的功能单元140、140b接收第一数据,和/或向至少一个其他的功能单元140、140b发送或输出第二数据。

根据本发明的功能单元140、140a、140b有利地提供了扩展计算单元100的计算能力和/或功能性的可能性。尤其是,通过根据本发明的在功能单元之间的直接的数据交换的可能性,能够实现如下数据流:所述数据流没有将计算单元100的其他部件、譬如其计算核110a、110b、110c或初级存储装置120或主连接单元130一起包括在内。以这种方式,可以减轻计算核110a、110b、110c、初级存储装置120和主连接单元130的负担,而同时一个或者多个根据本发明的功能单元140、140a、140b履行针对其设置的计算任务或别的任务。

根据本发明,计算单元进一步具有至少一个构造为数据流控制单元140b的功能单元,所述功能单元构造为:接收输入数据,参见图5的步骤300;分析302输入数据;并且根据分析302产生输出数据,参见图5的步骤304。经此,数据流控制单元140b可以有利地对在计算单元100之内(尤其是在功能单元140、140a之间)的数据流df(图1a)发生影响。

分析302(为了实施该分析302,在一些实施形式中可以给数据流控制单元140b关联有分开的分析单元(在下面进一步参见附图标记1490))在一些实施形式中可以包括如下措施中的至少一个措施:获得输入数据,和/或将数据(尤其是输入数据)与可预设的参考值或别的数据值相比较,所述别的数据值例如为常数、起始值、算法的值和中间结果、状态值(定时器值、循环计数器、循环层、就绪(ready)、等待(waiting)、有效(valid)、确认(acknowledge)、错误(error)、...)、触发(trigger)(例如开始(start)、使能(enable)、中断(interrupt)、...)。

在其他实施形式中设置了,数据流控制单元140b构造为,对输入数据进行与预设数据的比较,并且根据该比较产生输出数据。为此,数据流控制单元140b可以拥有至少一个(尤其是“自己的”)比较器。

对于在下文的描述,出发点是,示例性地尤其是功能单元140b构造为在本实施形式的意义上的数据流控制单元。可是,在其他实施形式中也可以设置,在本发明所描述的或所标明的功能单元140、140a、140b、…、140m;1400;1400a;1400b;1400c;1400e;1400f;1400g、1400h、1400h‘、1400h“、1400i、1400i‘、1400k中的至少一个其他的功能单元构造为在本发明意义上的数据流控制单元,因此必要时除了在其他方面所描述的功能或配置之外还构造用于实施根据图5的方法或基于此的实施形式。

例如,根据本发明的功能单元140、140a、140b(就是说尤其也是数据流控制单元140b)可以构造为实施计算和/或逻辑运算和/或别的功能,所述根据本发明的功能单元140、140a、140b优选地主要地、可是特别优选地完全地实现为硬件电路。同样可设想通过功能单元实现查找表、特性曲线和/或特性曲线族。功能单元的内部结构的细节在下面此外进一步参照图2a、图2b、图2c、图3a、图3b予以说明。可是,随后首先参照图1a至图1g对在根据本发明的计算单元100之内的功能单元的布局和其到计算单元100的中央部件110a、110b、110c、120、130上的数据连通予以探讨。

在有利的实施形式中设置了,设置至少一个初级连接单元150,所述初级连接单元150构造为,在第一功能单元140a与至少一个其他的功能单元140、140b之间至少暂时地建立(尤其是直接的)数据连接。这有利地能够实现对在不同的功能单元之间的数据交换或数据流的控制,使得在计算单元运行期间也可能配置或新配置在相关的功能单元之间的(多个)数据连接,由此实现提高的灵活性。直接的数据连接在本发明被理解为,在参与的功能单元之间可以交换数据,而不使用计算单元100的主连接单元130。更确切地说,例如初级连接单元150能够实现在连接到该初级连接单元上的功能单元之间的这种直接的数据连接,参见箭头a1、a2,所述箭头a1、a2表明了在部件140、140a、140b以及初级连接单元150之间的数据流。

在优选的实施形式中,初级连接单元150具有至少一个耦合网络152a。特别优选地,耦合网络设计为无阻塞的耦合网络。在该情况下,耦合网络152a在任何时候都能够实现在所有与该耦合网络152a连接的功能单元140、140a、140b之间以及必要时其他与该耦合网络连接的单元(譬如计算单元的部件130)之间建立数据连接。

在其他实施形式中,也可设想的是,将初级连接单元150设计为不是无阻塞的耦合网络。在其他实施形式中,初级连接单元150也可以包括另外的结构、例如至少一个总线系统(参见图1b),所述至少一个总线系统在连接到总线系统152b上的功能单元140之间建立数据连接。在其他实施形式中,初级连接单元150也可以具有至少一个在至少两个功能单元140、140a之间的直接的数据连接,参见图1a中的箭头152c。此外,在另外的实施形式中,也可设想在另外的或多于两个的功能单元之间的直接的数据连接。在另一实施形式中可以设置,至少一个初级连接单元150具有前面所述的连接机制中的多个连接机械,就是说例如用于将数个功能单元或所有功能单元彼此间连接的耦合网络以及例如总线系统,所述总线系统将多个或所有功能单元连接。

在另一实施形式中,设置了至少一个二级连接单元155(参见图1a),所述二级连接单元155构造为,在主连接单元130与至少一个功能单元140之间或者直接地和/或间接地经由初级连接单元150建立数据连接(参见箭头a3),由此给出了有效率的连通,用于在相关的功能单元140、140a、140b以及110a、110b、110c、120、125之间经由主连接单元130传输数据。

主连接单元130可以依照实施形式例如构造为所谓的“核互连”,就是说构造为中央连接单元,用于将根据本发明的计算单元100的部件110a、110b、110c、120、125、140彼此间高性能地(尤其是以高数据速率和/或低延迟时间)连接。在特别优选的实施形式中,主连接单元130可以如前面已经描述的那样也设计为耦合网络,尤其是设计为无阻塞的耦合网络。

总的来说,功能单元140、140a、140b的设置和其彼此间的灵活连接能够实现在根据本发明的计算单元100之内提供附加的计算能力或附加的功能性,所述功能单元140、140a、140b的连接借助初级连接单元150来建立。部件140、140a、140b、150的总体因此可以有利地也理解为计算单元100的“灵活的硬件扩展”1500,其中该灵活的硬件扩展1500可以特别有利地基本上独立地(就是说与部件110a、110b、110c、120、125、130无关地)实施计算任务,可是在需要时经由二级连接单元155的连通而可以高效地与部件110a、110b、110c、120、125、130中的至少一个交换数据。

在一些实施形式中,前面所描述的数据流df例如可以通过数据流控制单元140b和/或通过另外的功能单元来控制,使得所述的单元140、140a、140b全体共同起作用,并且经此例如能够实现将上级算法或子算法映射到多于一个的单个功能单元上,由此多个功能单元的经此获得的逻辑复合体相较于各个没有以这种方式共同起作用的功能单元可以实现更高的复杂性。

尤其是,根据本发明的数据流控制单元140b可以依照一些实施形式实施或承担控制任务,这并未已经通过联接正常的“简单的”功能单元140、140a来实现。同样,数据流控制单元140b可以在其他实施形式中例如也将子算法耦合成总算法,其中例如子算法包括多个功能单元140、140a和控制所述子算法的数据流控制单元140b,以及必要时包括至少一个其他的数据流控制单元(未示出),所述至少一个其他的数据流控制单元在逻辑上置于子算法的上级并且经此将所述子算法连接成整体。

在特别有利的实施形式中设置了,数据流控制单元140b构造为,对输送给其的输入数据进行与预设数据的比较,并且根据该比较产生输出数据。为此,数据流控制单元140b可以拥有至少一个(尤其是“自己的”)比较器(参见图2a中的附图标记1490)。

在其他实施形式中设置了,数据流控制单元140b具有分析单元,所述分析单元构造为,分析输入数据,和/或根据该分析产生输出数据。

在其他实施形式中设置了,数据流控制单元140b构造为,控制计算单元100的多个功能单元的运行,例如用于实施比较复杂的算法或计算任务,其中数据流控制单元例如在算法或计算任务的意义上控制各个功能单元的运行。

在其他实施形式中设置了,数据流控制单元140b构造为,与至少一个外部部件200(例如与定时器模块、a/d转换器、中断控制器、外部接口,参见分别来自图2c的直接的数据连接a90或经由a34、a35、a36的间接的数据连接a91)交换数据,尤其是交换算法数据和/或控制数据。

在其他实施形式中设置了,数据流控制单元140b构造为,等待可预设的输入数据或控制数据(a90,a91),尤其是以便使其运行与计算单元100的至少一个另外的部件140或者例如110a或者例如200同步(例如与定时器模块、a/d转换器、中断控制器、外部接口同步)。输入数据或控制数据在一些实施形式中例如通过计算单元的至少一个另外的部件(例如计算核110a、另外的数据流控制单元、另外的功能单元140等)可输送给数据流控制单元140b。

在其他实施形式中设置了,数据流控制单元140b构造为,输出可预设的和/或所计算的输出数据或控制数据(a90,a91),尤其是以便控制计算单元100的至少一个另外的部件140或者例如110a(例如定时器模块、中断控制器、外部接口)。至计算单元的至少一个另外的部件(例如计算核110a、另外的数据流控制单元、另外的功能单元140等)的输出数据或控制数据在一些实施形式中例如可通过数据流控制单元140b来输送。

在其他实施形式中设置了,数据流控制单元140b构造为,将进入的数据直接地和/或经修改地转交给一个或者多个另外的功能单元140。

在其他实施形式中设置了,数据流控制单元140b构造为,采用循环计数器、尤其是其接收和分析和/或产生和向另外的功能单元140传输,用于控制在功能单元之间的数据流。

在其他实施形式中设置了,数据流控制单元140b构造为,通过至少一个另外的功能单元管理和/或控制对数据的迭代计算和/或递归计算,尤其是管理计数器,用于迭代计算和/或递归计算。

在其他实施形式中设置了,数据流控制单元140b是可配置的。例如,数据流控制单元可以拥有具有一个或者多个配置寄存器的配置存储器,在所述配置存储器中可至少暂时地存储控制数据流控制单元的运行的配置。在一些实施形式中,数据流控制单元(尤其是独立地)可以从计算单元的存储器中加载或再加载配置数据,尤其是借助对初级存储装置120(图1a-1g)和/或二级存储装置160(图1g)的存储器存取、例如经由相对应的存储器接口来加载或再加载配置数据。在另外的实施形式中,数据流控制单元有关配置数据的加载或再加载的特性也可以是可配置的。从存储器中加载的或再加载的配置数据例如可以被用于配置数据流控制单元,或者被用于配置随后的功能单元。

图1b示出了根据本发明的计算单元的另一实施形式100a。在本实施形式中,部件110a、110b、110c、120、125、130、152c、155基本上不变地存在,但是灵活的硬件扩展在本实施形式具有偏离的结构,并且因而在图1b中用附图标记1500a标明。在本实施形式,初级连接单元150呈总线系统152b的形式来实现,多个同类的或者不同的功能单元140连接到该总线系统152b上。功能单元140和数据流控制单元140b可以经由总线系统152b彼此间交换数据。此外,功能单元140中的数个功能单元还可以经由直接连接152c直接交换数据。在主连接单元130与总线系统152b之间的数据连接通过二级连接单元155类似图1a地实现,参见箭头a3。

图1c示出了根据本发明的计算单元的另一实施形式100b,其中灵活的硬件扩展呈功能单元的多个组g1、g2的形式来设置。第一组g1在本发明示例性地具有三个功能单元140c、140d、140e,所述功能单元140c、140d、140e彼此经由第一初级连接单元150_1连接。第二组g2在本发明示例性地具有两个功能单元140f、140g,所述功能单元140f、140g彼此经由第二初级连接单元150_2连接。第一初级连接单元150_1构造为,在第一组g1的功能单元140c、140d、140e之间至少暂时地建立(尤其是直接的)数据连接。第二初级连接单元150_2构造为,在第二组g2的功能单元140f、140g之间至少暂时地建立(尤其是直接的)数据连接。第一初级连接单元150_1和/或第二初级连接单元150_2例如可以构造为耦合网络、尤其是无阻塞的耦合网络、总线系统、直接的数据连接或者以别的方式来构造。在本发明,在组g1、g2与主连接单元130之间的数据连接通过二级连接单元155a来实现,所述二级连接单元155a例如可以构造为耦合网络、总线系统或者以别的形式来构造。在组g1、g2和主连接单元130之间的相对应的数据连接通过块箭头(blockpfeile)a4、a5象征性地表现。二级连接单元155a此外还可以构造用于在组g1、g2或其功能单元之间建立直接的数据连接,就是说针对这种数据连接无需将主连接单元130包括在内。

图1d示出了根据本发明的计算单元的另一实施形式100c。与根据图1c的实施形式不同,设置了二级连接单元155c,所述二级连接单元155c在组g1、g2的初级连接单元150_1、150_2之间分别建立数据连接a6、a7,以及在这些元件与主连接单元130之间建立数据连接a8。

图1e示出了根据本发明的计算单元的另一实施形式100d。在这种情况下,示出了计算单元100d的其他外围部件、譬如模拟/数字转换器125a、接口模块125b。在该实施形式中,总线系统155d此外设置为二级连接单元,所述总线系统155d在主连接单元130与初级连接单元150之间建立数据连接a8̍。优选地,初级连接单元150又具有耦合网络152,以便将不同的功能单元140i、140h、...、140p以及数据流控制单元140b彼此连接。可选地,功能单元140h除了其至耦合网络152的数据连接之外还具有至总线系统155d的直接的数据连接a9。另一数据控制单元140b以可比较的方式不仅经由耦合网络152而且经由直接的连接a10连通至总线系统155d。

计算单元100、100a、100b、100c、100d的初级存储装置120在一些实施形式中可以具有至少一个直接存取存储器(ram,随机存取存储器)。附加地,初级存储装置120可选地还可以具有其他存储系统,尤其是也具有非易失性存储系统,譬如具有一个或者多个闪存存储器。

在一些实施形式中,可能的是,一个或者多个功能单元140和/或数据流控制单元140b访问初级存储装置120,这通常在使用主连接单元130、二级连接单元155以及必要时初级连接单元150(图1a)的情况下进行。

在根据本发明的计算单元的另一优选的实施形式100e(该实施形式在下文参照图1f来描述)中,设置了至少一个二级存储装置160。二级存储装置160优选地构造为直接存取存储器(ram)、尤其是构造为静态直接存取存储器(sram,staticram)。在本发明,示例性地描绘了一个二级存储装置160;可是在其他实施形式中,也可以设置多个二级存储装置160。随后所描述的方面相对应地适用于这种实施形式,这些方面示例性地在图1f中所描绘的二级存储装置160上予以阐述。

在特别有利的实施形式中,二级存储装置160具有多个存储体162a、162b、162c、...、162n。尤其是,二级存储装置可以构造为,能够实现对多个存储体162a、162b、162c、...、162n中的至少两个存储体的并行数据存取。经此,有利地能够实现用于对二级存储装置160或其体的存取的高带宽,并且尤其是,没有相互关联的数据块也可以并行地或同时地被写入到二级存储装置160中或从二级存储装置160读取。

在本发明,给二级存储装置160关联有存储器总线系统164,所述存储器总线系统164能够实现对二级存储装置160的存储体的存取,参见块箭头a11。存储器总线系统164有利地经由总线耦合单元165与总线系统155d耦合,所述总线系统155d能够实现在耦合网络152或功能单元140i、140h、...、140p、数据流控制单元140b与主连接单元130之间的前面已经描述过的数据连接。总线耦合单元165能够实现在总线系统155d与存储器总线系统164之间的数据交换,参见箭头a14。经此,尤其是能够实现,二级存储装置160的存储区域在计算单元100e的全局地址空间中变得可见,并且由此例如对于根据本发明的计算单元100的另外的外围部件125a、125b也是可访问的(读取和/或写入)。

在特别优选的实施形式中,此外还可以在各个功能单元140h、数据流控制单元140b和存储器总线系统164之间存在直接的数据连接a12、a13,使得相关的功能单元140h和数据流控制单元140b可以直接访问二级存储装置160,尤其是不必使用初级连接单元150的耦合网络或也许使用主连接单元130。

在另一实施形式(未示出)中,可以存在多个并行的具有之前所述的特征的存储装置160。

图1g示出了根据本发明的计算单元的另一实施形式100g。在图1g中,补充地描绘了计算单元100g的中断请求分配器装置(用英语表达:interruptrouter(中断路由器))170,所述中断请求分配器装置以本身已知的方式在计算单元100g的部件之间分配中断请求(用英语表达:interrupt)。

在本实施形式中设置了,功能单元140j中的至少一个功能单元(并且尤其是数据流控制单元140b)具有至少一个至计算单元100g的中断请求分配器装置170的(尤其是直接的、优选地仅仅经由处于灵活的硬件扩展1500之内的前置级170a实现的)数据连接,参见箭头a16。经此,有利地给出了如下可能性:相关的功能单元140j(并且尤其是数据流控制单元140b)可以经由a16、经由170a、经由a18直接对在计算单元100g或其中断请求分配器装置170之内对中断请求的处理产生影响,例如以便产生或以别的方式影响(例如标记)中断请求。

处于灵活的硬件扩展1500中的前置级170a可以优选地经由二级连接单元155(或在图1g中为155d)由计算单元100g的部件(尤其是计算核110a、110b、110c)来配置和/或复位,和/或要不然如所设定(einstellen)或者所读出的那样,尤其是通过访问处于170a之内的寄存器来配置和/或复位。同样也可设想不带前置级170a的实施形式,使得功能单元140j的信号(并且尤其是数据流控制单元140b的信号)被直接引导到中断请求分配器装置170上(箭头a16和a18直接转入彼此)。

同样在另外的实施形式中可设想的是,功能单元140j并且尤其是数据流控制单元140b构造为,从中断请求分配器装置170(必要时经由前置级170a)接收中断请求,参见箭头a16、a18。经此,有利地给出了如下可能性:由计算单元100的其他部件经由170并且必要时170a向功能单元140j并且尤其是向数据流控制单元140b发送中断请求,以便影响其运行或改变其配置。

在另一有利的实施形式中设置了,功能单元140l、140m中的至少一个功能单元并且尤其是数据流控制单元140b具有至计算单元100g的输入接口和/或输出接口(或组合的输入和输出接口)的(尤其是直接的)数据连接a17。输入和输出接口例如是简单的数字的或者模拟的或者模拟/数字引脚(i/opins),或者也可以是接口,这些接口包括一个或者多个引脚并且在其共同协作中例如操作特别的通信协议。计算单元100g的这种输入和输出接口在图1g中示例性通过框180代表。由此,有利地给出了如下的可能性:功能单元140l、140m并且尤其是数据流控制单元140b从计算单元100g的输入接口180接收输入信号,或经由计算单元100g的输出接口180将输出信号输出,例如从布置在计算单元100g外部的单元(未示出)接收输入信号或将输出信号向所述布置在计算单元100g外部的单元(未示出)输出。

在另一有利的实施形式(未示出)中,180可以被拆开成接收数据的或者发送数据的部分180a以及操作接口的通信协议的部分180b。180a在此直接连通到功能单元140l、140m和尤其是数据流控制单元140b上。180b可以处于灵活的硬件扩展1500之内或者之外。有利地,可以与计算单元100g的其他部件分享180b。

随后,参照图2a、图2b、图2c更详细地描述了有关根据本发明的功能单元的结构的细节。图2a为此示意性地示出了根据本发明的实施形式的功能单元1400的经简化的框图。功能单元1400的随后参照图2a所描述的结构以在图2a中所描绘的方式或者至少以类似的方式可以例如存在于一个或者多个或所有前面所述的并且参照图1a至1g所描述的功能单元140、140a、...、140p中。应理解的是,依照其他实施方案,偏离图2a所描述的结构同样是可能的。

功能单元1400具有输入接口1402,用于接收第一数据,该第一数据例如由其他功能单元(未示出)向根据图2a的功能单元1400传输。为了进一步描述图2a,示例性地以如下情况为出发点:功能单元1400经由其输入接口1402具有至少一个至初级连接单元150(参见图1a)的数据连接,其中初级连接单元150优选地具有耦合网络152a。耦合网络152a的与功能单元1400的输入接口1402连接的相对应的输出接口在图2a中通过虚线绘出的矩形1502象征性地表现。可经由耦合网络152a(图1a)的输出接口1502输送给功能单元1400的输入接口1402的第一输入数据在图2a用块箭头a20标明。

在另一有利的实施形式中可以设置,给功能单元1400(尤其是同时地)可输送多个输入数据,这在图2a中通过虚线绘出的块箭头a21以及在块箭头a20、a21之间的点表明。为了同时或并行地接收输入数据,在实施形式中可以例如相对应地设置多个输入接口1402(未示出)。

在实施形式中设置,输入接口1402构造用于接收呈数据包的形式的第一数据或输入数据。数据包例如可以具有如下格式,所述格式对于在多个根据本发明的功能单元1400之间的通信而言是特定的。

在其他实施形式(未示出)中,也可以设置,功能单元1400具有多个前面所描述的类型的输入接口1402。示例性地,输入接口1402也可以称作功能单元特定的输入接口,因为该输入接口1402特定地设置用于在不同的功能单元彼此之间的(优选地直接的)数据通信。在功能单元之间的直接的数据通信在这种情况下被理解为如下数据通信:所述数据通信除了参与的功能单元之外最多还具有(例如带有耦合网络152的)初级连接单元150,可是例如并不具有根据本发明的计算单元100的主连接单元130(图1a)。

可替选地,在其他实施形式(未示出)中也可设想的是,功能单元完全不具有前面所描述的类型的输入接口1402,就是说完全不具有功能单元特定的输入接口。这样配置的功能单元因此不能经由前面所述的输入接口1402接受另外的功能单元的输入数据。可是,这样的功能单元例如可以构造为,从另一源中加载数据,例如从计算单元的初级存储装置120中经由连接a9(图1f)和/或从二级存储装置160中加载数据,参见图1f。从另一源中加载这种数据可以经由相对应配置的另一种接口进行,例如经由例如在功能单元与二级存储装置160之间的直接的数据连接进行,如这在图1f中通过块箭头a12象征性地表现的那样。这样的另一种接口在图2a中也通过虚线绘出的块箭头a24来表明。

在优选的实施形式中,功能单元构造为,经由接口a24读入可预设的数量的数据字,或向所述接口a24输出可预设的数量的数据字,例如读入或输出至少一个数据字,或者也可以读入或输出例如n个多个数据字,其中n>=1。这优选地可以独立地进行,就是说在所有要读入的或要输出的数据字已被读取或写入之前,不需要(重新)配置功能单元或者不需要功能单元与另外的部件的交互。可选地,功能单元也可以构造为,向随后的功能单元输出表征所读入的或所输出的数量的数据字的信息。

可选地,功能单元也可以构造为,向随后的功能单元输出数据,要么一次性地(例如在整个存储操作结束之后)输出数据,要么也分别在(全体)存储操作的部分结束之后一次或者多次输出数据。向随后的功能单元输出的数据例如可以包含关于当前进展和/或存储地址和/或偏移的信息,或者也可以从中分离所述信息。

有利地,功能单元1400可以依照其他实施形式设计为使得:尤其是向二级存储装置160和/或尤其是也向计算单元100的剩余部件、尤其是向初级存储装置120或者向其他外围部件125,经由接口a24不变地或者以经过加工的形式输出通过功能单元经由输入接口1402接收到的第一输入数据。

为了将输出数据输出,功能单元1400依照实施形式具有输出接口1404。例如,输出数据通过功能单元1400根据经由输入接口1402接收到的第一数据来形成,并且作为第二数据经由输出接口1404而输出,例如向一个或者多个另外的功能单元(未在图2a中示出)输出。从功能单元1400经由其输出接口1404向自己(例如经由其输入接口1402)输出数据在一些实施形式中同样是可设想的。输出数据在图2a中通过块箭头a22象征性地表现。特别有利地,输出接口1404同样连通到耦合网络152a(图1a)上,参见耦合网络152a的在图2a中通过划成虚线的矩形象征性地表现的输入接口1504。

在其他实施形式(未示出)中,也可以设置,功能单元具有多个前面所描述的类型的输出接口1404。示例性地,输出接口1404也可以称作功能单元特定的输出接口,因为所述输出接口1404特定地设置用于在不同的功能单元彼此之间的(优选地直接的)数据通信。

在另一有利的实施形式中可以设置,功能单元1400可以(尤其是同时地)输出多个输出数据,这在图2a中通过虚线绘出的块箭头a23以及在块箭头a22、a23之间的点来表明。为了同时或并行地输出,如之前所描述的那样可以相对应地设置多个输出接口1404。

可替选地,在其他实施形式(未示出)中也可设想的是,功能单元完全不具有前面所描述的类型的输出接口1404,就是说完全不具有功能单元特定的输出接口。这样配置的功能单元因此不能将输出数据经由前面所述的输出接口1404向另外的功能单元输出。可是,这样的功能单元例如可以构造为,向另一单元输出数据,例如通过例如经由连接a9(图1f)写入到计算单元的初级存储装置120中来输出数据,和/或通过例如经由连接a12写入到二级存储装置160中来输出数据,参见图1f。写入这种数据可以经由相对应配置的另一种接口进行,例如经由在功能单元与二级存储装置160之间的直接的数据连接进行,如这在图1f中通过块箭头a12象征性地表现的那样。这样的另一种接口在图2a中也通过已经在前面提及的虚线绘出的块箭头a24来表明。

有利地,功能单元1400在其他实施形式中可以设计为使得:向一个或者多个随后的功能单元1400,经由输出接口1404不变地或者以经过加工的形式输出通过功能单元经由接口a24接收到的数据,其中借助接口a24尤其是读入二级存储装置160的数据和/或尤其是也读入计算单元100的剩余部件、尤其是初级存储装置120的数据或者其他外围部件125的数据。

此外,功能单元1400具有本地控制装置1410,所述本地控制装置1410构造用于控制功能单元1400的运行。例如,本地控制装置1410可以包括至少一个状态自动装置(用英语表达:statemachine)1410a。在可替选的实施形式中,本地控制装置1410也可以包括别的(优选地固定接线的)硬件电路。

在特别优选的另一实施形式中,给本地控制装置1410也可以关联有本地重新配置装置1412,所述本地重新配置装置1412能够实现对功能单元1400的配置或重新配置,尤其是也动态地(就是说在功能单元1400的运行期间)能够实现对功能单元1400的配置或重新配置。在另一实施形式中,也可设想的是,通过状态自动装置1410a或本地控制装置1410的相对应的部分来映射本地重新配置装置1412的功能性。

在另一实施形式中,重新配置装置1412构造为,在配置或重新配置期间考虑有关的功能单元1400的可能的配置变型方案,和/或确保:配置以所限定的有效的起始点或起始状态为出发点,和/或重新配置不妨碍地或无意地中断功能单元1400的目前运行的计算或别的功能。

在另一有利的实施形式中,功能单元具有本地计算单元1420。依照另一有利的实施形式,本地计算单元1420可以具有至少一个粗粒度的硬件元件,或者构造为粗粒度的硬件元件。在该情况下,本地重新配置装置1412可以有利地例如控制粗粒度的硬件元件的(重新)配置。

例如,传统的硬件可配置的逻辑电路、诸如fpga或者cpld大多仅具有细粒度的硬件元件,所述细粒度的硬件元件的配置只可通过外部预设来改变。这样的传统的硬件可配置的逻辑电路因此要被视为如下(集成)电路:所述(集成)电路在硬件层上可以在特别的编程阶段中被编程。这也适用于具有用于部分(局部)重新配置的可能性的fpga。此处,保留相对应数目的功能确定的重新配置可能性,所述重新配置可能性按照外部预设来改变,其中有关的fpga部分借助局部的重新配置而在分别特别的重新编程阶段中相对应地重新编程和互连。经过重构的fpga部分在此改变逻辑函数本身。

与之不同,根据本发明的功能单元1400是如下计算单元或计算单元的部件:例如在使用和相对应地设定复用器的情况下,所述计算单元或计算单元的部件的元件(例如粗粒度的硬件元件)在内部通过功能单元1400本身或其本地控制装置1410在功能上可以被配置并且例如可以重新相互互连。同样可设置,计算单元100(图1a)的另一部件(例如计算核110a)配置功能单元1400或其部件。

根据本发明的可配置性的另一方面通过影响在不同的功能单元140、140a、140b(图1a)之间的通信和数据流来给出,这例如可以通过对相应的功能单元的相对应配置来控制,和/或通过控制连接相应的功能单元的(多个)初级连接单元150(参见图1a)的运行来控制。

在实施形式中,功能单元1400的各个粗粒度的硬件元件或别的元件的内部功能(例如逻辑功能)分别固定地接线,并且因此不同于传统的硬件可配置的逻辑电路而不改变。在这种情况下,如前面所描述的那样,可以影响在不同的功能单元之间的通信和数据流,以便实现重新配置。

有利地,对根据本发明的计算单元或其功能单元1400中的至少一个功能单元的新配置或重新配置在一些实施形式中可以由计算单元100或集成在相关的功能单元1400中的控制装置1410本身(就是说从内里)来控制、来执行并且必要时来监控。功能单元1400因此可以无关地并且自动地自己进行重构。

特别优选地,可以在计算单元100或功能单元1400运行中进行(重新)配置,例如作为总算法的组成部分进行(重新)配置,所述总算法要通过功能单元1400、140、140a、...中的一个或者多个功能单元来分析。有利地,可以设置,功能单元1400(例如140a和140b)配置另外的功能单元1400(例如140c和140d)或其部件,以便例如实现这样的具有广泛意义的总算法。

在优选的实施形式中设置,当可预设的计算段(rechenabschnitt)或可预设的计算任务已被实施或已结束并且因此不进一步需要功能单元的用于所述计算任务的相对应的资源时,那么功能单元1400尤其是自己进行重构。在该情况下,功能单元1400可以有利地自己例如改变其配置,使得所述功能单元1400适合于随后的计算段或随后的计算任务地来配置。

有利地,依照其他实施形式,在算法上前置的功能单元1400以对在算法上后置的功能单元的重构为基础,并且可以在结束计算段之后使后置的功能单元在无需明确的重构措施的情况下可以得到其他要处理的数据。

在有利的实施形式中,功能单元1400(例如140a)可以向另外的功能单元1400(例如140b)发送数据;在结束计算段之后可以指示另外的功能单元1400(例如140c),现在向功能单元140b发送数据。基于之前所述的重构,功能单元140c可以与向功能单元140b发送数据无缝地继续进行。

在另一有利的实施形式中,本地计算单元1420可以具有如下部件中的至少一个部件:加法器、乘法器、除法器、移位寄存器、桶式移位器、比较器、乘法累加器(mac)、算术逻辑单元(alu)、存储单元、寄存器、复用器、解复用器、接口、尤其是通信接口、存储器存取单元(例如dma单元)、用于计算指数函数的单元、用于计算对数函数的单元、用于计算指数函数的单元、用于计算平方根函数的单元、用于计算三角函数的单元、(多个)查找表。由此构成的组合在其他实施形式中同样是可设想的。优选地,前面所述的部件中的一个或者多个部件可以布置在根据本发明的功能单元1400的计算单元1420中。

计算单元1420可以与此相应地在输送给功能单元1400的输入数据上实施计算,并且例如作为输出数据进一步输出由此获得的结果。用于该过程的数据流在此优选地经由输入接口1402(输入数据的接收)、计算单元1420(实施计算)、输出接口1404(输出数据的输出)进行。该数据流表征在功能单元1400之内对数据的计算或处理。

在功能单元1400之外,数据流可以依照优选的实施形式通过如下预设而被影响:要给哪个(其他的)功能单元转交第一功能单元的输出数据,这可通过相对应地控制初级连接单元150来实现。有利地,对初级连接单元150的控制可以一次性地并且因此在确定的时间段内持续地被设定。同样,有利的可以是,对初级连接单元150的控制与如下控制数据有关地进行:所述控制数据与各个或者也与每个包一同发送,尤其是通过说明目标功能单元1400来一同发送。

只要要实施更复杂的计算,在其他实施形式中就可以设置多个功能单元、例如在图2a中描绘的类型的功能单元,所述功能单元具有同类地或者不同种类地配置的计算单元1420。在不同的功能单元之间的数据的数据流在这种情况下可以有利地通过要实施的更复杂的计算的算法或结构来限定。

在另一有利的实施形式中设置了,功能单元1400具有本地配置存储器1430。特别优选地,本地配置存储器1430可以包括寄存器存储器,其中尤其是本地配置存储器1430包括至少一个(可是以有利的方式为多个的)配置寄存器1432a、1432b、1432c、1432d。

在另一实施形式中,本地配置存储器也可以通过sram或者通过寄存器存储器和sram的组合来代表。在下文中,包括sram的实施形式被概括为寄存器存储器。

通过本地配置存储器1430,即使在功能单元1400运行期间,高效的配置和重新配置也是可能的,例如其方式是:一个或者多个配置寄存器1432a、1432b、1432c、1432d以期望的方式被修改。对配置寄存器1432a、1432b、1432c、1432d的修改例如可以通过功能单元1400自身和/或通过另外的功能单元(未示出)进行。

此外可设想的是,在其他实施形式中,对功能单元1400的配置寄存器的修改可能通过计算单元100(图1a)的其他部件(例如通过计算核110a)进行,其方式是:相关的部件110a将相对应的数据写入到功能单元1400的一个或多个配置寄存器中。

在另一有利的实施形式中设置了,功能单元1400具有本地功能存储器1440。特别优选地,本地功能存储器1440可以包括寄存器存储器,或是寄存器存储器的部分。尤其是,本地功能存储器1440可以包括至少一个功能寄存器1442a。本地功能存储器1440可以有利地被用于至少暂时地存储功能单元1400的输入数据和/或输出数据或功能单元1400的计算的中间结果,如其由计算单元1420所实施的那样。

在另一有利的实施形式中也可设想的是,给功能单元1400配备多个寄存器存储器,其中第一数目的寄存器存储器可用作配置寄存器1432a、1432b、1432c、1432d,并且其中第二数目的寄存器存储器可用作功能寄存器1442a。

在其他实施形式中,此外还可设想的是,针对功能单元1400的不同配置可能性,第一数目的所需的寄存器存储器或第二数目的所需的寄存器存储器变化,并且例如可通过主配置来改变。以该方式,功能单元1400的运行可以非常灵活地来构建,并且尤其是本地(寄存器)存储器可以动态地与要由功能单元1400实施的计算相适配。

在优选的实施形式中,针对在不同的功能单元1400之间的数据交换,设置了确定的数据结构、例如呈数据包的形式的数据结构。图2b示意性地示出了根据实施形式的用于这样的数据包的数据结构ds的经简化的图示。数据结构ds具有地址字段adr。地址字段adr被划分成第一地址adr1,该第一地址adr1详细说明了如下确定的功能单元:具有该数据结构ds的数据包针对所述确定的功能单元来确定。

可选的第二地址adr2限定了在通过第一地址adr1确定的功能单元之内的目标地址,由此可以有利地对其发生影响:在数据包中包含的数据被储存在目标功能单元的哪个本地存储区域中。例如,第二地址adr2可以用于对目标功能单元的确定的存储器寄存器进行寻址。

在根据本发明的例如具有几十个功能单元1400的计算单元的实施方案中,为了限定第一地址adr1,通常少数几个比特、例如大约第10到第5比特(就是说例如六个比特)将足够。类似的内容适用于借助第二地址adr2有关在功能单元1400中可支配的存储器寄存器进行“内部寻址”,所述存储器寄存器在实施形式中例如通过第4到第0比特来选择。

进一步可选地,数据结构ds可以具有数据字段dat,所述数据字段dat具有(例如用于通过目标功能单元进行计算的)输入数据,和/或具有配置数据,所述配置数据例如设置用于控制目标功能单元的配置。

在其他实施形式中同样可能的是,在功能单元之间交换数据包,所述数据包包含空的数据字段dat,就是说既不包含用于计算的输入数据也不包含用于目标功能单元的配置数据。这例如对于不同的功能单元的同步而言可能是重要的。

可选地,在数据结构ds中也还可以包含控制数据,所述控制数据可以布置在用附图标记ctrl标明的数据字段中。在这种情况下,例如可以涉及附加的控制数据(就是说除了必要时包含在数据字段dat中的配置数据之外),例如状态信息、安全信息、关于在嵌套实施循环或递归计算时的循环深度或递归深度的信息。可替选地或者补充地,控制数据ctrl也可以包含奇偶校验信息和/或校验和等等。由前面所述的针对控制数据的信息构成的组合同样是可设想的。

在另一实施形式中,也可设想的是,将图2a中的功能单元1400构造为根据本发明的数据流控制单元140b(图1a)。在该情况下,功能单元1400例如可以具有分析单元1490,所述分析单元1490控制数据流控制单元的运行,例如在根据图5的方法的实施方案的意义上控制数据流控制单元的运行。

该数据流控制单元或其分析单元1490例如可以构造为,例如经由输入接口1402从另外的功能单元140接收输入数据,或者从外部部件200接收输入数据(参见图2c中的数据连接a90)。

该数据流控制单元或其分析单元1490例如可以构造为,将输出数据经由输出接口1404向另外的功能单元140输出,和/或向外部部件200(图2c)输出。

输入数据和/或输出数据依照优选的实施形式可以是如下类型中的至少一个类型:数据值、例如常数、起始值、算法的值和中间结果、状态值(定时器值、循环计数器、循环层、就绪、等待、有效、确认、错误、...)、触发(例如开始、使能、中断、...)、例如用于配置(重构)功能单元140的输出数据、例如用于配置(重构)初级连接单元150的输出数据。

在另一优选的实施形式中,至少一个功能单元1400(图3a)构造为,以前面参照图2b所绘出的格式、就是说呈具有数据结构ds的数据包的形式,与至少一个另外的功能单元交换数据,就是说发送或接收数据。

在另一优选的实施形式中,相关的功能单元1400获得的新到达的配置可以选择性地(例如始终)立即被写入到本地配置存储器1430中;或者只要新配置(还)不可能,就(例如始终)丢弃所述新到达的配置;或者(例如始终)长时间地扣留所述新到达的配置,直到功能单元1400准备好根据规则接受新的配置为止;或者所述新到达的配置(例如始终)被暂存在缓存器中,该缓存器必要时只有在功能单元1400准备好根据规则接受新的配置时才被读出。在倒数第二种情况下或在最后一种情况下,当缓存器满了时,有利地对输入数据进行阻滞(blockade),所述阻滞长时间地中断利用本地配置存储器1430进一步写入到功能单元1400中,直到可以处理所述数据为止。以非常有利的方式,阻滞也被用作在至少两个功能单元1400之间的同步手段。

在另一优选的实施形式中,功能单元中的至少一个功能单元(如前面已经表明的那样)构造为硬件电路,尤其是完全构造为硬件电路。经此有利地,可以特别快速且高效地实施计算、逻辑运算、存储操作和别的由相关的功能单元提供的功能、譬如实现查找表、特性曲线和/或特性曲线族。

在另一有利的实施形式中设置了,功能单元中的至少一个功能单元具有如下元件中的至少一个元件:微控制器、实施软件的计算核(例如构造为实施软件的计算核)、数字信号处理器(dsp)、可编程的逻辑电路(例如fpga,现场可编程门阵列)、专用集成电路(asic,applicationspecificintegratedcircuit)、尤其是通过门电路和/或晶体管阵列预制的但尚未应用特定地接线的集成电路,该集成电路例如在稍后的制造步骤中才应用特定地接线,并且该集成电路例如可以被称作“门海(sea-of-gates)”。经此,必要时可以在根据本发明的功能单元之内实现特殊功能。尤其是,这种功能单元的要实施的功能在稍后的时间点才可被确定和/或以比较小的开销来改变。尤其是,例如比较小的、至少部分借助软件可编程的微控制器也可以包含在确定的功能单元中,以便提供对于一些应用情况必要时所需的灵活性,和/或以便可以呈现较高的复杂性。在该情况下,通过多个功能单元彼此间互相配合,也得到已经描述过的有关减轻根据本发明的计算单元100、100a、100b、100c、100d、100e、100f、100g的计算核110a、110b、110c以及主连接单元130的负担的优点。

在特别优选的实施形式中设置了,所有功能单元构造为硬件电路,尤其是完全构造为硬件电路。经此,得到特别高效的、有效率的和建造得小的布局。

在另外的实施形式中,可能的是,一个或者多个功能单元构造为硬件电路,尤其是完全构造为硬件电路,并且至少一个没有完全构造为硬件电路的部件或别的部件呈至少一个其他的功能单元的形式来设置。例如,在特别优选的实施形式中,可以设置第一数目的功能单元,所述第一数目的功能单元完全构造为硬件电路,并且另一功能单元例如可以具有微控制器或者可编程的逻辑模块或可编程的逻辑电路或可比较简单地改变的逻辑电路。

在另一优选的实施形式中,如前面已经提及的那样,所述功能单元中的至少一个功能单元具有至少一个粗粒度的硬件元件。可替选地或者补充地,所述功能单元中的至少一个功能单元可以构造为粗粒度的硬件元件。术语“粗粒度的”在本发明意思是,相关的硬件元件具有多于一个的逻辑门电路,或由多于一个的逻辑门电路形成。门电路依据实施形式在功能和/或连接方面彼此间可以是不变的。

粗粒度的硬件元件因此尤其是要被理解为如下元件:所述元件可以分别独立地实施复杂的计算运算,尤其是在通过之前所描述的方式和方法经由输出接口1404和输入接口1402发送和接收数据之后,对于计算而言不需要彼此间进一步交换数据。例如,各个粗粒度的硬件元件分别构造为如下元件中的一个:复杂度较高的元件、如算术逻辑单元(alu)、存储器存取单元、通信接口,和/或较不复杂的单元、如比较器、加法器、乘法器、除法器、移位寄存器、桶式移位器、乘法累加器(“multiply-accumulate”(mac))、指数单元、对数单元、三角函数单元、寄存器或寄存器组、存储单元(例如ram、闪存等)、复用器(例如2:1-mux,m:n-mux)。

图3a示意性地示出了根据本发明的另一实施形式的功能单元1400b的经简化的框图。功能单元1400b设立用于实现乘法累加器(mac)的功能性。在该情况下,例如定义了三个输入量a、b、c,所述输入量根据随后的等式予以分析并且因此引向输出量y:y=a*b+c,其中“*”定义乘法运算符。输入量a、b、c可以例如经由至少一个在输入数据a20中包含的数据包通过输入接口1402而被输送给功能单元1400b,并且功能单元1400b可以如前面已经多次描述过的那样将输出量y作为数据包a22经由输出接口1404向至少一个其他的功能单元(未示出)输出。功能单元1400b的本地计算单元1420a可以实施对于分析前面的等式所需的计算步骤“乘法”、“加法”。为此,本地计算单元1420a例如拥有优选地构造为硬件电路的乘法器1421a,并且拥有优选地同样构造为硬件电路的加法器1421b,所述乘法器和加法器为了还更高效地实施的目的依照其他实施形式也可以被实现成共同的并且优选地构造为硬件电路的乘法累加器1420a,而不拆开成1421a和1421b。功能单元1400b的剩余部件1410、1412、1430、1440可以与根据图2a的配置相同地来构造。可是,在其他实施形式中,剩余部件1410、1412、1430、1440也可以偏离于此地来构造。

图3b示意性地示出了根据本发明的另一实施形式的功能单元1400c的经简化的框图。功能单元1400c例如设置为,分别利用输出接口1404与两个其他功能单元1400并行地或者利用两个并行的输出接口1404与另一功能单元1400并行地接收数据,所述其他功能单元又例如从二级存储装置160(图1f)中加载数据。对此,功能单元1400c例如可以具有前面参照图2a所描述的类型1402的两个输入接口1402a、1402b,使得可以经由两个并行的输入接口将输入数据输送给功能单元1400c。特别优选地,数据可以经由两个输入接口彼此无关地被接收。可替选地,在使用两个输入接口1402a、1402b的情况下,可以以加倍的数据宽度或字宽度来接收数据,其中第一输入接口1402a例如接收数据的低位比特a20_1,并且其中第二输入接口1402b例如接收数据的较高位比特a20_2。在之前所述的乘法累加器1440b(mac,图3a)的特别有效率的变型方案中,输入量a、b、c可能会例如经由三个并行的输入接口1402(仅描绘了一个输入接口1402)被输送给计算单元1420a。

根据另一实施例,功能单元1400c可以设置为,向数据宿输出数据。为此,功能单元1400c例如可以具有前面参照图2a所描述的类型1404的两个输出接口1404a、1404b,使得两个并行的写过程是可能的。特别优选地,两个写过程可以彼此无关地来实施。可替选地,在使用两个输出接口1404a、1404b的情况下,可以以加倍的数据宽度或字宽度来输出数据,其中第一输出接口1404a例如输出数据的低位比特a22_1,其中第二输出接口1404b例如输出数据的较高位比特a22_2。

根据另一实施例,功能单元1400c可以设置为,从数据源、譬如二级存储装置160(图1f)中加载数据,或者将数据写入到该数据源中。对此,功能单元1400c例如可以具有在前面参照图2a所描述的类型a24的两个另一种接口a24_1、a24_2,使得两个并行的读过程或者两个并行的写过程或者并行的读和写过程或者与两个并行的写过程共同的两个并行的读过程是可能的。特别优选地,读/写过程可以彼此无关地实施。可替选地,在使用两个另一种接口a24_1、a24_2的情况下,可以以加倍的数据宽度或字宽度来读入或写入数据,其中另一种第一接口a24_1例如读或写入数据的低位比特,并且其中另一种第二接口a24_2例如读或写入数据的较高位比特。

在另外的实施形式中,针对根据本发明的功能单元同样可设想偏离的数目的输入接口1402或输出接口1404以及另一种接口a24。

本发明的重要的优点在于,功能单元140、140a、...、140g、1400、1400a、1400b、1400c可以主动地、直接地且自主地(不需要通过例如计算单元的计算核进行控制地)相互进行通信或交换数据。这在实施形式中有利地通过如下方式实现:功能单元可以向另外的功能单元输出数据包、尤其是功能单元特定的(funktionseinheitsspezifisch)数据包。这在另一实施形式中有利地通过如下方式实现:功能单元可以从另外的功能单元接收数据包、尤其是功能单元特定的数据包。

特别优选地,功能单元可以依照另一实施形式自己确定:向哪个其他功能单元或数据宿(例如呈一个或者多个数据包的形式)输出功能单元的输出数据。尤其是,这样的确定也可以动态地(这意思是,在功能单元的运行时间期间)做出。例如,为此可以使用数据结构ds(图2b)的地址字段adr,其中动态地在运行时间分别向不同的功能单元或数据宿输出所述数据。

特别有利地,为了能够实现在功能单元之间的相对应的数据交换,除了功能单元和将所述功能单元连接的初级连接单元150之外,不需要计算单元100的其他部件。尤其是,为了能够实现数据交换,不需要置于功能单元的上级的单元、譬如计算核110a。特别有利地,为了在功能单元的运行时间期间测定(ermitteln)用于功能单元的输出数据的相应的目的地,也不需要置于功能单元1400的上级的单元,因为在优选的实施形式中该任务可以通过本地控制装置1410(图2a)来承担,或目的地地址的预设可以从经由输入接口1402获得的输入和配置数据导出。

根据本发明的功能单元的另一优点在于,一旦正确地配置了所述功能单元并且给所述功能单元输送了相对应的输入数据,所述功能单元就实施其(多个)计算任务。在优选的实施形式中,功能单元的计算数据或输出数据与本地计算单元1420的功能性以及与本地控制装置1410结合本地重新配置装置1412有关,对此例如参见前面参照图3a所描述的具有乘法累加器的实施例。

在其他有利的实施形式中,功能单元的计算数据或输出数据可以与功能单元的配置、与所输送的输入数据和必要时与附加的输入数据或输入信号有关,所述附加的输入数据或输入信号例如经由其他输入接口可输送给所述功能单元,例如参见根据图2a的经由另一种接口a24的数据连接和/或根据图2c的直接的数据连接a34。只要例如设置了在功能单元与外部部件200之间的直接的数据连接a34(图2c),例如由外部部件200镜像到功能单元中的寄存器的值就同样可以对功能单元的输出数据具有影响。

带有所定义的输入接口1402和输出接口1404的功能单元的根据本发明的构造方案有利地能够实现特别简单的且高效的数据流,所述数据流也可以以简单的方式来分析,尤其是关于相关的数据传输的时间上的变化过程来分析。此外,经此有利地避免读存取和写存取的嵌套,并且不仅在各个功能单元之内而且在包括多个功能单元的数据流链中能够实现特别深的流水线技术(pipelining)。

图4a示例性地示出了包括总共三个不同的功能单元1400e、1400f、1400g的数据流链,用于阐明包括多个功能单元的在根据本发明的计算单元之内的数据处理。总之,所描绘的数据流链用于分析等式z=d*exp(e)+f+sin(g),其中exp()代表指数函数,其中sin()代表正弦函数,其中d、e、f、g代表输入数据,并且其中z代表在分析等式的情况下获得的输出数据。出于清楚起见,针对各个功能单元分别仅描绘了本地控制单元1410和本地计算单元1420。功能单元中的至少一个功能单元的其他内部结构例如可以与在图2a中描绘的配置相同或者至少类似。为了分析指数函数exp(e),功能单元1400e的本地计算单元1420具有用于计算指数函数的单元e1。此外,功能单元1400e的本地计算单元1420具有用于计算表达式d*exp(e)的乘法器e2。作为输入数据,给功能单元1400e输送参数d、e,并且作为输出数据,功能单元1400e提供中间结果z1=d*exp(e)。与参数f一样,中间结果z1作为输入数据被输送给另一功能单元1400f。功能单元1400f的本地计算单元1420具有加法器e3,所述加法器e3测定另一中间结果z2=z1+f。与参数g一样,所述另一中间结果z2作为输入数据被输送给另一功能单元1400g。功能单元1400g的本地计算单元1420具有用于计算正弦函数sin(g)的单元e4以及加法器e5,所述加法器e5根据数据z2、g测定最终结果z,所述最终结果z最后可以通过功能单元1400g的输出接口(未示出)被输出。

特别有利地,在图4a中描绘的配置可以依照其他实施方案在流水线结构中进行对数据流的计算。数据流的数据(因此输入数据d、e、f、g以及中间结果z1、z2和结果z)在此例如获得索引“i”、“i-1”、“i-2”、“i+1”、“i+2”、诸如此类,所述索引根据计算公式的逻辑上的休戚相关性对于所有d、e、f、g、z1、z2、z是相同的,例如z[i]=d[i]*exp(e[i])+f[i]+sin(g[i])以及z[i-1]=d[i-1]*exp(e[i-1])+f[i-1]+sin(g[i-1])以及z[i-2]=d[i-2]*exp(e[i-2])+f[i-2]+sin(g[i-2])。

图4b示例性地示出了根据另一实施形式的功能单元的示意性的共同作用。所描绘的配置尤其是构造用于执行算法y[i]=a[i]*b[i]*c[i]。设置有三个功能单元1400h、1400h‘、1400h“,所述功能单元分别构造为,从二级存储装置160读出示例性地呈向量a[i]、b[i]和c[i]的形式存在的输入数据,(“存储器读取功能单元”)。示例性地,功能单元1400h构造为,从二级存储装置160读出输入数据向量a[i]。从存储器读取功能单元1400h、1400h‘向被构造用于实施乘法的第一乘法功能单元1400i发送向量a[i]和b[i]。向第二乘法功能单元1400i‘发送乘法功能单元1400i的结果a[i]*b[i]和由存储器读取功能单元1400h“加载的向量c[i]。第二乘法功能单元1400i‘的结果是向量y[i]=a[i]*b[i]*c[i],所述向量y[i]=a[i]*b[i]*c[i]经由存储器写入功能单元1400k被存储在二级存储装置160中。在将向量y[i]的最后的数据字写入到二级存储装置160中之后,存储器写入功能单元1400k向构造为数据流控制单元的功能单元140b发送相对应的数据字,所述功能单元140b于是例如最终向中断请求分配器装置170发送中断请求(interrupt),由此又向计算单元的计算核110a通知计算的结束。在图4b的实例中,因此可使用如下的功能单元:三个存储器读取功能单元1400h、1400h‘、1400h“(这些存储器读取功能单元优选地可以例如分别同类地构造,尤其是完全构造为硬件电路),两个乘法功能单元1400i、1400i‘(这些乘法功能单元优选地可以例如分别同类地构造,尤其是完全构造为硬件电路),一个存储器写入功能单元1400k以及一个数据流控制单元140b。

如果例如必须在随后的情况开始之前首先结束子算法,和/或如果例如没有足够数量的功能单元可供用于所要求的计算,则前面参照图4b所描述的算法可以依照其他实施形式也有利地拆开成多个子算法,如这随后参照图4c示例性地描述的那样。

根据图4c,首先计算子算法z[i]=a[i]*b[i],紧接着计算子算法y[i]=z[i]*c[i]。为此,使用两个存储器读取功能单元1400h、1400h‘,这两个存储器读取功能单元1400h、1400h‘从二级存储装置160读出向量a[i]和b[i],并且然后向所述乘法功能单元1400i发送所述向量a[i]和b[i]。向存储器写入功能单元1400k发送其结果z[i]=a[i]*b[i],所述存储器写入功能单元1400k将所述结果z[i]存储在二级存储装置160中。在写入最后的数据字之后,所述存储器写入功能单元1400k向数据流控制单元140b发送相对应的数据字dw。所述数据流控制单元140b接收到数据字dw作为输入数据,分析所述数据字dw,并且现在在应用根据本发明的原理的情况下重构两个存储器读取功能单元1400h、1400h‘和存储器写入功能单元1400k,参见箭头cfg1、cfg2。重构引起了,存储器读取功能单元1400h、1400h‘现在从二级存储装置160读取向量z[i]和c[i],并且存储器写入功能单元1400k现在写入向量y[i]。对乘法功能单元1400i的配置在本发明不需要被改变。在类似于第一子算法z[i]也已计算了第二子算法y[i]之后,存储器写入功能单元1400k向数据流控制单元140b发送相对应的数据字dw。如也已在图4b中那样,数据流控制单元140b于是最终向中断请求分配器装置170发送例如中断请求(interrupt),由此又向计算核110a通知计算的结束。在图4c的实例中,因此可使用如下的功能单元:2个存储器读取功能单元1400h、1400h‘,一个乘法功能单元1400i,一个存储器写入功能单元1400k以及一个数据流控制单元140b。因此可看出的是,相对于图4b,不仅存储器读取功能单元而且乘法功能单元需要得较少,可是其中提高了计算的持续时间,一方面因为不是两个乘法功能单元而是仅仅一个乘法功能单元1400i同时实施或工作,而另一方面因为也附加地将向量z[i]存储在二级存储装置160中并且从那里读取所述向量z[i]。

根据本发明的配置的另一重要的优点在于,对于在功能单元之间的数据交换所需的系统资源基本上限制于初级连接单元150(图1a),尤其是未将主连接单元130一同包括在内。这有利地能够实现根据本发明的计算单元100的其他部件110a、110b、110c、120、125a、125b在使用基本上未通过功能单元来减轻负担的主连接单元130的情况下的高效通信,以及能够实现对在灵活的硬件扩展1500(图1a)之内的可能的阻塞状态的高效的且精确的预测。因而,在应用根据本发明的原理的情况下,有利地也可以减小或者排除在数据处理时由根据本发明的计算单元引起阻塞的风险。

在另一有利的实施形式中,如前面已经多次描述过的那样,设置了,在不同的功能单元140、140a、140b之间的数据交换(参见图1a)经由初级连接单元150进行,其中初级连接单元150优选地构造为耦合网络,特别优选地构造为无阻塞的耦合网络。特别有利地,初级连接单元150能够实现在不同的功能单元之间的多个同时的或者至少部分在时间上重叠的数据传输。

替选于或者补充于设置耦合网络,在不同的功能单元之间可以设置一个或者多个直接接线的数据连接。例如,在不同的功能单元之间有直接接线的情况下可以设置,确定的功能单元可以选择一个或者多个或者也可以是所有另外的功能单元作为用于将输出数据、譬如数据包输出的目的地(“目的地功能单元”)。根据可能的目的地功能单元的数目,要设置相对应得多的直接的数据连接。可选地,在一个或者多个这样的直接接线的数据连接中,也可以设置适配逻辑电路(用英语表达:gluelogic(黏合逻辑)),例如包括复用器结构或者解复用器结构等等的适配逻辑电路。此外可设想的是,针对要向例如三个可能的目的地功能单元输出数据包的确定的功能单元,设置三个分离的输出接口,这些输出接口中的每个输出接口都直接与可能的目的地功能单元中的一个目的地功能单元的相对应的输入接口连接。

在其他实施形式中,也可以将更灵活的连接技术用作前面所述的直接接线的或直接互连的数据连接。对此的实例是耦合网络、总线系统等等。由前面所述的技术构成的组合同样是可设想的。

在另一特别优选的实施形式中,初级连接单元150构造为,修改在输送给所述初级连接单元150的数据、譬如数据包中所包含的目的地地址,例如通过减去目的地功能单元的偏移地址,尤其是在将所述数据转交给相对应的目的地功能单元之前减去所述偏移地址,有利地修改所述目的地地址,使得向进行接收的目的地功能单元的数据包仅仅包括用于本地配置存储器和/或本地功能存储器的本地地址。

在另一特别优选的实施形式中,多个同类的或者不同类的功能单元可以相互组合,并且经由初级连接单元按照数据相互连接,由此获得计算网络的形式或如下计算装置:所述计算装置可以构造为计算确定的算法。特别优选地,计算装置可以计算如下算法:所述算法具有相较于通过形成计算装置的组成部分的各个功能单元可计算的这种算法更高的复杂性。用于这样的计算装置的实例在前面例如参照图1a、图1b、图1c、图4已经予以描述。尤其是,图1a中的“灵活的硬件扩展”1500是与图1b中的另一灵活的硬件扩展1500a一样或者也与图1c中的组g1、g2中的每个组一样的这种计算装置。

在优选的实施形式中,根据本发明能够实现的计算网络的计算算法的特征在于如下方面中的一个或者多个方面:每个参与的功能单元的特定的功能性;每个参与的功能单元的可配置性的特定的可能性,尤其是在其(计算)功能性方面的特定的可能性;每个参与的功能单元的关于建立如下数据连接的特定的连接性或连接能力:所述数据连接是至另外的功能单元或初级连接单元的数据连接、经由另一种接口a24的数据连接、至外部部件200的数据连接a34;每个参与的功能单元用于在与另外的功能单元或初级连接单元的连接性方面进行配置或重新配置的特定的能力和可能性;每个参与的功能单元的初始功能配置;每个参与的功能单元关于建立至另外的功能单元或初级连接单元的数据连接的连接性或连接的初始配置;用于经由另一种接口a24建立数据连接的初始配置;用于建立至外部部件200的数据连接a34的初始配置;每个参与的功能单元在运行时间有关其功能性(例如本地计算单元1420的特性)的特定动态重新配置;每个参与的功能单元有关其至另外的功能单元或初级连接单元的连接性的特定的(在功能单元的运行时间期间)动态的重新配置;用于经由另一种接口a24建立数据连接的特定动态配置;用于建立至外部部件200的数据连接a34的特定动态配置;在参与的功能单元的运行时间开始时的原始配置;输入数据;可以影响至少一个参与的功能单元或初级连接单元的配置或计算结果的事件。

在另一特别优选的实施形式中,功能单元中的至少一个功能单元构造为,配置或重新配置自己或者另外的功能单元,尤其是动态地、就是说在功能单元或另外的功能单元的运行时间期间进行配置或重新配置。经此,取消了通过外部部件进行配置的需要。换言之,在该实施形式中,为了配置或者重新配置根据本发明的功能单元,不需要外部部件。

可是,在其他实施形式中,可以设置,将根据本发明的计算单元100的至少一个另外的部件(例如计算核110a)或者也将外围部件125a、125b之一构造为,配置或重新配置根据本发明的功能单元中的至少一个功能单元。

根据本发明的功能单元的另一优点在于:高度“分布式智能”或计算容量和由例如各个本地计算单元的功能性得到的灵活性、其灵活的可配置性和可重新配置性。特别有利地,这些优点随着根据本发明的计算单元的功能单元的数目而缩放。这样的功能性和灵活性利用例如仅一个中央的上级单元(如其为常规的系统所已知的那样)不能经济地实现。本发明的重要的优点是在制订和(动态地)改变功能单元彼此间的数据路径或链接方面的多个可能性,这例如通过使用在功能单元之间交换的数据包中的相对应的地址而能够实现。另一优点是从功能单元可以在算法上彼此无关地运行得到的高并行性。另一优点是从功能单元可以在算法上彼此有关地以跨越功能单元的流水线运行得到的高并行性。

根据本发明,已成为已知的是,越多功能单元并行工作,则越多数据包被传输,其中各个数据包的目的地地址依照优选的实施形式也可以在数据包的两个相继传输之间改变。尤其是,通过初级连接单元也可以同时传输特别高数目的数据包,或把所述数据包介绍给目的地功能单元,因为根据本发明的功能单元自己构造为,相对应地预设目的地地址。

在另一优选的实施形式中,根据本发明的计算单元的所有部件布置在同一半导体衬底上,或在使用相同的半导体制造技术的情况下来制造。特别有利地,也将根据本发明的功能单元140、140a、140b、...、140g;1400、1400a、1400b、...、1400g布置在与计算单元的其他部件110a、110b、110c、120、125a、125b、130相同的半导体衬底上。经此,例如在将主连接单元130和至少一个初级连接单元150包括在内的情况下,有利地得到了建造得特别小的配置以及在部件之间建立高效的且高性能的数据连接的可能性。

图6示意性地示出了根据本发明的计算单元100的运行场景。计算单元100是用于机动车1000的内燃机1002的控制设备1004的组成部分。计算单元100例如具有如前面参照图1a至1g所描述的配置,以及具有至少两个功能单元140、1400,如其在前面例如参照图1a至图2c已描述的那样。根据本发明的计算单元100具有特别大的灵活性,因为包含在其中的功能单元可以动态地被配置或被重新配置。同时,通过根据本发明的功能单元有利地给出了对计算单元100的计算能力超过其计算核110a、110b、110c和别的外围部件125的计算能力的扩展。

用于根据本发明的原理和根据本发明的计算单元的其他有利的应用领域是用于运行电动机或发电机的控制设备、用于电池的控制设备、驾驶员辅助系统、底盘系统、电动工具、家用器具等等。

在下文描述了本发明的其他有利的实施形式和方面。

在特别优选的实施形式中,多个功能单元1400(图2a)通过建立至少一个数据连接的连接结构、尤其是初级连接单元150(图1a)、就是说例如耦合网络和/或总线系统等等相互连接,使得形成全体的数据流,该数据流能够实现对特定的算法的计算或者也能够实现对多个并行的特定算法的计算。

特别优选地,在其他实施形式中,数据连接中的至少几个数据连接可动态地重新配置,使得也可动态地改变所述算法。这可以如前面已经描述的那样例如通过对在参与的功能单元之间交换的数据包进行相对应寻址来进行。

在其他实施形式中,例如在功能单元之间的直接的数据连接(参见图1a中的附图标记152c)的情况下,这可以在使用复用器结构和/或解复用器结构的情况下来实现,所述复用器结构和/或解复用器结构在相对应的控制的情况下使直接的数据连接152c与相关的算法的要进行的修改相适配。

在优选的实施形式中,初级连接单元150具有高并行性,由此能够实现在不同的功能单元之间的多个同时的或者在时间上重叠的数据连接或数据传输。

进一步有利地,在数据处理时的高计算能力和高数据吞吐量可以由根据本发明的功能单元依照实施形式通过如下方式来实现:功能单元彼此间优选地以写入的方式(尤其是仅以写入的方式)转交其输出数据,由此提供了流(streaming)机制。尤其是,借此也可以避免在数据流中的不期望的中断。

特别优选地,针对通过根据本发明的功能单元的数据处理,没有设置对数据流的中央控制,如在传统的微控制器中例如以计算核的形式而是常见的那样。更确切地说,在本发明的优选的实施形式中,为了通过根据本发明的功能单元进行数据处理,数据流仅通过功能单元自己来确定,优选地通过至少一个数据流控制单元140b(图1a)来确定。在此,尤其是例如直接地和/或例如根据功能单元140b的配置切换或控制初级连接单元150(图1a),使得向经过配置的目的地功能单元发送功能单元的输出数据。这在一些实施形式中例如可以分别在确定的时间段内被设定,尤其是被设定直至重新配置或重构初级连接单元150。但是,这在一些实施形式中也例如可以通过如下方式引起:至少一些、可是优选地所有由功能单元发送的数据包被配备有目的地地址,所述目的地地址例如说明了用于数据传输的目的地功能单元,可选地附加地说明了在目的地功能单元的本地地址空间中的目的地存储区域或目的地存储单元等等。关于此的细节在前面已经参照根据图2a的数据结构ds描述了。

在另一实施形式中设置了,(只有)当经过配置的输入数据可支配时,功能单元才实施运算或计算任务。只要例如作为乘法累加器(mac)的功能单元的本地计算单元按照如下等式o=a*b+c只根据计算类型“乘法”来配置,就在存在两个输入值a、b时足够了,以便相关的功能单元或其本地计算单元可以开始计算。与此相应地,只要根据计算类型“乘法”和“加法”、就是说完全的乘法累加来配置功能单元或其本地计算单元,功能单元或其本地计算单元就附加地还可能必须等待存在另一输入值c。

在另一实施形式中设置了,功能单元例如在其本地计算单元的功能性方面灵活地被设计来使得:所述功能单元选择性地(例如根据配置)可用于相对应的计算任务的不同类型或变型方案。例如,本地计算单元的加法器优选地可以设计为使得:所述加法器代替加法也可以实施减法,其中不同的功能性或在这些功能性之间的更替可借助配置来设定。此外,在加法器中可以可配置的是,加法是否利用“carry”(进位)(用或者不用累加寄存器)等等来实施。

在另一实施形式中,在配置用于加载数据和/或用于存储数据的功能单元中,可选地可以设置至少一个(优选地多个)可配置的偏移寄存器(offset-register)。以固定地或者优选地可配置的方式,随着每次数据存取操作:改变至少一个偏移,例如以大于0、小于0或者等于0的值递增地或者递减地来改变,作为向左或者向右n个比特的移位操作;复位到0或者另外的值,作为所谓的“比特取反”值(英语bit-reverse,较高位比特被镜像到低位比特,并且反之亦然)等。特别优选地,必要时可以彼此有关地和/或彼此无关地可配置地设定现有的至少两个偏移,使得例如第一偏移随着每次数据存取而改变,而第二偏移例如只有当第一偏移已执行了确定数目的存取时才改变。特别优选地,用于加载和/或用于存储数据的功能单元具有(优选地可配置的)集成单元,用于(尤其是从浮点数到定点数并且反之亦然的)类型转换,和/或用于将比特宽度例如从16比特适配成32比特,诸如此类。

在另一有利的实施形式中,功能单元1400e(图4)可以构造为,考虑算法循环的特性变量。尤其是,功能单元1400e可以构造为,向随后的功能单元1400f输出所观察的计算运算的当前的循环深度,例如呈控制数据ctrl(参见图2a中的数据结构ds)的形式输出所述循环深度,随后(woraufhin)至少一个接收这种数据的功能单元1400f例如可以根据通过在前的功能单元1400e所通知的循环深度来实施通过所述功能单元1400f的本地计算单元1420设置的计算步骤的有条件的实施。

在另一有利的实施形式中,功能单元可以构造为,测定关于至少一个算法循环(或者多个循环层,“firsttransfer(首次转移)/lasttransfer(最后的转移)”)的开始和/或结束的信息。功能单元例如可以根据这样测定的信息控制其自己的本地计算单元1410的运行。

在另一有利的实施形式中,功能单元可以构造为,向至少一个其他的(目的地)功能单元传输之前测定的关于至少一个算法循环的开始和/或结束的信息。(目的地)功能单元可以根据接收到的信息又有利地例如执行计算任务的有条件的实施。示例性地,为此根据实施形式,在如下功能单元中观察数据的累加:所述功能单元构造用于实施计算运算“相加”。在循环开始时,复位(用英语表达:reset)累加寄存器,在实施该循环期间进行累加(这意思是:在该循环期间,相继的输入数据不间断地相加,并且被暂存在累加寄存器中),并且在该循环结束时,尤其是只将所累加的数据作为输出数据例如转交给随后的功能单元。

在另一有利的实施形式中,功能单元可以构造为,基于所测定的关于至少一个算法循环的开始和/或结束的信息,在同样的功能单元之内或者之外进行内部重构,有利地按照同样可配置的预设进行内部重构,使得例如改变所计算的功能。例如,乘法累加器在所测定的循环结束时被重构成纯乘法器,就是说不用进一步相加。

在另一有利的实施形式中设置了,功能单元1400的一个或者多个配置寄存器1432a、1432b、1432c、1432d(图2a)直接地或者间接地被映射到根据本发明的计算单元100(图1a)的另外的寄存器中,例如被映射在到灵活的硬件扩展1500之内和/或在灵活的硬件扩展1500之外的上级的外围寄存器中,例如被映射到其他的外围部件125中或者被映射到外部部件200中。经此,根据本发明的计算单元100的另外的部件、譬如计算核110a可以高效地访问功能单元1400的所述一个或多个配置寄存器。

随后说明了本发明的有利的实施形式、其使用和优选的应用实例。

根据本发明的计算单元100有利地能够实现对计算密集的且耗费大的(尤其是具有大的(计算)深度,多个计算运算的)数学计算的高效实施,而为此可能无需特定的加速硬件,譬如除了传统的微控制器或者集成到微控制器中之外,采用多个数字信号处理器(dsp)或者asic,等等。更确切地说,计算密集的且耗费大的数学计算可以有利地通过根据本发明的功能单元140、...、1400来实施,这些功能单元此外可灵活地彼此连接,由此使根据本发明的计算单元100与多种多样的计算密集的和耗费大的数学计算或算法简单适配是可能的。例如,根据本发明的计算单元100可以有利地被用于处理传感器值,例如处理在机动车的控制设备中的传感器值。

在优选的实施形式中,得到如下的示例性的数据处理链:(例如转速传感器的)传感器信号形成用于计算单元100的输入数据,在计算单元100的计算核110a之内计算,通过根据本发明的功能单元140进一步计算,通过计算核110a重新计算,产生控制信号作为计算单元100的用于下级系统、譬如执行器或用于操控执行器的输出级的输出信号。

在另外的实施形式中,也可以得到示例性的数据处理链的前面所述的元件的另外的顺序。例如,根据本发明的功能单元也可以代替计算核110a直接处于数据处理链的起始部处,或者也完全处于数据处理链的结束部处。在其他实施形式中,代替传感器信号,多个输入量和/或多个输出量也是可能的。

一般,基于多个功能单元的设置的根据本发明的原理的应用能够实现减轻计算单元100的计算核110a、110b、110c的负担。特别优选地,通过功能单元来代表的计算单元的流水线被填充并且(大规模地)并行地工作,这使非常快速的计算成为可能。

由于其效率,根据本发明的计算单元特别适合于内燃机、尤其是机动车的内燃机的控制设备,其中对多个输入值、譬如传感器信号进行复杂的处理,以便形成用于执行器的相对应的输出信号,所述执行器譬如是用于内燃机的燃料喷射系统的磁性或者压电操纵的喷射阀。

此外,根据本发明的计算单元可以有利地在用于驾驶员辅助系统的控制设备中被采用,例如用于分析用于控制驾驶员辅助功能的雷达数据,其中传统的控制设备通常具有多个数字信号处理器,以便能够处理雷达传感器装置的产生的数据量。

此外,根据本发明的具有灵活的硬件扩展的计算单元可以有利地在如下控制设备中被采用:在所述控制设备中计算复杂的调节技术模型,和/或在所述控制设备中进行复杂的数字信号处理。

除了前面已经描述的计算可能性之外,所述计算可能性通过各个功能单元1400(图2a)或通过各个功能单元的复合体、尤其是通过其相应的(多个)本地计算单元1420可以实现,只要在灵活的硬件扩展1500的相对应的扩充级(ausbaustufe)中所需的基本功能性以包括计算单元在内的功能单元的形式确实存在并且此外还以所需的数目、配置和彼此间的连接存在,以及允许具有所需的总计算能力的计算,就同样可能通过复合体中的一个或者多个根据本发明的功能单元提供随后的功能性:计算(也高维度的)特性曲线族(具有例如多于五个的维度),计算基于数据的模型,计算物理模型,计算神经网络,求解线性方程组,形成逆矩阵(尤其是较高阶的矩阵),求解非线性方程组,例如通过计算快速傅立叶变换(fft)进行时间对频率的转换,例如通过计算快速傅立叶逆变换(ifft)进行频率对时间的转换,计算不同的滤波器类型、如fir(有限脉冲响应(finiteimpulseresponse))、iir(无限脉冲响应(infiniteimpulseresponse))等等。

图7示意性地示出了根据另一实施形式的经简化的数据流,其中示例性地描绘了总共四个功能单元1400_a1、1400_a2、1400_b、1400_c。从功能单元1400_a1至功能单元1400_b的可能的数据流用箭头a50表征。从功能单元1400_a2至功能单元1400_b的可能的数据流用箭头a51表征。从功能单元1400_b至本身的可能的数据流(能够实现递归)用箭头a52表征。从功能单元1400_b至功能单元1400_c的可能的数据流用箭头a53表征。功能单元1400_c的输出数据用箭头a54表征。

如从图7中可看出的那样,在输入侧,可以给功能单元1400_b输送两个不同的功能单元1400_a1、1400_a2的数据。例如,功能单元1400_b可以构造为,收到第一功能单元1400_a1的数据a50,而可是没有已经收到第二功能单元1400_a2的数据a51。此外,功能单元1400_b可以构造为,收到第二功能单元1400_a2的数据a51,而可是没有已经收到第一功能单元1400_a1的数据a50。此外,功能单元1400_b可以构造为,从其本身收到关于递归分支a52的数据,而可是没有已经收到功能单元1400_a1、1400_a2的数据a50、a51。另外的用于控制在功能单元之间的数据流的群集(konstellation)依照其他实施形式同样是可设想的。尤其是,在其他实施形式中,也可能同时从多于一个的功能单元1400_a1、1400_a2或者通过1400_b到其本身的递归接收到数据和/或信息。

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