Silicon Graphics Patent Grants

Scalable method and system for streaming high-resolution media

Granted: December 2, 2008
Patent Number: 7460126
A system and method for distributing data (e.g., imaging data such as pixels, or 3D graphics data such as points, lines, or polygons) from a single or a small number of data sources to a plurality of graphical processing units (graphics processors) for processing and display is presented. The system and method provide a pipelined and multithreaded approach that prioritizes movement of the data through a high-speed multiprocessor system (or a high-speed system of networked computers),…

System and method for ordering of data transferred over multiple channels

Granted: November 18, 2008
Patent Number: 7453878
A multiple channel data transfer system (10) includes a source (12) that generates data packets with sequence numbers for transfer over multiple request channels (14). Data packets are transferred over the multiple request channels (14) through a network (16) to a destination (18). The destination (18) re-orders the data packets received over the multiple request channels (14) into a proper sequence in response to the sequence numbers to facilitate data processing. The destination (18)…

Global pointers for scalable parallel applications

Granted: November 11, 2008
Patent Number: 7451278
Mapping of cacheable memory pages from other processes in a parallel job provides a very efficient mechanism for inter-process communication. A trivial address computation can then be used to look up a virtual address that allows the use of cacheable loads and stores to directly access or update the memory of other processes in the job for communication purposes. When an interconnection network permits the cacheable access of one host's memory from another host in the cluster, kernel and…

System and method for conveying information

Granted: November 4, 2008
Patent Number: 7447794
A system and method for conveying data include the capability to determine whether a transaction request credit has been received at a computer module, the transaction request credit indicating that at least a portion of a transaction request message may be sent. The system and method also include the capability to determine, if a transaction request message is to be sent, whether at least a portion of the transaction request message may be sent and to send the at least a portion of the…

System and method for adaptively deskewing parallel data signals relative to a clock

Granted: October 7, 2008
Patent Number: 7433441
A system and method of reducing skew between a plurality of signals transmitted with a transmit clock is described. Skew is detected between the received transmit clock and each of received data signals. Delay is added to the clock or to one or more of the plurality of data signals to compensate for the detected skew. The delay added to each of the plurality of delayed signals is updated to adapt to changes in detected skew.

System and method for reducing back flow

Granted: September 16, 2008
Patent Number: 7425117
A system and method of reducing back flow in an air mover having one or more blades is described. A flap is attached to a blade of the air mover such that, when back flow occurs, the flap obscures all or a portion of the space between blades during back flow.

Method and system for renaming registers in a microprocessor

Granted: July 29, 2008
Patent Number: 7406587
A processor includes an active list to buffer instructions and their associated condition codes for processing. A mapping table in the processor maps a logical register associated with the instruction to a selected one of a plurality of unique physical registers. The selected unique physical register is used to hold a result according to execution of the instruction. An indication is provided to the mapping table when the selected unique physical register contains the result. The result…

Queue circuit and method for memory arbitration employing same

Granted: July 29, 2008
Patent Number: 7406554
A memory access arbitration scheme is provided where transactions to a shared memory are stored in an arbitration queue. A collapsible queuing structure and method are provided, such that once a transaction is serviced, higher order entries ripple down in the queue to make room for new entries while maintaining an oldest to newest relationship among the queue entries. A queuing circuit having a plurality of registers interconnected by 2:1 multiplexers is also provided. The circuit is…

Multiprocessor node controller circuit and method

Granted: July 29, 2008
Patent Number: 7406086
Improved method and apparatus for parallel processing. One embodiment provides a multiprocessor computer system that includes a first and second node controller, a number of processors being connected to each node controller, a memory connected to each controller, a first input/output system connected to the first node controller, and a communications network connected between the node controllers. The first node controller includes: a crossbar unit to which are connected a memory port,…

Compact flat panel color calibration system

Granted: July 29, 2008
Patent Number: 7405742
A compact flat panel color calibration system includes a lens prism optic able to pass a narrow, perpendicular, and uniform cone angle of incoming light to a spectrally non-selective photodetector. The calibration system also includes a microprocessor operable to determine the luminance of the display based upon the information gathered by the photodetector. A software module included in the calibration system is then operable to process the luminance information in order to adjust the…

Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units

Granted: July 29, 2008
Patent Number: 7405734
The present invention provides a method and system for presenting three-dimensional computer graphics images using multiple graphics processing units. The dimensions of the scene to be rendered are bounded by a rectangular volume decomposed into rectangular subvolumes. Vertices of graphics primitives are compared with subvolume boundaries to determine to which subvolume a graphics primitive should be assigned. A GPU is assigned to each subvolume to render the graphics data that lies…

System and method for allowing remote users to specify graphics application parameters for generation of interactive images

Granted: July 15, 2008
Patent Number: 7401116
A visual server system (10) includes a server (12) having a graphics application (20). The graphics application (20) generates image content and position information. The server (12) streams the image content and the position information for transport over a network link. A plurality of remote clients (14) can receive the image content and position information from the server (12) over the network link. Each of the plurality of remote clients (14) may provide input parameters to the…

System and method for performing memory operations in a computing system

Granted: July 8, 2008
Patent Number: 7398359
A processor may operate in one of a plurality of operating states. In a Normal operating state, the processor is not involved with a memory transaction. Upon receipt of a transaction instruction to access a memory location, the processor transitions to a Transaction operating state. In the Transaction operating state, the processor performs changes to a cache line and data associated with the memory location. While in the Transaction operating state, any changes to the data and the cache…

System and method for graphics culling

Granted: June 17, 2008
Patent Number: 7388582
A method is disclosed for culling an object database in a graphics processing system. In one embodiment, the method comprises encoding per-object parameters and culling parameters. The per-object parameters are encoded in texture format thereby creating at least one per-object texture containing the encoded per-object parameters. Next, a fragment program used in a fragment processor of the GPU is optionally updated. The updated fragment program embodies a culling operation. A polygon is…

Compositing images using logically divided object space

Granted: June 10, 2008
Patent Number: 7385614
An apparatus and method of processing object data (e.g., a scene having one or more objects) logically divide the object space into a plurality of contiguous (or noncontiguous) portions. At least two portions each have object data for such object(s). The apparatus and method also determine a positional priority of the at least two portions of the object space for a given viewpoint. Next, the apparatus and method merge rendered object data after at least some of the object data is…

Apparatus and method of controlling data sharing on a shared memory computer system

Granted: June 10, 2008
Patent Number: 7386680
An apparatus and method of controlling data sharing in a shared memory computer system transfers control of a cache coherency directory (entry) to a node having control of the data. Specifically, the plurality of nodes includes a home node and a second node. The home node has given data in a cache line in its memory, and also has a directory identifying the state of the cache line. The method and apparatus thus detect a request for ownership of the cache line from the second node, and…

Method and apparatus for maintaining coherence information in multi-cache systems

Granted: May 6, 2008
Patent Number: 7370154
A method and apparatus for maintaining coherence information in multi-cache systems is described herein. In one embodiment, the apparatus includes an Ingrained Sharing Directory Cache (ISDC) to store state information about recent copies of local memory blocks. The ISDC is adapted to receive Ingrained Sharing Directory Storage (ISDS) requests and create ISDC entries from information presented by the ISDS. The apparatus also includes an ISDC pending queue to store pending ISDC operations.

System and method for image-based rendering with object proxies

Granted: April 22, 2008
Patent Number: 7362335
A system and method for rendering with an object proxy. In one embodiment, a method includes forming a set of view textures corresponding to a set of viewing directions; selecting a viewing direction for rendering; selecting at least two view textures from the formed set based on the selected viewing direction; and rendering the object proxy at the selected viewing direction. The rendering step includes applying texture from the selected view textures onto the selected object proxy. The…

Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video

Granted: April 15, 2008
Patent Number: 7358974
A method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video. Spatial compositing uses a graphics unit or pipeline to render a portion (subarea) of each overall frame of digital video images. This reduces the amount of data that each processor must act on and increases the rate at which an overall frame is rendered. Optimization of spatial compositing depends on balancing the processing load among the different…

Node translation and protection in a clustered multiprocessor system

Granted: April 8, 2008
Patent Number: 7356026
A method of node translation for communicating over virtual channels in a clustered multiprocessor system using connection descriptors (CDs), which specify the endpoint nodes for virtual connections. The system includes a local processing element node, a remote processing element node and a network interconnect therebetween for sending communications between the processing element nodes. The method includes assigning a CD to specify an endpoint node for a virtual connection, defining a…