CN101923481A - Program execution optimization method on basis of copying codes for forming superblock - Google Patents

Program execution optimization method on basis of copying codes for forming superblock Download PDF

Info

Publication number
CN101923481A
CN101923481A CN2010102785380A CN201010278538A CN101923481A CN 101923481 A CN101923481 A CN 101923481A CN 2010102785380 A CN2010102785380 A CN 2010102785380A CN 201010278538 A CN201010278538 A CN 201010278538A CN 101923481 A CN101923481 A CN 101923481A
Authority
CN
China
Prior art keywords
superblock
intermediate language
fundamental block
carried out
program
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.)
Pending
Application number
CN2010102785380A
Other languages
Chinese (zh)
Inventor
管海兵
陈凯
邓海鹏
刘博�
张俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN2010102785380A priority Critical patent/CN101923481A/en
Publication of CN101923481A publication Critical patent/CN101923481A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

The invention relates to a program execution optimization method on basis of copying codes for forming superblock in the computer technical field. The method comprises the following steps: programs are divided, the detection command is inserted to construct an intermediate language superblock, then the balance mechanism parameter of the intermediate language superblock is set and generated, screening guide treatment is performed; and the intermediate language superblock is translated to a target superblock, and the target superblock is executed by a binary translator. The invention is used to generate the superblock by copying the codes of basic blocks, thus the length of basic blocks is increased, the number of basic blocks is reduced, the quality of the superblock is improved, and the portability is good.

Description

Program based on the copying codes superblock is carried out optimization method
Technical field
What the present invention relates to is a kind of method of field of computer technology, specifically is that the program based on the copying codes superblock in a kind of binary system is carried out optimization method.
Background technology
Binary translation is the method that is most widely used in the virtual execution technique, be to provide the adaptive a kind of effective means of platform of transplanting possibility and improving software for leaving over code, it is under the situation of the source code that does not need executable program, can run on other target machine platforms dynamically with the conversion of the process of the binary program on the source machine platform.For dynamic binary translator self, execution performance is a very important measurement index.So-called execution performance is meant that the efficient of moving with source program is reference under former framework, its loss in efficiency degree under the running environment that dynamic binary translator provides is low more, and the execution performance of translater is good more.
In order to improve the performance of dynamic binary translator, dynamic translators adopts a lot of strategy and methods that originally are widely adopted in the compiling field, in view of binary translation is compared the characteristic that lacks the source code resource with technique of compiling, so also develop come out peculiar optimisation technique in binary field and method.What wherein be widely adopted has superblock generation technique, a chained technology etc.In the binary field, because there is not source code, the needed most information such as optimization that program is carried out all are to obtain by the subdivision information of program.
In general, in the binary field, to the translation of source program, carry out, operations such as optimization all are that the fundamental block with source program is that unit carries out.So-called fundamental block, being meant only has an inlet, and with redirect, one group of instruction sequence of order fulfillment such as returns.Program begins to carry out from the inlet of fundamental block, then, finally jumps out in the outlet of fundamental block, and jumps to the inlet continuation execution command sequence of another one fundamental block.The subdivision information of program obtain with the fundamental block to be that unit carries out, to comprise the execution number of times of fundamental block, a series of information of jump address or the like.So-called superblock, according to the subdivision information of having obtained, several fundamental block sequences of selecting appointment by certain rule reconfigure, and the longer instruction sequence of formation is in order to improve the performance of program.It also has the characteristic of a plurality of outlets concurrently except than the basic block length.
The classification of subdivision information mainly contains following three kinds:
1, based on the information gathering of fundamental block, the collection of fundamental block operation characteristic information just is confined to coarse information such as the number of run of fundamental block and jump target piece basically.Though the information that its is collected is comparatively rough,, it gives the expense of system smaller, so, it performance requirement use in than higher dynamic system many.
2, based on the information gathering on limit, that is, the limit that combines with a fundamental block and fundamental block subsequently is basic information gathering unit.Information gathering based on the limit is enriched than block-based, also can better describe the behavioural characteristic of program.But the thing followed also is also to be bigger to the expense that system brings.
3, based on the information gathering in path.Control flow graph according to program carries out, and is that unit carries out information gathering with the wall scroll execution route.Such information gathering mode can be described the behavioural characteristic of program really near program.But the cost that it is paid also is maximum. because its huge system overhead in dynamic binary translator, is not used basically.
For the dynamic binary translator that intermediate language is arranged, such as valgrind, UQDBT, the structure superblock all tends to the intermediate language in self definition, and the information of utilizing program to collect is carried out in conjunction with specific algorithm.Then, concentrate again and be put into the rear end and translate into object code.The general superblock building method flow process that intermediate language is arranged is as follows:
1) utilizes the above three kinds of kind of information collection methods, information is gathered.In general, a translated fundamental block is safeguarded its information an object should be arranged.In general the information of collecting by three kinds of above-mentioned methods be in the object that leaves in separately.
2) when meeting some requirements, such as reaching threshold value etc., program will trigger the structure routine of superblock, because intermediate language is arranged, so program is just earlier passed through certain processing to one by one source program fundamental block, such as redirect counter-rotating etc., become a big intermediate language program block according to certain algorithm translation, translating into big target block, just a superblock then.
3) be exactly that program jumps to translated target program superblock and carries out at last.
Through existing literature search is found, Chinese patent literature CN101387970A, open day 2009-3-18 has put down in writing a kind of " utilizing subdivision information to generate the method for superblock ", and this technology describes the general flow of the structure superblock of Crossbit in the field of binary translation in detail.But this technology has a problem that can not be ignored: in the process of structure superblock, when a fundamental block all is when being required in a plurality of superblocks, will certainly cause except have only one be utilized, other superblock is all blocked by the centre because lacking current block, produce a plurality of shorter superblocks, perhaps the fundamental block fragment.
Find by retrieval in addition, Chinese patent literature CN101488096A, open day 2009-7-22, put down in writing a kind of " utilizing the method for the partial information structure superblock of the frontier juncture system of coming in and going out ", this technology adopts is based on the method for constructing superblock into limit and the partial information that goes out the limit, but this method is easy to generate repetition in the process of structure superblock, thereby makes that the quantity of fundamental block is huge.
Summary of the invention
The objective of the invention is to overcome the above-mentioned deficiency of prior art, provide a kind of program to carry out optimization method based on the copying codes superblock, generate superblock by the fundamental block copying codes, make that the length of fundamental block is elongated, the quantity of fundamental block reduces, thereby it is improve the quality of the superblock that generates, and portable good.
The present invention is achieved by the following technical solutions, and the present invention is by inserting probe instructions and structure obtains intermediate language superblock after the procedure division, the balancing parameter that the generates intermediate language superblock row filter of going forward side by side is set then instructs and handle; And intermediate language superblock translated into the target superblock, and carry out for binary translator, specifically may further comprise the steps:
The first step is divided processing to programmed instruction, obtains some fundamental blocks.
Described division is handled and is meant: with the instruction sequence between i jump instruction and i+1 the jump instruction as a fundamental block, wherein: jump instruction sequence number in the i representation program, it be since 1 in the whole procedure positive integer the jump instruction number.
Second step is in probe instructions of head insertion of each fundamental block.
Described probe instructions is to survey a piece of structure superblock or trigger structure superblock routine.
The 3rd step, structure intermediate language superblock, and the pairing parameter of this intermediate language superblock of real time record.
Described structure intermediate language superblock is meant: when the probe instructions of a fundamental block triggers structure superblock course, program will be by the information of inquiry system record, find qualified intermediate language piece, and after jump instruction partly carried out certain processing, enumerate together, form an intermediate language superblock.
Described parameter comprises: in the nested number of plies that contains superblock of the number of times that the number of times that fundamental block is shared, superblock are shared, superblock, the superblock from the multiplicity sum of body member fundamental block and the multiplicity sum in the current superblock of constructing from body member superblock.
In the 4th step, the balancing parameter that the generates intermediate language superblock row filter of going forward side by side is set instructs and handle;
Described balancing parameter comprises: add superblock instrumentation code signs, the nested number of plies parameter of superblock, fundamental block the repetition frequency, repeat frequency and superblock repetition frequency from the body fundamental block.
Described screening is instructed to handle and be may further comprise the steps:
1) in the record object of each fundamental block, increases corresponding territory, be used for writing down above-mentioned parameter in translation system;
2) corresponding threshold value is set in the territory of appointment, and the setting of threshold value can be different because of the difference of program behavior characteristic;
3) in the structure intermediate language superblock, the balancing parameter is monitored, upgraded;
4) fundamental block or superblock add in the process of instrumentation code or structure intermediate language superblock, stop current operation when parameter is violated the preset threshold condition.
The 5th step, with intermediate language superblock as a disposable target superblock of translating into of translation unit, be stored in the internal memory assigned address then and write down the memory address of this target superblock, at last binary translator is also directly jumped to this memory address place with this memory address as function entrance and carry out the pairing binary command of target superblock, the realization program is carried out and is optimized.
Compare with conventional art, advantage of the present invention is mainly reflected in, and 1) from article one superblock built-in command, it is bigger to jump out instruction memory address span to final one; 2) begin to contain the fundamental block sequence of repetition in this superblock to a last order fulfillment from article one instruction, also promptly showing as two instruction sequences between the adjacent jump instruction in internal memory can repeat in superblock; 3) begin to contain the superblock sequence of repetition in this superblock to a last order fulfillment from article one instruction, also promptly showing as two instruction sequences between the non-adjacent jump instruction in internal memory can repeat in superblock; 4) at whole memory headroom, fundamental block, the overall quantity of superblock is fewer, what instruction was deposited in the internal memory is more concentrated, certainly because length is elongated, the shared memory headroom of corresponding whole procedure piece also than traditional method bigger 5) read for the instruction of machine, because superblock length has been grown, program can rest on superblock inside for more time, thereby the performance of the buffer memory of its central processing unit can promote to some extent, and the locality that the reads performance of instruction is better.
The technology of the present invention effect comprises: therefore program has improved the locality of code, program implementation stream is also smooth more, performance has been obtained the performance boost of 0.5%-3%, superblock length increases the longest length that can reach 2 fundamental blocks, change 21.7 of instructions into, the quantity of fragment reduces can reach 25.5% at most, and maximum 2.25% internal memory expansivity is an acceptable.
Description of drawings
Fig. 1 shares block code and duplicates synoptic diagram.
Fig. 2 is based on structure routine and the memory mapping synoptic diagram of code copy superblock A.
Embodiment
Below embodiments of the invention are elaborated, present embodiment is being to implement under the prerequisite with the technical solution of the present invention, provided detailed embodiment and concrete operating process, but protection scope of the present invention is not limited to following embodiment.
As shown in Figure 1, among the figure, a, b, c ... l is fundamental block or superblock, and e1 and e2 are respectively two code copies of piece e.Fig. 1 left side, fundamental block e or superblock e are shared by two paths, and existing structure strategy can only produce a superblock that comprises e, and an other paths will be blocked because lacking e.By copying codes, produce two fundamental block e1 and e2, be placed on respectively in two superblocks, thereby produce two long superblocks, otherwise, because one of them superblock is blocked from the centre, and produce more fragment.
As shown in Figure 2, superblock C is that the superblock of having constructed is placed in the internal memory, and is current by in the construction process of superblock A, and the variable of it or it member's piece is detected, and upgrades, and sets.Because Gou Zao superblock C contains fundamental block m before, the variable repeat_time of member's fundamental block m correspondence increases progressively so; Superblock B exists in superblock C, superblock B dependent variable super_repeat_time is increased progressively so, and the variable i nner_loop of superblock A correspondence adds up simultaneously; Fundamental block n exists in body, and the variable self_repeat_time of superblock A correspondence carries out increment operation; Superblock q is duplicating in body, and that superblock A carries out increment operation to dependent variable self_super_repeat_time, and the inner_loop variable of superblock A is carried out increment operation.
Crossbit is a dynamic binary translation system, and it can be realized the instruction of different architecture dynamically translation and optimize.Existing C rossbit has realized a basic superblock generation method, has also finished the link between the piece.The program most of the time is to carry out between the piece after the translation.But because the superblock that generates often blocks because of the problem that fundamental block is shared, average length is shorter, has caused the locality of program run bad, so, realize that the mechanism of a copying codes increases the length of superblock, be necessary.On the basis of existing superblock generation method, allow code copy, and the strategy of code copy has been carried out certain refinement.
The meaning of the monitored variable representative of using under before concrete the introduction, introducing a little earlier:
Repeat_time: the number of times that the expression fundamental block is shared in a plurality of superblocks, such as superblock A, B contains fundamental block m simultaneously, and its repeat_time value is exactly 2 so.
Super_repeat_time: the number of times that the expression superblock is shared in a plurality of superblocks, identical substantially with the repeat_time meaning.
Inner_loop: the nested inner_loop that contains superblock of superblock of expression appointment adds the summation after 1, such as, superblock A contains inside two superblock B and C, and B contains 1 superblock M, C inside all is fundamental block, and M inside all is fundamental block, and the inner_loop value of B is exactly 1 so, the inner_loop value of C is exactly 0, and the inner_loop value of A is exactly (1+1)+(0+1)=3.
Self_repeat_time: in the superblock from the multiplicity sum of body member fundamental block.Obtaining of its value is to utilize the information of the current member's fundamental block that to be ready being added to retrieve the member linked list of whole superblock, runs into one and identical just the current self_repeat_time that is configured superblock carried out increment operation.Such as, a superblock A contains the such sequence of fundamental block m-n-o-p-m-o, so in the process of structure, m, n, o, p is successively added, to the not influence of self_repeat_time value, when adding next m, self_repeat_time increases progressively, when adding o, increase progressively once more, the self_repeat_time value of this superblock A is exactly 2 so.
Self_super_repeat_time: write down the multiplicity sum in the current superblock of constructing from body member superblock.Obtaining of its value is similar to self_repeat_time, do not giving unnecessary details here.
At first be the process of subdivision, the subdivision process mainly contains following steps in Crossbit:
1, with the fundamental block is the unit partition program, begins with a jump instruction usually, with the instruction sequence of a jump instruction end.
2, insert probe instructions in the beginning of each fundamental block, the counting instruction of finishing current fundamental block execution number of times of inserting in this example, if the number of times of carrying out reach certain threshold value so this fundamental block just as a piece of the superblock that will be configured, program is not carried out a current piece that is detected, just trigger structure superblock routine and also promptly jump to structure superblock routine, after structure finishes superblock, carry out jumping to the superblock that is successfully constructed.The method of Crossbit structure superblock, the superblock of constructing is not surveyed, here also to carry out to a certain degree detection to superblock, if when the super_repeat_time of front construction has reached specified threshold value, so just the head at the final superblock of translation generation does not just insert probe instructions, otherwise, insert probe instructions, continue to detect temperature when the operation of front construction superblock.Code is specifically seen step 4.
3, when entering when carrying out the superblock routine, each building method or algorithm according to superblock are the fundamental blocks that is required, and it all has a corresponding initial value is 0 repeat_time variable, and this value is carried out increment operation.If superblock, be that 0 super_repeat_time variable carries out increment operation to its initial value so, and be that 0 LINNER_LOOP value increases progressively the initial value of current superblock of constructing.
4, the balancing between internal memory expansion and the superblock structure.In order to guarantee that copying codes can not bring very big internal memory expansion issues.Carry out the control that internal memory expands by three aspects in this example.
4.1) to whether adding the judgement of superblock instrumentation code.If, unconfined interpolation superblock instrumentation code, superblock structure mechanism can be constantly with nested the adding in the new superblock of superblock so, will bring very huge internal memory to expand like this, but, if the superblock that generates is not surveyed, so eliminating is similar to little and the short but function that frequently calls situation as the part of fairly large superblock.Judge whether add instrumentation code by setting a threshold value.The value of MAX_REPEAT choosing big more, the so nested new superblock that contains current superblock is many more.
If(super_repeat_time<SUPER_MAX_REPEAT)
{
...
// instrumentation code
}
// also promptly, if the number of times that this superblock repeats in a plurality of bigger superblocks does not surpass MAX_REPEAT time, just
Carry out this superblock is surveyed
4.2) the nested qualification of superblock.A superblock is a hot code, and it is very likely called by other piece so, thus detect by superblock structure mechanism the superblock that nested structure is new.If, extreme case appears, and the number of plies of nesting allocation is too much, causes generating great superblock so, causes the extreme expansion of internal memory.So there is a mechanism to guarantee that such situation can not take place.
If (super_repeat_time>0) // current piece that will be added is a superblock
{
Up_inner_loop (); // current the superblock that is being added has been set to one deck superblock nested
// the inner_loop variable is carried out increment operation
}
Set_inner_loop (); The inner_loop value of the current superblock that is being configured of // record is also promptly to the one-tenth after increasing progressively
The inner_loop value of member's superblock adds up
If(inner_loop>MAX_INNERLOOP)
{
Break; If // the current superblock that will be added into superblock is nested many times, so just stop;
}
4.3) fundamental block repeat limit.The fundamental block of a common comparative heat can be shared by a plurality of superblocks; but in experiment, fundamental block repeats in a plurality of superblocks usually; when number of times reached certain threshold value, the performance boost that it brings was compared internal memory expansivity that it brings and is become and be not clearly.So needing to set a threshold value sets.
If(repeat_time>MAX_REPEAT)
{
break;
If // one piece appears in the too much superblock, so just stop;
}
4.4) to answer the qualification that fundamental block or superblock carry out from body weight.Some superblock is in the middle of construction process, and the next fundamental block that needs can be own current fundamental block of constructing into.Situation is not a lot, but the performance of individual programs is had bigger influence.When it is limited, carry out reducing to repeat_time variable before.If just making variable into corresponding superblock variable, superblock gets final product.Code is as follows
For(int?i=0;i<chain。size();i++)
{
if(spc==chain[i])
self_repeat_time++;
repeat_time--;
}
The current superblock formation of // searching loop, if current fundamental block repeated, just to increasing progressively from the multiple fundamental block self_repeat_time of body weight, and the repeat_time that will write down between superblock successively decreases, with what guarantee the repeat_time record is repetition between superblock, and does not comprise from body weight multiple;
The intermediate language superblock that generates is carried out certain optimization process, carry out counter-rotating, reject redundant instruction such as redirect.Return intermediate language superblock
Translating into can be in the target superblock and the execution of local machine execution.
Different programs, its behavioral trait is different, so, also all be different for the threshold value that adopts among the present invention, in the present embodiment, the threshold value of employing all is the numeral between the 2-10, and SUPER_MAX_REPEAT is made as 8, and MAX_INNERLOOP is made as 3 etc.
Test with BENCH INT2000 test case in the present embodiment, experimental data shows that the system that adopts after the present invention improves is compared to original superblock building method, obtained the performance boost of 1%-3%, the average length of superblock has increased by 1, at most near two; The instruction strip number that superblock comprises has increased by 21.7 at most, has on average increased by 15; And superblock number of tiles has altogether reduced 25% at most, has minimumly reduced 11%.For internal memory expansion aspect, on average only be that the system that makes has produced 2% average internal memory expansivity, be acceptable.

Claims (8)

1. the program based on the copying codes superblock is carried out optimization method, it is characterized in that, by inserting probe instructions after the procedure division and structure obtains intermediate language superblock, the balancing parameter that the generates intermediate language superblock row filter of going forward side by side is set then instructs and handle; And intermediate language superblock translated into the target superblock, carry out for binary translator.
2. the program based on the copying codes superblock according to claim 1 is carried out optimization method, it is characterized in that described program is carried out optimization method and be may further comprise the steps:
The first step is divided processing to programmed instruction, obtains some fundamental blocks;
Second step is in probe instructions of head insertion of each fundamental block;
The 3rd step, structure intermediate language superblock, and the pairing parameter of this intermediate language superblock of real time record;
In the 4th step, the balancing parameter that the generates intermediate language superblock row filter of going forward side by side is set instructs and handle;
The 5th step, with intermediate language superblock as a disposable target superblock of translating into of translation unit, be stored in the internal memory assigned address then and write down the memory address of this target superblock, at last binary translator is also directly jumped to this memory address place with this memory address as function entrance and carry out the pairing binary command of target superblock, the realization program is carried out and is optimized.
3. the program based on the copying codes superblock according to claim 1 and 2 is carried out optimization method, it is characterized in that, described division is meant: with the instruction sequence between i jump instruction and i+1 the jump instruction as a fundamental block, wherein: jump instruction sequence number in the i representation program, it be since 1 in the whole procedure positive integer the jump instruction number.
4. the program based on the copying codes superblock according to claim 1 and 2 is carried out optimization method, it is characterized in that, described probe instructions is to survey a piece of structure superblock or trigger structure superblock routine.
5. the program based on the copying codes superblock according to claim 1 and 2 is carried out optimization method, it is characterized in that, described structure intermediate language superblock is meant: when the probe instructions of a fundamental block triggers structure superblock course, program will be by the information of inquiry system record, find qualified intermediate language piece, and after jump instruction partly carried out certain processing, enumerate together, form an intermediate language superblock.
6. the program based on the copying codes superblock according to claim 1 and 2 is carried out optimization method, it is characterized in that described parameter comprises: in the nested number of plies that contains superblock of the number of times that the number of times that fundamental block is shared, superblock are shared, superblock, the superblock from the multiplicity sum of body member fundamental block and the multiplicity sum in the current superblock of constructing from body member superblock.
7. the program based on the copying codes superblock according to claim 1 and 2 is carried out optimization method, it is characterized in that described balancing parameter comprises: add superblock instrumentation code signs, the nested number of plies parameter of superblock, fundamental block the repetition frequency, repeat frequency and superblock repetition frequency from the body fundamental block.
8. the program based on the copying codes superblock according to claim 1 and 2 is carried out optimization method, it is characterized in that, described screening is instructed to handle and be may further comprise the steps:
1) in the record object of each fundamental block, increases corresponding territory, be used for writing down above-mentioned parameter in translation system;
2) corresponding threshold value is set in the territory of appointment, and the setting of threshold value can be different because of the difference of program behavior characteristic;
3) in the structure intermediate language superblock, the balancing parameter is monitored, upgraded;
4) fundamental block or superblock add in the process of instrumentation code or structure intermediate language superblock, stop current operation when parameter is violated the preset threshold condition.
CN2010102785380A 2010-09-11 2010-09-11 Program execution optimization method on basis of copying codes for forming superblock Pending CN101923481A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102785380A CN101923481A (en) 2010-09-11 2010-09-11 Program execution optimization method on basis of copying codes for forming superblock

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102785380A CN101923481A (en) 2010-09-11 2010-09-11 Program execution optimization method on basis of copying codes for forming superblock

Publications (1)

Publication Number Publication Date
CN101923481A true CN101923481A (en) 2010-12-22

Family

ID=43338437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102785380A Pending CN101923481A (en) 2010-09-11 2010-09-11 Program execution optimization method on basis of copying codes for forming superblock

Country Status (1)

Country Link
CN (1) CN101923481A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105593807A (en) * 2013-06-28 2016-05-18 格罗方德半导体公司 Optimization of instruction groups across group boundaries
CN105279004B (en) * 2015-11-24 2018-06-26 无锡江南计算技术研究所 A kind of lightweight program code rearrangement method based on sampled profile
CN110032330A (en) * 2018-01-12 2019-07-19 爱思开海力士有限公司 Storage system and its operating method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101387970A (en) * 2008-10-30 2009-03-18 上海交通大学 Method for generating super block utilizing partial information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101387970A (en) * 2008-10-30 2009-03-18 上海交通大学 Method for generating super block utilizing partial information

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《计算机工程》 20071231 包云程等 "动态二进制翻译基础平台CrossBit的设计与实现" 第101页左侧分栏 1-8 第33卷, 第23期 *
《计算机应用与软件》 20070731 李增祥等 "动态二进制翻译的优化" 第12-14页 1-8 第24卷, 第7期 *
包云程等: ""动态二进制翻译基础平台CrossBit的设计与实现"", 《计算机工程》 *
李增祥等: ""动态二进制翻译的优化"", 《计算机应用与软件》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105593807A (en) * 2013-06-28 2016-05-18 格罗方德半导体公司 Optimization of instruction groups across group boundaries
CN105593807B (en) * 2013-06-28 2018-06-12 格罗方德半导体公司 It is optimized across the group of instructions of group's boundary
CN105279004B (en) * 2015-11-24 2018-06-26 无锡江南计算技术研究所 A kind of lightweight program code rearrangement method based on sampled profile
CN110032330A (en) * 2018-01-12 2019-07-19 爱思开海力士有限公司 Storage system and its operating method

Similar Documents

Publication Publication Date Title
Simonsen et al. Rapid neighbour-joining
US6381739B1 (en) Method and apparatus for hierarchical restructuring of computer code
US8806463B1 (en) Feedback-directed inter-procedural optimization
EP0810523A2 (en) Method for sequencing computer instruction execution in a data processing system
Clark et al. Automated custom instruction generation for domain-specific processor acceleration
CN103473171B (en) A kind of fraction of coverage calling path based on function dynamically follows the tracks of method and device
CN103678110B (en) The method and apparatus of amendment relevant information is provided
CN100465895C (en) Compiler, compilation method, and compilation program
Alur et al. Sygus-comp 2016: Results and analysis
US11106685B2 (en) Method to rank documents by a computer, using additive ensembles of regression trees and cache optimisation, and search engine using such a method
CN104281652A (en) One-by-one support point data dividing method in metric space
US7401329B2 (en) Compiling computer programs to exploit parallelism without exceeding available processing resources
CN104137095B (en) System for evolution analysis
CN103116493B (en) A kind of automatic mapping method being applied to coarse-grained reconfigurable array
US20150220315A1 (en) Method and apparatus for compiling
US20170017475A1 (en) Information processing apparatus and compile method
CN103713933B (en) Focus function, the assemblage method of variable, apparatus and system in computer program
Luo et al. Finding representative sets of optimizations for adaptive multiversioning applications
CN110110753B (en) Effective mixed characteristic selection method based on elite flower pollination algorithm and ReliefF
CN101923481A (en) Program execution optimization method on basis of copying codes for forming superblock
CN102622334B (en) Parallel XSLT (Extensible Style-sheet Language Transformation) conversion method and device for use in multi-thread environment
CN103559069B (en) A kind of optimization method across between file processes based on algebra system
CN103544208B (en) The matching process of massive feature cluster set and system
CN112558977B (en) Polyhedron optimization method oriented to heterogeneous many-core rear end based cost model
CN104778088A (en) Method and system for optimizing parallel I/O (input/output) by reducing inter-progress communication expense

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20101222