Patents by Inventor Joseph I. Chamdani
Joseph I. Chamdani 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: 6938147Abstract: A processor reduces wasted cycle time resulting from stalling and idling, and increases the proportion of execution time, by supporting and implementing both vertical multithreading and horizontal multithreading. Vertical multithreading permits overlapping or “hiding” of cache miss wait times. In vertical multithreading, multiple hardware threads share the same processor pipeline. A hardware thread is typically a process, a lightweight process, a native thread, or the like in an operating system that supports multithreading. Horizontal multithreading increases parallelism within the processor circuit structure, for example within a single integrated circuit die that makes up a single-chip processor. To further increase system parallelism in some processor embodiments, multiple processor cores are formed in a single die. Advances in on-chip multiprocessor horizontal threading are gained as processor core sizes are reduced through technological advancements.Type: GrantFiled: May 11, 1999Date of Patent: August 30, 2005Assignee: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Patent number: 6920601Abstract: Generating a check matrix includes defining a generator function operable to yield check bits associated with a word. A set of primitive elements is calculated from the generator function. A set of check matrix columns is generated, where each check matrix column includes a matrix having a subset of the set of primitive elements. A check matrix is generated from a subset of the set of check matrix columns, where the check matrix yields a syndrome that comprises an error pattern for the word. The check matrix is reported.Type: GrantFiled: April 8, 2002Date of Patent: July 19, 2005Assignee: Sanera Systems Inc.Inventors: Ulrich Stern, Joseph I. Chamdani, Yu Fang, Liuxi Yang
-
Patent number: 6920588Abstract: Transmitting data includes receiving a serial sequence of code words. Each code word includes a word and check bits, where the word includes a sequence of word symbols, and the check bits includes a sequence of check bit symbols. The following is repeated until a last word symbol of a last code word is reached: selecting a next code word, and inserting a next word symbol of the selected code word into a vector. The following is repeated until a last check bit symbol of the last code word is reached: selecting a next code word, and inserting a next check bit symbol of the selected code word into the vector. The vector is transmitted.Type: GrantFiled: April 8, 2002Date of Patent: July 19, 2005Assignee: Sanera Systems Inc.Inventors: Liuxi Yang, Yu Fang, Ulrich Stern, Joseph I. Chamdani
-
Patent number: 6801997Abstract: A processor includes logic for tagging a thread identifier (TID) for usage with processor blocks that are not stalled. Pertinent non-stalling blocks include caches, translation look-aside buffers (TLB), a load buffer asynchronous interface, an external memory management unit (MMU) interface, and others. A processor includes a cache that is segregated into a plurality of N cache parts. Cache segregation avoids interference, “pollution”, or “cross-talk” between threads. One technique for cache segregation utilizes logic for storing and communicating thread identification (TID) bits. The cache utilizes cache indexing logic. For example, the TID bits can be inserted at the most significant bits of the cache index.Type: GrantFiled: May 23, 2002Date of Patent: October 5, 2004Assignee: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Publication number: 20040162971Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.Type: ApplicationFiled: February 17, 2004Publication date: August 19, 2004Applicant: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Patent number: 6694347Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.Type: GrantFiled: February 12, 2002Date of Patent: February 17, 2004Assignee: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Publication number: 20030191927Abstract: A processor reduces wasted cycle time resulting from stalling and idling, and increases the proportion of execution time, by supporting and implementing both vertical multithreading and horizontal multithreading. Vertical multithreading permits overlapping or “hiding” of cache miss wait times. In vertical multithreading, multiple hardware threads share the same processor pipeline. A hardware thread is typically a process, a lightweight process, a native thread, or the like in an operating system that supports multithreading. Horizontal multithreading increases parallelism within the processor circuit structure, for example within a single integrated circuit die that makes up a single-chip processor. To further increase system parallelism in some processor embodiments, multiple processor cores are formed in a single die. Advances in on-chip multiprocessor horizontal threading are gained as processor core sizes are reduced through technological advancements.Type: ApplicationFiled: March 31, 2003Publication date: October 9, 2003Applicant: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Patent number: 6542991Abstract: A processor includes logic for tagging a thread identifier (TID) for usage with processor blocks that are not stalled. Pertinent non-stalling blocks include caches, translation look-aside buffers (TLB), a load buffer asynchronous interface, an external memory management unit (MMU) interface, and others. A processor includes a cache that is segregated into a plurality of N cache parts. Cache segregation avoids interference, “pollution”, or “cross-talk” between threads. One technique for cache segregation utilizes logic for storing and communicating thread identification (TID) bits. The cache utilizes cache indexing logic. For example, the TID bits can be inserted at the most significant bits of the cache index.Type: GrantFiled: May 11, 1999Date of Patent: April 1, 2003Assignee: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Publication number: 20030014612Abstract: A processor improves throughput efficiency and exploits increased parallelism by introducing multithreading to an existing and mature processor core. The multithreading is implemented in two steps including vertical multithreading and horizontal multithreading. The processor core is retrofitted to support multiple machine states. System embodiments that exploit retrofitting of an existing processor core advantageously leverage hundreds of man-years of hardware and software development by extending the lifetime of a proven processor pipeline generation. A processor implements N-bit flip-flop global substitution. To implement multiple machine states, the processor converts 1-bit flip-flops in storage cells of the stalling vertical thread to an N-bit global flip-flop where N is the number of vertical threads.Type: ApplicationFiled: May 11, 1999Publication date: January 16, 2003Inventors: WILLIAM N. JOY, MARC TREMBLAY, GARY LAUTERBACH, JOSEPH I. CHAMDANI
-
Patent number: 6507862Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.Type: GrantFiled: May 11, 1999Date of Patent: January 14, 2003Assignee: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Patent number: 6487715Abstract: A method of reordering instructions. Barrier instructions are determined. The method determines when a processor stall may occur, and hoists subsequent instructions to fill in the stall time. However, instructions are not hoisted above the barrier instructions. Barrier instructions include branch instructions, store and load instructions, and instructions which, if hoisted, cause the number of available registers to be exceeded. The method produces a reordered instruction trace and statistics regarding the effectiveness of the reordering.Type: GrantFiled: April 16, 1999Date of Patent: November 26, 2002Assignee: Sun Microsystems, Inc.Inventors: Joseph I. Chamdani, Gary Lauterbach, William Lynch
-
Publication number: 20020138717Abstract: A processor includes logic for tagging a thread identifier (TID) for usage with processor blocks that are not stalled. Pertinent non-stalling blocks include caches, translation look-aside buffers (TLB), a load buffer asynchronous interface, an external memory management unit (MMU) interface, and others. A processor includes a cache that is segregated into a plurality of N cache parts. Cache segregation avoids interference, “pollution”, or “cross-talk” between threads. One technique for cache segregation utilizes logic for storing and communicating thread identification (TID) bits. The cache utilizes cache indexing logic. For example, the TID bits can be inserted at the most significant bits of the cache index.Type: ApplicationFiled: May 23, 2002Publication date: September 26, 2002Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Patent number: 6433603Abstract: An integrated circuit device for synchronization of data in a data path includes a driver and a storage element coupled to the driver for driving the storage element. The storage element is coupled to the data path outside the data path. The integrated circuit employs a method of operation including passing a time pulse, sampling data during the time pulse, passing the data to a computation logic along a data path, and storing the sampled data in a storage element connected to but outside the data path.Type: GrantFiled: August 14, 2000Date of Patent: August 13, 2002Assignee: Sun Microsystems, Inc.Inventors: Gajendra P. Singh, Joseph I. Chamdani
-
Patent number: 6420903Abstract: A vertical multi-threading processor includes one or more execution pipelines that are formed from a plurality of multiple-bit pipeline register flip-flops. The multiple-bit pipeline register flip-flops supply multiple storage bits. The individual bits of a multiple-bit pipeline register flip-flop store data for one of respective multiple threads or processes. When an executing (first) process stalls due to a stall condition, for example a cache miss, an active bit of the multiple-bit register flip-flop is stalled, removed from activity on the pipeline, and a previously inactive bit becomes active for executing a previously inactive (second) process. All states of the stalled first process are preserved in a temporarily inactive bit of the individual multiple-bit register flip-flop in each pipeline stage.Type: GrantFiled: August 14, 2000Date of Patent: July 16, 2002Assignee: Sun Microsystems, Inc.Inventors: Gajendra P. Singh, Joseph I. Chamdani, Renu Raman
-
Publication number: 20020078122Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.Type: ApplicationFiled: February 12, 2002Publication date: June 20, 2002Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Vertically and horizontally threaded processor with multidimensional storage for storing thread data
Patent number: 6351808Abstract: A processor includes a “four-dimensional” register structure in which register file structures are replicated by N for vertical threading in combination with a three-dimensional storage circuit. The multi-dimensional storage is formed by constructing a storage, such as a register file or memory, as a plurality of two-dimensional storage planes.Type: GrantFiled: May 11, 1999Date of Patent: February 26, 2002Assignee: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani -
Patent number: 6341347Abstract: A processor includes a thread switching control logic that performs a fast thread-switching operation in response to an L1 cache miss stall. The fast thread-switching operation implements one or more of several thread-switching methods. A first thread-switching operation is “oblivious” thread-switching for every N cycle in which the individual flip-flops locally determine a thread-switch without notification of stalling. The oblivious technique avoids usage of an extra global interconnection between threads for thread selection. A second thread-switching operation is “semi-oblivious” thread-switching for use with an existing “pipeline stall” signal (if any). The pipeline stall signal operates in two capacities, first as a notification of a pipeline stall, and second as a thread select signal between threads so that, again, usage of an extra global interconnection between threads for thread selection is avoided.Type: GrantFiled: May 11, 1999Date of Patent: January 22, 2002Assignee: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Patent number: 6311261Abstract: The invention involves new microarchitecture apparatus and methods for superscalar microprocessors that support multi-instruction issue, decoupled dataflow scheduling, out-of-order execution, register renaming, multi-level speculative execution, and precise interrupts. These are the Distributed Instruction Queue (DIQ) and the Modified Reorder Buffer (MRB). The DIQ is a new distributed instruction shelving technique that is an alternative to the reservation station (RS) technique and offers a more efficient (improved performance/cost) implementation. The Modified Reorder Buffer (MRB) is an improved reorder buffer (RB) result shelving technique eliminates the slow and expensive prioritized associative lookup, shared global buses, and dummy branch entries (to reduce entry usage). The MRB has an associateive key unit which uses a unique associative key.Type: GrantFiled: September 15, 1997Date of Patent: October 30, 2001Assignee: Georgia Tech Research CorporationInventors: Joseph I. Chamdani, Cecil O. Alford
-
Patent number: 6112019Abstract: A distributed instruction queue (DIQ) in a superscalar microprocessor supports multi-instruction issue, decoupled data flow scheduling, out-of-order execution, register renaming, multi-level speculative execution, and precise interrupts. The DIQ provides distributed instruction shelving without storing register values, operand value copying, and result value forwarding, and supports in-order issue as well as out-of-order issue within its functional unit. The DIQ allows a reduction in the number of global wires and replacement with private-local wires in the processor. The DIQ's number of global wires remains the same as the number of DIQ entries and data size increases. The DIQ maintains maximum machine parallelism and the actual performance of the microprocessor using the DIQ is better due to reduced cycle time or more operations executed per cycle.Type: GrantFiled: June 12, 1995Date of Patent: August 29, 2000Assignee: Georgia Tech Research Corp.Inventors: Joseph I. Chamdani, Cecil O. Alford
-
Patent number: 6058466Abstract: A system of executing coded instructions in a dynamically configurable multiprocessor having shared execution resources including steps of placing a first processor in an active state upon booting of the multiprocessor. In response to a processor create command, a second processor is placed in an active state. When either the first or second processor encounter a cache miss that has to be serviced by off-chip cache the processor requiring service is placed in nap state in which instruction fetching for that processor is disabled. When either the first or second processor encounter a cache miss that has to be serviced by main memory, the processor requiring services is placed in a sleep state by flushing all instructions from the processor in the sleep state and disabling instruction fetching for the processor in the sleep state.Type: GrantFiled: June 24, 1997Date of Patent: May 2, 2000Assignee: Sun Microsystems, Inc.Inventors: Ramesh Panwar, Joseph I. Chamdani