Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1999-08-20
2003-09-30
Chaki, Kakali (Department: 2124)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S147000, C703S020000
Reexamination Certificate
active
06629312
ABSTRACT:
TECHNICAL FIELD
The invention pertains to the programmatic extraction of a processor machine description for use in retargeting a compiler.
BACKGROUND
Explicitly Parallel Instruction Computing (EPIC) processors are a class of processors in which instruction level parallelism (ILP) is explicitly encoded in the processor's instructions. One form of EPIC processor is a very long instruction word (VLIW) processor. Throughout this document, references to a VLIW processor are intended to broadly encompass EPIC processors.
EPIC processors exploit instruction-level parallelism (ILP) by issuing several operations per instruction to multiple functional units. In creating an EPIC processor, the processor designer creates a structural description of the processor's datapath and control path. The datapath includes the functional units for executing operations, registers for storing the inputs and outputs of the operations, and the interconnect circuitry (buses, tri-states, multiplexors, etc.) for transferring data between the functional units and register files. The control path provides control signals to the control ports in the datapath based on a program, which is either read from memory or hardwired into the control logic.
In designing an EPIC processor, a number of cost/performance trade-offs need to be made. Each of these trade-offs can have a substantial impact on the overall system cost and performance. Unfortunately, designing a VLIW processor today is a fairly cumbersome manual process which must carefully weigh cost and performance tradeoffs in the light of resource sharing and timing constraints of the given micro-architecture. Optimizations and customizations of the processor, if any, with respect to a set of applications or an application domain must also be determined and applied manually.
The design space of an EPIC processor is enormous and the cost of exploring various designs is so huge that most designers make only incremental modifications to an existing processor design. This approach has the disadvantage that it typically leads to a locally optimal design while ignoring superior designs that may be radically different or require a large amount of quantitative exploration.
Due to the limitations of the manual design process, automated design software provides the potential to explore a wider range of processor designs more effectively. One tool that is helpful in assessing the merits of a particular processor design is a re-targetable compiler. A re-targetable compiler is a type of compiler that can be readily targeted to a processor design by providing sufficient details about the machine to adapt the compiler to that machine. One principle advantage of a re-targetable compiler is that it allows the user to evaluate the merits of a particular machine design while the structural details of the machine are still in flux. This attribute is particularly useful in the design of an application Specific Instruction Set (ASIP) processor. In this context, the re-targeted compiler can generate operation issue statistics for an application program of interest running on a processor that is still being designed.
While in theory, a re-targetable compiler is a useful tool in evaluating a processor design, it is still a cumbersome process to provide the machine details necessary to re-target the compiler. Unless a compiler can be re-targeted efficiently, the advantages it provides may be outweighed by the inefficiencies associated with the re-targeting process.
SUMMARY OF THE INVENTION
The invention provides a method for automatic and programmatic extraction of a machine description suitable to re-target a compiler. One aspect of the invention is a method for extracting such a machine description programmatically from a structural description of an EPIC processor's datapath. This method is implemented as part of a system that automatically generates a structural description of a VLIW processor from an abstract Instruction Set Architecture (ISA) specification of the processor. Within this system, the method may be used to extract a machine description for re-targeting a compiler from the abstract ISA and from a structural representation of the datapath. In addition, it may use additional information about the processor, such as its instruction format or its structural control path design, to further refine the machine description.
The system implementation includes a module referred to as an MDES extractor that programmatically extracts a machine description in a format called MDES. The MDES extractor reads selected data from a machine-readable input specification, including a structural representation of a datapath, and identifies resource sharing constraints among operations in the processor's opcode repertoire during a structural traversal of the datapath. The MDES extractor constructs a specification of resource constraints in the form of reservation tables that indicate resources required by an opcode as a function of the number of clock cycles elapsed after issuing the opcode. The MDES extractor also gathers other information about the processor's operations including their input/output (I/O) storage resources where the operands of the operations reside. The resulting MDES provides information to re-target a compiler to the processor being designed.
REFERENCES:
patent: 5355491 (1994-10-01), Lawlor
patent: 5488714 (1996-01-01), Skidmore
patent: 5854929 (1998-12-01), Van Praet et al.
patent: 5918035 (1999-06-01), Van Praet
patent: 6226776 (2001-05-01), Panchul et al.
patent: 6292938 (2001-09-01), Sarkar et al.
patent: 6463582 (2002-10-01), Lethin et al.
Peter Grun et al., Expression: An ADL for System Level Design Expoloration, Sep. 1998 [retrieved on Apr. 25, 2002]. Retrieved from the Internet: <URL:http://citeseer.nj.nec.com/grun98expression.html>.*
Halambi et al., Expression: a language for architecture exploration through compiler/simula retargetability, Mar. 1999 [retrieved on Apr. 25, 2002]. Retrieved from the Internet: http://ieeexplore.ieee.org/iel4/6133/16399/00761170.pdf?is Number=16399&prod=CNF.*
Parcerisa et al., The Latency Hiding Effectiveness of Decoupled Access/Execute Processors, 1998, Universitat Poloitecnica de Catalunya, Barcelona, Spain.*
Rainer Leupers, Peter Marwedel, “Retargetable Generation of Code Selectors from HDL Processor Models,” IEEE, 1997, pp. 140-144.
George Hadjiyiannis, Silvina Hanono, Srinivas Devadas, “ISDL: An Instruction Set Description Language for Retargetability,” ACM, 1997, pp. 299-302.
Gyllenhaal et al., “HMDES Version 2.0 Specification,” Hewlett Packard Laboratories Technical Report IMPACT-96-3, (Published before Aug. 20, 1999).
Hadjiyiannis et al., “A Methodology for Accurate Performance Evaluation in Architecture Exploration.” (Published before Aug. 20, 1999).
Hoogerbrugge et al., “Automatic Synthesis of Transport Triggered Processors.” (Published before Aug. 20, 1999).
Corporaal et al., “MOVE: A Framework for High-Performance Processor Design,” ACM, 1991, pp. 692-701.
Corporaal et al., “Cosynthesis with the MOVE Framework.” (Published before Aug. 20, 1999).
Lanneer et al, “Chapter 5—Chess: Retargetable Code Generation for Embedded DSP Processors,” Code Generation for Embedded Processors, Kluwer Academic Publications, pp. 85-102. (Published before Aug. 20, 1999).
Fauth, “Chapter 8—Beyond Tool-Specific Machine Descriptions,” Code Generation for Embedded Processors, Kluwer Academic Publications, pp. 138-152. (Published before Aug. 20, 1999).
Shackleford et al., “Satsuki: An Integrated Processor Synthesis and Compiler Generation System,” IEICE Special Issue on Synthesis and Verification of Hardware Design, 10-96.
Chaitin, G.J., “Register Allocation & Spilling Via Graph Coloring,” ACM, 1982.
Aditya et al., “Elcor's Machine Description System: Version 3.0,” HPL-98-128, Oct. 1998, pp. 1-75.
Rau et al., “Machine-Description Driven Compilers for EPIC Processors,” HP Laboratories Technical Report, HPL-98-40, Sep. 1998, pp. 1-82.
Kathail et al., “HPL PlayDoh Arch
Chaki Kakali
Hewlett--Packard Development Company, L.P.
Ingberg Todd
LandOfFree
Programmatic synthesis of a machine description for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Programmatic synthesis of a machine description for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Programmatic synthesis of a machine description for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3033571