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: 6807625Abstract: 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: GrantFiled: February 18, 2000Date of Patent: October 19, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventors: Patrick Knebel, Mark Gibson, Rohit Bhatia, Kevin David Safford
-
Patent number: 6745322Abstract: 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: GrantFiled: February 18, 2000Date of Patent: June 1, 2004Assignee: Hewlett-Packard Development Company, LP.Inventors: Russell C Brockmann, Patrick Knebel, Kevin David Safford, Rohit Bhatia
-
Publication number: 20040068641Abstract: 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: ApplicationFiled: October 6, 2003Publication date: April 8, 2004Inventors: Kevin David Safford, Patrick Knebel
-
Publication number: 20040064267Abstract: 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: ApplicationFiled: September 16, 2003Publication date: April 1, 2004Inventors: Kevin David Safford, Patrick Knebel, Russell C. Brockmann, Karl P. Brummel, M. A. Susith Rohana Fernando
-
Publication number: 20040039966Abstract: 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: ApplicationFiled: August 22, 2003Publication date: February 26, 2004Inventors: Jeremy Petsinger, Kevin David Safford, Karl P. Brummel, Russell C. Brockmann, Bruce A. Long, Patrick Knebel
-
Publication number: 20040030865Abstract: 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: ApplicationFiled: June 25, 2003Publication date: February 12, 2004Inventors: Patrick Knebel, Kevin David Safford, Donald Charles Soltis, Joel D Lamb, Stephen R. Undy, Russell C. Brockmann
-
Patent number: 6681322Abstract: 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: GrantFiled: November 26, 1999Date of Patent: January 20, 2004Assignee: Hewlett-Packard Development Company L.P.Inventors: Kevin David Safford, Patrick Knebel
-
Patent number: 6668315Abstract: 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: GrantFiled: November 26, 1999Date of Patent: December 23, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventors: Kevin David Safford, Patrick Knebel
-
Patent number: 6643800Abstract: 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: GrantFiled: February 2, 2000Date of Patent: November 4, 2003Assignee: 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: 6625759Abstract: 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: GrantFiled: February 18, 2000Date of Patent: September 23, 2003Assignee: 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: 6618801Abstract: 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: GrantFiled: February 2, 2000Date of Patent: September 9, 2003Assignee: 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: 6542862Abstract: 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: GrantFiled: February 18, 2000Date of Patent: April 1, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventors: Kevin David Safford, Patrick Knebel, Joel D Lamb
-
Patent number: 6003107Abstract: 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: GrantFiled: September 10, 1996Date of Patent: December 14, 1999Assignee: Hewlett-Packard CompanyInventors: Gregory L. Ranson, John W. Bockhaus, Gregg B. Lesartre, Patrick Knebel, Paul L. Perez
-
Patent number: 5867644Abstract: 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: GrantFiled: September 10, 1996Date of Patent: February 2, 1999Assignee: Hewlett Packard CompanyInventors: 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: 5860096Abstract: 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: GrantFiled: December 18, 1996Date of Patent: January 12, 1999Assignee: Hewlett-Packard CompanyInventors: Stephen R. Undy, Patrick Knebel, Craig A. Gleason
-
Patent number: 5829049Abstract: 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: GrantFiled: January 21, 1997Date of Patent: October 27, 1998Assignee: Hewlett-Packard CompanyInventors: William L. Walker, Mark R. Storey, Patrick Knebel, Stephen R. Undy
-
Patent number: 5526500Abstract: 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: GrantFiled: February 10, 1995Date of Patent: June 11, 1996Assignee: Hewlett-Packard CompanyInventors: Darius F. Tanksalvala, Eric R. DeLano, Patrick Knebel, Thomas R. Hotchkiss, R. Craig Simpson
-
Patent number: 5412787Abstract: 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: GrantFiled: October 13, 1993Date of Patent: May 2, 1995Assignee: Hewlett-Packard CompanyInventors: Mark Forsyth, Patrick Knebel