通过数据挖掘优化的存储器配置的制作方法

文档序号:12550594阅读:507来源:国知局
通过数据挖掘优化的存储器配置的制作方法与工艺

一个实施例涉及存储器分配。

中央处理单元(CPU)利用缓存,该缓存加载存储在供中央处理单元使用的随机访问存储器(RAM)中的数据。与从RAM读取数据和将数据写入RAM相反,缓存为本地读取和写入数据提供了快速的解决方案。缓存保持在其最常利用的存储数据中。

CPU包括当对将被用于存储数据的那些地址执行代码时的指令。相应地址位置的存储器配置影响电子控制单元(ECU)的启用缓存结构的存储器带宽。例如,如果存储器配置设计不正确(例如,效率低下),那么当预定了相应的执行指令流的存储器分配时,在检索数据时可能发生减速,特别对于在RAM中反复利用的那些位置。如果CPU必须在RAM内访问存储器的各种位置,那么会导致较慢的CPU操作。就是说,如果未有效地组织存储器分配,那么CPU处理时间也会效率低下。存储器配置影响CPU的启用缓存结构的存储器带宽。如果由可执行指令访问的RAM的存储器配置设计效率低下,那么如果任务必须持续地访问RAM的各种位置,则可能出现检索数据瓶颈。



技术实现要素:

实施例的优点在于当访问随机访问存储器(RAM)时优化存储器配置。中央处理单元(CPU)利用在随机访问存储器中存储数据的缓存来读取/写入CPU最常使用的数据。硬件将RAM实现为存储器块,用于由CPU处理的数据的临时存储。存储在缓存和RAM中的数据可以是来自先前的计算操作或新操作的数据。当待处理数据不在缓存中时,系统加载RAM中的另一个数据块来替换缓存块。本文所描述的技术识别信号变量对并将邻近的存储器位置分配给彼此极其接近的信号变量,所述信号变量对将利用在彼此极其接近(即,可执行指令基本上彼此邻近)时执行的RAM的存储器位置。以这种方式,在知道将基本上频繁地和基本上依次地访问两个存储器位置的情况下,将信号变量分配到彼此接近的存储器位置来减少CPU尝试替换缓存块的处理时间。因此,本文的技术高效地将存储器配置分配到相应的信号变量,使得那些频繁且通常访问的相应信号变量对在RAM中被分配到彼此接近的、由RAM访问的存储器位置。这改善了CPU的效率并且减少了瓶颈。

实施例涉及通过全局存储器装置上的中央处理单元的指令缓存对存储器访问进行排序的方法。在全局存储器装置中提取链接映射文件的信号列表。从信号列表获得涉及执行任务的存储器访问痕迹。从访问痕迹中识别全局存储器装置中访问的存储器位置。确定全局存储器装置中访问的每对存储器位置的相关值。利用相应的存储器位置对基于可执行指令的接近性来计算相关值。在全局存储器装置内重排访问的存储器位置作为确定的相关值的函数。修改访问全局存储器装置的可执行文件。当访问全局存储器装置时,可执行文件优化存储器配置。

附图说明

图1是用于优化任务分区的硬件的框图。

图2是示例性的加权相关矩阵。

图3是用于优化存储器配置的方法的流程图。

具体实施方式

图1是用于优化存储器配置的硬件的框图。执行应用程序代码的相应算法在电子控制单元(ECU)10上执行。执行的算法是在产品(例如,车辆发动机控制装置、计算机、游戏、工厂设备、或任何其他利用电子控制单元的电子控制装置)中将被执行的那些程序。在全局存储器装置12(例如,随机访问存储器)内数据被写入和读取到各种地址/从各种地址写入和读取数据。

映射链接文件14是文本文件,其详细说明了数据与代码存储在全局存储器装置12内的可执行文档内部。映射链接文件14包括含有事件日志的跟踪文件,该事件日志描述了全局存储器装置12内已出现的事务处理以及代码和数据的存储地。因此,可以获得链接文件映射14用于识别所有信号和相关联的存储器地址,当ECU 10执行可执行指令时,访问该存储器地址。

挖掘处理器16用于执行来自全局存储器装置12的数据挖掘18,重排相关联的存储器位置20,确定与用于识别最佳存储器配置的置换22相关联的最小能量函数,可将信号变量分配给该存储器配置来用于读取和写入数据。

指令执行流包括由ECU 10执行的代码(即,可执行代码)。代码包括全局存储器装置12内的地址位置,访问该全局存储器装置12用于写入相应地址位置或从相应地址位置检索数据。用于加载指令的示例性指令流可具有如下格式:

ADDR X-LD#sa,Rx.

用于向全局存储器装置12中的地址写入指令的示例性指令流可以具有如下格式:

ADDR Y-WR Rx,#sb

其中sa和sb表示识别存储器位置的可执行指令的信号变量,访问该存储器位置用于在全局存储器装置12内写入或读取数据。对于所有信号变量{si│i=1,…,N},构建识别所有信号变量之间的相关性的相关矩阵W。把每个信号变量列在相关矩阵W的竖直侧和相关矩阵W的水平侧以用于交叉比较。确定每个相应变量对的相关因子w。例如,对于信号变量sa和sb,相关因子wab位于相关矩阵W中的两个信号变量的交叉部分。与不彼此接近的信号变量对相比,在i-缓存中是基本相邻指令的那些信号变量对将产生更大的相关值w。由指令执行流中的相邻指令引用的相应信号变量对表明在可执行代码中彼此及时接近地执行的这些相应信号变量在相关矩阵中给了更高的相关值。因此,与在进一步间隔开的指令中执行的相应信号变量对相比,在相邻指令中执行的相应信号变量对将具有更大的相关因子w。

图2表示示例性相关矩阵W。信号变量在相关矩阵W中均被水平地(例如,行)和竖直地(例如,列)标记。如图所示,对于所有信号变量{si│i=1,…,N},输入每个相应信号变量对的相关值。在指令执行计划中彼此更加靠近地执行的那些信号变量生成更大的相关值。此外,更频繁地引用的那些相应信号变量对将进一步增大相关值。

相关值可在指令执行流内规范化成接近一对信号变量的函数。以下是对相关值进行规范化的示例性函数:

如果|ADDR X-ADDR Y|<1K,

那么wab=wab+1。

如以上函数中所示,如果它们的差小于1K,那么规范化相关值;然而,应该理解的是,1K的比较值的大小是示例性的,并且可使用其他值,这可取决于诸如指令缓存大小在内的各种因素。

在生成相关矩阵W之后,重排相关矩阵W以识别可被输入用于分选的最小能量函数的置换,这有助于识别高效的存储器配置。为了重排相关矩阵W,必须置换相关矩阵W中的相应信号的位置。首先,应当重新定位相关矩阵W的信号变量,使得相关矩阵W的所有对角项具有零值。接下来,在相关矩阵W的所有相关值之中为最高的相关值应当最接近于由相关矩阵W的零值项所表示对角线。还重新定位相关矩阵的信号变量来解释对相关值的重排。因此,具有最高相关值的那些相关值被定位于更接近零对角线,而减小的相关值被放置成向外远离零对角线。

在重新定位相关值和相关联的信号变量之后,置换的相关矩阵W被输入到如下所述的最小能量函数。

相对于相关矩阵W,通过寻找顶点的置换{π1,...,πN}实现存储器位置的所需排序,使得相邻顶点是最相关的顶点。所选的置换表明由相同任务组频繁访问的数据可适合本地数据缓存。数学上地,所需重排置换可以表达为以下最小能量函数:

最小

这等于寻找逆置换π-1使得以下能量函数最小化:

最小

通过利用用于以下特征方程的第二最小特征值计算特征向量(q2)来大体上解决以上问题:

(D-W)q=λDq

其中拉普拉斯矩阵是L=D-W,次数矩阵D是定义为的对角线,然后按升序分选由此获得的q2。分选之后的顶点的索引是所需置换{π1,...,πN}。通过根据置换结果重新布置存储器位置,随后可从该置换中得到存储器位置的顺序。

图3示出了用于优化由ECU访问的全局存储器装置的存储器配置的技术的流程图。在步骤30中,通过相应的ECU任务来执行用于软件程序的应用代码。在全局存储器装置中执行读取和写入操作(例如,存储器未在挖掘处理器上)。

在步骤31中,通过挖掘处理器从全局存储器中的链接映射文件中提取信号列表。信号列表识别由可执行指令执行的任务命中的存储器位置的痕迹。

在步骤32中,挖掘处理器收集存储器访问痕迹。

在步骤33中,构建包括用于信号变量对的相关值的相关矩阵W,该信号变量对识别相应存储器位置是本地指令缓存中的相同任务组频繁访问的数据的等级。将分配给每个相应信号变量对相关值。取决于相应信号变量的地址是否在预定大小内,可随后标准化相关值。相关值也可以基于在可执行指令流中执行相应信号变量对的频率。

在步骤34中,重排相关矩阵,使得相关矩阵W中的多个相关值中的较高相关值放置得更接近于矩阵的零对角线。减值的其余相关值被放置在以降序向外远离零对角线的相关矩阵中。

步骤35中,置换的相关矩阵被输入到最小能量函数,以利用用于每个相关值的第二最小特征值来计算特征向量(q2)。然后使用升序分选每个计算的特征值来识别用于全局存储器装置中的存储器配置的所需置换。

在步骤36中,修改可执行二进制文件来分配如在步骤35中所确定的存储器配置。

本文所描述的技术识别利用RAM的存储器位置的信号变量对,在彼此极其接近(例如,可执行指令基本上彼此邻近)时执行该RAM的存储器位置。将相邻存储器位置分配给确定为在可执行指令中彼此极其接近的信号变量。以这种方式,频繁地和基本上依次地执行的相应信号变量在全局存储器装置中被基本上分配到接近存储位置处,这减少了CPU尝试去搜索和寻找相应存储器位置的处理时间。因此,本文所描述的技术有效地将存储器配置分配给彼此靠近的可执行指令的相应信号变量,以减少处理时间。这改善了CPU的效率并且减少了瓶颈。

尽管已经详细描述了本发明的某些实施例,但是那些熟悉本发明所涉及的领域的技术人员将认识到用于实践如以下权利要求所限定的本发明的各种可选设计和实施例。

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