Generation of instruction set from architecture description
AssigneeSynopsys, Inc.
InventorsVolker Greive, Achim Nohl
Life of this patent
Estimating the term…
Abstract
Generating an instruction set for an architecture. A hierarchical description of an architecture is accessed. Groups in the hierarchical description that can be pre-encoded without increasing final width of said instruction set are pre-encoded. The hierarchical description is permutated into a plurality of variations. Each variation comprises a leaf-group and one or more sub-graphs to be encoded. For each said variation, the leaf-group and the one or more sub-graphs are encoded to produce a potential instruction set for each variation. One of the potential instruction sets is selected.
Claims20
A computer implemented method of generating an instruction set for an architecture, comprising:
- accessing a hierarchical description of an architecture of node groups, wherein each node in a node group is associated with at least one operation;
- selecting a leaf node group within the architecture of node groups;
- resolving path-split ambiguities for a node associated with a plurality of parent nodes associated with a path split from a path within the architecture from the node to the selected leaf node group into a plurality of paths each associated with a different parent node of the plurality of parent nodes by assigning a unique encoding for each operation associated with a parent node of the plurality of parent nodes above the path split within the architecture based on a sum of encoding widths associated with operations above the parent node within the architecture of node groups, each encoded operation associated with an encoding width;
- propagating the encoding widths associated with the encoded operations to the selected leaf node group;
- and
- generating an instruction set associated with the leaf node group for each unique path from a root node group to the leaf node group, each instruction set based on the propagated encoding widths associated with a unique path.
A computer system comprising a processor and a computer readable memory coupled to the processor via a bus, wherein the computer readable memory comprises instructions that are executed by the processor to perform steps for generating an instruction set for an architecture, the steps comprising:
- accessing a hierarchical description of an architecture of node groups, wherein each node in a node group is associated with at least one operation;
- selecting a leaf node group within the architecture of node groups;
- resolving path-split ambiguities for a node associated with a plurality of parent nodes associated with a path split from a path within the architecture from the node to the selected leaf node group into a plurality of paths each associated with a different parent node of the plurality of parent nodes by assigning a unique encoding for each operation associated with a parent node of the plurality of parent nodes above the path split within the architecture based on a sum of encoding widths associated with operations above the parent node within the architecture of node groups, each encoded operation associated with an encoding width;
- propagating the encoding widths associated with the encoded operations to the selected leaf node group;
- and
- generating an instruction set associated with the leaf node group for each unique path from a root node group to the leaf node group, each instruction set based on the propagated encoding widths associated with a unique path.
A computer system comprising a processor and a computer readable memory coupled to the processor via a bus, wherein the computer readable memory comprises instructions that are executed by the processor to perform steps for generating an instruction set for an architecture, the steps comprising:
- accessing a hierarchical description of an architecture of node groups, wherein each node in a node group is associated with at least one operation;
- for a leaf node group within the architecture of node groups, resolving path-split ambiguities for a node associated with a plurality of parent nodes associated with a path split from a path within the architecture from a root node group to the leaf node group into a plurality of paths each associated with a different parent node of the plurality of parent nodes by assigning a unique encoding for each operation associated with a parent node of the plurality of parent nodes above the path split within the architecture based on a sum of encoding widths associated with operations above the parent node within the architecture of node groups, each encoded operation associated with an encoding width;
- propagating the encoding widths associated with the encoded operations to the selected leaf node group;
- generating an instruction set associated with the leaf node group for each unique path from the root node group to the leaf node group, each instruction set based on propagated encoding widths associated with a unique path;
- and
- selecting an instruction set from among the generated instruction sets for use for the architecture.
A computer implemented method of generating an instruction set for an architecture, comprising:
- accessing a hierarchical description of an architecture of node groups, wherein each node in a node group is associated with at least one operation;
- for a leaf node group within the architecture of node groups, resolving path-split ambiguities for a node associated with a plurality of parent nodes associated with a path split from a path within the architecture from a root node group to the leaf node group into a plurality of paths each associated with a different parent node of the plurality of parent nodes by assigning a unique encoding for each operation associated with a parent node of the plurality of parent nodes above the path split within the architecture based on a sum of encoding widths associated with operations above the parent node within the architecture of node groups, each encoded operation associated with an encoding width;
- propagating the encoding widths associated with the encoded operations to the selected leaf node group;
- generating an instruction set associated with the leaf node group for each unique path from the root node group to the leaf node group, each instruction set based on propagated encoding widths associated with a unique path;
- and
- selecting an instruction set from among the generated instruction sets for use for the architecture.
Dependencies are inferred from the claim text.