Patents by Inventor John Glossner

John Glossner 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).

  • Patent number: 6665790
    Abstract: A system and method for processing operations that use data vectors each comprising a plurality of data elements, in accordance with the present invention, includes a vector data file comprising a plurality of storage elements for storing data elements of the data vectors. A pointer array is coupled by a bus to the vector data file. The pointer array includes a plurality of entries wherein each entry identifies at least one storage element in the vector data file. The at least one storage element stores at least one data element of the data vectors, wherein for at least one particular entry in the pointer array, the at least one storage element identified by the particular entry has an arbitrary starting address in the vector data file.
    Type: Grant
    Filed: February 29, 2000
    Date of Patent: December 16, 2003
    Assignee: International Business Machines Corporation
    Inventors: Clair John Glossner, III, Erdem Hokenek, David Meltzer, Mayan Moudgill
  • Publication number: 20030225975
    Abstract: A cache memory for use in a multithreaded processor includes a number of set-associative thread caches, with one or more of the thread caches each implementing a thread-based eviction process that reduces the amount of replacement policy storage required in the cache memory. At least a given one of the thread caches in an illustrative embodiment includes a memory array having multiple sets of memory locations, and a directory for storing tags each corresponding to at least a portion of a particular address of one of the memory locations. The directory has multiple entries each storing multiple ones of the tags, such that if there are n sets of memory locations in the memory array, there are n tags associated with each directory entry. The directory is utilized in implementing a set-associative address mapping between access requests and memory locations of the memory array.
    Type: Application
    Filed: June 4, 2002
    Publication date: December 4, 2003
    Inventors: Erdem Hokenek, C. John Glossner, Arthur Joseph Hoane, Mayan Moudgill, Shenghong Wang
  • Publication number: 20030225976
    Abstract: A cache memory for use in a multithreaded processor includes a number of set-associative thread caches, with one or more of the thread caches each implementing an eviction process based on access request address that reduces the amount of replacement policy storage required in the cache memory. At least a given one of the thread caches in an illustrative embodiment includes a memory array having multiple sets of memory locations, and a directory for storing tags each corresponding to at least a portion of a particular address of one of the memory locations. The directory has multiple entries each storing multiple ones of the tags, such that if there are n sets of memory locations in the memory array, there are n tags associated with each directory entry. The directory is utilized in implementing a set-associative address mapping between access requests and memory locations of the memory array.
    Type: Application
    Filed: June 4, 2002
    Publication date: December 4, 2003
    Inventors: Erdem Hokenek, C. John Glossner, Arthur Joseph Hoane, Mayan Moudgill, Shenghong Wang
  • Publication number: 20030120901
    Abstract: A multithreaded processor includes an instruction decoder for decoding retrieved instructions to determine an instruction type for each of the retrieved instructions, an integer unit coupled to the instruction decoder for processing integer type instructions, and a vector unit coupled to the instruction decoder for processing vector type instructions. A reduction unit is preferably associated with the vector unit and receives parallel data elements processed in the vector unit. The reduction unit generates a serial output from the parallel data elements. The processor may be configured to execute at least control code, digital signal processor (DSP) code, Java code and network processing code, and is therefore well-suited for use in a convergence device. The processor is preferably configured to utilize token triggered threading in conjunction with instruction pipelining.
    Type: Application
    Filed: October 11, 2002
    Publication date: June 26, 2003
    Inventors: Erdem Hokenek, Mayan Moudgill, C. John Glossner
  • Publication number: 20020161987
    Abstract: A system and method is provided for processing a first instruction set and a second instruction set in a single processor. The method includes storing a plurality of control signals in a plurality of buffers proximate to a plurality of execution units, wherein the control signals are predecoded instructions of the second instruction set, executing an instruction of the first instruction set in response to a branch instruction of the first instruction set, and executing the control signals for an instruction of the second instruction set in response to a branch instruction of the second instruction set.
    Type: Application
    Filed: April 30, 2001
    Publication date: October 31, 2002
    Inventors: Erik R. Altman, Clair John Glossner, Erdem Hokenek, David Meltzer, Mayan Moudgill
  • Publication number: 20020112193
    Abstract: A microprocessor includes a logic circuit. A selection device is coupled to the logic circuit, and the selection device provides switching of on/off states of the logic circuit based on a stored logical value. A program instruction is included which sets the stored logical value to control the on/off states of the logic circuit based on anticipated usage of the logical circuit in accordance with an instruction sequence of the microprocessor.
    Type: Application
    Filed: February 9, 2001
    Publication date: August 15, 2002
    Applicant: International Business Machines Corporation
    Inventors: Erik R. Altman, Clair John Glossner, Erdem Hokenek, David Meltzer, Mayan Moudgill
  • Patent number: 6317821
    Abstract: A pipelined processor is configured to provide virtual single-cycle instruction execution using a register locking mechanism in conjunction with instruction stalling based on lock status. In an illustrative embodiment, a set of register locks is maintained in the form of a stored bit vector in which each bit indicates the current lock status of a corresponding register. A decode unit receives an instruction fetched from memory, and decodes the instruction to determine its source and destination registers. The instruction is stalled for at least one processor cycle if either its source register or destination register is already locked by another instruction. The stall continues until the source and destination registers of the instruction are both unlocked, i.e., no longer in use by other instructions.
    Type: Grant
    Filed: May 18, 1998
    Date of Patent: November 13, 2001
    Assignee: Lucent Technologies Inc.
    Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Jesse Thilo
  • Patent number: 6282585
    Abstract: The invention provides techniques for reducing the port pressure of a clustered processor. In an illustrative embodiment, the processor includes multiple clusters of execution units, with each of the clusters having a portion of a register file and a portion of a predicate file associated therewith, such that a given cluster is permitted to write to and read from its associated portions of the register and predicate files. A cooperative interconnection technique in accordance with the invention utilizes an inter-cluster move instruction specifying a source cluster and a destination cluster to copy a value from the source cluster to the destination cluster. The value is transmitted over a designated interconnect structure within the processor, and the inter-cluster move instruction is separated into two sub-instructions, one of which is executed by a unit in the source cluster, and another of which is executed by a unit in the destination cluster. These units may be, e.g.
    Type: Grant
    Filed: March 22, 1999
    Date of Patent: August 28, 2001
    Assignee: Agere Systems Guardian Corp.
    Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Kent E. Wires
  • Patent number: 6269437
    Abstract: The invention provides techniques for reducing the port pressure of a clustered processor. In an illustrative embodiment, the processor includes multiple clusters of execution units, with each of the clusters having a portion of a register file and a portion of a predicate file associated therewith, such that a given cluster is permitted to write to and read from its associated portions of the register and predicate files. A duplicator interconnection technique in accordance with the invention reduces port pressure by providing one or more global move units in the processor. A given global move unit uses an inter-cluster move instruction to copy a value from a portion of the register or predicate file associated with a source cluster to another portion of the register or predicate file associated with a destination cluster.
    Type: Grant
    Filed: March 22, 1999
    Date of Patent: July 31, 2001
    Assignee: Agere Systems Guardian Corp.
    Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Kent E. Wires
  • Patent number: 6269039
    Abstract: A volatile memory device, in accordance with the present invention, includes an array of memory cells with at least two dummy cells disposed within the memory array. A driver is included for writing a first state to one of the at least two dummy cells and for writing a second state to another one of the at least two dummy cells. A comparison circuit compares the first state and the second state to a threshold to determine if a refresh of the array of memory cells is needed.
    Type: Grant
    Filed: April 4, 2000
    Date of Patent: July 31, 2001
    Assignee: International Business Machines Corp.
    Inventors: Clair John Glossner, III, Erdem Hokenek, David Meltzer, Mayan Moudgill
  • Patent number: 6260189
    Abstract: The invention provides techniques for improving the performance of pipelined processors by eliminating unnecessary stalling of instructions. In an illustrative embodiment, a compiler is used to identify pipeline dependencies in a given set of instructions. The compiler then groups the set of instructions into a code block having a field which indicates the types of pipeline dependencies, if any, in the set of instructions. The field may indicate the types of pipeline dependencies by specifying which of a predetermined set of hazards arise in the plurality of instructions when executed on a given pipelined processor. For example, the field may indicate whether the code block includes any Read After Write (RAW) hazards, Write After Write (WAW) hazards or Write After Read (WAR) hazards. The code block may include one or more dynamic scheduling instructions, with each of the dynamic scheduling instructions including a set of instructions for execution in a multi-issue processor.
    Type: Grant
    Filed: September 14, 1998
    Date of Patent: July 10, 2001
    Assignee: Lucent Technologies Inc.
    Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Jesse Thilo, Stamatis Vassiliadis, Kent E. Wires
  • Patent number: 6256725
    Abstract: A processor is configured to include at least two architecturally-distinct storage spaces, such as, for example, a stack for storing control operands associated with one or more instructions, and a register file for storing computational operands associated with one or more instructions. The processor further includes a datapath which is at least partially shared by the stack and register file, a multiplexer operative to select an output of either the stack or the register file for application to an input of the shared datapath, and a demultiplexer operative to select an output of the shared datapath for application to an input of either the stack or the register file.
    Type: Grant
    Filed: December 4, 1998
    Date of Patent: July 3, 2001
    Assignee: Agere Systems Guardian Corp.
    Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Jesse Thilo, Kent E. Wires
  • Patent number: 6230251
    Abstract: The invention provides techniques for reducing the port pressure of a clustered processor. In an illustrative embodiment, the processor includes multiple clusters of execution units, with each of the clusters having a portion of a register file and a portion of a predicate file associated therewith, such that a given cluster is permitted to write to and read from its associated portions of the register and predicate files. A replication technique in accordance with the invention reduces port pressure by replicating, e.g., a register lock file and a predicate lock file of the processor for each of the clusters. The replicated files vary depending upon whether the technique is implemented with a write-only interconnection or a read-only interconnection.
    Type: Grant
    Filed: March 22, 1999
    Date of Patent: May 8, 2001
    Assignee: Agere Systems Guardian Corp.
    Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Kent E. Wires
  • Patent number: 6128720
    Abstract: A multi-processor array organization is dynamically configured by the inclusion of a configuration topology field in instructions broadcast to the processors in the array. Each of the processors in the array is capable of performing a customized data selection and storage, instruction execution, and result destination selection, by uniquely interpreting a broadcast instruction by using the identity of the processor executing the instruction. In this manner, processing elements in a large multi-processing array can be dynamically reconfigured and have their operations customized for each processor using broadcast instructions.
    Type: Grant
    Filed: April 10, 1997
    Date of Patent: October 3, 2000
    Assignee: International Business Machines Corporation
    Inventors: Gerald G. Pechanek, Larry D. Larsen, Clair John Glossner, Stamatis Vassiliaadis
  • Patent number: 6079010
    Abstract: A computer system supporting N different machine views, where N.gtoreq.2, includes a memory for storing instructions, a number of execution units for processing data based on execution controls, and N different decoders for generating the execution controls using instructions retrieved from the memory. Each of the N decoders is operative to decode retrieved instructions in accordance with one of the N machine views. A particular one of the N decoders to be used to decode a given retrieved instruction may be selected by a program running on the system. In one embodiment, the decoders for the N machine views are implemented as N separate decoders, and a multiplexer is used to select the output of one of the N decoders for connection to one or more of the execution units. In another embodiment, a set of reconfigurable hardware is dynamically reprogrammed to implement one or more of the N decoders as directed by the program running on the system.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: June 20, 2000
    Assignee: Lucent Technologies Inc.
    Inventors: Paul Gerard D'Arcy, Sanjay Jinturkar, C. John Glossner, Stamatis Vassiliadis
  • Patent number: 5682491
    Abstract: An array processor topology reconfiguration system and method enables processor elements in an array to dynamically reconfigure their mutual interconnection for the exchange of arithmetic results between the processors. Each processor element includes an interconnection switch which is controlled by an instruction decoder in the processor. Instructions are broadcast to all of the processors in the array. The instructions are uniquely interpreted at each respective processor in the array, depending upon the processor identity. The interpretation of the commonly broadcast instruction is uniquely performed at each processor by combining the processor identity for the executing processor, with a value in the instruction. The resulting control signals from the instruction decoder to the interconnection switch, provides for a customized linkage between the executing processor and other processors in the array.
    Type: Grant
    Filed: December 29, 1994
    Date of Patent: October 28, 1997
    Assignee: International Business Machines Corporation
    Inventors: Gerald G. Pechanek, Larry D. Larsen, Clair John Glossner, Stamatis Vassiliaadis, Daniel H. McCabe
  • Patent number: 5659785
    Abstract: A plurality of processor elements (PEs) are connected in a duster by a common instruction bus to a sequencing control unit with its associated instruction memory. Each PE has data buses connected to at least its four nearest PE neighbors, referred to as its North, South, East and West PE neighbors. Each PE also has a general purpose register file containing several operand registers. A common instruction is fetched from the instruction memory by the sequencing control unit and broadcast over the instruction bus to each PE in the cluster. The instruction includes an upcode value that controls the arithmetic or logical operation performed by an execution unit in the PE on one or more operands in the register file. A switch is included in each PE to interconnect it with a first PE neighbor as the destination to which the result from the execution unit is sent.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: August 19, 1997
    Assignee: International Business Machines Corporation
    Inventors: Gerald G. Pechanek, Larry D. Larsen, Clair John Glossner, Stamatis Vassiliaadis
  • Patent number: 5649135
    Abstract: A parallel processing system and method is disclosed, which provides an improved instruction distribution mechanism for a parallel processing array. The invention broadcasts a basic instruction to each of a plurality of processor elements. Each processor element decodes the same instruction by combining it with a unique offset value stored in each respective processor element, to produce a derived instruction that is unique to the processor element. A first type of basic instruction results in the processor element performing a logical or control operation. A second type of basic instruction results in the generation of a pointer address. The pointer address has a unique address value because it results from combining the basic instruction with the unique offset value stored at the processor element. The pointer address is used to access an alternative instruction from an alternative instruction storage, for execution in the processor element.
    Type: Grant
    Filed: January 17, 1995
    Date of Patent: July 15, 1997
    Assignee: International Business Machines Corporation
    Inventors: Gerald G. Pechanek, Clair John Glossner, Larry D. Larsen, Stamatis Vassiliadis