Patents by Inventor Dale Morris

Dale Morris 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: 7421689
    Abstract: Virtual-machine-monitor operation and implementation is facilitated by number of easily implemented features and extensions added to the features of a processor architecture. These features, one or more of which are used in various embodiments of the present invention, include a vmsw instruction that provides a means for transitioning between virtualization mode and non-virtualization mode without an interruption, a virtualization fault that faults on an attempt by a priority-0 routine in virtualization mode attempting to execute a privileged instruction, and a flexible highest-implemented-address mechanism to partition virtual address space into a virtualization address space and a non-virtualization address space.
    Type: Grant
    Filed: October 28, 2003
    Date of Patent: September 2, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Jonathan K. Ross, Dale Morris, Donald C. Soltis, Jr., Rohit Bhatia, Eric Delano
  • Patent number: 7281116
    Abstract: The present invention provides a multiprocessor system and method in which plural memory locations are used for storing TLB-shootdown data respectively for plural processors. In contrast to systems in which a single area of memory serves for all processors' TLB-shootdown data, different processors can describe the memory they want to free concurrently. Thus, concurrent TLB-shootdown request are less likely to result in performance-limiting TLB-shootdown contentions that have previously constrained the scaleability of multiprocessor systems.
    Type: Grant
    Filed: July 30, 2004
    Date of Patent: October 9, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Jonathan K. Ross, Dale Morris
  • Patent number: 7274825
    Abstract: A block-matching method reduces pixel depth prior to match evaluation to drastically reduce the computations required intensive block-matching applications such motion estimation for video compression. Pixel-depth reduction is achieved by analyzing incorporating images to determine how to reduce pixel depth so as to retain information useful for block matching. Original pixel values (e.g., 8-bit), are compressed to lower-depth (e.g., e.g., 1-bit or 1.6-bit) pixel values. The resulting converted blocks are XORed to yield a comparison image. The 1s in the comparison image are tallied to provide a match measure. In the image analysis, the original images can be subsampled and averages can be computed based on the subsample pixels to reduce computational overhead.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: September 25, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ruby B. Lee, Dale Morris
  • Patent number: 7155471
    Abstract: A method and system is used to determine the correct rounding of a floating point function. The method involves performing the floating point function to a higher precision than required and examining the portion of extra precision in the result known as the discriminant. If a critical pattern is found in the discriminant, this indicates that standard rounding may give an incorrect result and further calculation is needed. The method can work for various rounding modes and types of floating point representations. The method can be implemented in a system as part of a processor instruction set or any combination of hardware, microcode, and software.
    Type: Grant
    Filed: February 12, 2003
    Date of Patent: December 26, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Peter Markstein, Dale Morris, James M. Hull
  • Publication number: 20060236094
    Abstract: A technique to improve the performance of virtualized input/output (I/O) resources of a microprocessor within a virtual machine environment. More specifically, embodiments of the invention enable accesses of virtualized I/O resources to be made by guest software without necessarily invoking host software. Furthermore, embodiments of the invention enable more efficient delivery of interrupts to guest software by alleviating the need for host software to be invoked in the delivery process.
    Type: Application
    Filed: January 19, 2005
    Publication date: October 19, 2006
    Inventors: Hin Leung, Kushagra Vaid, Amy Santoni, Dale Morris, Jonathan Ross
  • Patent number: 7103756
    Abstract: A data processor includes program registers with individual byte-location write enables. Bypass networks allow a precision pipeline to respond to read requests by accessing a program register or pipeline stage on a byte-by-byte basis. The data processor can thus write to individual byte locations without overwriting other byte locations within the same register. The data processor has an instruction set with instructions that combine two operands and yield a one-byte result that is stored in a specified byte location of a specified result register. Eight instances of this instruction can pack eight results into a single 64-bit result register without additional packing instructions and without using a read port to read the result register before writing to it. As plural functional units can write concurrently to different subwords of the same result register, a system with four functional units can pack eight results into a result register in two instruction cycles.
    Type: Grant
    Filed: September 30, 2002
    Date of Patent: September 5, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Dale Morris
  • Patent number: 7085989
    Abstract: A method for comparing bit field contents for bit fields comprising less than a full complement of the source is provided. The method includes creating a mask covering the bit field in the source, setting bit positions within the mask that are outside the bit field in the source to predetermined values, combining the source against the mask to form an intermediate result, and comparing bits in the intermediate result to provide a final result. Alternately, the method may form a mask, combining the bit field with a comparison value to form an intermediate value, and perform a combined function using the mask to select bits from the intermediate value, or fixed zero or one values, and comparing this result with zero.
    Type: Grant
    Filed: April 15, 2003
    Date of Patent: August 1, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Sverre Jarp, Dale Morris
  • Publication number: 20060161917
    Abstract: Embodiments of apparatuses and methods for improving performance in a virtualization architecture are disclosed. In one embodiment, an apparatus includes a processor and a processor abstraction layer. The processor abstraction layer includes instructions that, when executed by the processor, support techniques to improve the performance of the apparatus in a virtualization architecture.
    Type: Application
    Filed: January 19, 2005
    Publication date: July 20, 2006
    Inventors: Hin Leung, Amy Santoni, Gary Hammond, William Greene, Kushagra Vaid, Dale Morris, Jonathan Ross
  • Patent number: 7080242
    Abstract: In a symmetric multiprocessing system using processors (DP0–DP7) of different capabilities (instruction sets), a processor responds (S11) to a query regarding its capabilities (instruction set) with its “active” capability, which is the intersection of its native capability and a common capability across processors determined (S04) during a boot sequence (13). The querying application (29) can select (S12) a program variant optimized for the active capability of the selected processor. If the application is subsequently subjected to a blind transfer to another processor, it is more likely than it would otherwise be (if the processors responded with their native capabilities) that the previously selected program variant runs without encountering unimplemented instructions.
    Type: Grant
    Filed: December 19, 2002
    Date of Patent: July 18, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Dale Morris
  • Publication number: 20060063177
    Abstract: The present invention relates to carcinogenesis biomarkers produced by phenobarbitol-treated rat hepatocytes, nucleic acid molecules that encode carcinogenesis biomarkers or a fragment thereof and nucleic acid molecules that are useful as probes or primers for detecting or inducing carcinogenesis, respectively. The invention also relates to applications of the factor or fragment such as forming antibodies capable of binding the carcinogenesis biomarkers or fragments thereof.
    Type: Application
    Filed: July 25, 2005
    Publication date: March 23, 2006
    Inventors: Roderick Bunch, Dale Morris, Sandra Curtiss, Charles Rodi
  • Publication number: 20060064528
    Abstract: At least one entry in an original interrupt vector table is replaced with an instruction set to handle access to a privileged resource. An operating system privilege level is modified to one or more resources. Subsequent access to the privileged resource causes an interrupt. Processing of the interrupt is directed to the instruction set to handle access to the privileged resource.
    Type: Application
    Filed: September 17, 2004
    Publication date: March 23, 2006
    Inventors: Donald Soltis,, Dale Morris
  • Publication number: 20060026408
    Abstract: The present invention provides a system and method for runtime updating of hints in program instructions. The invention also provides for programs of instructions that include hint performance data. Also, the invention provides an instruction cache that modifies hints and writes them back. As runtime hint updates are stored in instructions, the impact of the updates is not limited by the limited memory capacity local to a processor. Also, there is no conflict between hardware and software hints, as they can share a common encoding in the program instructions.
    Type: Application
    Filed: July 30, 2004
    Publication date: February 2, 2006
    Inventors: Dale Morris, James McCormick
  • Publication number: 20060026359
    Abstract: The present invention provides a multiprocessor system and method in which plural memory locations are used for storing TLB-shootdown data respectively for plural processors. In contrast to systems in which a single area of memory serves for all processors' TLB-shootdown data, different processors can describe the memory they want to free concurrently. Thus, concurrent TLB-shootdown request are less likely to result in performance-limiting TLB-shootdown contentions that have previously constrained the scaleability of multiprocessor systems.
    Type: Application
    Filed: July 30, 2004
    Publication date: February 2, 2006
    Inventors: Jonathan Ross, Dale Morris
  • Publication number: 20060026360
    Abstract: The present invention provides a system with a cache that indicates which, if any, of its sections contain data having spent status. The invention also provides a method for identifying cache sections containing data having spent status and then purging without writing back to main memory a cache line having at least one section containing data having spent status. The invention further provides a program that specifies a cache-line section containing data that is to acquire “spent” status. “Spent” data, herein, is useless modified or unmodified data that was formerly at least potentially useful data when it was written to a cache. “Purging” encompasses both invalidating and overwriting.
    Type: Application
    Filed: July 30, 2004
    Publication date: February 2, 2006
    Inventors: Dale Morris, Robert Schreiber
  • Patent number: 6986131
    Abstract: A method of efficient code generation for modulo scheduled uncounted loops includes: assigning a given stage predicate to each instruction in each stage, including assigning a given stage predicate to each instruction in each speculative stage; and using the stage predicate to conditionally enable or disable the execution of an instruction during the prologue and epilogue execution.
    Type: Grant
    Filed: June 18, 2002
    Date of Patent: January 10, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Carol L. Thompson, Uma Srinivasan, Richard E. Hank, Dale Morris
  • Patent number: 6931515
    Abstract: A method and system for determining, at run-time, whether or not to defer an exception that arises during execution of a control-speculative load instruction based on a recent history of execution of that control-speculative load instruction. The method and system relies on recent execution history stored in a speculative-load-accelerated-deferral table. If an exception arises during execution of a control-speculative load instruction, then the speculative-load-accelerated-deferral table is searched for an entry corresponding to the control-speculative load instruction. If an entry is found, then the exception is deferred, since the speculative-load-accelerated-deferral table indicates that a recent exception arising from execution of the control-speculative load instruction was not recovered via a chk.s-mediated branch to a recovery block, and not otherwise used by a non-speculative instruction.
    Type: Grant
    Filed: July 29, 2002
    Date of Patent: August 16, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Jonathan K. Ross, Dale Morris
  • Publication number: 20050091652
    Abstract: Virtual-machine-monitor operation and implementation is facilitated by number of easily implemented features and extensions added to the features of a processor architecture. These features, one or more of which are used in various embodiments of the present invention, include a vmsw instruction that provides a means for transitioning between virtualization mode and non-virtualization mode without an interruption, a virtualization fault that faults on an attempt by a priority-0 routine in virtualization mode attempting to execute a privileged instruction, and a flexible highest-implemented-address mechanism to partition virtual address space into a virtualization address space and a non-virtualization address space.
    Type: Application
    Filed: October 28, 2003
    Publication date: April 28, 2005
    Inventors: Jonathan Ross, Dale Morris, Donald Soltis, Rohit Bhatia, Eric Delano
  • Publication number: 20050066153
    Abstract: A branch operation is processed using a branch predict instruction and an associated branch instruction. The branch predict instruction indicates a predicted direction, a target address, and an instruction address for the associated branch instruction. When the branch predict instruction is detected, the target address is stored at an entry indicated by the associated branch instruction address and a prefetch request is triggered to the target address. The branch predict instruction may also include hint information for managing the storage and use of the branch prediction information.
    Type: Application
    Filed: June 12, 2003
    Publication date: March 24, 2005
    Inventors: Harshvardhan Sharangpani, Tse-Yu Yeh, Michael Paul Corwin, Millind Mittal, Kent Fielden, Dale Morris, Rajiv Gupta, Michael Schlansker, Mircea Poplingher
  • Publication number: 20050033947
    Abstract: A multiprocessor computer system comprises multiple data processors, each with an internal clock for providing time stamps to application software. The processors take turns as synchronization masters. The present master transmits a “request” time stamp (indicating the time of transmission according to the local clock) to the other (“slave”) processors. Each slave processor responds by returning a “response” time stamp (indicating the time of transmission of the response according to the local slave clock) of its own along with the received request time stamp. The master calculates clock adjustment values from the time of receipt of the responses and the included time stamps. This allows asynchronous clocks to be synchronized so that application time stamps can be validly compared across processors.
    Type: Application
    Filed: August 8, 2003
    Publication date: February 10, 2005
    Inventors: Dale Morris, Jonathan Ross
  • Publication number: 20040249474
    Abstract: Compare-plus-tally instructions are used to enhance video-compression performance by providing for faster computations of block-match measures. The invention is most useful in the context of comparing blocks from reference and predicted frames, where the luminance data for the blocks has been reduced to 1-bit-per-pixel relative to local average luminance. A combined XOR and tally instruction can be used in a two-instruction loop with an accumulate instruction to provide a block-match measure. Alternatively, a single instruction can implement an accumulation along with the comparison and tally to provide a one-instruction loop. Furthermore, the tallying and accumulation can be performed on a subword basis, with a final TreeAdd instruction summing across subwords outside the loop.
    Type: Application
    Filed: March 31, 2003
    Publication date: December 9, 2004
    Inventors: Ruby B. Lee, Dale Morris