Patent ID: 8612958
Filing Date: 2013-12-17
Classification: G06F

Abstract:
1. A program converting apparatus which converts a source program written in a high-level language or in assembly language into a program written in machine language codes executable by a target processor, said program converting apparatus comprising: a memory configured to store the source program; a programmer directive receiving unit configured to receive, from a programmer who writes source programs, a directive for specifying an instruction scheduling method; and an instruction scheduling unit configured to execute, conforming to one of a plurality of instruction scheduling methods, instruction scheduling of rearranging intermediate codes corresponding to the source program stored in said memory, wherein said instruction scheduling unit is configured to select one of the instruction scheduling methods according to the directive received by said programmer directive receiving unit, and to execute an instruction scheduling conforming to the selected instruction scheduling method, the directive received by said programmer directive receiving unit is a directive regarding an operation mode of the target processor; wherein the target processor is a processor which has a multithread execution mechanism, and the operation mode of the target processor is an operation mode regarding a multithread operation; wherein the operation mode regarding the multithread operation specifies the number of threads executed by time-sharing or the number of threads executed within the same cycle; and wherein the directive regarding the instruction scheduling method is information regarding instruction latency or an instruction latency ratio, the instruction latency being the number of cycles required for the target processor to execute one instruction, and the instruction latency ratio being an inverse number of a ratio of the instruction latency to instruction latency in a single thread mode.