Patents by Inventor Guy L. Steele
Guy L. Steele has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20040049763Abstract: One embodiment of the present invention provides a system that facilitates importing static members of a class. During operation, the system examines code associated with a compilation unit to locate a static import declaration that identifies one or more static members of the class to import. Upon finding such a static import declaration, the system records the static import declaration in a symbol table used to compile the compilation unit. This allows the names for the one or more static members of the class to appear within the compilation unit without being prefixed with a name for the class.Type: ApplicationFiled: September 9, 2002Publication date: March 11, 2004Inventors: Joshua J. Bloch, Guy L. Steele
-
Patent number: 6631421Abstract: Methods and systems consistent with the present invention provide a family of networks ranging from 2 nodes to 16 nodes that can be partitioned in an unconstrained manner. That is, where the number of nodes in one of these networks is N, subnetwork can contain any number of nodes from 1 to N−1 as long as the total number of nodes in both subnetworks equals N. Furthermore, each subnetwork can be partitioned repeatedly until reaching the atomic level (i.e., when the subnetwork contains a single node). In accordance with methods and systems consistent with the present invention, when a network is partitioned, each subnetwork has various desirable properties. For example, the maximum path length between any two nodes in each subnetwork nodes is 3, and each to subnetwork has a set of deadlock-free routings.Type: GrantFiled: June 2, 1999Date of Patent: October 7, 2003Assignee: Sun Microsystems, Inc.Inventors: Guy L. Steele, Jr., Steven K. Heller, Daniel Cassiday, Jon Wade
-
Patent number: 6629239Abstract: A system is described for rearranging an input data word in relation to a mask word, the data word comprising a plurality of input data units in a series of input data unit positions, each associated with a respective one of a plurality of bits of the mask word in a series of mask bit positions, each mask bit having one of a plurality of conditions, to provide an output data word comprising a plurality of output data units in a series of output data unit positions. The system comprises a control module and a shift module. The control module is configured to identify, for each output data unit position, the number of bits in bit positions in the mask word to one end of that bit position which have one of the conditions, and the number of bits in bit positions to another end of the mask word have another of the conditions.Type: GrantFiled: April 7, 2000Date of Patent: September 30, 2003Assignee: Sun Microsystems, Inc.Inventor: Guy L. Steele, Jr.
-
System and method for performing generalized operations in connection with bits units of a data word
Patent number: 6622242Abstract: A functional unit is described for selectively performing a number of types of bit rearrangement operations, including a generalized bit reverse operation and a generalized shuffle/unshuffle operation, and in addition left and right unsigned shift operations and an arithmetic shift right operation. The functional unit includes a shifter array and a control signal generator. The shifter array includes a plurality of selector circuits arrayed in a number of stages for shifting bits of an input data word in accordance with control signals, the output of the last stage corresponding to a rearranged output data word. The control signal generator generates control signals in response to rearrangement operation type and pattern information.Type: GrantFiled: April 7, 2000Date of Patent: September 16, 2003Assignee: Sun Microsystems, Inc.Inventor: Guy L. Steele, Jr. -
Publication number: 20030172180Abstract: A system and method for adding routing information for a node to a routing table, which efficiently makes necessary changes to the routing table to support routing to and from the node, while maintaining the deadlock-free quality of the paths described by the routing table. The routing table is generated by storing routing information in the routing table that reflects and describes a deadlock-free set of paths through a network of nodes. A row of entries is added to the routing table describing how to forward data units from the node. A column of entries is added to the routing table describing how to forward data units addressed to the node. The forwarding information within each entry added to the routing table maintains the deadlock-free quality of the set of paths represented by the forwarding table.Type: ApplicationFiled: October 19, 2001Publication date: September 11, 2003Applicant: Sun Microsystems, Inc.Inventors: John V. Reynders, Radia J. Perlman, Guy L. Steele, Dah Ming Chiu, Miriam C. Kadansky, Murat Yuksel
-
Patent number: 6618804Abstract: A system is disclosed for rearranging data units of a data word in accordance with a mask word, the mask word having a plurality of mask bits each associated with a data unit, each mask bit having one of a set condition and a clear condition. The system includes an array of interconnected swap modules organized in a series of swap stages, each swap module having two inputs and two outputs. Each swap module is configured to receive at each input a data unit and associated mask bits and couple the data units to the respective outputs in relation to the associated mask bit's condition.Type: GrantFiled: April 7, 2000Date of Patent: September 9, 2003Assignee: Sun Microsystems, Inc.Inventors: Guy L. Steele, Jr., Peter Lawrence
-
Patent number: 6603742Abstract: In accordance with methods and systems consistent with the present invention, an improved technique for reconfiguring networks is provided. By using this technique, a network administrator can reconfigure their network while it remains operational. As a result, users can continue to utilize the network during reconfiguration. Additionally, in accordance with methods and systems consistent with the present invention, a number of network topologies are provided that are designed to facilitate reconfiguration. When using one of these topologies, the network can be reconfigured with a minimal amount of recabling, thus reducing the amount of time required for reconfiguration.Type: GrantFiled: June 2, 1999Date of Patent: August 5, 2003Assignee: Sun Microsystems, Inc.Inventors: Guy L. Steele, Jr., Steven K. Heller, Daniel Cassiday, Jon Wade
-
Publication number: 20030126173Abstract: A floating point total order comparator circuit for comparing a first floating point operand and a second floating point operand includes a first analysis circuit for determining a format of the first floating point operand based upon floating point status information encoded within the first floating point operand, a second analysis circuit for determining a format of the second floating point operand based upon floating point status information encoded within the second floating point operand, and a result generator circuit coupled to the analysis circuits for producing a result indicating a total order comparative relationship between the first floating point operand and the second floating point operand based on the format of the first floating point operand and the format of the second floating point operand. The result can condition the outcome of a floating point instruction.Type: ApplicationFiled: December 28, 2001Publication date: July 3, 2003Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele
-
Patent number: 6584073Abstract: In accordance with methods and systems consistent with the present invention, a number of improved network topologies are provided that have been selected to improve network performance based on various performance characteristics. The topologies are also selected to facilitate network reconfiguration, including adding nodes and removing, nodes. As a result, the network topologies in accordance with methods and systems consistent with the present invention do not follow a rigid, predefined pattern; rather, these topologies have been selected for network performance purposes as well as reconfiguration purposes.Type: GrantFiled: June 2, 1999Date of Patent: June 24, 2003Assignee: Sun Microsystems, Inc.Inventors: Guy L. Steele, Jr., Steven K. Heller, Jon Wade
-
Patent number: 6567856Abstract: In accordance with methods and systems consistent with the present invention, an improved deadlock-free routing system is provided to a family of network topologies where both the configuration of the networks and the routings are designed to optimize performance. In this system, each network utilizes static routing tables that perform deadlock-free routing in an optimized manner to reduce the amount of communication overhead when routing traffic. Specifically, the routings in accordance with methods and systems consistent with the present invention require no more than two hops for networks up to a size of 16 nodes. As a result, the deadlock-free routing provided in accordance with methods and systems consistent with the present invention incurs less communications overhead than some conventional systems while still avoiding deadlock.Type: GrantFiled: June 2, 1999Date of Patent: May 20, 2003Assignee: Sun Microsystems, Inc.Inventors: Guy L. Steele, Jr., Steven K. Heller, Daniel Cassiday
-
Publication number: 20030043756Abstract: A system and method for calculating a deadlock-free set of paths in a network which generates an ordered set of deadlock-free sub-topologies, referred to as “layers.”The ordered set of layers is used to determine a deadlock-free set of paths through the network. The resulting paths allow data to be efficiently routed through the network without causing traffic to be disproportionately routed through any subset of links. Each of the deadlock-free layers may be any type of deadlock-free sub-topology. The generated ordering may be any arbitrary ordering of the layers. A shortest-path route calculation is performed with the following constraint: starting at any given layer, for each node, proceed to calculate a shortest path to every other node in the graph where at any node being utilized to assess a given minimum path, the path may move to any higher-ordered layer, but may never return to a lower ordered layer. In this way, within each layer, a path moves through a tree and thus avoids deadlock.Type: ApplicationFiled: August 20, 2001Publication date: March 6, 2003Applicant: Sun Microsystems, Inc.Inventors: John V. Reynders, Radia J. Perlman, Guy L. Steele
-
Publication number: 20030041081Abstract: An extended exponent floating point unit performs an extended exponent floating point operation on a plurality of operands to produce a product of the plurality of operands. The extended exponent floating point unit groups the plurality of operands into at least one group, determines a plurality of scale factors for the plurality of operands, respectively, and provides a running sum of the plurality of scale factors. The extended exponent floating point unit further scales the plurality of operands to obtain a plurality of scaled operands, multiplies the plurality of scaled operands to obtain a group product, and scales the group product to obtain a scaled group product. The scaled group product is adjusted based on the running sum. The plurality of operands are grouped such that when all the plurality of scaled operands in the at least one group are multiplied an overflow or underflow will not occur.Type: ApplicationFiled: December 28, 2001Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele,
-
Publication number: 20030014454Abstract: A system for providing a floating point square root comprises an analyzer circuit configured to determine a first status of a first floating point operand based upon data within the first floating point operand. In addition, the system comprises a results circuit coupled to the analyzer circuit. The results circuit is configured to assert a resulting floating point operand containing the square root of the first floating point operand and a resulting status embedded within the resulting floating point operand.Type: ApplicationFiled: December 28, 2001Publication date: January 16, 2003Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele
-
Publication number: 20030014455Abstract: A system for providing a floating point product comprises an analyzer circuit configured to determine a first status of a first floating point operand and a second status of a second floating point operand based upon data within the first floating point operand and data within the second floating point operand respectively. In addition, the system comprises a results circuit coupled to the analyzer circuit. The results circuit is configured to assert a resulting floating point operand containing the product of the first floating point operand and the second floating point operand. Additionally, the results circuit provides a resulting status embedded within the resulting floating point operand.Type: ApplicationFiled: December 28, 2001Publication date: January 16, 2003Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele
-
Publication number: 20030009500Abstract: A system for providing a floating point remainder comprises an analyzer circuit configured to determine a first status of a first floating point operand and a second status of a second floating point operand based upon data within the first floating point operand and the second floating point operand, respectively. In addition, the system comprises a results circuit coupled to the analyzer circuit. The results circuit is configured to assert a resulting floating point operand containing the remainder of the first floating point operand and the second floating point operand and a resulting status embedded within the resulting floating point operand.Type: ApplicationFiled: December 28, 2001Publication date: January 9, 2003Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele
-
Publication number: 20030005014Abstract: A system for providing a floating point division comprises an analyzer circuit configured to determine a first status of a first floating point operand and a second status of a second floating point operand based upon data within the first floating point operand and data within the second floating point operand respectively. In addition, the system comprises a results circuit coupled to the analyzer circuit. The results circuit is configured to assert a resulting floating point operand containing the result of the division of the first floating point operand by the second floating point operand. Additionally, the results circuit provides resulting status embedded within the resulting floating point operand.Type: ApplicationFiled: December 28, 2001Publication date: January 2, 2003Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele
-
Publication number: 20030005012Abstract: A floating point flag forcing circuit comprising an circuit and a result assembler. The circuit receives a plurality of floating point operands, analyzes the floating point operand, receives one or more control input signals, determines one or more predetermined formats in which the plurality of operands are represented, and generates one or more control signals. The result assembler receives the control signals from the circuit, along with one or more inputs, and assembles a result.Type: ApplicationFiled: December 28, 2001Publication date: January 2, 2003Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele
-
Publication number: 20030005013Abstract: A floating point unit generates results in which status information generated for an operation is encoded within the resulting operand, instead of requiring a separate floating point status register for the status information. In one embodiment, a floating point operand data structure comprises a first portion having floating point operand data and a second portion having embedded status information associated with at least one status condition of the operand data. The status condition may be determined from only the embedded status information. The status condition may also be associated with at least one floating point operation that generated the operand data structure. The outcome of a conditional floating point instruction may be based on the embedded status information without regard to contents of the floating point status register.Type: ApplicationFiled: December 28, 2001Publication date: January 2, 2003Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele
-
Publication number: 20020198918Abstract: A method and system perform a rounding step of a floating point computation on at least one floating point operand to preserve an inexact status. Inexact status information generated from the rounding step may be encoded within the result, instead of requiring a separate floating point status register for the inexact status information. In one embodiment, inexact status information is preserved by determining whether the at least one operand is inexact. Further, an intermediate result of the floating point computation is analyzed to determine whether it is inexact. Finally, the intermediate result is rounded based on whether the at least one operand is inexact and whether the intermediate result is inexact to preserve an inexact status of the at least one operand and the intermediate result.Type: ApplicationFiled: December 28, 2001Publication date: December 26, 2002Inventor: Guy L. Steele
-
Publication number: 20020198917Abstract: A system for providing a floating point sum comprises an analyzer circuit configured to determine a first status of a first floating point operand and a second status of a second floating point operand based upon data within the first floating point operand and data with the second floating point operand respectively. In addition, the system comprises a results circuit coupled to the analyzer circuit. The results circuit is configured to assert a resulting floating point operand containing the sum of the first floating point operand and the second floating point operand and a resulting status embedded within the resulting floating point operand.Type: ApplicationFiled: December 28, 2001Publication date: December 26, 2002Applicant: Sun Microsystems, Inc.Inventor: Guy L. Steele