Patents by Inventor Patrick Knebel

Patrick Knebel 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: 6807625
    Abstract: An apparatus and method for efficiently generating arithmetic flags in a computer system. The system includes an eflags register to stored partially computed flags computed by an arithmetic logic unit. The stored partial flags are computed in one cycle. The stored flags are decoded by one of two consuming instructions, PRODF or TBIT, in a second cycle.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: October 19, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Patrick Knebel, Mark Gibson, Rohit Bhatia, Kevin David Safford
  • Patent number: 6745322
    Abstract: A method and apparatus that utilizes a simple test and flush mechanism to implement branch instructions of one Instruction Set Architecture (ISA) using instructions of another ISA is described. During the decoding and sequencing of microinstructions to implement a branch instruction, a fix-up address, which represents the remedial branch target in the event of a mispredicted target or branch condition, is determined and stored. A test condition is set to determine if the prediction or the branch condition was correct. When the test condition fails, the instruction execution pipeline is immediately flushed to avoid executing any instruction remaining in the pipeline following the branch instructions. The flushing of the pipeline signals the instruction fetch control mechanism to redirect the instruction flow to the instruction corresponding to the fix-up address.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: June 1, 2004
    Assignee: Hewlett-Packard Development Company, LP.
    Inventors: Russell C Brockmann, Patrick Knebel, Kevin David Safford, Rohit Bhatia
  • Publication number: 20040068641
    Abstract: A processor based computer system having dependency checking logic and a register stack, wherein the system overrides the dependency logic such that move instructions associated with the stack registers may be executed in parallel. The system operates such that it can be determined whether a stack underflow exception has occurred and if it has, the move instructions can be flushed, and a micro-code handler algorithm invoked that operates to allow execution of the move instructions in parallel without a stack underflow exception.
    Type: Application
    Filed: October 6, 2003
    Publication date: April 8, 2004
    Inventors: Kevin David Safford, Patrick Knebel
  • Publication number: 20040064267
    Abstract: An apparatus, and a corresponding method, are used for testing a computer microarchitecture. The apparatus includes means for providing reprogrammed microcode. The means for providing the reprogrammed microcode includes means for reprogramming microcode, and means for storing reprogrammed microcode. The storing means includes microcode related to one or more macroinstructions, and reprogrammed test microcode for testing the computer microarchitecture, where the reprogrammed test microcode includes a sequence of microinstructions executed to test the computer microarchitecture. Finally, the apparatus includes means for sequencing the sequence of microinstructions and producing an address for the reprogrammed test microcode.
    Type: Application
    Filed: September 16, 2003
    Publication date: April 1, 2004
    Inventors: Kevin David Safford, Patrick Knebel, Russell C. Brockmann, Karl P. Brummel, M. A. Susith Rohana Fernando
  • Publication number: 20040039966
    Abstract: An apparatus verifies the correctness of a behavioral model of a microcode machine, where the microcode machine is operable in a native state and an emulated state. The apparatus includes means for producing the native state, means for producing the emulated state, and means for comparing the native state and the emulated state. Corresponding to the apparatus, a method verifies the correctness of a processor behavioral model, where the processor operates in a native mode state and an emulated mode state. The method includes determining if a macroinstruction to be executed is a native instruction, and, if the macroinstruction is a native instruction, executing the native instruction, the execution producing the native mode state of the processor.
    Type: Application
    Filed: August 22, 2003
    Publication date: February 26, 2004
    Inventors: Jeremy Petsinger, Kevin David Safford, Karl P. Brummel, Russell C. Brockmann, Bruce A. Long, Patrick Knebel
  • Publication number: 20040030865
    Abstract: The present invention is a method for implementing two architectures on a single chip. The method uses a fetch engine to retrieve instructions. If the instructions are macroinstructions, then it decodes the macroinstructions into microinstructions, and then bundles those microinstructions using a bundler, within an emulation engine. The bundles are issued in parallel and dispatched to the execution engine and contain pre-decode bits so that the execution engine treats them as microinstructions. Before being transferred to the execution engine, the instructions may be held in a buffer. The method also selects between bundled microinstructions from the emulation engine and native microinstructions coming directly from the fetch engine, by using a multiplexer or other means. Both native microinstructions and bundled microinstructions may be held in the buffer. The method also sends additional information to the execution engine.
    Type: Application
    Filed: June 25, 2003
    Publication date: February 12, 2004
    Inventors: Patrick Knebel, Kevin David Safford, Donald Charles Soltis, Joel D Lamb, Stephen R. Undy, Russell C. Brockmann
  • Patent number: 6681322
    Abstract: Methods for emulating an instruction set extension, comprising providing data to be operated upon, executing a first instruction with respect to a first portion of the data without committing the results of the first executed instruction, if no unmasked exceptions occur with respect to the first portion of the data, executing a second instruction with respect to a second portion of the data, and if no unmasked exceptions occur with respect to the second portion of the data, committing the results of the second executed instruction and again executing the first instruction with respect to the first portion of the data. If the first instruction is executed again, its results are committed. A handler is invoked if an unmasked exception occurs.
    Type: Grant
    Filed: November 26, 1999
    Date of Patent: January 20, 2004
    Assignee: Hewlett-Packard Development Company L.P.
    Inventors: Kevin David Safford, Patrick Knebel
  • Patent number: 6668315
    Abstract: A processor based computer system having dependency checking logic and a register stack, wherein the system overrides the dependency logic such that move instructions associated with the stack registers may be executed in parallel. The system operates such that it can be determined whether a stack underflow exception has occurred and if it has, the move instructions can be flushed, and a micro-code handler algorithm invoked that operates to allow execution of the move instructions in parallel without a stack underflow exception.
    Type: Grant
    Filed: November 26, 1999
    Date of Patent: December 23, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kevin David Safford, Patrick Knebel
  • Patent number: 6643800
    Abstract: An apparatus and a method of testing computer microarchitectures has a test writer create a test sequence written directly in microinstructions (both native-mode and emulation-only microinstructions). The microinstruction sequence is then inserted into a reprogrammable microcode storage, replacing the normal sequence of microinstructions for a given macroinstruction. In order to execute the microinstructions, the test writer can issue the macroinstruction. The method may be implemented in a simulation model where one set of microinstructions in the reprogrammable microcode storage can be easily replaced. The method may also be applied to an actual microprocessor implementation.
    Type: Grant
    Filed: February 2, 2000
    Date of Patent: November 4, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kevin David Safford, Patrick Knebel, Russell C Brockmann, Karl P Brummel, M A Susith Rohana Fernando
  • Patent number: 6625759
    Abstract: A method and an apparatus checks the fine-grain correctness of a microcode machine central processor unit (CPU) behavioral model. Macroinstructions are decomposed into microinstructions and each microinstruction is executed sequentially. A sequence of microinstructions is determined by an emulated microinstruction sequencer, using dynamic execution information, including information from execution of prior microinstructions in the sequence of microinstructions. At the end of execution of each microinstruction, a reference state is compared to a corresponding state of the behavioral model, and any differences are noted. After execution of all microinstructions in the microinstruction sequence, a reference state is compared to a corresponding state of the behavioral model, and any differences are noted.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: September 23, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Jeremy Petsinger, Kevin David Safford, Karl P. Brummel, Russell C. Brockmann, Bruce A. Long, Patrick Knebel
  • Patent number: 6618801
    Abstract: The present invention is a method for implementing two architectures on a single chip. The method uses a fetch engine to retrieve instructions. If the instructions are macroinstructions, then it decodes the macroinstructions into microinstructions, and then bundles those microinstructions using a bundler, within an emulation engine. The bundles are issued in parallel and dispatched to the execution engine and contain pre-decode bits so that the execution engine treats them as microinstructions. Before being transferred to the execution engine, the instructions may be held in a buffer. The method also selects between bundled microinstructions from the emulation engine and native microinstructions coming directly from the fetch engine, by using a multiplexor or other means. Both native microinstructions and bundled microinstructions may be held in the buffer. The method also sends additional information to the execution engine.
    Type: Grant
    Filed: February 2, 2000
    Date of Patent: September 9, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Patrick Knebel, Kevin David Safford, Donald Charles Soltis, Jr., Joel D Lamb, Stephen R. Undy, Russell C Brockmann
  • Patent number: 6542862
    Abstract: An apparatus and method for determining register dependency in multiple architecture system. The system includes a microprocessor emulating an emulated instruction set using a native instruction set where the microprocessor contains at least one register. An execution engine provides the native instructions where each native instruction contains at least one register identifier. Flags are provided to each native instruction where each flag indicates whether a register identifier is valid. A bundler checks for dependency among the valid register identifiers in the native instructions.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: April 1, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kevin David Safford, Patrick Knebel, Joel D Lamb
  • Patent number: 6003107
    Abstract: Circuitry for providing external access to signals that are internal to an integrated circuit chip package. A plurality of N:1 multiplexers are physically distributed throughout the integrated circuit die. Each of the multiplexers has its N inputs coupled to a nearby set of N nodes within the integrated circuit, and each of the multiplexers is coupled to a source of select information operable to select one node from the set of N nodes for external access. Each of the multiplexers has its output coupled to an externally-accessible chip pad. The integrated circuit is a microprocessor, and the source of select information may include a storage element. If so, additional circuitry is provided for writing data from a register of the microprocessor to the storage element using one or more microprocessor instructions. Each multiplexer may be coupled to a different source of select information, or all multiplexers may be coupled to the same select information.
    Type: Grant
    Filed: September 10, 1996
    Date of Patent: December 14, 1999
    Assignee: Hewlett-Packard Company
    Inventors: Gregory L. Ranson, John W. Bockhaus, Gregg B. Lesartre, Patrick Knebel, Paul L. Perez
  • Patent number: 5867644
    Abstract: User-configurable diagnostic hardware contained on-chip with a microprocessor for the purpose of debugging and monitoring the performance of the microprocessor. Method for using the same. A programmable state machine is coupled to on-chip and off-chip input sources. The state machine may be programmed to look for signal patterns presented by the input sources, and to respond to the occurrence of a defined pattern (or sequence of defined patterns) by driving certain control information onto a state machine output bus. On-chip devices coupled to the output bus take user-definable actions as dictated by the bus. The input sources include user-configurable comparators located within the functional blocks of the microprocessor. The comparators are coupled to storage elements within the microprocessor, and are configured to monitor nodes to determine whether the state of the nodes matches the data contained in the storage elements.
    Type: Grant
    Filed: September 10, 1996
    Date of Patent: February 2, 1999
    Assignee: Hewlett Packard Company
    Inventors: Gregory L. Ranson, John W. Bockhaus, Gregg B. Lesartre, Russell C. Brockmann, Robert E. Naas, Jonathan P. Lotz, Douglas B. Hunt, Patrick Knebel, Paul L. Perez, Steven T. Mangelsdorf
  • Patent number: 5860096
    Abstract: A multi-level instruction cache memory system for a computer processor. A relatively large cache has both instructions and data. The large cache is the primary source of data for the processor. A smaller cache dedicated to instructions is also provided. The smaller cache is the primary source of instructions for the processor. Instructions are copied from the larger cache to the smaller cache during times when the processor is not accessing data in the larger cache. A prefetch buffer transfers instructions from the larger cache to the smaller cache. If a cache miss occurs for the smaller cache, and the instruction is in the prefetch buffer, the system provides the instruction with no delay relative to a fetch from the smaller instruction cache. If a cache miss occurs for the smaller cache, and the instruction is being fetched from the larger cache, or available in the larger cache, the system provides the instruction with minimal delay relative to a fetch from the smaller instruction cache.
    Type: Grant
    Filed: December 18, 1996
    Date of Patent: January 12, 1999
    Assignee: Hewlett-Packard Company
    Inventors: Stephen R. Undy, Patrick Knebel, Craig A. Gleason
  • Patent number: 5829049
    Abstract: A method of improving the performance of a computer processor by recognizing that two consecutive register instructions can be executed simultaneously and executing the two instructions simultaneously while generating a single data address and while performing exception checking on a single data address. During an instruction fetch process, two consecutive instructions are tested to determine if both are either register load instructions or register save instructions. If both instructions are load or save register instructions, the corresponding data addresses are tested to see if both data addresses are in the same double word. If both data addresses are in the same double word, then the instructions are executed simultaneously. Only one data address generation is required and exception processing is performed on only one data address.
    Type: Grant
    Filed: January 21, 1997
    Date of Patent: October 27, 1998
    Assignee: Hewlett-Packard Company
    Inventors: William L. Walker, Mark R. Storey, Patrick Knebel, Stephen R. Undy
  • Patent number: 5526500
    Abstract: Pipeline structure that is arranged to allow 1.5 cycle access time for both data and instruction cache without imposing additional instruction step delays than that imposed by data and instruction cache that have 1 cycle access time. Half cycle pulses are produced to allow execution of various instructions in 0.5 cycles. A bypass signal is generated to allow data from a current load instruction to be available for a second subsequent instruction even though the access time for data cache is 1.5 cycles. Additionally, a branch address is available for a third subsequent instruction even though instruction cache access time is 1.5 cycles. The present invention shows the initiation of an instruction step for each cycle and 1.5 cycle access time for cache memory. The present invention can also be implemented by implementing an instruction every 2 cycles and providing 3 cycle access time for cache memory.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: June 11, 1996
    Assignee: Hewlett-Packard Company
    Inventors: Darius F. Tanksalvala, Eric R. DeLano, Patrick Knebel, Thomas R. Hotchkiss, R. Craig Simpson
  • Patent number: 5412787
    Abstract: A computer system implementing two levels of translation lookaside buffers (TLBs). The first-level TLBs are small, two-set associative, have a short access time and reside on the CPU chip. The second-level TLBs, on the other hand, are large, direct mapped, and reside in otherwise unused portions of the cache tag RAMs of the instruction and data cache sub-systems. As a result of this arrangement, performance may be improved without limiting the amount of available cache memory for a given implementation. Even if higher capacity memory devices are required for implementing the second-level TLBs in the cache tag RAMs in accordance with the invention, a significant savings over the cost of two sets of smaller devices would still result.
    Type: Grant
    Filed: October 13, 1993
    Date of Patent: May 2, 1995
    Assignee: Hewlett-Packard Company
    Inventors: Mark Forsyth, Patrick Knebel