Compiler apparatus for optimizing high-level language programs using directives
    1.
    发明授权
    Compiler apparatus for optimizing high-level language programs using directives 有权
    用于使用指令优化高级语言程序的编译器设备

    公开(公告)号:US07571432B2

    公开(公告)日:2009-08-04

    申请号:US10944831

    申请日:2004-09-21

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4442

    摘要: A compiler 58, which is a compiler that realizes program development in a fewer man hours, translates a source program 72 written in a high-level language into a machine language program. This compiler 58 is comprised of: a directive obtainment unit that obtains a directive that a machine language program to be generated should be optimized; a parser unit 76 that parses the source program 72; an intermediate code conversion unit 78 that converts the source program 72 into intermediate codes based on a result of the parsing performed by the parser unit 76; an optimization unit 68 that optimizes the intermediate codes according to the directive; and a code generation unit 90 that converts the intermediate codes into the machine language program. The above directive is a directive to optimize the machine language program targeted at a processor that uses a cache memory.

    摘要翻译: 编译器58是以较少的工时实现程序开发的编译器,将以高级语言编写的源程序72翻译成机器语言程序。 该编译器58包括:指令获取单元,其获得应当优化要生成的机器语言程序的指令; 解析源程序72的解析器单元76; 中间代码转换单元78,其基于由解析器单元76执行的解析的结果将源程序72转换为中间代码; 优化单元68,根据该指令优化中间代码; 以及将中间代码转换为机器语言程序的代码生成单元90。 上述指令是优化针对使用高速缓存的处理器的机器语言程序的指令。

    Compiler apparatus
    2.
    发明申请
    Compiler apparatus 有权
    编译器

    公开(公告)号:US20050086653A1

    公开(公告)日:2005-04-21

    申请号:US10944831

    申请日:2004-09-21

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4442

    摘要: A compiler 58, which is a compiler that realizes program development in a fewer man hours, translates a source program 72 written in a high-level language into a machine language program. This compiler 58 is comprised of: a directive obtainment unit that obtains a directive that a machine language program to be generated should be optimized; a parser unit 76 that parses the source program 72; an intermediate code conversion unit 78 that converts the source program 72 into intermediate codes based on a result of the parsing performed by the parser unit 76; an optimization unit 68 that optimizes the intermediate codes according to the directive; and a code generation unit 90 that converts the intermediate codes into the machine language program. The above directive is a directive to optimize the machine language program targeted at a processor that uses a cache memory.

    摘要翻译: 编译器58是以较少的工时实现程序开发的编译器,将以高级语言编写的源程序72翻译成机器语言程序。 该编译器58包括:指令获取单元,其获得应当优化要生成的机器语言程序的指令; 解析源程序72的解析器单元76; 中间代码转换单元78,其基于由解析器单元76执行的解析的结果将源程序72转换为中间代码; 优化单元68,根据该指令优化中间代码; 以及将中间代码转换为机器语言程序的代码生成单元90。 上述指令是优化针对使用高速缓存的处理器的机器语言程序的指令。

    Compiler
    3.
    发明申请
    Compiler 有权
    编译器

    公开(公告)号:US20050216869A1

    公开(公告)日:2005-09-29

    申请号:US11087752

    申请日:2005-03-24

    IPC分类号: G06F17/50

    CPC分类号: G06F8/423 G06F17/505

    摘要: A compiler apparatus enabling description of a particular hardware module in the existing programming language, although the description has not been possible in hardware designing to input programming language. In the header file 24, a particular hardware indescribable in programming language is defined. And the compiler apparatus includes a parser unit 30 analyzing syntax of source program 22, an intermediate code converting unit 32 converting the syntactically analyzed source program 22 to an intermediate code and code generating unit 36 converting the intermediate code to the RTL description. The intermediate code converting unit 32 includes a detecting unit 40 detecting a particular hardware defined in the header file 24 out of the source program 22 and a replacing unit 42 replacing the detected particular hardware in the detecting unit 40 with the intermediate code corresponding to a particular hardware.

    摘要翻译: 尽管在硬件设计中输入编程语言的描述是不可能的,但是使用现有编程语言来描述特定硬件模块的编译器装置。 在头文件24中,定义了难以形容的编程语言中的特定硬件。 并且编译装置包括分析源程序22的语法的解析器单元30,将语法分析的源程序22转换成将中间代码转换为RTL描述的中间代码和代码生成单元36的中间代码转换单元32。 中间代码转换单元32包括检测单元40,其检测来自源程序22中的头文件24中定义的特定硬件;以及替换单元42,用检测单元40中的检测到的特定硬件替换与特定的对应的中间代码 硬件。

    Program conversion device and program conversion method
    4.
    发明申请
    Program conversion device and program conversion method 审中-公开
    程序转换装置和程序转换方法

    公开(公告)号:US20060248520A1

    公开(公告)日:2006-11-02

    申请号:US10565530

    申请日:2005-02-04

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A compiler which improves the processing speed of a program execution without needlessly issuing an instruction that has a possibility of causing an interlock is targeted at a processor having an instruction that has a possibility of causing an interlock when the instruction is executed, the compiler causing a computer to function as: a loop structure transforming unit (186) which performs double looping transformation on an input program so that a loop whose iteration count is y is split off from a loop whose loop count is x and the loop whose iteration count is y is an inner loop whereas a loop whose iteration count is x/y is an outer loop; and an instruction optimum placing unit (187) which places an instruction that has a possibility of causing an interlock in the program on which the double looping transformation has been performed.

    摘要翻译: 一种改进程序执行的处理速度而不用不必要地发出具有引起互锁的可能性的指令的编译器针对具有在执行指令时可能引起互锁的指令的处理器,编译器引起 计算机用作:循环结构变换单元(186),其对输入程序执行双循环变换,使得迭代计数为y的循环与循环计数为x的循环和迭代计数为y的循环分离 是一个内循环,而迭代计数为x / y的循环是一个外循环; 以及指令最佳放置单元(187),其放置在执行了双重循环变换的程序中具有引起互锁的可能性的指令。

    Compiler
    5.
    发明授权
    Compiler 有权
    编译器

    公开(公告)号:US07350165B2

    公开(公告)日:2008-03-25

    申请号:US11087752

    申请日:2005-03-24

    IPC分类号: G06F17/50

    CPC分类号: G06F8/423 G06F17/505

    摘要: A compiler apparatus enables description of a particular hardware module in the existing programming language, although the description has not been possible in hardware designing to input programming language. In the header file 24, a particular hardware indescribable in programming language is defined. And the compiler apparatus includes a parser unit 30 analyzing syntax of source program 22, an intermediate code converting unit 32 converting the syntactically analyzed source program 22 to an intermediate code and code generating unit 36 converting the intermediate code to the RTL description. The intermediate code converting unit 32 includes a detecting unit 40 detecting a particular hardware defined in the header file 24 out of the source program 22 and a replacing unit 42 replacing the detected particular hardware in the detecting unit 40 with the intermediate code corresponding to a particular hardware.

    摘要翻译: 编译装置能够描述现有编程语言中的特定硬件模块,尽管在硬件设计中输入编程语言的描述是不可能的。 在头文件24中,定义了难以形容的编程语言中的特定硬件。 并且编译装置包括分析源程序22的语法的解析器单元30,将语法分析的源程序22转换成将中间代码转换为RTL描述的中间代码和代码生成单元36的中间代码转换单元32。 中间代码转换单元32包括检测单元40,其检测来自源程序22中的头文件24中定义的特定硬件;以及替换单元42,用检测单元40中的检测到的特定硬件替换与特定的对应的中间代码 硬件。

    Circuit information generating apparatus and circuit information generating method
    6.
    发明申请
    Circuit information generating apparatus and circuit information generating method 审中-公开
    电路信息生成装置及电路信息生成方法

    公开(公告)号:US20060150135A1

    公开(公告)日:2006-07-06

    申请号:US11290806

    申请日:2005-12-01

    IPC分类号: G06F17/50

    CPC分类号: G06F17/505

    摘要: Provided is an apparatus for generating circuit design information automatically clock gated, for the purpose of alleviating the burden of a designer in performing clock gating to a circuit. The apparatus having an obtaining unit operable to obtain functional structure information and execution sequence information from outside, the functional structure information defining a structure of a function and the execution sequence information defining an execution sequence of the function; a structure information generating unit operable to generate, according to the execution sequence information and the functional structure information, circuit structure information in register transfer level which defines a plurality of circuits that execute the function according to the execution sequence; a gated clock information generating unit operable to generate, according to the execution sequence information and the functional structure information, gated clock information in register transfer level which defines a clock control circuit that supplies, to each of at least one of the circuits, a gated clock that is set to halt clock input when the clock input is unnecessary; and an outputting unit operable to output the gated clock information together with the circuit structure information.

    摘要翻译: 提供了一种用于自动生成电路设计信息时钟门控的装置,用于减轻设计者对电路执行时钟门控的负担。 该装置具有可从外部获取功能结构信息和执行序列信息的获取单元,定义功能结构的功能结构信息和定义功能的执行顺序的执行顺序信息; 结构信息生成单元,用于根据执行顺序信息和功能结构信息生成根据执行顺序定义执行功能的多个电路的寄存器传送等级的电路结构信息; 门控时钟信息生成单元,其可操作以根据执行顺序信息和功能结构信息生成寄存器传送级别中的门控时钟信息,其定义时钟控制电路,该时钟控制电路向至少一个电路中的每一个提供门控 当不需要时钟输入时,设置为暂停时钟输入的时钟; 以及输出单元,用于将门控时钟信息与电路结构信息一起输出。

    Compiler apparatus
    7.
    再颁专利
    Compiler apparatus 有权
    编译器

    公开(公告)号:USRE45199E1

    公开(公告)日:2014-10-14

    申请号:US13616573

    申请日:2012-09-14

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4452 G06F8/433

    摘要: A compiler apparatus, which can perform software pipelining optimization that has a considerable effect of reducing the number of execution cycles taken to complete a loop process, converts a source program into a machine program for a processor which is capable of parallel processing. The compiler apparatus is composed of: a parsing unit operable to parse the source program and then to convert the source program into an intermediate program which is described in an intermediate language; an optimization unit operable to optimize the intermediate program; and a conversion unit operable to convert the optimized intermediate program into the machine language program, wherein the optimization unit is operable to execute software pipelining, by inserting a transfer instruction, which is used for transferring data between operands, into a loop process included in the intermediate program so that a data dependence relation is changed.

    摘要翻译: 可以执行软件流水线优化的编译器装置,其具有减少完成循环处理所执行的执行周期的数量的显着效果,将源程序转换为能够并行处理的处理器的机器程序。 编译装置由以下部分组成:解析单元,用于解析源程序,然后将源程序转换成以中间语言描述的中间程序; 可优化所述中间程序的优化单元; 以及转换单元,其可操作以将优化的中间程序转换成机器语言程序,其中所述优化单元可操作以通过将用于在操作数之间传送数据的传送指令插入到包括在所述机器语言程序中的循环处理中来执行软件流水线 中间程序,使数据依赖关系发生变化。

    Compiler apparatus
    8.
    发明授权
    Compiler apparatus 有权
    编译器

    公开(公告)号:US07856629B2

    公开(公告)日:2010-12-21

    申请号:US11420059

    申请日:2006-05-24

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4452 G06F8/433

    摘要: A compiler apparatus, which can perform software pipelining optimization that has a considerable effect of reducing the number of execution cycles taken to complete a loop process, converts a source program into a machine program for a processor which is capable of parallel processing. The compiler apparatus is composed of: a parsing unit operable to parse the source program and then to convert the source program into an intermediate program which is described in an intermediate language; an optimization unit operable to optimize the intermediate program; and a conversion unit operable to convert the optimized intermediate program into the machine language program, wherein the optimization unit is operable to execute software pipelining, by inserting a transfer instruction, which is used for transferring data between operands, into a loop process included in the intermediate program so that a data dependence relation is changed.

    摘要翻译: 可以执行软件流水线优化的编译器装置,其具有减少完成循环处理所执行的执行周期的数量的显着效果,将源程序转换为能够并行处理的处理器的机器程序。 编译装置由以下部分组成:解析单元,用于解析源程序,然后将源程序转换成以中间语言描述的中间程序; 可优化所述中间程序的优化单元; 以及转换单元,其可操作以将优化的中间程序转换成机器语言程序,其中所述优化单元可操作以通过将用于在操作数之间传送数据的传送指令插入到包括在所述机器语言程序中的循环处理中来执行软件流水线 中间程序,使数据依赖关系发生变化。

    Data processing apparatus and compiler apparatus
    9.
    发明申请
    Data processing apparatus and compiler apparatus 审中-公开
    数据处理装置和编译装置

    公开(公告)号:US20050144420A1

    公开(公告)日:2005-06-30

    申请号:US10995148

    申请日:2004-11-24

    摘要: The data processing apparatus capable of efficiently using a cache memory includes: a cache memory 28 and a memory 30 that stores an instruction or data in each area specified by a physical address; an arithmetic processing unit 22 that outputs a logical address including the physical address and process determining data indicating a prescribed process, obtains the instruction or the data corresponding to the physical address included in the logical address, and execute the instruction; an address conversion unit 26 that converts the logical address outputted by the arithmetic processing unit 22 into the physical address. The data processing apparatus reads the instruction or the data stored in areas specified by the physical address, in the cache memory 28 and the memory 30, and executes a prescribed process based on the process determining data.

    摘要翻译: 能够有效地使用高速缓冲存储器的数据处理装置包括:高速缓存存储器28和存储由物理地址指定的每个区域中的指令或数据的存储器30; 输出包括表示规定处理的物理地址和处理确定数据的逻辑地址的算术处理单元22,获得与包含在逻辑地址中的物理地址相对应的指令或数据,并执行指令; 地址转换单元26,其将由运算处理单元22输出的逻辑地址转换成物理地址。 数据处理装置读取存储在高速缓冲存储器28和存储器30中由物理地址指定的区域中的指令或数据,并根据处理确定数据执行规定的处理。

    Compiler apparatus and linker apparatus
    10.
    发明授权
    Compiler apparatus and linker apparatus 有权
    编译器装置和连接器装置

    公开(公告)号:US07689976B2

    公开(公告)日:2010-03-30

    申请号:US10950397

    申请日:2004-09-28

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/4442

    摘要: A compiler capable of increasing the hit rate of the cache memory is provided that targets a computer having a cache memory, and that converts a source program into an object program. The compiler causes a computer to analyze group information that is used for grouping data objects included in the source program, and places the data objects into groups based on a result of the analysis. The compiler also causes the computer to generate an object program based on a result of the grouping, where the object program does not allow data objects belonging to different groups to be laid out in any blocks with the same set number on the cache memory.

    摘要翻译: 提供了能够提高高速缓冲存储器的命中率的编译器,其目标是具有高速缓冲存储器的计算机,并且将源程序转换为对象程序。 编译器使计算机分析用于对源程序中包含的数据对象进行分组的组信息,并根据分析结果将数据对象放入组中。 编译器还使得计算机基于分组的结果生成对象程序,其中对象程序不允许属于不同组的数据对象被布置在高速缓冲存储器上具有相同设定编号的任何块中。