Patents Assigned to Cray Research, Inc.
  • Patent number: 5761534
    Abstract: A client interface supporting a plurality of peripheral channels and a network channel. The peripheral channels include a maintenance channel, message input channel, message output channel, express channel and several DMA channels. The client interface routes packets from the network to the peripheral resources and prioritizes the dispatching of packets onto the network. Express packets and message packets are given priority over DMA type packets. Priority to dispatch is rotated among the DMA channels.
    Type: Grant
    Filed: May 20, 1996
    Date of Patent: June 2, 1998
    Assignee: Cray Research, Inc.
    Inventors: Eric P. Lundberg, Joseph M. Placek
  • Patent number: 5761706
    Abstract: Method and apparatus for a filtered stream buffer coupled to a memory and a processor, and operating to prefetch data from the memory. The filtered stream buffer includes a cache block storage area and a filter controller. The filter controller determines whether a pattern of references has a predetermined relationship, and if so, prefetches stream data into the cache block storage area. Such stream data prefetches are particularly useful in vector processing computers, where once the processor starts to fetch a vector, the addresses of future fetches can be predicted based in the pattern of past fetches. According to various aspects of the present invention, the filtered stream buffer further includes a history table, a validity indicator which is associated with the cache block storage area and indicates which cache blocks, if any, are valid.
    Type: Grant
    Filed: November 1, 1994
    Date of Patent: June 2, 1998
    Assignee: Cray Research, Inc.
    Inventors: Richard E. Kessler, Steven M. Oberlin, Steven L. Scott, Subbarao Palacharla
  • Patent number: 5748900
    Abstract: A congestion control mechanism for a node of a modular computer network system. The mechanism includes registers for maintaining the number of undelivered requests and unanswered requests for the node and registers for the maximum number of such undelivered requests and unanswered requests. The mechanism regulates congestion on the network by throttling back or ratcheting up the allowed number of undelivered requests and unanswered requests based upon the level of busy and non-busy results of such requests and answers. Congestion is also alleviated by the implementation of a set of large and small send and receive buffers. These buffers are configurably partitioned among virtual I/O channels. Each request virtual I/O channel may utilitize congestion control.
    Type: Grant
    Filed: March 13, 1996
    Date of Patent: May 5, 1998
    Assignee: Cray Research, Inc.
    Inventors: Steven L. Scott, Richard D. Pribnow, Peter G. Logghe, Daniel L. Kunkel, Gerald A. Schwoerer
  • Patent number: 5745721
    Abstract: A scalar/vector processor capable of concurrent scaler and vector operations includes scalar resources to process scalar instructions, and vector resources adapted to be operated concurrently with the scalar resources and with one another to process vector instructions. The scalar resources include scalar registers, and the vector resources include vector registers. Decoding means decodes each of a number of address fields. Each field represents a register address to access alternatively one of the scalar registers or one of the vector registers depending on a value of the register address being above or below a selected moveable address value within a range of addresses encompassed by the address field.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: April 28, 1998
    Assignee: Cray Research, Inc.
    Inventors: Douglas R. Beard, Andrew E. Phelps, Michael A. Woodmansee, Richard G. Blewett, Jeffrey A. Lohman, Alexander A. Silbey, George A. Spix, Frederick J. Simmons, Don A. Van Dyke
  • Patent number: 5737628
    Abstract: A multidimensional interconnection and routing apparatus for a parallel processing computer connects together processing elements in a three-dimensional structure. The interconnection and routing apparatus includes a plurality of processing element nodes. A communication connects at least one of the processing elements with a host system. An interconnection network connects together the processing element nodes in an X, Y, and Z dimension. The network includes communication paths connecting each of the plurality of processing elements to adjacent processing elements in the plus and minus directions of each of the X, Y, and Z dimensions.
    Type: Grant
    Filed: June 12, 1996
    Date of Patent: April 7, 1998
    Assignee: Cray Research, Inc.
    Inventors: Mark S. Birrittella, Richard E. Kessler, Steven M. Oberlin, Randal S. Passint, Greg Thorson
  • Patent number: 5737194
    Abstract: An input/output module functioning as a peripheral channel adapter or gateway to a network in a high speed digital processing system, the input/output module including a plurality of circuit board assemblies and an enclosure for enclosing the circuit board assemblies, the enclosure including a frame having side panels which are hinged to the frame on opposite sides thereof and movable between closed and open positions for providing access to the circuit board assemblies, a plurality of the input/output modules are enclosed within a housing made of metal, that provides EMI shielding for the input/output modules, the enclosures for the plurality of input/output modules defining metal bulkheads within the housing, and a blower located within the housing forwardly of the input/output modules for circulating cooling air through the input/output modules, the input/output modules being configured so that the volume of cooling air supplied to the application specific assemblies is greater than the volume of cooling a
    Type: Grant
    Filed: July 29, 1996
    Date of Patent: April 7, 1998
    Assignee: Cray Research, Inc.
    Inventors: George M. Hopkins, Larry Hayes Wood, Jeffrey Mark Glanzman
  • Patent number: 5726857
    Abstract: An apparatus and method for mounting an edge connector assembly within a circuit module. Connector mounting rails are attached to the sides of a printed circuit board and the circuit board is then joined with a cold plate in order to form a circuit module. The mounting rail is an elongate strip of a substantially rigid material for attachment to the circuit board along one of its edges. The strip has an upper planar surface and inner and outer sides. The inner side is for attaching the strip to the edge of the circuit board. The outer side extends beyond the edge of the circuit board and is adapted to carry thereon a female block of the edge connector assembly. The strip also has a plurality of primary mounting openings formed in a predetermined pattern through the outer side of the strip for attaching the circuit board to a circuit module.
    Type: Grant
    Filed: February 22, 1996
    Date of Patent: March 10, 1998
    Assignee: Cray Research, Inc.
    Inventors: Richard B. Salmonson, Stephen A. Bowen
  • Patent number: 5721921
    Abstract: Method and apparatus for facilitating barrier and eureka synchronization in a massively parallel processing system. The present barrier/eureka mechanism provides a partitionable, low-latency, immediately reusable, robust mechanism which can operate on a physical data-communications network and can be used to alert all processor entities (PEs) in a partition when all of the PEs in that partition have reached a designated barrier point in their individual program code, or when any one of the PEs in that partition has reached a designated eureka point in its individual program code, or when either the barrier or eureka requirements have been satisfied, which ever comes first. Multiple overlapping barrier/eureka synchronization partitions are available simultaneously through the use of a plurality of parallel barrier/eureka synchronization domains.
    Type: Grant
    Filed: May 25, 1995
    Date of Patent: February 24, 1998
    Assignee: Cray Research, Inc.
    Inventors: Richard E. Kessler, Steven M. Oberlin, Gregory M. Thorson
  • Patent number: 5717895
    Abstract: Method and apparatus for a scalar data cache in a scalar/vector supercomputer. The scalar data cache comprises a cache array and a cache controller. The cache array comprises a plurality of cache frames; each cache frame comprises a plurality of cache lines; and each cache line comprises a plurality of data words. The cache controller performs a broadside compare of the reference address against all addresses held in the cache, and translates the reference address into a cache-array address. For each cache line, there is a corresponding cache-line validity indication which is set "valid" only when every data word in the cache line contains valid data. A cache-line validity comparator operates to provide a cache-line-hit indication if a data word requested is in a valid cache line. A cache-load controller is described for loading data from a common memory into every data word of a cache line and for marking the cache line "valid".
    Type: Grant
    Filed: December 1, 1994
    Date of Patent: February 10, 1998
    Assignee: Cray Research, Inc.
    Inventors: George W. Leedom, William T. Moore
  • Patent number: 5717881
    Abstract: An improved high performance hardwired supercomputer data processing apparatus includes instruction means adpated to issue one and two parcel instructions. Instruction fetch means provides an instruction stream of two parcel items in sequence. Instruction decode means is responsive to each two parcel item for determining in one clock cycle whether the two parcel item is a single two parcel instruction or two one parcel instructions, for issuing each two parcel instruction for execution during the one clock cycle, and for issuing one then the other of the two one parcel instructions for execution in sequence during the one clock cycle and the next succeeding clock cycle.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: February 10, 1998
    Assignee: Cray Research, Inc.
    Inventors: Douglas R. Beard, Andrew E. Phelps, Michael A. Woodmansee, Richard G. Blewett, Jeffrey A. Lohman, Alexander A. Silbey, George A. Spix, Frederick J. Simmons, Don A. Van Dyke
  • Patent number: 5706490
    Abstract: A delayed branch mechanism maintains the flow of an instruction pipeline in a scalar/vector processor having an instruction cache and including instruction fetch means, a program counter, and instruction decode/issue means coupled to the instruction cache by means of the instruction pipeline. Conditional branch instructions are rated as likely conditional branch instructions or unlikely conditional branch instructions based on a probability that their branch conditions will be met. A number of pipeline clock periods required for testing the branch conditions are determined. The likely conditional branch instructions are issued and executed including transferring a branch-to-address to the program counter during the number of pipeline clock periods irrespective of a successful meeting of the branch conditions. A number of useful instructions sufficient to issue within the number of pipeline clock periods are placed into the instruction stream following the likely conditional branch instructions.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: January 6, 1998
    Assignee: Cray Research, Inc.
    Inventors: Douglas R. Beard, Andrew E. Phelps, Michael A. Woodmansee, Richard G. Blewett, Jeffrey A. Lohman, Alexander A. Silbey, George A. Spix, Frederick J. Simmons, Don A. Van Dyke
  • Patent number: 5701416
    Abstract: A routing mechanism includes two acyclic non-adaptive virtual channels having two types of virtual channel buffers to store packets along deterministic virtual paths between nodes in an n-dimensional networked system, and an adaptive virtual channel having a third type of virtual channel buffer to store the packets along non-deterministic virtual paths between the nodes. The packets are routed between the nodes along either selected portions of the deterministic virtual paths or selected portions of the non-deterministic virtual paths based on routing information such that a packet is never routed on a selected portion of one of the non-deterministic virtual paths unless the third type virtual channel buffer associated with the selected portion of the one non-deterministic virtual path has sufficient space available to store the entire packet.
    Type: Grant
    Filed: April 13, 1995
    Date of Patent: December 23, 1997
    Assignee: Cray Research, Inc.
    Inventors: Gregory M. Thorson, Steven L. Scott
  • Patent number: 5696922
    Abstract: A method for extracting a PE number and offset from an array index by recursive centrifuging. According to one aspect of the present invention, a processing element number is assigned to each processing element, a local memory address is assigned to each memory location and a linearized index is assigned to each array element in a multidimensional array. The processing element number of the processing element in which a particular array element is stored is computed as a function of a linearized index associated with the array element and a mask word determined from the distribution specification associated with the array. The mask word is generated from the distribution specification and applied to a linearized index associated with a particular array element to obtain processing element number bits and local offset bits.
    Type: Grant
    Filed: December 10, 1993
    Date of Patent: December 9, 1997
    Assignee: Cray Research, Inc.
    Inventor: Eric C. Fromm
  • Patent number: 5694028
    Abstract: A method and apparatus for adjusting power supplied to a device when the device has a first and a second power input. A first voltage level and a ground potential are provided and a second voltage level is created as a function of the first voltage level. The second voltage level is then buffered with a power transistor and, if the second voltage level is needed for a particular device, the buffered second voltage level is selectively applied to the device. The circuit is disabled when the second voltage supply is not needed.
    Type: Grant
    Filed: May 20, 1996
    Date of Patent: December 2, 1997
    Assignee: Cray Research, Inc.
    Inventors: Richard B. Salmonson, Robert J. Greener, Mark Ronald Sikkink, Robert J. Lutz, Max C. Logan, Richard G. Finstad
  • Patent number: 5692123
    Abstract: A maintenance channel for modular computer system reset, configuration, partitioning, and error communication. The maintenance channel includes a sanity code channel to ensure module functionality. The maintenance channel configures the computer system and issues commands to modules using a command channel. Error detection and diagnostics are performed using an error channel. The maintenance channel provides independent processing groups within one computer system, and allows for partial powerdown or isolation of portions of the system without affecting operations in the active portions of the computer system.
    Type: Grant
    Filed: December 7, 1994
    Date of Patent: November 25, 1997
    Assignee: Cray Research, Inc.
    Inventor: Peter G. Logghe
  • Patent number: 5689646
    Abstract: A method of routing messages within an n-dimensional network topology. Two directions are associated with each dimension in the n-dimensional network, for a total of 2n directions. A direction order is assigned which prioritizes the order in which a packet is routed across the 2n possible directions. Such an approach provides deadlock-free, fault tolerant wormhole routing in networks without wrap-around channels. For networks with wrap-around channels, the above method of wormhole routing is enhanced by placing a first direction from each of the n dimensions within a first group of directions. The second direction from each dimension is placed within a second group of directions. A packet to be routed from a source node to a destination node is routed in all relevant directions in the first group of directions in any order before being routed in the second group of directions.
    Type: Grant
    Filed: October 10, 1995
    Date of Patent: November 18, 1997
    Assignee: Cray Research, Inc.
    Inventor: Gregory Michael Thorson
  • Patent number: 5659796
    Abstract: A method optimizes routing in a multiprocessor computer system by defining two types of virtual channels having virtual channel buffers for storing messages communicated between processing element nodes in the multiprocessor computer system. A dateline is associated to each type of virtual channel, and messages are restrained from crossing a dateline on its associated type of virtual channel to avoid deadlock. A cost function is defined which is correlated to imbalances in the utilization of the two types of virtual channels. The unrestrained messages are allocated between the two types of virtual channels to minimize the cost function by defining an initial virtual channel allocation, randomly modifying the virtual channel allocation, and accepting the random modification if the modification decreases the cost function, else accepting the modification based on a probability that slowly decreases during the allocating step.
    Type: Grant
    Filed: April 13, 1995
    Date of Patent: August 19, 1997
    Assignee: Cray Research, Inc.
    Inventors: Gregory M. Thorson, Steven L. Scott
  • Patent number: 5659706
    Abstract: The present invention is an improved high performance scalar/vector processor. In the preferred embodiment, the scalar/vector processor is used in a multiprocessor system. The scalar/vector processor is comprised of a scalar processor for operating on scalar and logical instructions, including a plurality of independent functional units operably connected to the scalar processor, a vector processor for operating on vector instructions, including a plurality of independent functional units operably connected to the vector processor, and an instruction control mechanism for fetching both the scalar and vector instructions from an instruction cache and controlling the operation of those instructions in both the scalar and vector processor. The instruction control mechanism is designed to enhance the performance of the scalar/vector processor by keeping a multiplicity of pipelines substantially filled with a minimum number of gaps.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: August 19, 1997
    Assignee: Cray Research, Inc.
    Inventors: Douglas R. Beard, Andrew E. Phelps, Michael A. Woodmansee, Richard G. Blewett, Jeffrey A. Lohman, Alexander A. Silbey, George A. Spix, Frederick J. Simmons, Don A. Van Dyke
  • Patent number: 5640524
    Abstract: A vector processing system includes a main memory, vector registers, vector resources for accessing memory to transfer vector data between main memory and the vector registers and to perform operations on the vector data. Data words stored in non-consecutive address locations of a segment of main memory are accessed for processing. Offset address values of a number of the data words are stored in consecutive elements of a first vector register. A vector gather instruction is executed which adds each offset address value to a base address value to calculate main memory addresses representing main memory storage locations of the data words, retrieves the data words from the main memory, and stores the data words in consecutive elements of a second vector register in an order corresponding to that in which the offset address values are stored in the first vector register.
    Type: Grant
    Filed: February 28, 1995
    Date of Patent: June 17, 1997
    Assignee: Cray Research, Inc.
    Inventors: Douglas R. Beard, Andrew E. Phelps, Michael A. Woodmansee, Richard G. Blewett, Jeffrey A. Lohman, Alexander A. Silbey, George A. Spix, Frederick J. Simmons, Don A. Van Dyke
  • Patent number: 5625831
    Abstract: A unified parallel processing architecture connects together an extendible number of clusters of multiple numbers of processors to create a high performance parallel processing computer system. Multiple processors are grouped together into four or more physically separable clusters, each cluster having a common cluster shared memory that is symmetrically accessible by all of the processors in that cluster; however, only some of the clusters are adjacently interconnected. Clusters are adjacently interconnected to form a floating shared memory if certain memory access conditions relating to relative memory latency and relative data locality can create an effective shared memory parallel programming environment. A shared memory model can be used with programs that can be executed in the cluster shared memory of a single cluster, or in the floating shared memory that is defined across an extended shared memory space comprised of the cluster shared memories of any set of adjacently interconnected clusters.
    Type: Grant
    Filed: October 31, 1994
    Date of Patent: April 29, 1997
    Assignee: Cray Research, Inc.
    Inventors: Edward C. Priest, John M. Wastlick