San Jose, CA. Embedded Systems Conference. November 3, 1998 -- Green Hills Software today announced a new optimizing profiler for its C, C++ and EC++ compilers that enables developers to achieve significant reductions in code size with minimal impact on performance. Known as CodeBalance, the new optimizer targets 32-bit CPUs equipped with 16-bit instruction set extensions, using a mix of 32- and 16-bit instructions to reduce code size while maximizing execution speed. Green Hills will initially offer CodeBalance for the ARM7/TDMI and MIPS16 processors, both of which provide 16-bit extensions.
"In the benchmarks we've done with CodeBalance," said Green Hills vice president of marketing John Carbone," applications compiled using a mixture of 32-bit and 16-bit instructions typically realize up to a 65% reduction in code size relative to straight 32-bit implementations. Equally important, the code size reduction is achieved with little degradation in execution speed.
This reduction in code size can result in significant memory savings, which is critical to designers working on embedded projects with tight cost constraints."
CodeBalance works hand in hand with Green Hills' MULTI Integrated Development Environment and C/C++/EC++ optimizing compiler. Leveraging MULTI's advanced profiling capabilities and the compiler's ability to generate 16- or 32-bit code on a function by function basis, CodeBalance automatically constructs optimized 16-/32-bit programs based on directives supplied by the programmer.
With CodeBalance, programmers can optimize large programs containing hundreds of functions for small size, high speed, or any combination. For example, programmers can direct CodeBalance to optimize for the fastest possible performance given a particular code size reduction goal. Similarly, programmers can direct CodeBalance to optimize for the smallest possible code size given a particular minimum 32-bit performance level. The CodeBalance optimizer uses a mix of 16- and 32-bit instructions to achieve the desired results. Generally, 16-bit instructions are used to achieve the smallest code size. 32-bit instructions are used to achieve the highest performance.
CodeBalance uses the following sequence to determine the optimal mix of 16- and 32-bit instructions.
- CodeBalance compiles the application in 32-bit mode. This produces the highest possible performance without regard for code size.
- CodeBalance profiles the application, finding out how long each function executes as a percentage of overall execution time.
- CodeBalance recompiles those functions that take up the smallest amount of execution time into 16-bit mode, reducing their code size.
- CodeBalance continues recompiling until it reaches the user-specified limit of code size reduction or execution time percentage.
CodeBalance re-profiles the application and shows the user the results. For example, "By reducing code size 37%, execution time increased by 4%."
CodeBalance is available immediately for the ARM7/TDMI and MIPS16 cores. CodeBalance is bundled with the MULTI Development Environment, which includes a C/C++/EC++ compiler, assembler, linker, and instruction set simulator.
More on Green Hills
Incorporated in 1982, Green Hills Software, Inc., is a leading supplier of software development tools for 32- and 64-bit embedded systems. Green Hills offers a family of optimizing Ada, C, C++, FORTRAN and Pascal compilers. The company also offers a software development environment known as MULTI that automates the compile-edit-build-debug cycle by integrating advanced facilities such as an RTOS-aware source-level debugger, profiler, program builder and source code control system.
Green Hills' tools support all major advanced microprocessor families and target environments, including instruction set simulators, ROM Monitors, commercial and home grown real-time operating systems (RTOS) and in-circuit emulators (ICE).
Green Hills Software is headquartered in Santa Barbara, CA., and has US offices in California, Colorado, Illinois, Massachusetts, North Carolina, Pennsylvania, Texas, and Florida. International headquarters are located in the United Kingdom, with offices in France, Germany, and The Netherlands. For sales information on Green Hills Software's products, please call 1-800-500-2580 or email inquiries to sales@ghs.com.
ARM, Thumb, StrongARM and ARM Powered are registered trademarks of ARM Limited. All other brands or product names are the property of their respective holders.
"ARM" is used to represent ARM Holdings plc (LSE: ARM and NASDAQ: ARMHY); its operating company ARM Limited; and the regional subsidiaries ARM, INC.; ARM KK; ARM Korea Ltd.
For sales information on Green Hills Software's products, please call 1-800-500-2580, or contact sales@ghs.com.
|