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: 6665790Abstract: 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: GrantFiled: February 29, 2000Date of Patent: December 16, 2003Assignee: International Business Machines CorporationInventors: Clair John Glossner, III, Erdem Hokenek, David Meltzer, Mayan Moudgill
-
Publication number: 20030225975Abstract: 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: ApplicationFiled: June 4, 2002Publication date: December 4, 2003Inventors: Erdem Hokenek, C. John Glossner, Arthur Joseph Hoane, Mayan Moudgill, Shenghong Wang
-
Publication number: 20030225976Abstract: 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: ApplicationFiled: June 4, 2002Publication date: December 4, 2003Inventors: Erdem Hokenek, C. John Glossner, Arthur Joseph Hoane, Mayan Moudgill, Shenghong Wang
-
Publication number: 20030120901Abstract: 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: ApplicationFiled: October 11, 2002Publication date: June 26, 2003Inventors: Erdem Hokenek, Mayan Moudgill, C. John Glossner
-
Publication number: 20020161987Abstract: 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: ApplicationFiled: April 30, 2001Publication date: October 31, 2002Inventors: Erik R. Altman, Clair John Glossner, Erdem Hokenek, David Meltzer, Mayan Moudgill
-
Publication number: 20020112193Abstract: 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: ApplicationFiled: February 9, 2001Publication date: August 15, 2002Applicant: International Business Machines CorporationInventors: Erik R. Altman, Clair John Glossner, Erdem Hokenek, David Meltzer, Mayan Moudgill
-
Patent number: 6317821Abstract: 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: GrantFiled: May 18, 1998Date of Patent: November 13, 2001Assignee: Lucent Technologies Inc.Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Jesse Thilo
-
Patent number: 6282585Abstract: 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: GrantFiled: March 22, 1999Date of Patent: August 28, 2001Assignee: Agere Systems Guardian Corp.Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Kent E. Wires
-
Duplicator interconnection methods and apparatus for reducing port pressure in a clustered processor
Patent number: 6269437Abstract: 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: GrantFiled: March 22, 1999Date of Patent: July 31, 2001Assignee: Agere Systems Guardian Corp.Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Kent E. Wires -
Patent number: 6269039Abstract: 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: GrantFiled: April 4, 2000Date of Patent: July 31, 2001Assignee: International Business Machines Corp.Inventors: Clair John Glossner, III, Erdem Hokenek, David Meltzer, Mayan Moudgill
-
Patent number: 6260189Abstract: 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: GrantFiled: September 14, 1998Date of Patent: July 10, 2001Assignee: Lucent Technologies Inc.Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Jesse Thilo, Stamatis Vassiliadis, Kent E. Wires
-
Patent number: 6256725Abstract: 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: GrantFiled: December 4, 1998Date of Patent: July 3, 2001Assignee: Agere Systems Guardian Corp.Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Jesse Thilo, Kent E. Wires
-
Patent number: 6230251Abstract: 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: GrantFiled: March 22, 1999Date of Patent: May 8, 2001Assignee: Agere Systems Guardian Corp.Inventors: Dean Batten, Paul Gerard D'Arcy, C. John Glossner, Sanjay Jinturkar, Kent E. Wires
-
Patent number: 6128720Abstract: 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: GrantFiled: April 10, 1997Date of Patent: October 3, 2000Assignee: International Business Machines CorporationInventors: Gerald G. Pechanek, Larry D. Larsen, Clair John Glossner, Stamatis Vassiliaadis
-
Patent number: 6079010Abstract: 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: GrantFiled: March 31, 1998Date of Patent: June 20, 2000Assignee: Lucent Technologies Inc.Inventors: Paul Gerard D'Arcy, Sanjay Jinturkar, C. John Glossner, Stamatis Vassiliadis
-
Patent number: 5682491Abstract: 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: GrantFiled: December 29, 1994Date of Patent: October 28, 1997Assignee: International Business Machines CorporationInventors: Gerald G. Pechanek, Larry D. Larsen, Clair John Glossner, Stamatis Vassiliaadis, Daniel H. McCabe
-
Patent number: 5659785Abstract: 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: GrantFiled: February 10, 1995Date of Patent: August 19, 1997Assignee: International Business Machines CorporationInventors: Gerald G. Pechanek, Larry D. Larsen, Clair John Glossner, Stamatis Vassiliaadis
-
Patent number: 5649135Abstract: 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: GrantFiled: January 17, 1995Date of Patent: July 15, 1997Assignee: International Business Machines CorporationInventors: Gerald G. Pechanek, Clair John Glossner, Larry D. Larsen, Stamatis Vassiliadis