存储器直接访问控制装置的制作方法

文档序号:12305242阅读:177来源:国知局
存储器直接访问控制装置的制作方法

本发明涉及一种根据权利要求1的前序部分所述的存储器直接访问控制装置,以及一种根据从属专利权利要求所述的方法。



背景技术:

从市场公知的是如下计算单元、例如处理器,所述计算单元具有一个或多个处理器核,而且所述计算单元可以访问工作存储器。此外,具有一个或多个这种计算单元的计算机系统通常包括大量与所述计算单元共同起作用的其它单元、例如输入和输出模块(“io”)以及诸如此类的。所述计算机系统的所提及的元件中的至少多个元件可以通过共同的、优选地并行的总线来相互交换数据。此外,还公知用于所谓的存储器直接访问(dma,英文“directmemoryaccess”)的方法,由此可以改善通过所述共同的总线的数据交换。



技术实现要素:

本发明所基于的问题通过一种根据权利要求1的存储器直接访问控制装置以及通过一种根据从属权利要求的方法来解决。有利的扩展方案在从属权利要求中予以说明。此外,对于本发明重要的特征在随后的描述中以及在附图中得以找到,其中所述特征不仅可以单独地而且可以以不同的组合而对于本发明是重要的,而不再对此明确地进行指明。

本发明涉及一种存储器直接访问控制装置,其中所述存储器直接访问控制装置具有用于使所述存储器直接访问控制装置与如下总线系统连接的接口,所述总线系统使多个总线成员连接。在此,所述存储器直接访问控制装置被构造用于实施如下步骤:

-接收不同的总线成员的至少两个查询信号,用于执行从有关的总线成员到至少一个其它的总线成员的数据传输,

-根据表征相应的数据传输的优先级的配置数据来确定从所述不同的总线成员到所述至少一个其它的总线成员的数据传输的顺序,

-在分别使用通过总线系统的至少一个存储器直接访问的情况下,以所确定的顺序来实施从所述不同的总线成员到所述至少一个其它的总线成员的数据传输。

“总线成员”的例子是计算单元、尤其是处理器或处理器核、工作存储器、输入-输出单元、通信模块、存储介质以及诸如此类的,所述“总线成员”因此可以通过所述总线系统以读取和/或写入的方式来交换数据。用语“不同的总线成员”指的是,所述至少两个查询信号通常不是来自同一总线成员。在此,所述“不同的”总线成员可以在技术上同类地来实施或者可以在技术上不同类地来实施。

所提及的“查询信号”例如是触发信号、查询位或者诸如此类的,所述“查询信号”可以通过各自的或者通过共同的控制线、数据线或者诸如此类的被传输给所述存储器直接访问控制装置。

在一个设计方案中,所提及的“配置数据”被定位在所述存储器直接访问控制装置之内。例如,所述配置数据易失性地或非易失性地被存储在一个包括所述存储器直接访问控制装置的电子器件中。补充地或者可替换地,所述配置数据被定位在工作存储器的区域内或者被定位在所述存储器直接访问控制装置之外的与所述工作存储器类似的存储器内。由此,所述配置数据例如可以借助于与总线系统连接的计算单元(处理器、处理器核)在需要时以简单的方式来预先给定和/或改变和/或更新。在相应适当的时间点,这甚至可以在所述存储器直接访问控制装置运行期间实现。

本发明尤其具有如下优点,所述存储器直接访问控制装置可以提高如下这种总线成员的功率,所述总线成员不曾明确地被设计用于以所谓的“多核系统(multicore-system)”(即一个具有多个处理器核的计算单元)来运行,而是只在进行通信的设计目标的情况下已经以一个单个的处理器核来开发。这例如涉及更下面提到的“mcan模块”。

有利地,所述存储器直接访问控制装置的运行可以只利用一个唯一的所谓的“dma信道”来实现,其中尤其是也能考虑不同的总线成员的查询信号,由此可以节约花费和成本。缩写词“dma”指的是英文“directmemoryaccess”。

此外,本发明还具有如下优点,在没有对数据的不符合期望的改写的情况下能够实现从不同的总线成员到例如另一总线成员的相同的目标地址的数据传输,其方式是所述存储器直接访问控制装置被构造为在能预见的目标地址“冲突”的情况下以适当的方式增加或移动相应的第二目标地址。对此必要的“智慧”被包含在所述存储器直接访问控制装置本身中,使得与此相关的例如通过被连接到总线系统上的计算单元的协助基本上是多余的。

例如,如果两个或者更多个要传输的数据应该被传输给另一相同的总线成员,其中所述数据分别要求或具有相同的优先级,那么可能形成所描述的目标地址冲突。对此参见更下面对所谓的“can-id”的阐述。

通常,通过所描述的对目标地址的按具体情况的增加,不需要针对数据传输保留大量分开的存储区、尤其是在同一总线成员中的大量分开的存储区,使得可以特别高效地使用现有的数据存储器。易于理解的是,在要传输给同一目标地址的数据超过两个时可以相对应地继续所述增加的过程。

在本情况下,只要不另作说明,术语“目标地址”就被理解为单个的地址或地址区或在数据存储器中的地址区中的第一地址。所述数据存储器例如是与总线系统连接的中央工作存储器和/或是如下工作存储器单元,所述工作存储器单元被分配给相应的与总线系统连接的计算单元或一般来说被分配给总线成员。

在一个设计方案中,所述存储器直接访问控制装置被构造为,根据所述配置数据至少暂时地预先给定所述不同的总线成员的固定的优先级,用于确定顺序。由此,有利地,所述存储器直接访问控制装置的运行可以特别简单地予以执行。

在另一设计方案中,所述存储器直接访问控制装置被构造为,根据所述配置数据至少暂时地按照接收到所述查询信号的时间顺序来确定数据传输的顺序。由此,有利地,在所述存储器直接访问控制装置运行时可以避免:各个查询必须不符合期望地长时间地等待附属的数据传输。

在另一设计方案中,所述存储器直接访问控制装置被构造为,根据所述配置数据至少暂时地考虑可能存在的周期性地关于所述总线成员的数量的查询信号,用于确定顺序。由此,有利地,能够特别有规律地考虑所述总线成员。

在对此的第一变型方案中,在所述周期内只考虑如下这种总线成员,所述总线成员当前已经将查询信号发送给所述存储器直接访问控制装置,其中然而相对应的数据传输还未完成。可选地,借助于所述配置数据可以预先给定:如果同时在所述存储器直接访问控制装置中,其它的查询信号被其余的总线成员接收到,那么如有必要应如何改变对所述顺序的确定。

在对此的第二变型方案中,在所述周期内相继询问全部适合于所述方法的总线成员:如有必要,所述总线成员当前是否将查询信号发送或已经发送给所述存储器直接访问控制装置。

在一个设计方案中,所述配置数据甚至可以在运行期间被改变。由此,也可以以相对应的方式改变用于确定所述顺序的算法并且因此有利地改善所述存储器直接访问控制装置的运行。

在另一设计方案中,所述存储器直接访问控制装置被构造为,将所要传输的数据传输给所述另一总线成员的目标地址,其中所述存储器直接访问控制装置此外还被构造为,当多个数据、尤其是不同的总线成员的多个数据应该被传输给另一相同的总线成员时,增加所述目标地址。这已经在更上面与所述存储器直接访问控制装置的优点一起进一步予以阐述。

在另一设计方案中,根据所述配置数据和/或根据所述要传输的数据来确定数据传输的顺序和/或增加目标地址。因此,所述存储器直接访问控制装置有利地可以使用或分析所述(能预先给定的)配置数据,而且补充地或可替换地也可以使用或分析所述要传输的数据的数据内容,以便一方面能够实现最优地区分优先次序而且能够实现最优地使用所述目标地址或最优地使用在相应的数据存储器中的存储区。

例如,只要有关的总线成员被实施为can模块,所述要传输的数据就可包括所谓的“can-id”。在此,有利地,相应的can-id可以单独地或补充地被用于确定优先级并且作为结果确定数据传输的顺序。缩写词“can”指的是“controllerareanetwork(控制器局域网络)”。尤其是,所提及的can模块也可以是所谓的“mcan模块”,其中字母“m”表征制造商特定的称呼。

此外,本发明还涉及一种用于使存储器直接访问控制装置运行的方法,其中所述存储器直接访问控制装置具有用于使所述存储器直接访问控制装置与如下总线系统连接的接口,所述总线系统使多个总线成员连接。在此,所述方法包括如下步骤:

-接收不同的总线成员的至少两个查询信号,用于执行从有关的总线成员到至少一个其它的总线成员的数据传输,

-根据表征相应的数据传输的配置数据的优先级来确定从所述不同的总线成员到所述至少一个其它的总线成员的数据传输的顺序,

-在分别使用通过所述总线系统的至少一个存储器直接访问的情况下,以所确定的顺序来实施从所述不同的总线成员到所述至少一个其它的总线成员的数据传输。

得到类似于已经在更上面针对所述存储器直接访问控制装置所描述的那样的优点。

在一个设计方案中,所述方法包括如下步骤:

-接收第一总线成员的查询信号,用于执行从所述第一总线成员到另一第一总线成员的第一数据传输,

-接收第二总线成员的查询信号,用于执行从所述第二总线成员到另一第二总线成员的第二数据传输,

-根据表征相应的数据传输的优先级的配置数据来确定所述第一和第二数据传输的顺序,

-在分别使用通过所述总线系统的至少一个存储器直接访问的情况下,以所确定的顺序来实施所述第一和第二数据传输。

在此,有利地,所述方法甚至可以只针对两个总线成员改善所述数据传输。易于理解的是,所述另一第一总线成员也可以按具体情况地与所述另一第二总线成员相同。此外,还易于理解的是,所描述的方法步骤可以相对应地“被缩放”,使得通过所述方法也可以有利地考虑任意数目的查询信号或总线成员。

在所述方法的另一设计方案中,根据所述配置数据,至少暂时地预先给定所述不同的总线成员的固定的优先级,用于确定顺序。

在所述方法的另一设计方案中,根据所述配置数据,至少暂时地按照接收到所述查询信号的时间顺序来确定数据传输的顺序。

在所述方法的另一设计方案中,根据所述配置数据,至少暂时地考虑可能存在的周期性地关于所述总线成员的数量的查询信号。

在所述方法的另一设计方案中,所述要传输的数据被传输给所述另一总线成员的目标地址,而且当多个数据、尤其是不同的总线成员的多个数据应该被传输给另一相同的总线成员时,增加所述目标地址。

在所述方法的另一设计方案中,根据所述配置数据和/或根据所述要传输的数据来确定数据传输的顺序和/或增加目标地址。

所述方法的所描述的设计方案对应于所述存储器直接访问控制装置的更上面描述的设计方案,并且因而在本情况下不需要进一步予以阐述。也得到相对应的优点。

附图说明

随后,本发明的示例性的实施方式参考附图予以阐述。在附图中:

图1示出了具有总线系统的计算机系统的非常简化的方框电路图;

图2示出了图1的计算机系统的实施方式,所述计算机系统具有大量计算单元和分别被分配给所述计算单元的工作存储器单元、具有一个存储器直接访问控制装置以及具有大量通信模块;

图3a示出了总线成员的具有一个目标地址的存储区的第一简图;

图3b示出了图3a的总线成员的具有两个目标地址的存储区的第二简图;以及

图4示出了用于使图2的存储器直接访问控制装置运行的方法的流程图。

在所有附图中,即使在不同的实施方式中,相同的附图标记也被用于功能等效的要素和参量。

具体实施方式

图1示意性地示出了计算机系统10的非常简化的方框电路图,所述计算机系统10具有计算单元20、工作存储器30、存储器直接访问控制装置40以及通信模块50,所述计算单元20、工作存储器30、存储器直接访问控制装置40以及通信模块50分别与总线系统12连接。同样如所述部件20、30、40、50中的一个或多个那样,所述总线系统12例如可以被布置在半导体器件(“芯片”或“片上网络(networkonchip)”)上。补充地,所述存储器直接访问控制装置40包括配置数据42,所述配置数据42在更下面在图2中还进一步予以阐述。

图2示出了类似于图1的计算机系统10,所述计算机系统10在本情况下包括计算单元20,所述计算单元20具有大量处理器核20_1至20_n以及分别被分配给所述处理器核20_1至20_n的工作存储器单元30_1、30_2至30_n。此外,图1还示出了多个与总线系统12连接的通信模块50_1至50_n。can总线或者诸如此类的例如分别被连接到所述通信模块50_1至50_n上。此外,中央工作存储器30与总线系统12连接。

所述与总线系统12连接的部件20_1、20_2至20_n,30_1、30_2至30_n,30,40和50_1、50_2至50_n中的每个都表征所述总线系统12的一个相应的“总线成员”,其中所述总线成员普遍地通过附图标记60来表示。此外,处理器核20_1至20_n也同义地被称作计算单元20_1至20_n。

在图2中的下方区域内,多个查询信号14分别借助于弯曲的箭头象征性地来绘制。所述查询信号14可以由相应的总线成员60传送给存储器直接访问控制装置40,以便在所述存储器直接访问控制装置40中借助于受所述存储器直接访问控制装置40控制的存储器直接访问来请求从有关的总线成员60到至少一个其它的总线成员60的数据传输。

此外,象征性地绘制控制线16,通过所述控制线16,例如可以将请求信号和/或确收信号以及诸如此类的从所述存储器直接访问控制装置40传送给相应的总线成员60。类似地,在图2中的上方的总线成员60可选地也可以借助于查询信号14和控制线16与所述存储器直接访问控制装置40连接,这在图2中为了清楚起见未示出。替换于或者补充于所述控制线16,也可以设置相对应的信号,所述信号例如能通过总线系统12来传输。

此外,在图2中示例性地绘制有箭头18,以便象征性地勾画出借助于所述存储器直接访问控制装置40来实施例如朝计算单元20_1或朝工作存储器30_1的数据传输。

因此,图2在整体上示出了具有存储器直接访问控制装置40的计算机系统10,其中所述存储器直接访问控制装置40具有用于使所述存储器直接访问控制装置40与如下总线系统12连接的接口,所述总线系统12使多个总线成员60连接,而且其中所述存储器直接访问控制装置40被构造用于实施如下步骤:

-接收102(参见图4)不同的总线成员60的至少两个查询信号14,用于执行从有关的总线成员60到至少一个其它的总线成员60的数据传输,

-根据表征相应的数据传输的优先级的配置数据42来确定104(参见图4)从所述不同的总线成员60到所述至少一个其它的总线成员60的数据传输的顺序,

-在分别使用通过所述总线系统12的至少一个存储器直接访问的情况下,以所确定的顺序来实施106(参见图4)从所述不同的总线成员60到所述至少一个其它的总线成员60的数据传输。所述存储器直接访问控制装置40优选地被构造为硬件电路。

在一个实施方式中,所述存储器直接访问控制装置40被构造为,根据所述配置数据42预先给定所述不同的总线成员60的固定的优先级,用于确定顺序。在另一实施方式中,所述存储器直接访问控制装置40被构造为,根据所述配置数据42按照接收到所述查询信号14的时间顺序来确定数据传输的顺序。在另一实施方式中,所述存储器直接访问控制装置40被构造为,根据所述配置数据42考虑可能存在的周期性地关于所述总线成员60的数量的查询信号14,用于确定顺序。

在另一实施方式中,所述配置数据42可以在计算机系统10运行期间被改变,使得对所述顺序的确定104可以按具体情况利用变化的算法来实现,如更上面已经描述的那样。

在另一实施方式中,所述配置数据42被定位在所述存储器直接访问控制装置40之内。例如,所述配置数据42易失性地或非易失性地被存储在一个包括所述存储器直接访问控制装置40的电子器件中。

在另一实施方式中,所述配置数据42被定位在工作存储器30的区域内或者被定位在所述存储器直接访问控制装置40之外的与所述工作存储器30类似的存储器内。由此,所述配置数据42例如可以借助于所述计算单元20_1至20_n中的一个在需要时以简单的方式来改变和/或更新。

图3a示出了针对总线成员60的具有第一目标地址72_1的数据存储器70的第一通用简图。随后,只要不另作说明,术语“目标地址”就被理解为单个的地址或地址区或在数据存储器70中的地址区中的第一地址。在图3a中示出,第一数据74和第二数据76应该被传输给同一第一目标地址72_1。在此,如可看出的那样,得到冲突。

图3b示出了图3a的同一数据存储器70,其中与此不同,除了第一目标地址72_1也使用第二目标地址72_2。相对应地,所述第一数据74可以被传输给第一目标地址72_1,而所述第二数据76可以被传输给第二目标地址72_2。

在此,所述存储器直接访问控制装置40被构造为,将所述要传输的数据74和76传输给总线成员60的目标地址72,其中所述存储器直接访问控制装置40此外还被构造为,当多个数据(在本情况下即第一数据74和第二数据76)、尤其是不同的总线成员60的多个数据应该被传输给同一总线成员60时,增加所述目标地址72。所述增加在图3b中通过箭头80象征性地来示出。

例如,所述第一目标地址72_1的与之相对应的地址被提高了与第一数据74的数量相对应的程度,使得从中得到第二目标地址72_2。在一个实施方式中,实现这一点,使得目标地址72_1和72_2在数据存储器70中的地址区中相邻。因此,可以避免所述第一和第二数据74和76的相互的改写。易于理解的是,在图3a和3b中所示出的方法即使在超过两个数据74和76的情况下也可以相对应地被应用于增加所述目标地址72。

根据其它实施方式,所述存储器直接访问控制装置40被构造为,根据所述配置数据42和/或根据所述要传输的数据74或76来确定104数据传输的顺序和/或增加目标地址72_1。例如,只要相应的通信模块50被实施为can模块,第一数据74或第二数据76按具体情况就可包括所谓的“can-id”。在此,相应的can-id可以单独地或补充地被用于确定优先级并且作为结果确定数据传输的顺序。

图4示出了用于使所述存储器直接访问控制装置40运行的方法、尤其是按照图1至3中的一个或多个的方法的流程图。在起始方框100中开始在图4中示出的流程。

在此,所述存储器直接访问控制装置40具有用于使所述存储器直接访问控制装置40与如下总线系统12连接的接口,所述总线系统12使多个总线成员60连接,其中所述方法包括如下步骤:

-接收(方框102)不同的总线成员60的至少两个查询信号14,用于执行从有关的总线成员60到至少一个其它的总线成员60的数据传输,

-根据表征相应的数据传输的优先级的配置数据42来确定(方框104)从所述不同的总线成员60到所述至少一个其它的总线成员60的数据传输的顺序,

-在分别使用通过总线系统12的至少一个存储器直接访问的情况下,以所确定的顺序来实施(方框106)从所述不同的总线成员60到所述至少一个其它的总线成员60的数据传输。

例如,至少暂时能在所述存储器直接访问控制装置40中执行的方法包括如下步骤:

-接收(方框102)第一总线成员60的查询信号14,用于执行从所述第一总线成员60到另一第一总线成员60的第一数据传输,

-接收(同样是方框102)第二总线成员60的查询信号14,用于执行从所述第二总线成员60到另一第二总线成员60的第二数据传输,

-根据表征相应的数据传输的优先级的配置数据42来确定(方框104)所述第一和第二数据传输的顺序,

-在分别使用通过所述总线系统12的至少一个存储器直接访问的情况下,以所确定的顺序来实施(方框106)所述第一和第二数据传输。易于理解的是,按照本发明的原理在所述存储器直接访问控制装置40的情况下也能被应用到对超过两个查询信号14的接收上。

在一个实施方式中,在方框104中,根据所述配置数据42来预先给定所述不同的总线成员60的固定的优先级,用于确定顺序。

在另一实施方式中,在方框104中,根据所述配置数据42,按照接收到所述查询信号14的时间顺序来确定数据传输的顺序。

在另一实施方式中,在方框104中,根据所述配置数据42,考虑可能存在的周期性地关于所述总线成员60的数量的查询信号14,以便从中确定数据传输的顺序。所述周期性的考虑在英文语言惯用法中被称作“roundrobin(循环)”。

在对此的第一变型方案中,在所述周期内只考虑如下这种总线成员60,所述总线成员60当前已经将查询信号14发送给所述存储器直接访问控制装置40,其中然而相对应的数据传输还未完成。可选地,借助于所述配置数据42可以预先给定:如果同时在所述存储器直接访问控制装置40中,其它的查询信号14被其余的总线成员60接收到,那么如有必要应如何改变对所述顺序的确定104。

在对此的第二变型方案中,在所述周期内相继询问全部适合于所述方法的总线成员60:如有必要,所述总线成员60当前是否将查询信号14发送给所述存储器直接访问控制装置40。

类似于对图3a和3b的描述,所述要传输的数据(例如数据74和76)被传输给另一总线成员60的目标地址72_1,而且按照另一实施方式,当多个数据74和76、、尤其是不同的总线成员60的多个数据74和76应该被传输给另一相同的总线成员60时,关于所述第一目标地址72_1增加第二目标地址72_2。

在所述方法的另一实施方式中规定,根据所述配置数据42和/或根据所述要传输的数据74或76来确定104数据传输的顺序和/或增加目标地址72_2,如这在更上面已经被描述的那样。

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