Patents by Inventor Richard James Eickemeyer
Richard James Eickemeyer 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: 6697935Abstract: A system and method for performing computer processing operations in a data processing system includes a multithreaded processor and thread switch logic. The multithreaded processor is capable of switching between two or more threads of instructions which can be independently executed. Each thread has a corresponding state in a thread state register depending on its execution status. The thread switch logic contains a thread switch control register to store the conditions upon which a thread switch will occur. The thread switch logic has a time-out register which forces a thread switch when execution of the active thread in the multithreaded processor exceeds a programmable period of time. Thread switch logic also has a forward progress count register to prevent repetitive thread switching between threads in the multithreaded processor. Thread switch logic also is responsive to a software manager capable of changing the priority of the different threads and thus superseding thread switch events.Type: GrantFiled: October 23, 1997Date of Patent: February 24, 2004Assignee: International Business Machines CorporationInventors: John Michael Borkenhagen, Richard James Eickemeyer, William Thomas Flynn, Andrew Henry Wottreng
-
Patent number: 6694425Abstract: In a simultaneous multithread processor, a flush mechanism of a shared pipeline stage is disclosed. In the preferred embodiment, the shared pipeline stage happens to be one or all of the fetch stage, the decode stage, and/or the dispatch stage and the flush mechanism flushes instructions at the dispatch stage and earlier stages. The dispatch flush mechanism detects when an instruction of a particular thread is stalled at the dispatch stage of the pipelined processor. Subsequent instructions of that thread are flushed from all pipeline stages of the processor up to and including the dispatch stage. The dispatch stage is distinguished as being the stage in which all resources necessary for the successful dispatch of the instruction to the issue queues are checked. If a resource required only by that instruction is unavailable, then a dispatch flush is performed. Flush prioritization logic is available to determine if other flush conditions, including a previous dispatch flush, exist for that particular thread.Type: GrantFiled: May 4, 2000Date of Patent: February 17, 2004Assignee: International Business Machines CorporationInventor: Richard James Eickemeyer
-
Patent number: 6567839Abstract: A system and method for performing computer processing operations in a data processing system includes a multithreaded processor and thread switch logic. The multithreaded processor is capable of switching between two or more threads of instructions which can be independently executed. Each thread has a corresponding state in a thread state register depending on its execution status. The thread switch logic contains a thread switch control register to store the conditions upon which a thread switch can occur. Upon the occurrence of a thread switch event, the state and priority of all threads are dynamically interrogated to determine which thread should be the active thread executing the processor. The thread switch logic has a time-out register which forces a thread switch when execution of the active thread in the multithreaded processor exceeds a programmable period of time.Type: GrantFiled: October 23, 1997Date of Patent: May 20, 2003Assignee: International Business Machines CorporationInventors: John Michael Borkenhagen, Richard James Eickemeyer, William Thomas Flynn, Sheldon Bernard Levenstein, Andrew Henry Wottreng
-
Publication number: 20030005263Abstract: A queue, such as a first-in first-out queue, is incorporated into a processing device, such as a multithreaded pipeline processor. The queue may store the resources of more than one thread in the processing device such that the entries of one thread may be interspersed among the entries of another thread. The entries of each thread may be identified by a thread identification, a valid marker to indicate if the resources within the entry are valid, and a bank number. For a particular thread, the bank number tracks the number of times a head pointer pertaining to the first entry has passed a tail pointer. In this fashion, empty entries may be used and the resources may be efficiently allocated. In a preferred embodiment, the shared resource queue may be implemented into an in-order multithreaded pipelined processor as a queue storing resources to be dispatched for execution of instructions.Type: ApplicationFiled: June 28, 2001Publication date: January 2, 2003Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Richard James Eickemeyer, Steven R. Kunkel, Hung Q. Le
-
Publication number: 20020156999Abstract: A mixed-mode multithreading processor is provided. In one embodiment, the multi-mode multithreading processor includes a multithreaded register file with a plurality of registers, a thread control unit, and a plurality of hold latches. Each of the hold latches and registers stores data representing a first instruction thread and a second instruction thread. The thread control unit provides thread control signals to each of the hold latches and registers selecting a thread using the data. The thread control unit provides control signals for interleaving multithreading except when a long latency operation is detected in one of the threads. During a predetermined period corresponding approximately to the duration of the long latency operation, the thread control unit places the processor in a mode in which only instructions corresponding to the other thread are read out of the hold latches and registers. Once the predetermined period of time has expired, the processor returns to interleaving multithreading.Type: ApplicationFiled: April 19, 2001Publication date: October 24, 2002Applicant: International Business Machines CorporationInventors: Richard James Eickemeyer, Harm Peter Hofstee, Charles Roberts Moore, Ravi Nair
-
Patent number: 6393552Abstract: A method and implementing system are provided in which processor registers are divided into sectors and such sectors are individually renamed. In one embodiment, the register file is divided into sectors such that the smallest accessible unit for an instruction set in each register can be uniquely addressed and renamed thereby providing additional effective registers for renaming.Type: GrantFiled: June 19, 1998Date of Patent: May 21, 2002Assignee: International Business Machines CorporationInventors: Richard James Eickemeyer, Nadeem Malik, Alan Vicha Pita, Avijit Saha
-
Patent number: 6336160Abstract: A method and system for dividing computer processor registers into sectors and storing frequently used data in the most significant unused sectors. The method includes sector renaming that is performed on each individual sector (i.e., on a sector-by-sector basis) rather than renaming an entire processor register. A register is divided into sectors such that the smallest accessible unit for an instruction in each register can be uniquely addressed and renamed. A register file is divided into sectors so that each process register can be uniquely addressed and renamed. The most significant sectors of the processor registers are used to hold pre-assigned values therein. Data previously loaded into processor register sectors is stored in the most significant sectors of the processor registers for possible future referencing and use. The method also includes establishing a sign-extend memory that includes at least one sign-extend bit in a sector status table.Type: GrantFiled: June 19, 1998Date of Patent: January 1, 2002Assignee: International Business Machines CorporationInventors: Richard James Eickemeyer, Nadeem Malik, Alan Vicha Pita, Avijit Saha
-
Publication number: 20010054137Abstract: A data processing system, circuit arrangement, integrated circuit device, program product, and method selectively prefetch a non-cached target memory address for a branch instruction when the target memory address is in a predetermined portion of a memory address space, e.g., within a predetermined number of cache lines from a branch instruction being processed. By prefetching the non-cached target memory addresses for this subclass of branch instructions, the delays associated with retrieving the target memory addresses from higher order memory are minimized. Moreover, by limiting such prefetching to only this subclass of branch instructions, the frequency of retrieval of unneeded data into the cache is often reduced.Type: ApplicationFiled: June 10, 1998Publication date: December 20, 2001Inventors: RICHARD JAMES EICKEMEYER, PHILIP ROGERS HILLIER III
-
Patent number: 6105051Abstract: A system and method for performing computer processing operations in a data processing system includes a multithreaded processor and thread switch logic. The multithreaded processor is capable of switching between two or more threads of instructions which can be independently executed. Each thread has a corresponding state in a thread state register depending on its execution status. The thread switch logic contains a thread switch control register to store the conditions upon which a thread will occur. The thread switch logic has a time-out register which forces a thread switch when execution of the active thread in the multithreaded processor exceeds a programmable period of time. Thread switch logic also has a forward progress count register to prevent repetitive thread switching between threads in the multithreaded processor. Thread switch logic also is responsive to a software manager capable of changing the priority of the different threads and thus superseding thread switch events.Type: GrantFiled: October 23, 1997Date of Patent: August 15, 2000Assignee: International Business Machines CorporationInventors: John Michael Borkenhagen, Richard James Eickemeyer, William Thomas Flynn, Steven R. Kunkel, Sheldon Bernard Levenstein, Andrew Henry Wottreng
-
Patent number: 6076157Abstract: A system and method for performing computer processing operations in a data processing system includes a multithreaded processor and thread switch logic. The multithreaded processor is capable of switching between two or more threads of instructions which can be independently executed. Each thread has a corresponding state in a thread state register depending on its execution status. The thread switch logic contains a thread switch control register to store the conditions upon which a thread will occur. The thread switch logic has a time-out register which forces a thread switch when execution of the active thread in the multithreaded processor exceeds a programmable period of time. Thread switch logic also has a forward progress count register to prevent repetitive thread switching between threads in the multithreaded processor. Thread switch logic also is responsive to a software manager capable of changing the priority of the different threads and thus superseding thread switch events.Type: GrantFiled: October 23, 1997Date of Patent: June 13, 2000Assignee: International Business Machines CorporationInventors: John Michael Borkenhagen, Richard James Eickemeyer, William Thomas Flynn, Andrew Henry Wottreng
-
Patent number: 6061710Abstract: A method of using multithreading resources for improving handling instructions is operated by an improved multithreaded processor which includes a context select logic unit being arranged and configured for receiving and responding an interrupt including: a first controller for setting a pending thread latch when a hardware context is not available for executing a new thread for servicing the interrupt.Type: GrantFiled: October 29, 1997Date of Patent: May 9, 2000Assignee: International Business Machines CorporationInventors: Richard James Eickemeyer, Harold F. Kossman
-
Patent number: 6049867Abstract: A method and system for enhanced performance multithread operation in a data processing system which includes a processor, a main memory store and at least two levels of cache memory. At least one instruction within an initial thread is executed. Thereafter, the state of the processor at a selected point within the first thread is stored, execution of the first thread is terminated and a second thread is selected for execution only in response to a level two or higher cache miss, thereby minimizing processor delays due to memory latency. The validity state of each thread is preferably maintained in order to minimize the likelihood of returning to a prior thread for execution before the cache miss has been corrected. A least recently executed thread is preferably selected for execution in the event of a nonvalidity indication in association with all remaining threads, in anticipation of a change to the valid status of that thread prior to all other threads.Type: GrantFiled: August 4, 1997Date of Patent: April 11, 2000Assignee: International Business Machines CorporationInventors: Richard James Eickemeyer, Ross Evan Johnson, Harold F. Kossman, Steven Raymond Kunkel, Timothy John Mullins, James Allen Rose
-
Patent number: 6021481Abstract: An effective-to-real address translation cache management apparatus and method utilizes an effective-to-real address translation cache segment register latch having a bit corresponding to each of the segment registers. When a segment register is utilized to perform an effective-to-real address translation, which is stored in the effective-to-real address translation cache, the corresponding bit in the effective-to-real address translation cache segment register latch is set. In this way, a record is kept of which segment registers are currently mapped in the effective-to-real address translation cache. When a move to segment register instruction alters the content of a segment register, then the effective-to-real address translation cache segment register latch is examined to determine if that segment register has been mapped in the effective-to-real address translation cache. If so, then an effective-to-real address translation cache invalidation latch is set.Type: GrantFiled: November 10, 1997Date of Patent: February 1, 2000Assignee: International Business Machines CorporationInventors: Richard James Eickemeyer, Ronald Nick Kalla
-
Patent number: 5878243Abstract: A method and apparatus for reducing the number of cycles required to implement load instructions in a data processing system having a Central Processing Unit (CPU). The CPU includes a rename register file that can be used in whole or in part for retaining cache lines from previously executed load instructions. The rename register file is then used by subsequent instructions (e.g. load instructions) requiring the data previously loaded therein. Thus, reducing the cycles normally associated with retrieving the data from the cache for the subsequent instructions.Type: GrantFiled: March 25, 1997Date of Patent: March 2, 1999Assignee: International Business Machines Corp.Inventors: Richard James Eickemeyer, Nadeem Malik, Avijit Saha, Charles Gorham Ward
-
Patent number: 5802564Abstract: A method and apparatus for reducing the number of cycles required to implement load instructions in a data processing system having a Central Processing Unit (CPU). The CPU includes a cache register file, indexed via the offset field of the load instruction, for retaining cache lines from previously executed load instructions. The cache register file is then used by subsequent instructions (e.g. load instructions) requiring the data previously loaded therein. Thus, reducing the cycles normally associated with retrieving the data from the cache for the subsequent instructions.Type: GrantFiled: July 8, 1996Date of Patent: September 1, 1998Assignee: International Business Machines Corp.Inventors: Richard James Eickemeyer, Nadeem Malik, Avijit Saha, Charles Gorham Ward
-
Patent number: 5778208Abstract: A flexible pipeline for reducing performance limiting pipeline interlocks in the execution of programs. The pipeline architecture includes for each pipeline a fetch stage, a decode stage, an execution stage, a hybrid memory/execution stage, and a write back stage. When the result from the execution stage of a first pipeline is not available to a second pipeline until the write back stage of the first pipeline as a consequence of an interlock, the execution stage of the second pipeline may be delayed at least one execution cycle so that the executable functions are performed in the hybrid memory/execution stage or fourth stage of the second pipeline. The result from the execution stage is obtained either by a calculation of the effective address of a memory location or by performing arithmetic/logical unit (ALU) functions.Type: GrantFiled: December 18, 1995Date of Patent: July 7, 1998Assignee: International Business Machines CorporationInventors: Richard James Eickemeyer, Nadeem Malik, Avijit Saha
-
Patent number: 5652774Abstract: A method and apparatus for reducing the number of cycles required to implement load instructions in a data processing system having a Central Processing Unit (CPU). The CPU includes a rename register file that can be used in whole or in part for retaining cache lines from previously executed load instructions. The rename register file is then used by subsequent instructions (e.g. load instructions) requiring the data previously loaded therein. Thus, reducing the cycles normally associated with retrieving the data from the cache for the subsequent instructions.Type: GrantFiled: July 8, 1996Date of Patent: July 29, 1997Assignee: International Business Machines CorporationInventors: Richard James Eickemeyer, Nadeem Malik, Avijit Saha, Charles Gorham Ward
-
Patent number: 5651136Abstract: Logic for decreasing the number of cache lines dedicated to user data. When pools for allocation are selected using a dynamic storage allocation procedure, the size of a data block is compared to the size of the allocated pool. If the comparison results meet a predetermined criterion, the logic aligns the data to the beginning of a cache line and places the header in a separate cache line that may be deallocated. And if the data will fit within one-half of a cache slot in the allocated pool, then the line or lines having the header data can be re-used as the header is deallocated. Otherwise, user data blocks are placed in cache lines that are spatially local.Type: GrantFiled: June 6, 1995Date of Patent: July 22, 1997Assignee: International Business Machines CorporationInventors: James L. Denton, Richard James Eickemeyer, Kevin Curtis Griffin, Ross Evan Johnson, Steven Raymond Kunkel, Mikko Herman Lipasti, Sandra Kay Ryan