Patents by Inventor Dale C. Morris

Dale C. 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).

  • Publication number: 20130318271
    Abstract: In one implementation, a cable harness switch includes a plurality of input ports, a first plurality of output ports, a second plurality of input ports, and a circuit switch module. Each input port from the plurality of input ports is configured to be coupled to a network link. Each output port from the first plurality of output ports is configured to be coupled to a network link. Each output port from the second plurality of output ports configured to be coupled to a network switch device. The circuit switch module is operatively coupled to the plurality of input ports, the first plurality of output ports, and the second plurality of output ports to define a network circuit including an input port from the plurality of input ports and an output port from the first plurality of output ports and the second plurality of output ports.
    Type: Application
    Filed: January 31, 2011
    Publication date: November 28, 2013
    Applicant: Hewlett-Packard Development Company, L.P.
    Inventors: Michael Schlansker, Michael Renne Ty Tan, Nathan Lorenzo Binkert, Dale C. Morris, Wayne V. Sorin
  • Patent number: 8505020
    Abstract: An event calling for a migration of a workload from a source processor set of processing units to a target processor set of processing units is detected. Processes of the workload are allocated to a second processor set of processing units so that some workload processes are executed on the source processor set and some workload processes are executed on a second processor set of processor units. Then, some workload processes are allocated to the second processor set so that no workload process is executing on the source processor set and at least some of said processes are executing on the second process set. The second processor set can be the target processor set or an intermediate processor set from which the workload is migrated to the target processor set.
    Type: Grant
    Filed: August 29, 2010
    Date of Patent: August 6, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christophe de Dinechin, Dale C. Morris, Patrick Knebel, Russ W. Herrell
  • Publication number: 20130107879
    Abstract: A chassis is configured to hold at least one horizontal row of node modules and a fabric module. The fabric module can be positioned above or below the row so that it can communicatively couple two or more node modules. Each of the node modules and the fabric modules can be inserted into and removed from the chassis longitudinally.
    Type: Application
    Filed: September 15, 2010
    Publication date: May 2, 2013
    Inventors: Martin Goldstein, Dale C. Morris, Michael R. Krause
  • Patent number: 8219996
    Abstract: A computer processor includes a fairness monitor for monitoring allocations of a processor resource to requestors. If unfairness is determined, a resource allocator is biased to offset said unfairness.
    Type: Grant
    Filed: May 9, 2007
    Date of Patent: July 10, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Dale C. Morris
  • Publication number: 20120054766
    Abstract: An event calling for a migration of a workload from a source processor set of processing units to a target processor set of processing units is detected. Processes of the workload are allocated to a second processor set of processing units so that some workload processes are executed on the source processor set and some workload processes are executed on a second processor set of processor units. Then, some workload processes are allocated to the second processor set so that no workload process is executing on the source processor set and at least some of said processes are executing on the second process set. The second processor set can be the target processor set or an intermediate processor set from which the workload is migrated to the target processor set.
    Type: Application
    Filed: August 29, 2010
    Publication date: March 1, 2012
    Inventors: Christophe de Dinechin, Dale C. Morris, Patrick Knebel, Russ W. Herrell
  • Patent number: 7680990
    Abstract: Atomic sixteen-byte memory accesses are provided in a 64-bit system in which eight of the bytes are stored in a 64-bit general-purpose register and eight of the bytes are stored in a 64-bit special-purpose register. A 16-byte load instruction transfers the low eight bytes to an explicitly specified general-purpose register, while the high eight bytes are transferred to the special-purpose register. Likewise, a 16-byte store instruction transfers data from a general-purpose register and the special-purpose register. Also provided is an 8-byte compare conditioning a 16-byte exchange semaphore instruction that can be used to accelerate algorithms that use multiple processors to simultaneously read and update large databases.
    Type: Grant
    Filed: May 30, 2003
    Date of Patent: March 16, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Donald C. Soltis, Dale C. Morris, Dean Ahmad Mulla, Achmed Rumi Zahir, Amy Lynn O'Donnell, Allan Douglas Knies
  • Patent number: 7680999
    Abstract: A secure promotion mechanism promotes a current privilege level of a processor in a computer system. The current privilege level controls application instruction execution in the computer system by controlling accessibility to system resources. An operating system performs a privilege promotion instruction, which is stored in a first page of memory not writeable by an application instructions at a first privilege level. The privilege promotion instruction reads a stored previous privilege level state, compares the read previous privilege level state to the current privilege level, and if the previous privilege level state is equal to or less privileged than the current privilege level, promotes the current privilege level to a second privilege level which is higher than the first privilege level.
    Type: Grant
    Filed: February 8, 2000
    Date of Patent: March 16, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dale C. Morris, James M. Hull
  • Patent number: 7340630
    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: Grant
    Filed: August 8, 2003
    Date of Patent: March 4, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dale C. Morris, Jonathan K. Ross
  • Patent number: 7325228
    Abstract: A method of converting an original code sequence to a modified code sequence where the original code sequence includes a procedure call that is prior to a load instruction to one of a first plurality of registers is provided. The method includes inserting the load instruction into the modified code sequence and inserting the procedure call into the modified code sequence subsequent to the load instruction. The method further includes inserting an advanced load instruction to one of a second plurality of registers into the modified code sequence prior to the procedure call and inserting a checking instruction associated with the advanced load instruction into the modified code sequence subsequent to the procedure call.
    Type: Grant
    Filed: April 30, 2003
    Date of Patent: January 29, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dale C. Morris, Jonathan Ross, Achmed Rumi Zahir
  • Patent number: 7143270
    Abstract: A processor comprising a feature indicator associated with at least one of a first sequence of one or more instructions, a first register, a second register, and an execution core is provided. The execution core is configured to execute a second instruction to cause the first register to be set to a first value using the feature indicator and to cause the second register to be set to a second value using the feature indicator. The execution core is configured to execute the first sequence of one or more instructions to cause a function to be performed in response to the first value in the first register indicating a true condition, and the execution core is configured to execute a second sequence of one or more instructions to cause the function to be performed in response to the second value in the second register indicating the true condition.
    Type: Grant
    Filed: January 30, 2004
    Date of Patent: November 28, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kevin W. Rudd, Allan D. Knies, Dale C. Morris, James M. Hull
  • Patent number: 7103880
    Abstract: A method of converting an original code sequence to a modified code sequence where the original code sequence includes a procedure call that is prior to a load instruction that is configured to load a value into one of a first plurality of registers is provided. The method includes inserting an advanced load instruction associated with one of a second plurality of registers into the modified code sequence where the advanced load instruction is configured to cause the value to be loaded into the one of the first plurality of registers. The method also includes inserting the procedure call into the modified code sequence subsequent to the advanced load instruction and inserting a checking instruction associated with the one of the second plurality of registers into the modified code sequence subsequent to the procedure call.
    Type: Grant
    Filed: April 30, 2003
    Date of Patent: September 5, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dale C. Morris, Jerome C. Huck
  • Publication number: 20040243790
    Abstract: Atomic sixteen-byte memory accesses are provided in a 64-bit system in which eight of the bytes are stored in a 64-bit general-purpose register and eight of the bytes are stored in a 64-bit special-purpose register. A 16-byte load instruction transfers the low eight bytes to an explicitly specified general-purpose register, while the high eight bytes are transferred to the special-purpose register. Likewise, a 16-byte store instruction transfers data from a general-purpose register and the special-purpose register. Also provided is an 8-byte compare conditioning a 16-byte exchange semaphore instruction that can be used to accelerate algorithms that use multiple processors to simultaneously read and update large databases.
    Type: Application
    Filed: May 30, 2003
    Publication date: December 2, 2004
    Inventors: Donald C. Soltis, Dale C. Morris, Dean Ahmad Mulla, Achmed Rumi Zahir, Amy Lynn Santoni, Allan Douglas Knies
  • Patent number: 6813627
    Abstract: Integer multiply operations using data stored in an integer register file are performed using multi-media primitive instructions that operate on smaller operands. The present invention performs a multiply operation on a 32-bit or 64-bit value by performing multiply operations on a series of smaller operands to form partial products, and adding the partial products together. Data manipulation instructions are used to reposition 16-bit segments of the 32-bit operands into positions that allow the multi-media parallel multiply instructions to compute partial products, and the partial products are then added together to form the result. In every embodiment, the present invention achieves better latencies than the prior art method of performing integer multiply operations provided by the IA-64 architecture.
    Type: Grant
    Filed: July 31, 2001
    Date of Patent: November 2, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: James M. Hull, Dale C. Morris
  • Patent number: 6799263
    Abstract: A method for prefetching instructions into cache memory using a prefetch instruction. The prefetch instruction contains a target field, a count field, a cache level field, a flush field, and a trace field. The target field specifies the address at which prefetching begins. The count field specifies the number of instructions to prefetch. The flush field indicates whether earlier prefetches should be discarded and whether in-progress prefetches should be aborted. The level field specifies the level of the cache into which the instructions should be prefetched. The trace field establishes a trace vector that can be used to determine whether the prefetching operation specified by the operation should be aborted. The prefetch instruction may be used in conjunction with a branch predict instruction to prefetch a branch of instructions that is not predicted.
    Type: Grant
    Filed: October 28, 1999
    Date of Patent: September 28, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dale C. Morris, James R. Callister, Stephen R. Undy
  • Patent number: 6631460
    Abstract: A computer system includes physical registers holding data for compiled programs and a portion of the physical registers form a register stack which wraps around when full. An N-bit current wraparound count state tracks physical register remapping events which cause the register stack to wraparound or unwrap. An advanced load address table (ALAT) has entries corresponding to load instructions, each entry has at least one memory range field defining a range of memory locations accessed by a corresponding load instruction, a physical register number field corresponding to a physical register accessed in the corresponding load instruction, and an N-bit register wraparound field which corresponds to the N-bit current wraparound count state for the corresponding load instruction. A check instruction accesses the ALAT to determine whether a store instruction and an advanced load instruction, which is scheduled before the store instruction, potentially accessed a common memory location.
    Type: Grant
    Filed: April 27, 2000
    Date of Patent: October 7, 2003
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Dale C. Morris, William R. Bry, Alan H. Karp, William Chen
  • Publication number: 20030084083
    Abstract: Integer multiply operations using data stored in an integer register file are performed using multi-media primitive instructions that operate on smaller operands. The present invention performs a multiply operation on a 32-bit or 64-bit value by performing multiply operations on a series of smaller operands to form partial products, and adding the partial products together. Data manipulation instructions are used to reposition 16-bit segments of the 32-bit operands into positions that allow the multi-media parallel multiply instructions to compute partial products, and the partial products are then added together to form the result. In every embodiment, the present invention achieves better latencies than the prior art method of performing integer multiply operations provided by the IA-64 architecture.
    Type: Application
    Filed: July 31, 2001
    Publication date: May 1, 2003
    Inventors: James M. Hull, Dale C. Morris
  • Patent number: 6505296
    Abstract: A computer system includes a processor for executing a program and an interruption handler from a memory. The processor includes an instruction pointer indicating a memory location of a current executing instruction. The processor executes a trampoline check instruction in the program which tests a condition and if the condition is true, causes an interruption and supplies an address displacement. The interruption handler responds to the interruption and restarts execution of the program at a restart point indicating a memory location of a special handler in the program. The restart point is a sum of the address displacement and a value of the instruction pointer at the time of the interruption. If the condition is false, normal control flow of the program is continued.
    Type: Grant
    Filed: March 8, 2000
    Date of Patent: January 7, 2003
    Assignee: Hewlett-Packard Company
    Inventors: Dale C. Morris, Jonathan K. Ross, James O. Hays, Jerome C. Huck
  • Publication number: 20020010851
    Abstract: A computer system includes a processor for executing a program and an interruption handler from a memory. The processor includes an instruction pointer indicating a memory location of a current executing instruction. The processor executes a trampoline check instruction in the program which tests a condition and if the condition is true, causes an interruption and supplies an address displacement. The interruption handler responds to the interruption and restarts execution of the program at a restart point indicating a memory location of a special handler in the program. The restart point is a sum of the address displacement and a value of the instruction pointer at the time of the interruption. If the condition is false, normal control flow of the program is continued.
    Type: Application
    Filed: March 8, 2000
    Publication date: January 24, 2002
    Inventors: Dale C. Morris, Jonathan K. Ross, James O. Hays, Jerome C. Huck
  • Patent number: 6308261
    Abstract: A computer system includes a data structure that maintains availability status for registers of a processor of the computer system, wherein the availability status indicates whether an instruction attempting to read a particular register will stall. The computer system also includes instruction decode and execution circuitry that is capable of decoding and executing one or more instructions that alter a path of program execution based on the availability status of one or more of the registers. In one embodiment, a latency probe instruction retrieves the availability status of a register from the data structure and stores the availability status in a register. Thereafter, a conditional branch instruction determines the path of program execution based on the availability status stored in the register. In another embodiment, a conditional branch instruction queries the data structure directly to determine the availability status of a register, and determines the execution path based on the availability status.
    Type: Grant
    Filed: January 30, 1998
    Date of Patent: October 23, 2001
    Assignee: Hewlett-Packard Company
    Inventors: Dale C. Morris, Douglas B. Hunt
  • Patent number: 6286095
    Abstract: A computer apparatus incorporating special instructions to force load and store operations to execute in program order. The present invention provides a new and novel store instruction that is suspended until all prior store instructions have been completed by an associated CPU. Also, a new load instruction is provided which blocks any subsequent load instructions from executing until this load instruction has been completed by an associated CPU. These instructions allow for high efficiency computer systems to be implemented which optimize instruction throughput by executing subsequent instructions while waiting for a prior instruction to complete.
    Type: Grant
    Filed: September 26, 1995
    Date of Patent: September 4, 2001
    Assignee: Hewlett-Packard Company
    Inventors: Dale C. Morris, Barry J. Flahive, Michael L. Ziegler, Jerome C. Huck, Stephen G. Burger, Ruby B. L. Lee, Bernard L. Stumpf, Jeff Kurtze