程序重写装置制造方法及图纸

技术编号:2822494 阅读:186 留言:0更新日期:2012-04-11 18:40
一种程序重写方法,将输入程序重写为用于处理器的程序,该处理器根据执行可否标记来可以控制处理的执行可否,所述程序重写方法包括:比较处理插入步骤,将比较处理插入到输入程序中,所述比较处理所进行的处理是,对第一地址信息和第二地址信息进行比较,而将比较结果写入到执行可否标记中,所述第一地址信息是第一存储器存取处理所存取的存储器的地址信息,所述第二地址信息是第二存储器存取处理所存取的存储器的地址信息;以及逻辑保证处理插入步骤,将带有执行可否标记的逻辑保证处理插入到输入程序中,所述逻辑保证处理是,根据执行可否标记的值执行的处理、且是用于保证与输入程序的执行时相同的处理结果的处理。

【技术实现步骤摘要】

本专利技术,尤其涉及对包含存储器存取指令的指令串进行依赖关系缓解 的程序重写装置
技术介绍
近年来,处理器的处理速度的提高非常快,然而,主存储器的存取速度的提高较慢,两者的速度的差距逐年变大。据此,以往指出的问题是 在依据具有存储器的信息处理装置高速进行信息处理时,存储器存取成为瓶颈。为了解决所述问题所知道的方法是对指令进行调度(scheduling),使 得尽可能将为了获得在主存储器的存储区域所存储的数据需要损失周期 (penalty cycle)的装入(load)指令比其它指令先行执行,从而使其它指令在该 损失周期期间内执行。据此,可以由其它指令的执行周期来隐蔽因存储器 存取的损失而引起的影响,也可以控制性能恶化。然而,对于静态的指令调度,在大多数情况下,存储器存取指令的存 储器存取地址值会动态地变化。因此,应该设想在存储器存取指令间产生 的存储器依赖关系。此事宜,作为模糊的存储器依赖关系为人所知。其结 果是,对于静态的指令调度,不能将装入指令比其它存储器存取指令先行 执行,难以隐蔽依据存储器存取指令的损失周期,并且不能发挥处理器的 性能。因此,以往,为了对具有这些模糊的存储器依赖关系的存储器存取指 令实施指令调度,若处理器未具备执行特殊的指令的硬件,则不能将装入 指令移动到对存储区域的存放(store)指令的前面。作为考虑到该模糊的存储器依赖关系的特殊的指令,可以举出推测装 入(speculative loading)指令(例如,参照专利文献日本国专利第3762597 号公报(图6))。推测装入指令是一种指令,执行如下处理。即,先将地址存储在硬件的特别的存储装置,而将在该地址所存储的存储数据设定在寄存 器,所述地址是依据装入指令所存取的存储区域的地址。然后,在执行了 存放指令时,将寄存器所存储的数据设定在存储区域。再者,在依据存放 指令所存取的存储区域的地址和所述特别的存储装置所存储的推测装入指 令的地址间产生干扰的情况下,以存放指令所存放的数据覆盖推测装入指 令所设定的寄存器。根据这些内容,可以确保逻辑等效性。用图1、图2A以及图2B,对推测装入指令进行具体说明。例如,考 虑只执行普通的存储器存取指令的处理器。图1是示出源程序的一个例子 的图。图2A是示出与图1所示的源程序等效的、且不包含推测装入指令的 汇编文件的一个例子的图。为了由这些处理器执行图1所示的存储器存取 处理,需要考虑模糊的存储器依赖关系,来制作图2A所示的忠实地遵守存 储器存取顺序的汇编文件。另一方面,图2B是示出与图1所示的源程序等效的、且包含推测装入 指令的汇编文件的一个例子的图。如此,通过活用推测装入指令,从而不 一定需要遵守图1所示的存储器存取顺序。即,可以将装入指令比存放指 令先行执行。据此,可以由其它指令来隐蔽依据存储器参照的损失周期, 其结果是性能会提高。然而,存在的问题是为了执行这些推测执行指令,需要在处理器设 置特殊的硬件。
技术实现思路
本专利技术,为了解决所述问题,提出了一种程序重写装置,即使不设置 特殊的硬件也可以缓解模糊的存储器依赖关系。为了实现所述目的,本专利技术涉及的程序重写装置是一种程序重写装置, 将输入程序重写为用于处理器的程序,该处理器可以根据执行可否标记来 控制处理的执行可否,所述程序重写装置包括比较处理插入单元,将比 较处理插入到所述输入程序中,所述比较处理所进行的处理是,对第一地 址信息和第二地址信息进行比较,而将比较结果写入到执行可否标记中, ^f述第一地址信息是所述输入程序中包含的第一存储器存取处理所存取的 存储器的地址信息,所述第二地址信息是所述输入程序中包含的第二存储11器存取处理所存取的存储器的地址信息;以及逻辑保证处理插入单元,将 带有执行可否标记的逻辑保证处理插入到所述输入程序中,所述逻辑保证 处理是,根据所述执行可否标记的值执行的处理、且是用于保证与所述输 入程序的执行时相同的处理结果的处理。根据执行可否标记选择性地执行用于进行存储器存取处理的逻辑保证 的逻辑保证处理。据此,即使不设置特殊的硬件也可以缓解模糊的存储器 依赖关系。因此,可以对处理器具备的存储器存取指令静态地、且高效率 地进行指令调度,也可以提高程序执行时的处理速度。而且,硬件利用效 率也会提高。优选的是,所述第一存储器存取处理是存放处理,将数据写入到存储 器中,所述第二存储器存取处理是装入处理,从存储器中读取数据。据此,对向存储器具备的高速缓冲存储器(cache memory)或外部存储空间存取的装入指令或存放指令静态地、且高效率地进行指令调度,也可以 提高程序执行时的处理速度。而且,硬件利用效率也会提高。还优选的是,所述的程序重写装置,还包括关键路径(criticalpath) 检测单元,从所述输入程序中检测成为关键路径的处理;以及模糊的存储 器依赖关系解析单元,判断所述关键路径检测单元所检测的关键路径中是 否包含所述第一存储器存取处理和所述第二存储器存取处理,在包含所述 第一存储器存取处理和所述第二存储器存取处理的情况下,解析所述第一 存储器存取处理和所述第二存储器存取处理之间是否存在模糊的真的存储 器依赖关系,并且,所述比较处理插入单元,将第一地址信息以及第二地 址信息作为比较的对象,将比较处理插入到所述输入程序中,所述第一地 址信息以及第二地址信息分别与由所述模糊的存储器依赖关系解析单元判 断为处于模糊的真的存储器依赖关系的所述第一存储器存取处理以及所述 第二存储器存取处理相对应。据此,可以是只对关键路径上的处于模糊的存储器依赖关系的指令 间自动地进行依赖关系的缓解;高效率地縮短关键路径;可以进行指令调 度;提高程序执行时的处理速度。而且,硬件利用效率也会提高。还优选的是,所述的程序重写装置,还包括,执行顺序变更单元,将 由所述模糊的存储器依赖关系解析单元判断为处于模糊的真的存储器依赖关系的所述第一存储器存取处理和所述第二存储器存取处理的执行顺序变 更。根据,可以先行配置等待时间(latency)较长的指令,也可以提高程序执 行时的处理速度。而且,硬件利用效率也会提高。还优选的是,所述的程序重写装置,还包括,数据大小比较单元,判 断是否满足以下条件,即,所述第一存储器存取处理一次存取的数据大小 与所述第二存储器存取处理一次存取的数据大小相同,所述逻辑保证处理 插入单元,在由所述数据大小比较单元判断为满足所述条件的情况下,将 覆盖处理作为所述逻辑保证处理插入到所述输入程序中,所述覆盖处理是 指,以所述第一存储器存取处理写入到存储器中的值覆盖所述第二存储器 存取处理从存储器中读取的值的处理。还优选的是,所述比较处理插入单元,将所述比较处理插入在所述逻 辑保证处理的前面的一个地方,以作为执行顺序。据此,就在存储器存取处理之前,可以根据只一次进行一致判断来实 现地址比较处理,也可以提高程序执行时的处理速度。还优选的是,所述的程序重写装置,还包括,规则性判断单元,判断 是否满足以下条件,即,反复执行所述第一以及第二存储器存取处理,并 且,在各个存储器存取处理中所存取的存储器的地址规则性地被更新,所 述比较处理插入单元,在由所述规则性判断单元判断为满足所述条件的情 况下,将所述比较处理插入到所述第一以及第二本文档来自技高网
...

【技术保护点】
一种程序重写装置,将输入程序重写为用于处理器的程序,该处理器可以根据执行可否标记来控制处理的执行可否,所述程序重写装置包括:比较处理插入单元,将比较处理插入到所述输入程序中,所述比较处理所进行的处理是,对第一地址信息和第二地址信息进行比较,而将比较结果写入到执行可否标记中,所述第一地址信息是所述输入程序中包含的第一存储器存取处理所存取的存储器的地址信息,所述第二地址信息是所述输入程序中包含的第二存储器存取处理所存取的存储器的地址信息;以及逻辑保证处理插入单元,将带有执行可否标记的逻辑保证处理插入到所述输入程序中,所述逻辑保证处理是,根据所述执行可否标记的值执行的处理、且是用于保证与所述输入程序的执行时相同的处理结果的处理。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:川端辉雄大门正嗣瓶子岳人小川一
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1