Patents by Inventor Andrew E. Phelps
Andrew E. Phelps 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: 20030061538Abstract: A method and apparatus for providing error isolation in a multi-domain computer system. The system includes a plurality of system resources allocated to form at least a first and second domain. The system resources of the first domain perform a set of transactions independent from a set of transactions performed by the system resources of the second domain. The system further comprises at least one interface for coupling one system resource from the first domain and one system resource from the second domain. The at least one interface tracks the set of transactions performed by the one system resource of the first domain and the one system resource of the second domain independently from one another.Type: ApplicationFiled: September 25, 2001Publication date: March 27, 2003Inventors: Donald Kane, Steven Fitzgerald Weiss, Eric E. Graf, Andrew E. Phelps
-
Publication number: 20030046501Abstract: A method of interleaving a first bank of memory with a second bank of memory. The method is executed by a computer system having a memory controller that is coupled to a first plurality of memory devices that contains the first bank and a second plurality of memory devices that contains the second bank. The method includes: configuring the memory controller so that the memory controller is operable to read even and odd bytes of data from and write even and odd bytes of data to the first bank; storing even and odd bytes of data in the first bank; transferring the odd bytes of data from the first bank; and then reconfiguring the memory controller so that the memory controller is operable to read only even bytes of data from and write only even bytes of data to the first bank and the memory controller is operable to read only odd bytes of data from and write only odd bytes of data to the second bank.Type: ApplicationFiled: September 4, 2001Publication date: March 6, 2003Inventors: Jurgen M. Schulz, Andrew E. Phelps
-
Patent number: 6408409Abstract: A system for detecting underflow and overflow errors arising within a ring buffer. When the system receives a data word to be transferred through the ring buffer, the system generates a flow indicator value to be stored with the data word in the ring buffer. This flow indicator value contains information that facilitates determining if an underflow has occurred while reading from the ring buffer, or if an overflow has occurred while writing to the ring buffer. Next, the system writes the data word along with the flow indicator value into an entry in the ring buffer. At a later time, the system reads the entry from the ring buffer and generates a predicted flow indicator value. The system compares the flow indicator value read from the ring buffer with the predicted flow indicator value. If the flow indicator value differs from the predicted flow indicator value, the system generates an error signal indicating that an underflow or an overflow has occurred.Type: GrantFiled: November 15, 1999Date of Patent: June 18, 2002Assignee: Sun Microsystems, Inc.Inventors: Emrys J. Williams, Andrew E. Phelps
-
Patent number: 5966729Abstract: An improved method and apparatus for distributing transactions among a plurality of groups of processors in a multiprocessor computer system are disclosed. An embodiment of the invention includes the following operations. First, receiving an address request at a first group of processors. The address request is associated with a memory address corresponding to a requested memory page. Next, identifying those of the groups of processors that are interested in the address request and identifying those of the groups of processors that are uninterested in the address request. Thereafter, substantially simultaneously broadcasting the address request to the interested groups of processors and not to the uninterested groups of processors.Type: GrantFiled: June 30, 1997Date of Patent: October 12, 1999Assignee: Sun Microsystems, Inc.Inventor: Andrew E. Phelps
-
Patent number: 5745721Abstract: 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: GrantFiled: June 7, 1995Date of Patent: April 28, 1998Assignee: 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: 5717881Abstract: 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: GrantFiled: June 7, 1995Date of Patent: February 10, 1998Assignee: 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: 5706490Abstract: 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: GrantFiled: June 7, 1995Date of Patent: January 6, 1998Assignee: 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: 5659706Abstract: 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: GrantFiled: June 7, 1995Date of Patent: August 19, 1997Assignee: 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: 5640524Abstract: 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: GrantFiled: February 28, 1995Date of Patent: June 17, 1997Assignee: 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: 5623650Abstract: A sequence of conditional vector IF statements is processed by employing a mask register and a condition register. Each conditional vector IF statement is typically performed on two vector registers, each having vector elements. A first conditional vector IF statement in the sequence is processed for those vector elements corresponding to set bits in the mask register. Bits are set in the condition register to reflect those vector elements which correspond to the set bits in the mask register for which the conditional vector IF statement is satisfied. The contents of the condition register are then moved into the mask register. A next conditional vector IF statement in the sequence is then processed for those vector elements corresponding to the new set bits in the mask register. Bits are then set in the condition register to reflect those vector elements which correspond to the new set bits in the mask register for which the conditional vector IF statement is satisfied.Type: GrantFiled: June 7, 1995Date of Patent: April 22, 1997Assignee: 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: 5598547Abstract: A vector processor includes functional unit paths, each having an input and an output, and with at least one functional unit path including a plurality of pipelined functional elements coupled to the respective path input and output in parallel. The functional elements have different pipeline lengths to complete processing of operands applied to the path input. Program instruction initiation means responds to a first instruction to initiate processing of first operand data in a first of the functional elements, and responds to a second instruction to initiate the processing of second operand data in a second of the functional elements dependent upon completion of the first instruction but only if the second functional element has a pipeline length equal to or greater than the pipeline length of the first functional element.Type: GrantFiled: June 7, 1995Date of Patent: January 28, 1997Assignee: 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: 5544337Abstract: 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: GrantFiled: June 7, 1995Date of Patent: August 6, 1996Assignee: 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: 5524255Abstract: A global register system provides communication and coordination among a plurality of processors sharing a common memory in a multiprocessor system which access one or more registers within a shared resource circuit that is separate from the common memory and is symmetrically accessible by the plurality of processors in the multiprocessor system. The global register system is accessed by direct addresses determined by the processor from a previously assigned indirect address and an instruction accessing the data stored in global registers. Arithmetic or logic operation on a data value stored in a selected one of the registers are performed by the global register system independent from the processors or the common memory in order to modify the data value in the selected global register as part of an atomic operation performed in response to a single read-and-modify instruction received from one of the processors.Type: GrantFiled: January 27, 1995Date of Patent: June 4, 1996Assignee: Cray Research, Inc.Inventors: Douglas R. Beard, George A. Spix, Edward C. Miller, Robert E. Strout, II, Anthony R. Schooler, Alexander A. Silbey, Brian D. Vanderwarn, Jimmie R. Wilson, Richard E. Hessel, Andrew E. Phelps
-
Patent number: 5499356Abstract: A method and apparatus for providing a resource lockout mechanism in a shared memory, multiprocessor system that is capable of performing both a read and write operation during the same memory operation. The load and flag instruction of the present invention can execute a read operation, followed by a write operation of a preselected flag value to the same memory location during the same memory operation. The load and flag instruction is particularly useful as a resource lockout mechanism for use in Monte Carlo applications.Type: GrantFiled: December 28, 1993Date of Patent: March 12, 1996Assignee: Cray Research, Inc.Inventors: Roger E. Eckert, Richard E. Hessel, Andrew E. Phelps, George A. Spix, Jimmie R. Wilson
-
Patent number: 5430884Abstract: 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: GrantFiled: June 11, 1990Date of Patent: July 4, 1995Assignee: 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: 5381536Abstract: The present invention provides a method and apparatus for handling memory hazards in processors having multiple memory ports wherein the operation of marking of the memory requests that may be related to a memory hazard is separated from the operation of waiting for the memory hazard to clear. The separation of the operation of marking of memory hazards from the operation of waiting for memory hazards to clear allows a compiler to schedule other instructions, as well as other memory operations not directed to the memory location involved in the memory hazard sequence, during the time between the operations of marking and waiting for the memory hazard to clear. The waiting period ends once it is clear that the marked memory requests will execute in the order in which they were issued.Type: GrantFiled: May 25, 1994Date of Patent: January 10, 1995Assignee: Cray Research, Inc.Inventors: Andrew E. Phelps, Roger E. Eckert, Richard E. Hessel
-
Patent number: 5239629Abstract: A signaling mechanism for sending and receiving signals to and from any one of all of a plurality of devices, including peripheral controllers and processors, in a multiprocessor system. The signaling mechanism includes two switches, a first switch routing a signal command generated by the device to a signal dispatch logic and a second switch for receiving signals generated by the signal dispatch logic and routing the signals to the selected device. The signal dispatch logic receiving the signal command, decodes the destination select value and generates a signal to be sent to the selected device. The signal command includes a destination select value representing a device selectably determined by the device. The signaling mechanism also includes an arbitration mechanism connected to the signal dispatch logic and the first switch for resolving simultaneous conflicting signal commands issued by two or more devices.Type: GrantFiled: June 11, 1990Date of Patent: August 24, 1993Assignee: Supercomputer Systems Limited PartnershipInventors: Edward C. Miller, George A. Spix, Anthony R. Schooler, Douglas R. Beard, Alexander A. Silbey, Andrew E. Phelps
-
Patent number: 5208914Abstract: A method and apparatus for non-sequential access to shared resources in a multiple requestor system uses a variety of tags to effectively re-order the data at its destination. In simplest form, the tag directs switching logic to where in a buffer to locate another tag for direction information or where in a buffer or processor (register) to put the response associated with the tag. For example, loading data from memory requires that the requestor provide a request signal, an address, and a request tag. The request signal validates the address and request tag. The address specifies the location of the requested data in memory. The request tag specifies where to put the data when it is returned to the processor.Type: GrantFiled: June 11, 1990Date of Patent: May 4, 1993Assignee: Superconductor Systems Limited PartnershipInventors: Jimmie R. Wilson, Douglas R. Beard, Steve S. Chen, Roger E. Eckert, Richard E. Hessel, Andrew E. Phelps, Alexander A. Silbey, Brian D. Vanderwarn
-
Patent number: 5193187Abstract: A fast interrupt mechanism is capable of simultaneously interrupting a community of associated processors in a multiprocessor system. The fast interrupt mechanism enables the more effective debugging of software executing on a multiprocessor system by allowing all of the processors in a community associated with a parallel process to be halted within a limited number of clock cycles following a hardware exception or processor breakpoint. The fast interrupt mechanism consists of a set of registers that are used to identify associations among multiple processors, a comparison matrix that is used to select processors to be interrupted, a network of interconnections that transmit interrupt events to and from the processors, and elements in the processors that create and respond to fast interrupt events.Type: GrantFiled: June 10, 1992Date of Patent: March 9, 1993Assignee: Supercomputer Systems Limited PartnershipInventors: Robert E. Strout, II, George A. Spix, Edward C. Miller, Anthony R. Schooler, Alexander A. Silbey, Andrew E. Phelps, Brian D. Vanderwarn, Gregory G. Gaertner
-
Patent number: 5175862Abstract: A special purpose arithmetic boolean unit is capable of performing extremely parallel bit-level boolean operations, particularly bit matrix manipulations. The special purpose arithmetic boolean unit is especially adapted for use in traditional vector processors, thereby enabling a vector processor to effectively solve extremely parallel MIMD or SIMD boolean problems without requiring an array processor or massively parallel supercomputer.Type: GrantFiled: June 11, 1990Date of Patent: December 29, 1992Assignee: Supercomputer Systems Limited PartnershipInventors: Andrew E. Phelps, Douglas R. Beard, Michael A. Woodsmansee