Patent ID: 6813763
Filing Date: 2004-11-02
Classification: G06F

Abstract:
A program conversion device for converting a first binary program constituted by a plurality of instruction blocks into a second binary program executed by a computer having branch prediction means, comprising:an execution information storage storing execution information collected when the first binary program is executed in advance; an analyzer analyzing execution characteristics of a branch instruction between the plurality of instruction blocks in the first branch program from the execution information; a branch prediction characteristics storage storing branch prediction characteristics of the computer; and a converter updating branch instructions between the plurality of instruction blocks in the first binary program on the basis of the execution characteristics of the branch instruction and the branch prediction characteristics such that a hit rate of the branch prediction is increased, wherein, when the computer has branch prediction characteristics for performing a rather low prediction of the execution probability of a branch with respect to a branch instruction to an address in an upper direction, the converter reconstitutes a plurality of instruction blocks such that a branch instruction having a low frequency in the occurrence of a branch becomes a branch instruction to an address in the upper direction and that a branch instruction having a high frequency in the occurrence of a branch becomes a branch instruction to an address in a lower direction.