Patents Assigned to Sun Microsystems
-
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: 20030041320Abstract: Techniques for generation of Java macro instructions suitable for use in Java computing environments are disclosed. As such, the techniques can be implemented in a Java virtual machine to efficiently execute Java instructions. As will be appreciated, a Java macro instruction can be substituted for two or more Java Bytecode instructions. This, in turn, reduces the number of Java instructions that are executed by the interpreter. As a result, the performance of virtual machines, especially those operating with limited resources, is improved. A Java macro instruction can be generated for conventional Java instruction sequences or sequences of Java instruction that are provided in a reduced set of instruction. In any case, sequences that are frequently encountered can be replaced by a Java macro instruction. These sequences are typically encountered when Java objects are instantiated, during programming loops, and when a local variables are assigned a value.Type: ApplicationFiled: August 24, 2001Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Publication number: 20030038648Abstract: An apparatus and method are provided for sensing a physical stimulus, such as thermal energy and produce a signal that indicates a quantitative value of the physical stimulus along with a value that indicates the operability of the apparatus and a value that indicates a sense operation is in process. The apparatus and method minimize the number of input and output pins necessary for an apparatus to report a measurement response of a physical stimulus.Type: ApplicationFiled: August 22, 2001Publication date: February 27, 2003Applicant: SUN MICROSYSTEMS, INC.Inventors: Spencer M. Gold, Kenneth House, Claude R. Gauthier
-
Publication number: 20030041309Abstract: A method of designing an integrated circuit, by generating a first netlist for a first router design tool, abstracting the first netlist to mask selected old routes, and generating a second netlist for a second router design tool using new routing information which excludes the masked old routes. In an exemplary use, the first routing tool is an older tool, while the second routing tool is a newer tool that can provide a more compact database and more efficient routing. The first routing tool may use a format (e.g., ASCII) which is different from the format used by the second router design tool (e.g., binary). In such a case, the channel abstraction may involve extracting all channel routes from the first format, and converting the extracted channel routes into the second format. New routes can be established using the second router design tool based on the second netlist, while preserving other old routes.Type: ApplicationFiled: August 17, 2001Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventors: Sachin Chopra, Kong-Fai Wo
-
Publication number: 20030041321Abstract: Techniques for generation of Java macro instructions suitable for use in Java computing environments are disclosed. As such, the techniques can be implemented in a Java virtual machine to efficiently execute Java instructions. As will be appreciated, a Java macro instruction can be substituted for two or more Java Bytecode instructions. This, in turn, reduces the number of Java instructions that are executed by the interpreter. As a result, the performance of virtual machines, especially those operating with limited resources, is improved. A Java macro instruction can be generated for conventional Java instruction sequences or sequences of Java instruction that are provided in a reduced set of instruction. In any case, sequences that are frequently encountered can be replaced by a Java macro instruction. These sequences are typically encountered when Java objects are instantiated, during programming loops, and when a local variables are assigned a value.Type: ApplicationFiled: August 24, 2001Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventors: Stepan Sokolov, David Wallman
-
Publication number: 20030041317Abstract: Techniques for generation of Java macro instructions suitable for use in Java computing environments are disclosed. As such, the techniques can be implemented in a Java virtual machine to efficiently execute Java instructions. As will be appreciated, a Java macro instruction can be substituted for two or more Java Bytecode instructions. This, in turn, reduces the number of Java instructions that are executed by the interpreter. As a result, the performance of virtual machines, especially those operating with limited resources, is improved. A Java macro instruction can be generated for conventional Java instruction sequences or sequences of Java instruction that are provided in a reduced set of instruction. In any case, sequences that are frequently encountered can be replaced by a Java macro instruction. These sequences are typically encountered when Java objects are instantiated, during programming loops, and when a local variables are assigned a value.Type: ApplicationFiled: August 24, 2001Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Publication number: 20030041322Abstract: Techniques for generation of Java macro instructions suitable for use in Java computing environments are disclosed. As such, the techniques can be implemented in a Java virtual machine to efficiently execute Java instructions. As will be appreciated, a Java macro instruction can be substituted for two or more Java Bytecode instructions. This, in turn, reduces the number of Java instructions that are executed by the interpreter. As a result, the performance of virtual machines, especially those operating with limited resources, is improved. A Java macro instruction can be generated for conventional Java instruction sequences or sequences of Java instruction that are provided in a reduced set of instruction. In any case, sequences that are frequently encountered can be replaced by a Java macro instruction. These sequences are typically encountered when Java objects are instantiated, during programming loops, and when a local variables are assigned a value.Type: ApplicationFiled: August 24, 2001Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Publication number: 20030041181Abstract: Improved techniques for representation of Java string objects are disclosed. The techniques are especially useful for representing Java objects in Java computing environments and can thereby improve the performance of a virtual machine, especially those operating with relatively limited resources (e.g., embedded systems with relatively smaller memory and computing power). The techniques can be implemented to create Java string objects as arrays of one-byte characters when it is appropriate. To create Java string objects, an enhanced constructor can be provided in a Java library that is available to application programs (or programmers). In addition, enhanced Java methods can also be provided in the Java library. An array representation flag can optionally be allocated in the Java string object representation. The array representation flag can indicate whether the Java string object is allocated as an array of one-byte or an array of two-byte characters.Type: ApplicationFiled: August 24, 2001Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Publication number: 20030041319Abstract: Improved techniques for representing Java objects as strings are disclosed. An inventive Java Bytecode instruction suitable for execution by a Java virtual machine is disclosed. The inventive Java Bytecode instruction can be executed by a Java virtual machine to represent Java objects as strings. Moreover, Java objects can be represented as strings without invoking the Java “to_string” method which is conventionally used. This means that the costly overhead associated with repeatedly invoking Java method “to_string” is avoided. In other words, operations that are conventionally performed each time the Java “to_string” method is invoked need not be performed. As a result, the performance of virtual machines, especially those operating with limited resources (e.g., embedded systems) can be improved.Type: ApplicationFiled: August 24, 2001Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Publication number: 20030041138Abstract: The present invention describes a computer network including a network membership manager. In particular, a group of nodes on a computer network are managed by a distributed membership manager. Nodes of the computer network contain membership managers that manage the interaction between the nodes. Management of the computer network includes propagating configuration data to the nodes, providing an election process for determining the master node within a group of nodes, and monitoring the health of each node so that a change in the configuration and/or management structure can be accommodated by the nodes of the network.Type: ApplicationFiled: May 22, 2002Publication date: February 27, 2003Applicant: Sun Microsystems, Inc.Inventors: Mark Kampe, David Penkler, Stephen Mckinty, Xavier-Francois Vigouroux, Rebecca A. Ramer, Florence Blanc, Isabelle Colas
-
Patent number: 6526552Abstract: A clamping circuit which is connected to each long line, preferably adjacent the receiver. The clamping circuit biases the long line at the trigger threshold of the receiver. Thus, instead of amplifying the signal as a repeater will do, the present invention clamps the line to the threshold, thus allowing a faster response since the line doesn't have to be charged or discharged from a lower or higher level to the threshold. This thus speeds up the transition at the receiver without requiring a repeater or a keeper.Type: GrantFiled: October 25, 2000Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventors: Robert J. Bosnyak, Jose M. Cruz, Robert J. Drost
-
Patent number: 6526570Abstract: Systems and methods for building a platform specific compiler in a multi-platform environment are provided. A set of user defined platform dependent compiler architecture descriptors that describe corresponding architectural features of a particular hardware platform dependent compiler are provided. The descriptors are converted into the platform dependent compiler source code which is compiled into platform dependent compiler object code. The platform specific compiler is formed from the platform dependent compiler object code and platform independent compiler object code already provide. During compiler run time an interface mediates the flow of information between the platform dependent compiler object code and the platform independent compiler object code.Type: GrantFiled: April 24, 2000Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny
-
Patent number: 6525723Abstract: A computer graphics system that utilizes a super-sampled sample buffer and a programmable sample-to-pixel calculation unit for refreshing the display, wherein the graphics system may adjust filtering to reduce artifacts or implement display effects. In one embodiment, the graphics system may have a graphics processor, a super-sampled sample buffer, and a sample-to-pixel calculation unit. The graphics processor renders a plurality of samples and stores them into a sample buffer. The sample-to-pixel calculation unit reads the samples from the super-sampled sample buffer and filters or convolves the samples into respective output pixels which are then provided to refresh the display. The sample-to-pixel calculation unit may selectively adjust the filtering of stored samples to reduce artifacts, e.g., is operable to selectively adjust the filtering of stored samples in neighboring frames to reduce artifacts between the neighboring frames.Type: GrantFiled: October 6, 1999Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventor: Michael F. Deering
-
Patent number: 6526485Abstract: Circuitry including a request queue and a bad address handling circuit. The request queue includes an entry for each outstanding load requesting access to a cache. Each request queue entry includes a valid bit, an issue bit and a flush bit. The state of the valid bit indicates whether or not the associated access request should be issued to the cache. The issue bit indicates whether the load access request has been issued to the cache and the flush bit indicates whether the data retrieved from the cache in response to the request should be loaded into a specified register. The bad address handling circuit responds to a replay load request by manipulating the states of the valid or flush bit of the relevant request queue entry to prevent completion of bad consumer load requests. The bad address handling circuit includes a validation circuit and a flush circuit.Type: GrantFiled: August 3, 1999Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventors: Anuradha N. Moudgal, Belliappa M. Kuttanna
-
Patent number: 6526494Abstract: A computer-implemented method and apparatus in a computer system for inter-process communication. A first procedure allocates a first buffer in a first memory space shared by the first procedure (e.g. a client process) and a second procedure (e.g. a kernel or server process). The first procedure then marshals arguments for communicating with the second procedure in the first buffer. The first procedure indicates that a message for the second procedure is being passed and passes a first reference to the first buffer in the first memory space to the second procedure. The second procedure detects the indication of the message by the first procedure. The second procedure then references the first buffer and copies the arguments contained in the first buffer into a temporary buffer. The second procedure can then deallocate the first buffer.Type: GrantFiled: March 10, 2000Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventors: Panagiotis Kougiiouris, Graham Hamilton
-
Patent number: 6526549Abstract: A method for extracting parasitic capacitance from an integrated circuit layout includes decomposing nets in the integrated circuit layout into conductive segments along two mutually perpendicular directions. The method further includes summing capacitances between the conductive segments in a selected net and the other conductive segments in the integrated circuit layout that are aligned with the conductive segments in the selected net and multiplying the sum by a first scaling factor to obtain a first capacitance value. The method further includes summing capacitances between the conductive segments in the selected net and the other conductive segments in the integrated circuit layout that are transverse to the conductive segments in the selected net to obtain a second capacitance value. The first capacitance value and the second capacitance value are added together to obtain a total capacitance value for the selected net.Type: GrantFiled: September 14, 2000Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventor: Eileen H. You
-
Patent number: 6526422Abstract: A multiprocessor, multi-program, stop-the-world garbage collection program is described. The system initially over partitions the root sources, and then iteratively employs static and dynamic work balancing. Garbage collection threads compete dynamically for the initial partitions. Work stealing double-ended queues, where contention is reduced, are described to provide dynamic load balancing among the threads. Contention is resolved by using atomic instructions. The heap is broken into a young and an old generation where parallel semi-space copying is used to collect the young generation and parallel mark-compacting the old generation. The old generation heap is divided into a number of contiguous cards that are partitioned into subsets. The cards are arranged into the subsets so that non-contiguous cards are contained in each subset. Speed and efficiency of collection is enhanced by use of card tables and linking objects, and overflow conditions are efficiently handled by linking using class pointers.Type: GrantFiled: October 31, 2000Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventors: Christine H. Flood, David L. Detlefs
-
Patent number: 6526022Abstract: A method of detecting congestion in a computer network uses a receiving station which determines a first number of messages missing in a first acknowledgment window. The station then determines a second number of messages missing in a subsequent acknowledgement window. The station then measures congestion on the network in response to an increase in the number of missing messages as indicated by the first number of missing messages in the first acknowledgement window and the second number of missing messages in the second acknowledgement window.Type: GrantFiled: June 18, 1999Date of Patent: February 25, 2003Assignee: Sun MicrosystemsInventors: Dah Ming Chiu, Miriam C. Kadansky, Stephen R. Hanna, Stephen A. Hurst, Joseph S. Wesley, Philip M. Rosenzweig, Radia J. Perlman
-
Patent number: 6525722Abstract: A method for compressing 3D geometry data that is capable of compressing both regularly tiled and irregularly tiled surfaces is disclosed. In one embodiment, the method comprises examining 3D geometry data to detect the presence of regularly tiled surface portions. The 3D geometry data is then compressed by: (1) encoding any regularly tiled surface portion using a first encoding method, and (2) encoding any irregularly tiled surface portions using a second encoding method, wherein the second encoding method is different from the first encoding method. The first encoding method may encode the regularly tiled surface portions as vertex rasters, while the second method may encode the irregularly tiled surface portions by geometry compression using a generalized triangle mesh.Type: GrantFiled: June 14, 1999Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventor: Michael F. Deering
-
Patent number: 6526055Abstract: A method and apparatus that constructs a “router database” and then uses the database to determine a longest match between a piece of target data, such as an address in a packet to be routed, and the database. The database contains a comparison table having a plurality of entries. In a first embodiment, each entry has up to k values, where 2<=k<=N, where N is a number of comparison values in the database. In a second embodiment, each entry has up to k−1 values. During operation, various ones of the comparison table entries are loaded and compared to the address to determine a longest matching prefix in the router database. The comparison can be done in parallel.Type: GrantFiled: October 20, 1998Date of Patent: February 25, 2003Assignee: Sun Microsystems, Inc.Inventors: Radia J. Perlman, Dah Ming Chiu