Intel i960xx Family of Processors
ICC Ada in embedded avionics applications: Where performance and
reliability are put to the ultimate test
Irvine Compiler Corporation (ICC) has played a major role in accelerating the acceptance of Ada in avionics applications where reliability, speed and compactness of code are most critical. McDonnell-Douglas used ICC Ada to compile the first Ada code to fly -- on the F-15 primary flight control system in 1984.
Building from a foundation of solid tools and techniques
ICC Ada/i960MC is a mature and proven product. Initially delivered in 1987, it was the first validated i960 compiler. ICC'S Ada/i960MC has been selected for several leading-edge applications. In each case, ICC has worked closely with its customers to provide the features and optimizations necessary to ensure project success. This commitment to customer satisfaction, combined with ICC's focus on avionics applications, has made ICC a leading supplier of Ada compilers for the i960 processor.
For development before target hardware is available: ICC's instruction-level simulator
Many projects get off to a difficult start because code cannot be developed, tested and integrated without prototype hardware. ICC's i960 simulator allows the user to code, debug and evaluate application programs before hardware is available. The simulator can be used in conjunction with the symbolic debugger and execution profiler (useful for locating application ''hot spots'' that require attention) and remains useful as a testing tool even after hardware is developed.
Assuring efficiency with ICC's optimization features
ICC's Ada/i960 compiler implements a wide range of Ada-oriented, classical and i960-specific optimizations. Both time and space optimizations are supported. The ICC Ada front-end and optimizer perform constant expression folding and propagation, static elaboration (including tasks), redundant check elimination, local variable lifetiming and registerization, value following, dead code elimination, subprogram inlining (both automatic and user- directed), common subexpression reduction and many other optimizations.
The i960 code generator maximizes execution performance by fully utilizing the i960 instruction set. In addition to optimized instruction selection based on the optimization mode and the specific i960 target type, it also contains both an instruction peepholer and code-scheduler to ensure high throughput. Optimizations specific to the i960 include optimized instruction and address mode selection, use of local and global registers with lifetiming and value following, subroutine frame registerization and elimination, i960 process-based tasking, parameter passing by registers and others.
Features and Options
We also offer special enhancements for the i960MX target processor.
Copyright © 2004 Irvine Compiler Corporation. All Rights Reserved.
Last modified 5/18/04. Comments to firstname.lastname@example.org