Patents by Inventor Jonathan DeMent

Jonathan DeMent 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: 20070288762
    Abstract: A system and method for masking a boot sequence by providing a dummy processor are provided. With the system and method, one of the processors of a multiprocessor system is chosen to be a boot processor. The other processors of the multiprocessor system execute masking code that generates electromagnetic and/or thermal signatures that mask the electromagnetic and/or thermal signatures of the actual boot processor. The execution of the masking code on the non-boot processors preferably generates electromagnetic and/or thermal signatures that approximate the signatures of the actual boot code execution on the boot processor. One of the non-boot processors is selected to execute masking code that is different from the other masking code sequence to thereby generate a electromagnetic and/or thermal signature that appears to be unique from an external monitoring perspective.
    Type: Application
    Filed: June 9, 2006
    Publication date: December 13, 2007
    Inventors: Jason Dale, Jonathan DeMent, Clark O'Niell, Steven Roberts
  • Publication number: 20070250667
    Abstract: A computer implemented method, apparatus, and computer usable program code for managing replacement of sets in a locked cache. Responsive to a cache access by a program, a side of a binary tree pointed to by a base leaf is identified. A determination is made as to whether a number of accesses to the identified side of the binary tree equals a number of sets associated with the program on the identified side. The base leaf is changed to point to an opposite side of the binary tree if the number of accesses to the identified side equals the number of sets associated with the program on the identified side.
    Type: Application
    Filed: April 25, 2006
    Publication date: October 25, 2007
    Inventors: JONATHAN DEMENT, Ronald Hall, Brian Hanley, Kevin Stelzer
  • Publication number: 20070198812
    Abstract: An information handling system includes a processor that issues instructions out of program order. The processor includes an issue queue that may advance instructions toward issue even though some instructions in the queue are not ready-to-issue. The issue queue includes a main array of storage cells and an auxiliary array of storage cells coupled thereto. When a particular row of the main array includes an instruction that is not ready-to-issue, a stall condition occurs for that instruction. However, to prevent the entire issue queue and processor from stalling, a ready-to-issue instruction in another row of the main array may bypass the row including the stalled or not-ready-to-issue instruction. To effect this bypass, the issue queue moves the ready-to-issue instruction to an issue row of the auxiliary array for issuance to an appropriate execution unit. Out-of-order issuance of instructions to the execution units thus continues despite the stalled instruction.
    Type: Application
    Filed: September 27, 2005
    Publication date: August 23, 2007
    Applicant: IBM Corporation
    Inventors: Christopher Abernathy, Jonathan DeMent, Kurt Feiste, David Shippy
  • Publication number: 20070118726
    Abstract: A system and method for dynamic switching between performance schemes is presented. The software program uses an instruction to indicate whether a pacing performance scheme or a flushing performance scheme is to be used. The selection by the software program is stored in a hardware register that the processor uses to determine whether the pacing or flushing performance scheme is used. After setting the performance scheme, subsequent instructions of the software program will be executed using the selected performance scheme. The pacing performance scheme preemptively stalls an instruction that might overload the queue that stores instructions for the Load/Store Unit (LSU). The flushing performance scheme flushes instructions when the LSU storage queue is overloaded and holds the thread that caused the overflow dormant until the queue is no longer full.
    Type: Application
    Filed: November 22, 2005
    Publication date: May 24, 2007
    Inventors: Christopher Abernathy, Jonathan DeMent, David Shippy, Albert Nordstrand
  • Publication number: 20070113044
    Abstract: A method and an apparatus are provided for efficiently managing the operation of a translation buffer. A software and hardware apparatus and method are utilized to pre-load a translation buffer to prevent poor operation as a result of slow warming of a cache. A software pre-load mechanism may be provided for preloading a translation lookaside buffer (TLB) via a hardware implemented controller. Following preloading of the TLB, control of accessing the TLB may be handed over to the hardware implemented controller. Upon an application context switch operation, the software preload mechanism may be utilized again to preload the TLB with new translation information for the newly active application instance.
    Type: Application
    Filed: January 9, 2007
    Publication date: May 17, 2007
    Inventors: Michael Day, Jonathan DeMent, Charles Johns
  • Publication number: 20070083734
    Abstract: A method, an apparatus and a computer program product are provided for the managing of SIMD instructions and GP instructions within an instruction pipeline of a processor. The SIMD instructions and the GP instructions share the same “front-end” pipelines within an Instruction Unit. Within the shared pipelines the Instruction Unit checks the GP instructions for dependencies and resolves these dependencies. At the dispatch point within the pipelines the Instruction Unit sends valid GP instructions to the GP Unit and SIMD instructions to an SIMD issue queue. In the SIMD issue queue the Instruction Unit checks the SIMD instructions for dependencies and resolves these dependencies. Then the SIMD issue queue dispatches the SIMD instructions to the SIMD Unit. Accordingly, dependencies involving SIMD instructions do not affect GP instructions because the SIMD dependencies are checked and resolved independently.
    Type: Application
    Filed: August 16, 2005
    Publication date: April 12, 2007
    Inventors: Christopher Abernathy, Jonathan DeMent, Ronald Hall, David Shippy
  • Publication number: 20070074059
    Abstract: A system and method for dynamic power management in a processor design is presented. A pipeline stage's stall detection logic detects a stall condition, and sends a signal to idle detection logic to gate off the pipeline's register clocks. The stall detection logic also monitors a downstream pipeline stage's stall condition, and instructs the idle detection logic to gate off the pipeline stage's registers when the downstream pipeline stage is in a stall condition as well. In addition, when the pipeline stage's stall detection logic detects a stall condition, either from the downstream pipeline stage or from its own pipeline units, the pipeline stage's stall detection logic informs an upstream pipeline stage to gate off its clocks and thus, conserve more power.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Inventors: Christopher Abernathy, Jonathan DeMent, Ronald Hall, Robert Philhower, David Shippy
  • Publication number: 20070074005
    Abstract: An information handling system includes a processor that issues instructions out of program order. The processor includes an issue queue that may advance instructions toward issue even though some instructions in the queue are not ready-to-issue. The issue queue includes a matrix of storage cells configured in rows and columns including a first row that couples to execution units. Instructions advance toward issuance from row to row as unoccupied storage cells appear. Unoccupied cells appear when instructions advance toward the first row and upon issuance. When a particular row includes an instruction that is not ready-to-issue a stall condition occurs for that instruction. However, to prevent the entire issue queue and processor from stalling, a ready-to-issue instruction in another row may bypass the row including the stalled or not-ready-to-issue instruction. Out-of-order issuance of instructions to the execution units thus continues.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Applicant: IBM Corporation
    Inventors: Christopher Abernathy, Jonathan DeMent, Kurt Feiste, David Shippy
  • Publication number: 20070043931
    Abstract: A system and method for a high frequency stall design is presented. An issue unit includes a first instruction stage, a second instruction stage, and issue control logic. During a first instruction cycle, the issue unit performs two tasks, which are 1) the instructions located in the first instruction stage are moved to a second instruction stage, and 2) the issue control logic determines whether to issue or stall the instructions that are moved to the second instruction stage based upon their particular instruction attributes and the issue control unit's previous state. During a second instruction cycle that immediately follows the first instruction cycle, the second instruction stage's instructions are either issued or stalled based upon the issue control logic's decision from the first instruction cycle.
    Type: Application
    Filed: August 16, 2005
    Publication date: February 22, 2007
    Inventors: Jonathan DeMent, Kurt Feiste, Robert Philhower, David Shippy
  • Publication number: 20070022278
    Abstract: A method, system and processor for improving the performance of an in-order processor. A processor may include an execution unit with an execution pipeline that includes a backup pipeline and a regular pipeline. The backup pipeline may store a copy of the instructions issued to the regular pipeline. The execution pipeline may include logic for allowing instructions to flow from the backup pipeline to the regular pipeline following the flushing of the instructions younger than the exception detected in the regular pipeline. By maintaining a backup copy of the instructions issued to the regular pipeline, instructions may not need to be flushed from separate execution pipelines and re-fetched. As a result, one may complete the results of the execution units to the architected state out of order thereby allowing the completion point to vary among the different execution pipelines.
    Type: Application
    Filed: July 19, 2005
    Publication date: January 25, 2007
    Inventors: Christopher Abernathy, Jonathan Dement, Ronald Hall, Albert Van Norstrand
  • Publication number: 20060288192
    Abstract: The present invention provides a method, a computer program product, and an apparatus for blocking a thread at dispatch in a multi-thread processor for fine-grained control of thread performance. Multiple threads share a pipeline within a processor. Therefore, a long latency condition for an instruction on one thread can stall all of the threads that share the pipeline. A dispatch-block signaling instruction blocks the thread containing the long latency condition at dispatch. The length of the block matches the length of the latency, so the pipeline can dispatch instructions from the blocked thread after the long latency condition is resolved. In one embodiment the dispatch-block signaling instruction is a modified OR instruction and in another embodiment it is a Nop instruction. By blocking one thread at dispatch, the processor can dispatch instructions from the other threads during the block.
    Type: Application
    Filed: June 16, 2005
    Publication date: December 21, 2006
    Inventors: Christopher Abernathy, Jonathan Dement, Albert Van Norstrand, David Shippy
  • Publication number: 20060224864
    Abstract: A system and method for handling multi-cycle non-pipelined instruction sequencing. With the system and method, when a non-pipelined instruction is detected at an issue point, the issue logic initiates a stall that is for a minimum number of cycles that the fastest non-pipelined instruction could complete. The execution unit then takes over stalling until the non-pipelined instruction is actually completed. This allows the execution unit more time to accurately determine when the non-pipelined instruction will complete. Slightly before the execution unit has completed the instruction, it releases the stall to the issue logic. The timing of the execution unit releasing the stall signal is set so that a dependent instruction can bypass the result as soon as possible. In other words, the dependent instruction does not have to wait for the result to be written to the processor register file in order to obtain access to the result.
    Type: Application
    Filed: March 31, 2005
    Publication date: October 5, 2006
    Inventors: Jonathan DeMent, Kurt Feiste, David Ray, David Shippy, Albert Van Norstrand
  • Publication number: 20060036814
    Abstract: A write-through cache scheme is created. A store data command is sent to a cache line of a cache array from a processing unit. It is then determined whether the address of the store data is valid, wherein the original data from the store's address has been previously loaded into the cache. A write-through command is sent to a system bus as a function of whether the address of the store data is valid. The bus controller is employed to sense the write-through command. If the write-through command is sensed, a clean command is generated by the bus controller. If the write-through command is sensed, the store data is written into the cache array, and the data is marked as modified. If the write-through command is sensed, the clean command is sent onto the system bus by the bus controller, thereby causing modified data to be written to memory.
    Type: Application
    Filed: August 12, 2004
    Publication date: February 16, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jonathan DeMent, Kerey Tassin, Thuong Truong
  • Publication number: 20050182912
    Abstract: The present invention provides a method and apparatus for efficiently translating an effective address (EA) to a real address (RA) in an Effective to Real Address Translation (ERAT) table, in a main processing unit (MPU) having two or more threads. A thread, using an EA, presents the EA for lookup in the ERAT table. The EA is compared to each entry in the ERAT table. If (i) the EA matches an entry in the ERAT table, (ii) a valid indicator in the matching entry indicates it is valid for other threads but not valid for the thread presenting the EA for lookup, and (iii) the information in the matching entry is correct for the EA presented for lookup, then the valid indicator is set to show that the matching entry is valid for the thread presenting the EA for lookup, in addition to the other threads.
    Type: Application
    Filed: February 12, 2004
    Publication date: August 18, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jonathan DeMent, Kimberly Fernsler, Cathy May
  • Publication number: 20050160229
    Abstract: A method and an apparatus are provided for efficiently managing the operation of a translation buffer. A software and hardware apparatus and method are utilized to pre-load a translation buffer to prevent poor operation as a result of slow warming of a cache.
    Type: Application
    Filed: January 16, 2004
    Publication date: July 21, 2005
    Applicant: International Business Machines Corporation
    Inventors: Charles Johns, Michael Day, Jonathan DeMent
  • Publication number: 20050125623
    Abstract: A method and apparatus for efficiently storing an effective address (EA) in an effective to real address translation (ERAT) table supporting multiple page sizes by adding PSI fields, based on the number of unique page sizes supported, to each ERAT entry and using one ERAT entry to store an EA for a memory page, regardless of page size, by setting the PSI fields to indicate the page size.
    Type: Application
    Filed: December 9, 2003
    Publication date: June 9, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jason Dale, Jonathan DeMent, Kimberly Fernsler
  • Publication number: 20050083087
    Abstract: The present invention provides for supporting an on chip-timer facility and, more particularly, to the generation of a constant time incremental increase while changing core mesh-clock frequency. A latch is coupled to the output of a first free-running clock. An inverter is coupled to the output of the first latch. At least one other secondary latch is coupled to the output of the first latch. An edge detector is coupled to the output of the secondary latch. An incrementer or decrementer is coupled to the output of the edge detector. A memory is coupled to the output of the incrementer or decrementer.
    Type: Application
    Filed: October 16, 2003
    Publication date: April 21, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jonathan DeMent, Rolf Hilgendorf, Cedric Lichtenau, Michael Wang
  • Publication number: 20050055506
    Abstract: The present invention provides for a cache-accessing system employing a binary tree with decision nodes. A cache comprising a plurality of sets is provided. A locking or streaming replacement strategy is employed for individual sets of the cache. A replacement management table is also provided. The replacement management table is employable for managing a replacement policy of information associated with the plurality of sets. A pseudo least recently used function is employed to determine the least recently used set of the cache, for such reasons as set replacement. An override signal line is also provided. The override signal is employable to enable an overwrite of a decision node of the binary tree. A value signal is also provided. The value signal is employable to overwrite the decision node of the binary tree.
    Type: Application
    Filed: September 4, 2003
    Publication date: March 10, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jonathan DeMent, Ronald Hall, Peichun Liu, Thuong Truong
  • Publication number: 20050027960
    Abstract: The present invention provides for storing and using a stored logical partition indicia in a TLB. A partition in a microprocessor architecture is employed. A virtual page number is selected. A stored LPID indicia corresponding to the selected page number is read from a TLB. The stored logical partition indicia from the TLB is compared to a logical partition indicia associated with the employed partition. If the stored logical partition indicia and the logical partition indicia associated with the employed partition match, a corresponding page table entry stored in the translation look-aside buffer is read. If they do not match, a page table entry from a page table entry source is retrieved and stored in the TLB. If a partition is to invalidate an entry in the TLB, a TLB entry command is generated and used to invalidate a memory entry.
    Type: Application
    Filed: July 31, 2003
    Publication date: February 3, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jonathan DeMent, Cathy May, Naresh Nayar, Edward Silha