Compiler Consulting
Compiler is a tool automatic conversion to machine language instruction string from the so-called high-level language, that allows you to maintain a high readability of the program, maintainability, and portability, you can significantly reduce the burden of software developers.
TOPS Systems company provides the technology consulting service about a compiler based on the compiler development experience for general-purpose processor, DSP, and application specialization type processors.
1. What do you find to a compiler?
To a compiler, two next functions are expected mainly.
■Conversion
Without sacrificing the performance, allows the programmer to use the language of the higher level.
■Optimization
Application supports so that the architecture of the computer to be used can fully be utilized.
2.Type of optimization
There are mainly the following three kinds of purposes in optimization.
■Optimized to reduce the execution time
■Optimized to reduce the storage capacity
■Optimized to reduce the power consumption
3.To reduce the execution time
For example, in HPC, optimization of a part of program can also acquire a big effect.
To reduce the execution time, there are approaches such as the following optimization.
-
Reduce the number of instruction execution
-
Use the instruction faster(A small number of clocks required for execution) .
-
Increase the degree of parallelism
4.To reduce the storage capacity
In an embedded system, since memory capacity is restricted, you would like to make a storage capacity as small as possible.
In such a case, the optimization to the whole program is needed.
For example, there is approach of adopting an interpretive method etc.
5.To reduce the power consumption
For example, in battery-powered equipment such as mobile phones, there is a demand to reduce power consumption as much as possible.
In such a case, there are approaches such as the following optimization.
-
Reduce unnecessary power consumption during idle processor and components(Inserting a machine language instruction to stop them)
-
Reduce access to the cache memory
-
Reduce access to the system bus and external memory
-
Reduce the pipeline stalls and speculative execution of operations
-
Reduce the number of steps in the program
6.Compiler optimization according to the architecture
Ways of optimizing compiler is highly dependent on the processor to use.
For example, you will need to be optimized as follows.
■It vectorizes to a vector computer
■It parallelizes in a parallel computer
■In a superscalar type processor, it is parallelization of a command level
■Parallelization of the more powerful command level to a VLIW type processor
■Cash, a share, the optimization of memory access efficiency according to each of the distributed memory
■In a stream type processor, it is streaming-ization
7.The technology consulting & development track record about a compiler
■Technology consulting for the DSP compiler development
■Compiler for 32-bit general-purpose RISC processor
■Compiler for the SIMD type processor for 64-bit media processing
■Compiler for stream type processor
For more information about the compiler technology consulting, please contact our sales office for up to(sales@topscom.co.jp)
|