Presentation on theme: "Original Development Team The Compiler and Architecture Research Group (formerly part of Hewlett-Packard Laboratories) Illinois Microarchitecture Project."— Presentation transcript:
Original Development Team The Compiler and Architecture Research Group (formerly part of Hewlett-Packard Laboratories) Illinois Microarchitecture Project utilizing Advanced Compiler Technology (University of Illinois) ReaCT-ILP Laboratory, New York University (now the Center for Research on Embedded Systems and Technology at the Georgia Institute of Technology) Compilers Creating Custom Processors (CCCP) Research Group (University of Michigan) Commit Group (MIT) Prof. Nathan Clark ( Georgia Institute of Technology ) Rodric Rabbah (IBM Research) Current Development Team
Supported Architectures VLIW (Very Long Instruction Word) EPIC (Explicitly Parallel Instruction Computing) Superscalar Supported Language: C
Compilation Steps Trimaran is comprised of three components: The OpenIMPACT compiler. The Elcor compiler. The Simu simulator. OpenIMPACT compiles the original source code into an assembly intermediate representation (IR) called Lcode. The Lcode produced is optimized for ILP, but not for a specific machine. This code is then passed to the Elcor compiler, along with a machine description (MDES) that specifies the target machine. Elcor compiles the code for the target machine, producing another IR called rebel. Simu consumes the rebel code, executes the code, and gathers execution statistics.
Intermediate Representations C Code Front end (IMPACT) L Code P CodeL Code Back end (Elcor) Elcor IRRebel MDES Rebel
Uses and Strengths Geared toward compiler and architecture research. Used for designing, implementing, and testing new optimizations, as well as the evaluation of various architectural innovations. Widely used for teaching and education purposes at several universities worldwide. Highly parameterizable. Can target a wide range of architectures that embody embedded processors, high-end VLIW processors, and multi-clustered architectures. Facilitates the exploration of the architecture design space. Well suited for the automatic synthesis of programmable application specific architectures. Allows for customization of all aspects of an architecture, including the datapath, control path, instruction set, interconnect, and instruction/data memory subsystems. Easy construction and insertion of new compilation modules into the compiler. Trimaran Graphical User Interface (GUI) makes the configuration and use of the system easy.
Benchmark Programs Available at SPECINT 2K SPECINT 95 SPECINT 92 Mediabench Olden MiBench NetBench Encryption
Limitations Centered around HPL-PD so it supports limited architectures. Not really a limitation as it was developed for exploring these architectures. Planned Enhancements Solaris Port Linux port Add measurements for cache performance.