用于运行计算单元的方法与流程

文档序号:16807061发布日期:2019-02-10 13:08阅读:160来源:国知局
用于运行计算单元的方法与流程

本发明涉及根据权利要求1的前序部分的方法以及根据并列权利要求的计算单元、转移单元和控制和/或调节装置。



背景技术:

从市场上已知具有一个或多个处理器或处理器内核的计算单元,所述处理器或处理器内核可以从数据存储器读取数据和/或程序指令并且因此可以实施相应的计算机程序。



技术实现要素:

本发明所基于的问题通过根据权利要求1的前序部分的方法以及根据并列权利要求的计算单元、转移单元和控制和/或调节装置来解决。有利的扩展方案在从属权利要求中说明。对于本发明重要的特征还可从以下说明书和附图中找到,其中这些特征可以不仅单独地而且以不同组合对于本发明重要,对此不再次明确提示。

本发明涉及一种用于运行计算单元的方法,其中计算单元具有至少一个计算内核和关于计算单元本地的存储器,并且其中借助至少一个计算内核实施计算单元的计算机程序的多个程序功能。在此,该方法包括以下步骤:

-确定程序指令、特别是所有程序指令,所述程序指令属于在将来的实施时刻待实施的程序功能,

-在实施时刻之前将所确定的程序指令提供在本地存储器中。

优选地(但并非强制地),程序指令的确定在时间上在计算机程序的运行时间之前进行,如在更下面还要更详细地解释。

例如,本地存储器是计算单元的内部全局存储器和/或计算单元的外部存储器和/或计算内核的本地存储器。上述存储器例如是ram存储器,英文“randomaccessmemory,随机存取存储器”,具有自由选择存取的存储器。

计算单元可以是用于实施计算机程序的本身任意的设备、例如具有对其外围的组件的处理器或微控制器等。计算单元可以借助唯一的集成半导体电路或借助多个集成半导体电路来实施。计算单元优选地是处理器内核。

上述的计算机程序可以包括一个或多个程序功能,并且相应的程序功能可以包括一个或多个程序指令(指令)。在英文惯用语中,“程序功能”必要时可以通过术语“runnable(可运行)”来表征。程序功能可以包括可计划的程序功能和/或不可计划的程序功能。

所提出的方法可以避免在实施程序功能或程序指令、特别是可计划的程序功能时的等待时间,其方式是,对于实施所需的程序指令在实施之前提供在计算内核的本地存储器中。

简言之,确定并且充分利用关于分别下个排队等待实施的程序功能的知识,以便将分别所需的程序指令(可选地)提供在本地存储器中。该知识例如可以通过关于程序功能的周期实施的静态计划和/或通过程序分析(软件分析)来确定。如果因此在实施之前已经已知相应程序功能的顺序,则这些程序功能可以在本地存储器中准备好地(最优地)布置。由此不需要相应计算内核针对程序指令必须从系统存储器(例如从所谓的“闪存”或具有比本地存储器更高的等待时间的其他存储器)加载程序指令。特别是由此可以有利地减小以下概率,即计算内核可能能够实施但还没有加载的程序功能或程序指令并且因此计算内核必须等待。该情景也通过英文术语“instructionstall,指令失速”来表征。

此外,可以简单来说,按照方法关于相应的将来的实施的系统知识可以在功能层面上被利用,其中相应的、优选所有属于程序功能的程序指令可以先验地被提供。上述“系统知识”例如对应于例如关于所谓的“嵌入式系统”(embeddedsystems)“域特定的知识”,如其例如可以在马达控制等中应用。

此外,可以简单来说,为可预见的(特别是可计划的)程序功能提供程序指令可以以不同方式进行。这在更下面还要更详细地解释。

此外,可以简单来说,程序功能的实施的预见经常并不是对于在嵌入式系统中实施的所有程序功能来说是可能的。这例如可以涉及所谓的“中断处理程序”和/或库函数和/或操作系统的以所描述方式可能难以先验地预见和计划的功能。

在一种设计方案中,为此设置混合运行:可计划的程序功能来自本地存储器地实施,而不可计划的程序功能以通常方式实施并且必要时以相对高的等待时间从代码存储器读取。

本发明具有以下优点,可以提高计算单元或计算内核的表征计算机程序的执行的负荷率。例如可以提高微控制器的负荷率。特别是在实施程序功能期间可以实现较高的ipc,英文:“instructionspercycle,每周期的指令”,德文:“在时钟周期内可实施的指令(程序指令)的数量”。

本发明的另一优点是,特别是在实施可计划的程序功能时,缓存可以至少部分地或暂时地是多余的。由此可以提高缓存的效率,其中例如在缓存上存在的信息更少地必须被覆写(更少“置换”)。同样能够可以的是,更小地确定缓存的大小,由此可以节省成本。缓存对应于相对快的缓冲存储器,其例如可以避免对相对慢的系统存储器或可能需要的新计算的重复存取。因为缓存通常具有比全局存储器更少的等待时间,所以缓存通常比(常见的)本地存储器、诸如本地工作存储器更贵。总之,根据本发明的原理的应用也能够实现相对慢的并且因此适宜的代码存储器(诸如闪存)的使用,而不出现由此已知的缺点(例如指令失速)。

在方法的一种设计方案中规定,所确定的程序指令以根据待实施的程序功能的顺序提供在计算单元的本地存储器中。由此在程序实施时有利地能够实现总体高的效率。

在另一种设计方案中规定,对于多个不同的程序功能,所有属于有关程序功能的程序指令分别在相应的实施时刻之前提供在本地存储器中。由此可以有利地避免在程序功能执行中的可能的延迟。

在另一种设计方案中规定,本地存储器是计算单元的全局工作存储器和/或至少一个计算内核的本地工作存储器。由此可以有利地相对小地保持相应的等待时间。例如全局工作存储器被构造成,使得计算单元的多个计算内核、即至少两个计算内核可以存取该全局工作存储器。在一种设计方案中,全局存储器是计算单元的外部或内部ram存储器。

在另一种设计方案中,至少一个环形存储器(“环形缓冲器”)设置在本地存储器中以提供所确定的程序指令,其中特别是环形存储器为了程序实施周期性地由计算单元读取,并且其中环形存储器周期性地以其他确定的并且时间上随后的程序指令在环形存储器的以下这样的地址处来写入,即所述地址在周期中已经由计算单元读取。例如,环形存储器布置在本地存储器的地址范围内,其中分别设置至少一个可周期性改变的地址指针,以便根据方法对环形存储器进行存取。由此可以特别有效地进行所确定的程序指令的提供和/或实施。

例如,计算内核依次地实施来自环形存储器的待实施的程序功能,而其他单元以匹配方式填充环形存储器。对此参见更下面描述的转移单元。本地存储器的至少一部分作为环形存储器的实施或组织可以对于该方法是特别有利的,然而按照方法也可以将其他实施方式或组织方式用于本地存储器。

在另一种设计方案中规定,在计算单元上周期性实施多个程序块(英文:“tasks,任务”),其中特别是分别将不同的周期时间分配给不同的程序块,并且其中每个程序块具有计算机程序的多个程序功能,所述程序功能可以以可预先给定的顺序实施,并且其中分别设置分开的环形存储器来提供不同程序块的所确定的程序指令。例如,在用于机动车的马达控制的控制和/或调节装置中,程序块可以具有1ms(毫秒)、2ms、5ms、10ms等的周期时间。相应地,能够有利的是,对于每个当前的周期时间使用自身的环形存储器,由此可以改进在运行计算单元时的效率。

在另一种设计方案中规定,通过以下方式提供所确定的程序指令,即优选地与计算单元无关的转移单元将所确定的程序指令从源存储器拷贝到本地存储器中。例如,源存储器是相对于计算单元外部的闪存。通过使用转移单元可以有利地加速该方法并且给相应的计算内核减负。

此外可以规定,转移单元包括另外的计算单元和/或计算单元的另外的计算内核和/或存储器直接存取控制装置。由此,转移单元可以有利地简单且有效地实施。在一种特别优选的设计方案中,存储器直接存取控制装置实施为纯硬件电路。存储器直接存取控制装置英文也称为“dma控制器”(“direktmemoryaccess,直接存储器存取”)。替代地,存储器直接存取控制装置可以借助软件或者混合地借助硬件和软件来实现。在另一种设计方案中,转移单元实施为特定的(应用特定的)硬件电路。由此能够特别简单的是,使用代码变换和/或与地址位置无关的程序代码(英文:“positionindependentcode,浮动地址代码”)。

在另一种设计方案中,属于一个程序功能的所有程序指令的确定包括:分析程序功能的周期性实施的优选静态的计划和/或计算机程序的至少一部分的软件分析。因此,从即将到来的时间段期间待实施的程序功能的数量,在使用程序功能的线性列表的情况下借助静态计划可以有利地确定分别定期待实施的程序功能和/或借助分析、特别是软件分析可以有利地确定其余待实施的程序功能。这也表征了更上面描述的系统知识或域特定的知识。

在另一种设计方案中,确定程序功能的多个线性列表,其中在计算机程序或程序块的运行时间期间借助在运行时间期间确定的条件从所述多个中选择程序功能的相应列表来进行处理。通过可选地使用这样的“准静态计划”可以附加地改进该方法。

在一种设计方案中,在计算机程序的运行时间期间确定被设置用于实施的程序功能的至少一个序列。上述序列然后可以以与上述线性列表可比较的方式用于该方法。

在另一种设计方案中规定,程序功能包括第一组和第二组,第一组的实施对于将来的实施时刻分别是可计划的,第二组的实施对于将来的实施时刻分别是不可计划的,其中第一组的程序功能借助至少部分例如作为环形存储器组织的工作存储器来实施,并且其中第二组的程序功能借助通常的缓存或通常的代码存储器来实施。由此可以有利地将该方法匹配于计算单元和/或计算机程序的运行的相应条件。

在另一种设计方案中规定,转移单元在起动计算单元时和/或在计算单元的运行时间期间被编程,特别是使得转移单元可以在实施时刻之前将所确定的程序指令以分别所需的顺序提供在本地存储器中。

此外可以规定,转移单元的编程分别包括至少一个源地址和至少一个目标地址和有关程序功能的所属的待提供到本地存储器中的数据块的大小。由此可以有利地优化转移单元的运行。数据块包括至少一个程序功能的所确定的程序指令的相应数量。在对此的第一变型中,转移单元在起动计算单元或计算内核或嵌入式系统时一次性编程和/或配置。在对此的第二变型中,这在起动之后、即在运行时间期间进行至少一次。

此外可以规定,转移单元借助计时器(“timer”)来进行时间控制,以便确定相应的程序指令和/或将所确定的程序指令提供在本地存储器中。由此可以改进方法的时间流程。

此外可以规定,转移单元由实施程序块的计算单元(或计算内核)和/或由与此不同的计算单元(或计算内核)来控制,以便确定相应的程序指令和/或将所确定的程序指令提供在本地存储器中。由此能够实现转移单元的有利控制。在一种设计方案中,上述控制借助中断进行。

此外可以规定,转移单元的控制根据本地存储器或环形存储器的填充状态和/或计算单元或计算内核的系统状态和/或计算单元或计算内核的外围单元的系统状态来进行。由此可以有利地且有效地利用本地存储器。

此外可以规定,将所确定的程序指令提供在环形存储器中在使用分别包括恰好一个程序功能的数据块的情况下进行。由此可以进一步改进该方法。如更前面已经解释的,相应的程序功能可以包括一个或多个程序指令(指令)。

此外可以规定,将所确定的程序指令提供在环形存储器中在使用与相应程序功能无关地具有恒定大小的数据块的情况下进行。由此可以有利地简化该方法。必要时,这样的数据块包含多于一个的程序功能或整个数据块不包含程序指令。必要时,从程序功能向程序功能的转移能够是合理的,即使这些程序功能典型地具有不同的数据长度。在此,分别最合适的变型的选择例如可以根据硬件架构和/或总线系统的带宽和/或本地存储器的大小来进行。

此外可以规定,待提供到本地存储器或环形存储器中的程序指令的寻址或地址借助编译器和/或链接器根据所属程序功能的特性来匹配。由此可以基本上与程序代码的特性无关地执行该方法。

由此可以有利地考虑以下状况,即将所确定的程序指令提供在本地存储器中在一般情况下不强制地在适合于相应的程序功能的地址范围内进行。优选地,转移单元因此可以将属于(分别特定的)程序功能的程序指令转移到进行实施的计算内核的本地存储器中的同样特定的(“相同的”)地址。如所描述的,程序指令的寻址或地址于是可以借助编译器和/或链接器根据所计划的缓冲来匹配。

替代于或补充于程序指令(“二进制程序代码”)借助编译器和/或链接器的静态匹配,可以设置使用存储器管理(mmu,英文:“memorymanagementunit,存储器管理单元”)。在另一种变型中,程序功能或程序指令借助与地址无关的代码来实施(英文:“positionindependentcode,浮动地址代码”)。

此外可以规定,借助转移单元执行待提供在本地存储器中的程序功能中和/或程序指令中的代码变换或地址变换。由此这些程序也可以有利地借助转移单元进行,其中可以节省耗费和成本。

在另一种设计方案中,程序指令的确定在时间上在计算机程序的运行时间之前、特别是在计算机程序和/或包括计算机程序的程序系统的开发时间(“设计时间”)时进行,其中在计算机程序的主要之后才可能出现的运行时间期间进行所确定的程序指令的提供。优选地(但并非强制地),程序指令的确定通过与计算单元不同的单元或与其不同的系统来进行。由此程序指令的确定可以有利地与程序指令的提供分开。特别是由此能够实现仅一次性执行程序指令的确定,由此必要时可以降低设备耗费和/或计算耗费。

此外,本发明涉及一种计算单元,其具有至少一个计算内核和关于计算单元本地的存储器,其中计算单元被构造用于借助至少一个计算内核实施计算单元的计算机程序的多个程序功能,并且其中计算单元还被构造用于实施以下步骤:

-确定程序指令、特别是所有程序指令,所述程序指令属于在将来的实施时刻待实施的程序功能,

-在实施时刻之前将所确定的程序指令提供在本地存储器中。

在对此的一种设计方案中,本地存储器是计算单元的全局工作存储器和/或至少一个计算内核的本地工作存储器。

在对此的另一种设计方案中,计算单元包括转移单元,该转移单元被构造用于通过以下方式实施所确定的程序指令的提供,即转移单元将所确定的程序指令从源存储器拷贝到本地存储器中。

在另一种设计方案中,转移单元被构造用于用信号通知计算单元和/或计算内核,所确定的程序指令提供在本地存储器中。由此同时描述可能的方法步骤。补充地可以规定,转移单元也将本地存储器中的所确定的程序指令和/或程序功能的相应存储器地址传递到计算单元和/或计算内核。由此可以改进计算单元的运行并且使其更安全。

对于根据本发明的计算单元以及为此提出的设计方案,得出与更前面针对根据本发明的方法已经描述的可比较的优点。

此外,本发明涉及一种特别是用于机动车的控制和/或调节装置,其中该控制和/或调节装置包括根据前述设计方案中至少一个设计方案的计算单元。由此可以有利地改进机动车的控制和/或调节。

此外,本发明涉及一种用于确定程序指令、特别是所有程序指令的系统,所述程序指令属于计算机程序的在将来的实施时刻待实施的程序功能,其中该系统被构造用于在时间上在计算机程序的运行时间之前、特别是在计算机程序和/或包括计算机程序的程序系统的开发时间时执行程序指令的确定。借助根据本发明的系统,可以有利地将程序指令的确定与程序指令的提供分开。特别是由此能够实现仅一次性执行程序指令的确定,由此必要时可以降低设备耗费和/或计算耗费。

此外,本发明涉及一种用于一个计算单元或所述计算单元的转移单元,其中计算单元具有至少一个计算内核和关于计算单元本地的存储器,并且其中计算单元被构造用于借助至少一个计算内核实施计算单元的计算机程序的多个程序功能。在此,转移单元被构造用于将通过优选地与转移单元无关的单元所确定的程序指令、特别是所有程序指令从源存储器拷贝到本地存储器中,其中所述程序指令属于在将来的实施时刻待由计算单元实施的程序功能。例如,源存储器是关于计算单元外部的闪存。通过转移单元可以特别有利地处理计算机程序并且有利地给计算单元或相应计算内核减负。

在一种对此的设计方案中,程序指令借助程序功能的周期性实施的优选静态计划的分析和/或计算机程序的至少一部分的软件分析来确定。相应数据可以在计算单元上实施计算机程序之前或者也动态地、即在计算单元上实施计算机程序期间提供给转移单元。例如,这样的数据可以作为计算机程序的补充而被提前。

在另一种设计方案中,转移单元包括存储器直接存取控制装置(英文:“dma控制器”,“direktmemoryaccess,直接存储器存取”),和/或计算内核、例如上述计算单元的另外的计算内核,和/或与计算内核和存储器直接存取控制装置无关的硬件单元、例如asic(英文:“applicationspecificintergratedcircuit,专用集成电路”)或其一部分,或fpga(英文:“fieldprogrammablegatearray,现场可编程门阵列”)或其一部分。转移单元的设计方案在更上面在用于运行计算单元的方法中已经更详细地描述。得出可比较的优点。

附图说明

随后参考附图解释本发明的示例性实施方式。在附图中:

图1示出具有计算单元的简化框图;

图2示出用于将程序指令提供在图1的计算单元的本地存储器中的图示;

图3示出具有图1的计算单元的本地存储器的一种实施方式的简化图示;

图4示出用于运行计算单元的方法的第一流程图;

图5示出具有用于确定程序指令的系统以及拥有计算单元的控制设备的图示;

图6示出用于运行计算单元的方法的第二流程图;以及

图7示出关于图5扩展的图示。

对于在所有图中的功能等价的元件和参量,即使在不同的实施方式中也使用相同的附图标记。

具体实施方式

图1示出具有计算单元10、当前为至少一个计算内核12的框图。计算内核12与本地存储器14连接,其中本地存储器与总线系统16连接。在一种优选的实施方式中,总线系统16是具有多个数据线和地址线的并行总线系统16,如其例如在微控制器中使用那样。

在此,计算单元10被构造用于借助至少一个计算内核12实施计算单元10的计算机程序24(参见图2)的多个程序功能22(参见图2),其中计算单元10还被构造用于实施以下步骤:

-确定102(参见图2或4)程序指令26、特别是所有程序指令,所述程序指令属于在将来的实施时刻t1''、t2''、t3''(参见图2)待实施的程序功能22,

-在实施时刻t1''、t2''、t3''之前将所确定的程序指令26提供104(参见图2或4)在本地存储器14中。

在一种优选的实施方式中,所述确定102在计算机程序24和/或包括计算机程序24的程序系统的开发时间(“设计时间”)期间进行。在此,所述确定102优选地不通过计算单元10、而是例如通过与计算单元10分开的系统200来进行,参见更下面的图5。

在另一种实施方式中,所述确定102在计算机程序24的运行时间期间进行。在此,所述确定102可以通过分开的系统200和/或计算单元10和/或与计算单元10相邻的并且可比较的计算单元10'(未示出)等来进行。

在一种实施方式中,本地存储器14是计算单元10(图1)的全局工作存储器和/或至少一个计算内核12的本地工作存储器。例如全局工作存储器被构造成,使得计算单元10的多个计算内核12可以存取该全局工作存储器。

当前,计算单元10包括转移单元20,该转移单元被构造用于通过以下方式实施所确定的程序指令26的提供104,即转移单元20将所确定的程序指令26从源存储器18拷贝到本地存储器14中。源存储器18例如实施为所谓的“闪存”。源存储器18和转移单元20连接到总线系统16上。转移单元20在更下面还要更详细地解释。计算单元10的其他可能的外围元件在图1中没有一起示出。

在一种实施方式中,转移单元20被构造用于用信号通知计算单元10和/或计算内核12,所确定的程序指令26提供104在本地存储器14中。

例如,本地存储器14是计算单元10的内部全局存储器和/或计算单元10的外部存储器和/或计算内核12的本地存储器14。本地存储器14例如是ram存储器,英文“randomaccessmemory,随机存取存储器”,具有自由选择存取的存储器。

例如,根据图1的计算单元10是控制和/或调节装置(未示出)的元件,如其例如针对机动车所实施那样。

在计算单元10的一种实施方式中,在本地存储器14中设置至少一个环形存储器14'(参见图2)以提供所确定的程序指令26,其中环形存储器14'为了程序实施周期性地由计算单元10读取,并且其中环形存储器14'周期性地以另外确定的并且时间上随后的程序指令26在环形存储器14'的以下这样的地址处写入,即所述地址在周期中已经由计算单元10读取。例如环形存储器14'布置在本地存储器14的地址范围内,其中分别设置至少一个可周期性改变的指针,以便存取环形存储器14'。对此,图2示出一个实施例。

总体上,图2示出计算机程序24的程序功能22的序列的图示。对此,在图2中在上部区域中示出源存储器18和第一时间轴t'。程序功能22分别包括一个或多个程序指令26,所述程序指令可以借助转移单元20提供在本地存储器14中。

如所示的,计算机程序24可以包括一个或多个程序功能22,并且相应的程序功能22可以包括一个或多个程序指令26(指令)。在英文惯用语中,“程序功能”必要时可以通过术语“runnable(可运行)”来表征。程序功能22可以包括可计划的程序功能22和/或不可计划的程序功能22。

此外,在图2中示出本地存储器14的一种实施方式,该本地存储器当前是环形存储器14'或包括环形存储器14'。例如环形存储器14'通过ram存储器中的固定长度的预给定的存储区域来表征。环形存储器14'具有写入指针28,其表征当前地址,当前传输的程序指令26可以写入到该地址处。

优选地由计算单元10控制的读取指针30可以在时间上间隔地跟随写入指针28并且因此输送相应的程序指令26来由计算单元10或计算内核12进行处理。写入指针28和读取指针30可以周期地遍历分配给环形存储器14'的存储区域。

在图2的下部区域中,示意性示出第二时间轴t'',该第二时间轴示出在本地存储器14中提供的或待由计算内核12实施的程序功能22。对此,第二时间轴t''具有相应的实施时刻t1''、t2''和t3'',所述实施时刻由于因果关系在时间上位于在上面第一时间轴t'上示出的相应时间t1'、t2'和t3'之后。

图3示出本地存储器14的简化图示,该本地存储器例如包括一个或多个环形存储器14',参见图2。在此,应该在使用本地存储器14的情况下提供或实施多个(当前各两个)第一程序功能22'和第二程序功能22''。例如第一程序功能22'具有10ms(毫秒)的第一周期时间(周期),并且第二程序功能22''具有1ms的第二周期时间。示例性地,第一程序功能22'包括彼此相同大的地址范围并且第二程序功能22''包括彼此不相同大的地址范围。

如图3中所示,优选地将第一程序功能22'提供在本地存储器14的第一存储区域14a中,并且将第二程序功能22''提供在本地存储器14的第二存储区域14b中。由此能够实现本地存储器14中的程序功能22'和22''的有效管理和相应程序指令26通过计算单元10的计算内核12的有效处理。

借助图1至3并且参考更下面的图4,随后描述一种用于运行计算单元10的方法,其中计算单元10具有至少一个计算内核12和关于计算单元10本地的存储器14,并且其中借助至少一个计算内核12实施计算单元10的计算机程序24的多个程序功能22,该方法的特征在于以下步骤:

-确定102程序指令26、特别是所有程序指令,所述程序指令属于在将来的实施时刻t1''、t2''、t3''待实施的程序功能22,

-在实施时刻t1''、t2''、t3''之前将所确定的程序指令26提供104在本地存储器14或14a、14b、14'中。

如果更上面已经在图1中更详细描述的,程序指令26的确定102优选地(但并非强制地)可以与所确定的程序指令26的提供104分开地进行。

例如,本地存储器14是计算单元10的内部全局存储器和/或计算单元10的外部存储器和/或计算内核12的本地存储器14。本地存储器14例如是ram存储器,英文“randomaccessmemory,随机存取存储器”,具有自由选择存取的存储器。

在一种实施方式中,所确定的程序指令26以与待实施的程序功能22相关的顺序提供在计算单元10的本地存储器14中。

在一种实施方式中,对于多个不同的程序功能22,分别将所有属于有关程序功能22的程序指令26在相应实施时刻t1''、t2''、t3''之前提供在本地存储器14中。

在一种实施方式中,通过以下方式提供104所确定的程序指令26,即优选与计算单元10无关的转移单元20将所确定的程序指令26从源存储器10拷贝到本地存储器14中。

在一种实施方式中,转移单元20包括另外的计算单元10和/或计算单元10的另外的计算内核12和/或存储器直接存取控制装置,该存储器直接存取控制装置可以以本身已知的方式通过总线系统16实施存储器直接存取。在一种优选的实施方式中,转移单元20或存储器直接存取控制装置实施为硬件电路。存储器直接存取控制装置英文也称为“dma控制器”(“direktmemoryaccess,直接存储器存取”)。替代地,存储器直接存取控制装置可以借助软件或者混合地借助硬件和软件来实现。在另一种设计方案中,转移单元20实施为特定的(应用特定的)硬件电路。对此也参见更下面的图5和7。

图4示出用于运行根据图1至3中的一个或多个的计算单元10的方法的流程图。在第一块中进行优选地所有程序指令26的确定102,所述程序指令属于在将来的实施时刻t1''、t2''、t3''待实施的程序功能22。

在一种实施方式中,所述确定102包括:分析103程序功能22的周期性实施的优选静态的计划和/或计算机程序24的至少一部分的软件分析。因此,从即将到来的时间段期间待实施的程序功能22的数量,在使用程序功能22的线性列表的情况下借助静态计划可以确定分别定期待实施的程序功能22和/或借助分析、特别是软件分析可以确定其余待实施的程序功能22。

在下一块中,将所确定的程序指令26在实施时刻t1''、t2''、t3''之前提供在本地存储器14中。在下一块中,借助计算内核12在使用本地存储器14的情况下在相应实施时刻t1''、t2''、t3''实施106所提供的程序功能22或程序指令26。

在另一种发明变型中也可以设想的是,与环形存储器14'的形式不同的形式组织本地存储器14。

根据本发明的原理的应用有利地能够实现避免所谓的指令失速并且因此有效地充分利用计算单元10的计算时间资源,即使设置有相对慢的代码存储器18。

图5示出用于确定102程序指令26、特别是所有程序指令26的系统200(图5中左侧),所述程序指令属于计算机程序24的在将来的实施时刻t1''、t2''、t3''待实施的程序功能22,其中该系统200被构造用于在时间上在计算机程序24的运行时间之前、特别是在计算机程序24和/或包括计算机程序24的程序系统的开发时间时执行程序指令26的确定102。

图5中的右侧示出具有计算单元10和转移单元20的控制设备300,该控制设备例如是用于机动车的控制设备300。在系统200或控制设备300之上分别示出水平的双箭头,该双箭头分别用用于确定102程序指令26的附图标记或用于提供104和实施106程序指令26的附图标记来表示。

当前,在系统200中确定的程序指令26和/或表征所述程序指令的信息可以保存在控制设备300的存储器310中。在一种实施方式中,存储器300是一种中间存储器,程序指令26在计算机程序24的运行时间期间可以从该中间存储器写入到本地存储器14或环形存储器14'中。在一种实施方式中,存储器310与本地存储器14或环形存储器14'相同。

在一种未示出的实施方式中,系统200集成地实施到控制设备300或计算单元10中。在此,系统200借助硬件和/或在控制设备300中可运行的软件来实施。

替代地,系统200与计算单元10或控制设备300分开并且例如是计算单元10的计算机程序24的开发环境的部分。系统200例如也可以被构造用于实施以下步骤:

分析程序功能22的周期性实施的优选静态的计划和/或计算机程序24的至少一部分的软件分析,其中这些步骤例如也可以在系统200内实施,特别是还在计算机程序24可供计算单元10用于实施之前。

图6示出用于运行计算单元10的方法的另一流程图。该流程图可以优选地、但并非强制地结合图5的装置来实施。

在第一步骤(未示出)中,时间上在计算机程序24的运行时间之前或在执行图6中示出的流程图之前进行程序指令26的确定102。优选地,所述确定102在计算机程序24和/或包括计算机程序24的程序系统的开发时间时进行。

在第二步骤中,在计算机程序24的运行时间期间借助计算内核12进行所确定的程序指令26的提供104以及所提供的程序功能22或程序指令26的实施106,如这更上面在图4中已经描述的那样。从块106的末尾至块104的开始的虚线表示在图6中示出的方法可以以相应方式周期地或连续地继续进行。

图7示出与图5类似的图示。当前,总线系统16连接到计算单元10、存储器310、源存储器18、转移单元20以及接口电路320上。接口电路320与系统200连接。在一种实施方式中,转移单元20借助数据线和/或控制线直接与源存储器18和/或接口电路320和/或本地存储器14或14'连接。这在图7中分别通过虚连接线示出。

转移单元20被构造用于将通过优选地与转移单元20无关的单元(当前即系统200)确定的程序指令26、特别是所有程序指令26从源存储器18拷贝到本地存储器14或14'中,其中所述程序指令属于在将来的实施时刻t1''、t2''、t3''待实施的程序功能22。

在一种实施方式中,程序指令26借助分析103程序功能22的周期性实施的优选静态的计划和/或计算机程序24的至少一部分的软件分析来确定。

即例如针对计算机程序24的至少一个程序功能22说明所有中的哪些程序指令26属于有关的程序功能22的相应(配置)数据可以在计算单元上实施计算机程序之前或者也动态地、即在计算单元上实施计算机程序期间提供给转移单元。例如,这样的数据可以作为计算机程序的补充而被提前,或者也与其分离。这些数据可以如前面已经提及那样特别是也包含关于程序功能22的周期性实施的信息,使得转移单元20可以从这些数据确定,直至哪个将来的时刻将计算单元的一个或多个感兴趣的程序功能22的程序指令26例如提供在计算单元的本地存储器中。

如果在其他实施方式中没有设置转移单元,前述的涉及(配置)数据使用的功能也可以通过计算单元本身来实现。

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