CN111309329B - 一种指令地址自适应重定位方法及程序编译方法 - Google Patents
一种指令地址自适应重定位方法及程序编译方法 Download PDFInfo
- Publication number
- CN111309329B CN111309329B CN202010062998.3A CN202010062998A CN111309329B CN 111309329 B CN111309329 B CN 111309329B CN 202010062998 A CN202010062998 A CN 202010062998A CN 111309329 B CN111309329 B CN 111309329B
- Authority
- CN
- China
- Prior art keywords
- file
- executable
- segment
- target value
- target file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000003044 adaptive effect Effects 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000005192 partition Methods 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 claims 2
- 238000010606 normalization Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 10
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/47—Retargetable compilers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供一种指令地址自适应重定位方法及程序编译方法,将程序编译过程链接阶段生成的可执行目标文件作为源文件,所述重定位方法包括如下步骤读取可执行目标文件及配置信息;对可执行目标文件中的代码段和数据段进行划片;可执行目标文件划分完成后,根据每段的大小,划分出相应的内存空间;计算实际目标值;实际目标值小于设定目标值时,对可执行目标文件中的每一段进行重新地址定位,最后进行目标链接,并输出优化后的可执行目标文件。
Description
技术领域
本发明涉及程序编译技术领域,具体涉及一种指令地址自适应重定位方法及程序编译方法。
背景技术
现代计算机存储和处理的信息以二进制信号表示,程序对于计算机而言就是一串二进制数据流,以流水线的方式进入CPU进行运算。主要在CPU与内存之间进行数据传递。大多数计算使用8位的块,即字节(byte),作为最小的可寻址的内存单元。程序对象,即程序数据、指令和控制信息的字节集合,编译器和系统运行时将存储空间划分成更可管理的单元来存储程序对象。
计算机执行机器代码,用字节序列编码低级的操作,包括处理数据、管理内存、读写存储设备上的数据、以及利用网络通信。程序源码会经过编译器生成机器代码,编译器基于编程语言的规则、目标机器的指令集合和操作系统遵循的惯例,经过一系列的阶段生成机器代码。汇编代码是机器代码的文本表示,给出程序中的每一条指令。一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。所有的函数是平行的,即在定义时是互相独立的,主函数可以调用其它函数,其它函数之间可以互相调用,但其它函数不能调用主函数。一个源程序经过预处理阶段,生成汇编代码阶段,汇编阶段和链接阶段后生成可以执行的程序,之后可以加载到内存中,此后,CPU就可以从内存中读取指令进行执行。
由于内存的寻址具有独占性,所以在进行完读写操作后,如果要对另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。关闭现有工作行,准备打开新行的操作就是预充电(Precharge)。在发出预充电命令之后,要经过一段时间才能发送行激活命令打开新的工作行。目前市面上的编译器没有根据内存的特性进行针对性的编译,在编译过程中是各自独立的,有些代码往往被其他多个函数在多个阶段进行调用或者循环调用,这样一来,会造成CPU频繁读取此指令,如果此段指令需要多个地址进行存储,这样使CPU从内存读取数据将延迟,从而降低CPU的执行效率。
发明内容
针对目前市面上的编译器没有根据内存的特性进行针对性的编译,在编译过程中是各自独立的,有些代码往往被其他多个函数在多个阶段进行调用或者循环调用,这样一来,会造成CPU频繁读取此指令,如果此段指令需要多个地址进行存储,这样使CPU从内存读取数据将延迟,从而降低CPU的执行效率的问题,本发明提供一种指令地址自适应重定位方法及程序编译方法。
本发明的技术方案是:
第一方面,本发明技术方案提供一种指令地址自适应重定位方法,将程序编译过程链接阶段生成的可执行目标文件作为源文件,该方法包括如下步骤:
读取可执行目标文件及配置信息;
对可执行目标文件中的代码段和数据段进行划片;
可执行目标文件划分完成后,根据每段的大小,划分出相应的内存空间;
计算实际目标值;
实际目标值小于设定目标值时,对可执行目标文件中的每一段进行重新地址定位,最后进行目标链接,并输出优化后的可执行目标文件。
进一步的,所述的读取可执行目标文件及配置信息的步骤之后包括:
读取完毕后对配置文件进行分析输出设定目标值;
根据设定目标值对可执行目标文件中的代码段和数据段进行划片。
进一步的,所述的配置信息包括内存配置信息和优化配置信息;
所述的优化配置信息包括程序编译过程中编译阶段设定的优化力度和迭代次数,所述的优化力度即为设定目标值。优化力度的设置的值不同对编译的速度有影响。
进一步的,所述的对可执行目标文件中的代码段和数据段进行划片的步骤中,对可执行目标文件进行划分时的原则包括:相关的指令或者数据划分到一片、重复被调用的代码段和数据段划分在一片。
进一步的,所述的可执行目标文件划分完成后,根据每段的大小,划分出相应的内存空间的步骤中,在对内存进行划分时的原则包括:划分的段内包含的列数大于划分的段内包含的行数;并且列数与行数的差大于设定的阈值,所述的设定阈值大于设定的限值。
进一步的,所述的计算实际目标值的方法如下:
实际目标值等于可执行目标文件的划分的每一段在内存中占用的列数的和。
进一步的,该方法还包括:
实际目标值大于设定目标值且迭代次数小于设定值时,则跳转到执行步骤:对可执行目标文件中的代码段和数据段进行划片,重新进行迭代处理。
进一步的,该方法还包括:实际目标值大于设定目标值且迭代次数大于设定值时,则进行报错处理。此时用户需要重新设定参数进行编译。
本发明程序编译时,根据内存的特性进行针对性的编译,这样一来,可以大大减少CPU 从内存读取数据的延迟。从而提高CPU的执行效率。
第二方面,本发明技术方案还提供一种程序编译方法,包括如下步骤:
预处理阶段预处理器将源代码包含的头文件编译进来,形成预处理文件;
编译阶段编译器检查代码的规范性确定语法无误后将代码翻译成汇编语言;
汇编阶段汇编器将汇编语言转成二进制目标代码,其中,目标代码包括可重定位目标文件、可执行目标代码和可共享目标代码;
链接阶段链接器将多个可重定位目标文件链接成可执行的目标文件;
后链接阶段将可执行目标文件作为源文件,进行指令地址自适应重定位,重新分配内存地址生成优化后的可执行目标文件。
进一步的,所述的后链接阶段将可执行目标文件作为源文件,进行指令地址自适应重定位,重新分配内存地址生成优化后的可执行目标文件的步骤中进行指令地址自适应重定位的方法为第一方面所述的指令地址自适应重定位方法。
在链接阶段后添加后链接阶段,根据内存的读写特性,对指令进行地址重新定位,让其在内存中的存储地址优先选用一列存储,尽可能不跨行进行存储。在CPU从内存中读取程序指令或者程序数据时,可以减少内存换行读取的次数,从而减少对内存进行预充电操作的次数,从而可以大大降低内存自身的预充电带来的延迟,大大提升了CPU的执行效率。
从以上技术方案可以看出,本发明具有以下优点:在程序链接阶段,在地址分配时,尽可能优先选取内存某一列地址进行分配,这样一来,在CPU执行指令时,可以减少内存换行读取的次数,从而减少对内存进行预充电操作的次数,这样一来,可以大大减少了预充电带来的读数据延迟,从而提高了CPU的执行效率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种指令地址自适应重定位方法的示意性流程图。
图2是本发明实施例二提供的一种指令地址自适应重定位方法的示意性流程图。
图3是内存配置信息格式示意图。
图4是本发明实施例三提供的程序编译方法流程示意图。
图5是链接阶段输出的可执行目标文件格式示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例一
如图1所示,本发明技术方案提供一种指令地址自适应重定位方法,将程序编译过程链接阶段生成的可执行目标文件作为源文件,该方法包括如下步骤:
S1-1:读取可执行目标文件及配置信息;
S1-2:对可执行目标文件中的代码段和数据段进行划片;
S1-3:可执行目标文件划分完成后,根据每段的大小,划分出相应的内存空间;
S1-4:计算实际目标值;
S1-5:实际目标值小于设定目标值时,对可执行目标文件中的每一段进行重新地址定位,最后进行目标链接,并输出优化后的可执行目标文件。
本方法是在链接阶段后添加处理过程,本实施例中,对预处理阶段,生成汇编代码阶段,汇编阶段和链接阶段不做限定。只在链接阶段后进行指令地址自适应重定位过程的设置,本实施例提供的处理阶段不影响其他阶段的处理,在程序编译过程中,可以选择性的添加本专利的处理阶段,可以大大提高CPU从内存读取程序指令或者程序数据的效率,从而可以提高CPU的执行效率。
实施例二
如图2所示,本发明技术方案提供一种指令地址自适应重定位方法,程序编译过程链接阶段生成的可执行目标文件作为源文件,该方法包括如下步骤:
S2-1:读取可执行目标文件及配置信息;需要说明的是,配置信息包括内存配置信息和优化配置信息;首先根据使用的内存特性,给出配置信息,内存的配置信息见图3所示;优化配置可以在进行编译时通过参数传递,所述的优化配置信息包括程序编译过程中编译阶段设定的优化力度和迭代次数,优化力度从0到n(n=1,2,3,4,5...等等)如gcc -cmain.c-o-pI-plos 5-plit 20-hello.o;其中,-plos 5指优化力度为5;-plit 20 指迭代次数为20;
S2-2:读取完毕后对配置文件进行分析输出设定目标值;所述的优化力度即为设定目标值;如优化力度设定2000,即设定目标值为2000;优化力度的设置的值不同对编译的速度有影响;
S2-3:根据设定目标值对可执行目标文件中的代码段和数据段进行划片;本实施例中,需要说明的是,在对可执行目标文件进行划分时的原则如下:相关的指令或者数据划分到一片、重复被调用的代码段和数据段划分在一片;需要说明的是,相关的指令或者数据尽量的划分到一起,重复被调用的代码段和数据段尽量的划分在一起;
S2-4:可执行目标文件划分完成后,根据每段的大小,划分出相应的内存空间;在进行划分时,内存可以有剩余;在对内存进行划分时的原则如下:划分的段内包含的列数大于划分的段内包含的行数;并且列数与行数的差大于设定的阈值,所述的设定阈值大于设定的限值。在这里需要说明的是,划分的段内包含的列数越多越好,划分的段内包含的行数越少越好,比如,每段包含5行200列;在这里限值可以设定150;
S2-5:计算实际目标值;计算实际目标值的方法如下:
实际目标值等于可执行目标文件的划分的每一段在内存中占用的列数的和。
例如可执行目标文件划分2段,内存划分的2段中,第一段包含100列,第二段包含200列,则实际目标值=100列+200列=300列。
S2-6:判断实际目标值与设定目标值的大小;
若实际目标值小于设定目标值,对可执行目标文件中的每一段进行重新地址定位,最后进行目标链接,并输出优化后的可执行目标文件;
若实际目标值大于设定目标值且迭代次数小于设定值时,则跳转到执行步骤S2-3重新进行迭代处理。
若实际目标值大于设定目标值且迭代次数大于设定值时,则进行报错处理。此时用户需要重新设定参数进行编译。
本发明程序编译时,根据内存的特性进行针对性的编译,这样一来,可以大大减少CPU 从内存读取数据的延迟。从而提高CPU的执行效率。
实施例三
如图4所示,本实施例提供一种程序编译方法,本实施例中,这里以linux环境下gcc 编译器为例(这里对编译器不限定)。编译一个C程序,编译方法包括如下步骤:
S3-1:预处理阶段预处理器将C源代码包含的头文件编译进来,形成预处理文件;
S3-2:编译阶段编译器检查代码的规范性确定语法无误后将代码翻译成汇编语言;
S3-3:汇编阶段汇编器将汇编语言转成二进制目标代码,其中,目标代码包括可重定位目标文件、可执行目标代码和可共享目标代码;
S3-4:链接阶段链接器将多个可重定位目标文件链接成可执行的目标文件;链接的过程就是一个模块拼装的过程,将各种模块通过符号拼装成一个整体。链接将汇编生成的 OBJ文件、系统库的OBJ文件、库文件链接起来,最终生成可以在特定平台运行的可执行程序。代码模块在编译之后会形成可重定位目标文件,文件中存储的代码为二进制格式,但是这些代码是不能载入内存中运行的。可重定位目标文件中除了基本的程序指令和程序数据之外,还提供了其他的数据结构(比如符号表)来提供链接时需要的信息;可执行目标文件可加载到内存中运行,其程序代码和数据中引用的符号都已经定位到对应的虚拟内存空间。可执行目标文件结构如图5所示。
S3-5:后链接阶段将可执行目标文件作为源文件,进行指令地址自适应重定位,重新分配内存地址生成优化后的可执行目标文件。
本实施例中,在链接阶段后添加后链接阶段,对预处理阶段,生成汇编代码阶段,在这里,汇编阶段和链接阶段不做限定。只在链接阶段后添加后链接阶段,对链接阶段输出文件进行后链接处理,本实施例中后链接处理生成的中间文件,完全符合常用的链接阶段生成的可执行文件格式,后链接处理阶段不影响其他阶段的处理,在程序编译过程中,可以选择性的添加本专利的后链接阶段,可以大大提高CPU从内存读取程序指令或者程序数据的效率,从而可以提高CPU的执行效率。
本专利通过编译器的参数进行设定是否启用本专利的后链接阶段,这里以linux环境下gcc编译器为例进行说明。linux环境下gcc编译器命令(gcc -c main.c-ohello.o)可以生成目标代码,本专利增加了命令参数(-pl),可以启用后链接阶段的处理,如gcc- cmain.c -o -pI hello.o。
所述的后链接阶段将可执行目标文件作为源文件,进行指令地址自适应重定位,重新分配内存地址生成优化后的可执行目标文件的步骤中进行指令地址自适应重定位的方法为实施例二所述的指令地址自适应重定位方法。
在链接阶段后添加后链接阶段,根据内存的读写特性,对指令进行地址重新定位,让其在内存中的存储地址优先选用一列存储,尽可能不跨行进行存储。在CPU从内存中读取程序指令或者程序数据时,可以减少内存换行读取的次数,从而减少对内存进行预充电操作的次数,从而可以大大降低内存自身的预充电带来的延迟,大大提升了CPU的执行效率。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种指令地址自适应重定位方法,其特征在于,将程序编译过程链接阶段生成的可执行目标文件作为源文件,该方法包括如下步骤:
读取可执行目标文件及配置信息;其中,配置信息包括内存配置信息和优化配置信息;所述的优化配置信息包括程序编译过程中编译阶段设定的优化力度和迭代次数,所述的优化力度即为设定目标值;
对可执行目标文件中的代码段和数据段进行划片;
可执行目标文件划分完成后,根据每段的大小,划分出相应的内存空间;
计算实际目标值;其中,实际目标值等于可执行目标文件的划分的每一段在内存中占用的列数的和;
实际目标值小于设定目标值时,对可执行目标文件中的每一段进行重新地址定位,最后进行目标链接,并输出优化后的可执行目标文件。
2.根据权利要求1所述的一种指令地址自适应重定位方法,其特征在于,所述的读取可执行目标文件及配置信息的步骤之后包括:
读取完毕后对配置文件进行分析输出设定目标值;
根据设定目标值对可执行目标文件中的代码段和数据段进行划片。
3.根据权利要求1所述的一种指令地址自适应重定位方法,其特征在于,所述的对可执行目标文件中的代码段和数据段进行划片的步骤中,对可执行目标文件进行划分时的原则包括:相关的指令或者数据划分到一片、重复被调用的代码段和数据段划分在一片。
4.根据权利要求1所述的一种指令地址自适应重定位方法,其特征在于,所述的可执行目标文件划分完成后,根据每段的大小,划分出相应的内存空间的步骤中,在对内存进行划分时的原则包括:划分的段内包含的列数大于划分的段内包含的行数;并且列数与行数的差大于设定的阈值,所述的设定阈值大于设定的限值。
5.根据权利要求2所述的一种指令地址自适应重定位方法,其特征在于,该方法还包括:
实际目标值大于设定目标值且迭代次数小于设定值时,则跳转到执行步骤:对可执行目标文件中的代码段和数据段进行划片,重新进行迭代处理。
6.根据权利要求2所述的一种指令地址自适应重定位方法,其特征在于,该方法还包括:实际目标值大于设定目标值且迭代次数大于设定值时,则进行报错处理。
7.一种程序编译方法,包括如下步骤:
预处理阶段预处理器将源代码包含的头文件编译进来,形成预处理文件;
编译阶段编译器检查代码的规范性确定语法无误后将代码翻译成汇编语言;
汇编阶段汇编器将汇编语言转成二进制目标代码,其中,目标代码包括可重定位目标文件、可执行目标代码和可共享目标代码;
链接阶段链接器将多个可重定位目标文件链接成可执行的目标文件;
后链接阶段将可执行目标文件作为源文件,执行如权利要求1-6任一项权利要求所述的指令地址自适应重定位方法进行指令地址自适应重定位,重新分配内存地址生成优化后的可执行目标文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010062998.3A CN111309329B (zh) | 2020-01-19 | 2020-01-19 | 一种指令地址自适应重定位方法及程序编译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010062998.3A CN111309329B (zh) | 2020-01-19 | 2020-01-19 | 一种指令地址自适应重定位方法及程序编译方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309329A CN111309329A (zh) | 2020-06-19 |
CN111309329B true CN111309329B (zh) | 2022-07-08 |
Family
ID=71150952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010062998.3A Active CN111309329B (zh) | 2020-01-19 | 2020-01-19 | 一种指令地址自适应重定位方法及程序编译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309329B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115826946B (zh) * | 2023-02-17 | 2023-05-12 | 苏州浪潮智能科技有限公司 | 一种程序异常向量空间优化系统、方法、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266549A (zh) * | 2008-03-19 | 2008-09-17 | 华为技术有限公司 | 插入代码的方法、装置及存储介质 |
CN102385524A (zh) * | 2011-12-23 | 2012-03-21 | 浙江大学 | 一种基于混编指令集的编译链指令替换方法 |
CN105528365A (zh) * | 2014-09-30 | 2016-04-27 | 国际商业机器公司 | 用于管理可执行文件的方法和装置 |
-
2020
- 2020-01-19 CN CN202010062998.3A patent/CN111309329B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266549A (zh) * | 2008-03-19 | 2008-09-17 | 华为技术有限公司 | 插入代码的方法、装置及存储介质 |
CN102385524A (zh) * | 2011-12-23 | 2012-03-21 | 浙江大学 | 一种基于混编指令集的编译链指令替换方法 |
CN105528365A (zh) * | 2014-09-30 | 2016-04-27 | 国际商业机器公司 | 用于管理可执行文件的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111309329A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844294B (zh) | 一种高可用的合约执行方法及系统 | |
US11567759B1 (en) | Generating source code from binary files | |
JP5551939B2 (ja) | 任意の標的アーキテクチャに対する並列simdコードを生成する方法、コンピュータ可読媒体、およびシステム | |
US9946523B2 (en) | Multiple pass compiler instrumentation infrastructure | |
JP5118745B2 (ja) | メモリアクセス命令のベクトル化 | |
CN102385524B (zh) | 一种基于混编指令集的编译链指令替换方法 | |
KR20090092617A (ko) | 프로세서 및 컴파일 방법 | |
US10956137B2 (en) | Compiling source code using source code transformations selected using benchmark data | |
CN111309329B (zh) | 一种指令地址自适应重定位方法及程序编译方法 | |
US7689976B2 (en) | Compiler apparatus and linker apparatus | |
CN113553057B (zh) | 一种针对不同架构的gpu进行并行计算的优化系统 | |
Su et al. | An efficient GPU implementation of inclusion-based pointer analysis | |
US20120096247A1 (en) | Reconfigurable processor and method for processing loop having memory dependency | |
CN102662720B (zh) | 一种多发射嵌入式处理器编译器的优化方法 | |
CN101727513A (zh) | 一种超长指令字处理器的设计和优化方法 | |
CN102831004B (zh) | 一种基于C*core处理器的优化编译方法及编译器 | |
CN105487911A (zh) | 一种基于编译指导的众核数据分片方法 | |
Kim et al. | Irregular register allocation for translation of test-pattern programs | |
CN116303143A (zh) | 基于LLVM编译框架来增强WebAssembly内存安全的方法 | |
US20090112568A1 (en) | Method for Generating a Simulation Program Which Can Be Executed On a Host Computer | |
JP2018124877A (ja) | コード生成装置、コード生成方法、およびコード生成プログラム | |
Balasa et al. | Loop transformation methodologies for array-oriented memory management | |
CN109062575B (zh) | 一种c编译器利用海明距离优化sram页选择的方法及系统 | |
US20040045018A1 (en) | Using address space bridge in postoptimizer to route indirect calls at runtime | |
Jiang et al. | S2N: Model Transformation from SPIN to NuSMV: (Tool Paper) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |