Patents by Inventor Donald Charles

Donald Charles 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: 6715060
    Abstract: Generally, the present invention provides a system and method for processing instructions of a computer program and for indicating instruction attribute and/or status information so that the efficiency of the processing system may be increased. In architecture, the system of the present invention utilizes a pipeline, a scoreboard, and hazard detection circuitry. The pipeline processes and executes instructions of a computer program. Many of the instructions include register identifiers that identify registers where data should be written when the instructions are executed. When the data produced by execution of one of the instructions has yet to be written to the register identified by the one instruction's register identifier and is unavailable for use in executing other instructions of the program, the one instruction's register identifier is transmitted to the scoreboard.
    Type: Grant
    Filed: January 28, 2000
    Date of Patent: March 30, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ronny Lee Arnold, Donald Charles Soltis, Jr.
  • Patent number: 6711670
    Abstract: A superscalar processing system that detects data hazards within instruction groups utilizes a memory, a plurality of pipelines, an instruction dispersal unit (IDU), and a control mechanism. The memory includes a plurality of entries that respectively correspond with a plurality of registers. The IDU receives an instruction group that includes a plurality of instructions and transmits the instructions of the instruction group to the plurality of pipelines. The control mechanism analyzes one of the instructions and identifies an entry in the memory that corresponds with a register associated with the one instruction. The control mechanism then analyzes the entry and transmits a warning signal in response to a determination that the entry indicates that another instruction within the instruction group is associated with the register.
    Type: Grant
    Filed: October 14, 1999
    Date of Patent: March 23, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Donald Charles Soltis, Jr., Ronny Lee Arnold
  • Patent number: 6711671
    Abstract: An apparatus for and a method of ensuring that a non-speculative instruction is not fetched into an execution pipeline, where the non-speculative instruction, if fetched, may cause a cache miss that causes potentially catastrophic speculative processing, e.g., speculative transfer of data from an I/O device. When a non-speculative instruction is scheduled for a fetch into the pipeline, a translation lookaside buffer (TLB) miss is made to occur, e.g., by preventing the lowest level TLB from storing any page table entry (PTE) associated with any of the non-speculative instructions. The TLB miss prevents the occurrence of any cache miss, and causes a micro-fault to be injected into the pipeline. The micro-fault includes an address corresponding to the subject non-speculative instruction, and when it reaches the end of the pipeline, causes a redirect of instruction flow of the pipeline to the address, and thus the non-speculative instruction is fetched and executed in a non-speculative manner.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: March 23, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Stephen R. Undy, Donald Charles Soltis, Jr.
  • Publication number: 20040049667
    Abstract: Compiled and linked program code having instructions grouped into bundles, wherein the instructions of each bundle are sequentially ordered, is patched by forming a patch bundle and one or more patch code bundles. This is done by writing a long IP-relative branch instruction into multiple syllables of the patch bundle, with the long IP-relative branch instruction providing a means of branching to patch code. Instructions which are similarly located in a bundle to be patched, and which precede the long IP-relative branch instruction, are copied into syllables of the patch bundle. Other instructions of the bundle to be patched are copied into ones of the one or more patch code bundles. The bundle to be patched is overwritten with the patch bundle, and the one or more patch code bundles are written into the patch code.
    Type: Application
    Filed: September 4, 2003
    Publication date: March 11, 2004
    Inventors: James E. McCormick, Stephen R. Undy, Donald Charles Soltis
  • 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
  • Publication number: 20040030867
    Abstract: Generally, the present invention provides a processing system and method for indicating when there is a pending write to a general register of the processing system. The processing system of the present invention utilizes a plurality of general registers, a plurality of connections, a pipeline, a scoreboard, and hazard detection circuitry. The plurality of connections corresponds respectively with the general registers. The scoreboard maintains a plurality of bits such that each bit indicates whether there is a pending write to a corresponding general register. The scoreboard transmits to the hazard detection circuitry one of the bits that is indicative of whether a pending write to the one general register exists based on a value of the one bit and based on which of the connections is used to transmit the one bit. The hazard detection circuitry then detects whether a data hazard exists based on the one bit.
    Type: Application
    Filed: August 7, 2003
    Publication date: February 12, 2004
    Inventors: Ronny Lee Arnold, Donald Charles Soltis
  • Publication number: 20040025094
    Abstract: A method, and a corresponding apparatus, mask error detection and correction latency during multilevel cache transfers. The method includes the steps of transferring error protection encoded data lines from a first cache, checking the error protection encoded data lines for errors, wherein the checking is completed after the transferring begins, receiving the error protection encoded data lines in a second cache, and upon detecting an error in a data line, preventing further transfer of the data line from the second cache.
    Type: Application
    Filed: May 22, 2003
    Publication date: February 5, 2004
    Inventors: Shawn Kenneth Walker, Dean A. Mulla, Donald Charles Soltis, Terry L. Lyon
  • Patent number: 6681288
    Abstract: A semiconductor memory device that includes an array of memory cells, the memory device operating synchronously with respect to an external clock signal. The memory device includes a set of interface terminals to receive a plurality of control signals which specify that the memory device receive a first set of data bits and a second set of data bits. The first set of data bits are received during a first half of a first clock cycle of the external clock signal. The second set of data bits are received during a second half of the first clock cycle of the external clock signal. In addition, the memory device includes a mask terminal to receive first and second mask bits during a second clock cycle of the external clock signal. The first clock cycle is temporally offset from the second clock cycle. The first mask bit is received during a first half of the second clock cycle, the first mask bit to indicate whether to write the first set of data bits to the array.
    Type: Grant
    Filed: May 17, 2002
    Date of Patent: January 20, 2004
    Assignee: Rambus Inc.
    Inventors: Frederick Abbott Ware, Craig Edward Hampel, Donald Charles Stark, Matthew Murdy Griffin
  • Patent number: 6651164
    Abstract: A superscalar processing system that detects data hazards within instruction groups transmitted to the processing system utilizes a content-addressable memory, a plurality of pipelines, an instruction dispersal unit (IDU), and a control mechanism. The IDU receives an instruction group that includes a plurality of instructions and transmits the instructions of the instruction group to the plurality of pipelines. The control mechanism stores register identifiers of the instructions in the content-addressable memory and determines whether a register identifier of one of the instructions is stored in the content-addressable memory. When the register identifier of the one instruction is stored in the content-addressable memory, the control mechanism transmits a warning signal indicating that one of the instruction groups contained a data hazard.
    Type: Grant
    Filed: October 14, 1999
    Date of Patent: November 18, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Donald Charles Soltis, Jr., Ronny Lee Arnold
  • Patent number: 6643762
    Abstract: Generally, the present invention provides a processing system and method for indicating when there is a pending write to a general register of the processing system. The processing system of the present invention utilizes a plurality of general registers, a plurality of connections, a pipeline, a scoreboard, and hazard detection circuitry. The plurality of connections corresponds respectively with the general registers. The scoreboard maintains a plurality of bits such that each bit indicates whether there is a pending write to a corresponding general register. The scoreboard transmits to the hazard detection circuitry one of the bits that is indicative of whether a pending write to the one general register exists based on a value of the one bit and based on which of the connections is used to transmit the one bit. The hazard detection circuitry then detects whether a data hazard exists based on the one bit.
    Type: Grant
    Filed: January 24, 2000
    Date of Patent: November 4, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ronny Lee Arnold, Donald Charles Soltis, Jr.
  • Patent number: 6622238
    Abstract: A processing system provides predicate data that indicates whether instructions processed by a processor pipeline should be executed by the pipeline. In architecture, the system of the present invention utilizes a register, a pipeline, and predicate circuitry. The pipeline includes a first stage and a second stage for processing instructions of a computer program. The predicate circuitry is configured to read a first predicate value from the register and to receive a second predicate value. The predicate circuitry may transmit the first predicate value read from the register to the first stage and then select between the first predicate value and the second predicate value. The predicate value selected by the predicate circuitry is transmitted to the second stage.
    Type: Grant
    Filed: January 24, 2000
    Date of Patent: September 16, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Gary J Benjamin, Donald Charles Soltis, Jr., Ronny Lee Arnold
  • 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: 6618802
    Abstract: A processing system receives instructions from a computer program. Each instruction is included within an issue group such that each issue group only includes instructions that may be simultaneously processed. The issue groups are then sequentially transmitted to a plurality of pipelines that simultaneously processes and executes the instructions within the issue groups in program order. During execution, the instructions within an issue group are analyzed to determine whether any of the instructions in the issue group is dependent on unavailable data. Any of the instructions in the issue group determined to be dependent on unavailable data are independently stalled, while execution of other instructions in the issue group is allowed to continue.
    Type: Grant
    Filed: September 7, 1999
    Date of Patent: September 9, 2003
    Assignee: Hewlett-Packard Company, L.P.
    Inventors: Ronny Lee Arnold, Donald Charles Soltis, Jr.
  • Publication number: 20030167379
    Abstract: A processing system includes a processor, a main memory, a cache and a crossbar interface between the processor and the cache. In a multiprocessing system, a plurality of main memory address ranges can be mapped to a plurality of caches, and a plurality of caches can be mapped to a plurality of processors. Thus a significant degree of flexibility is provided in configuring a processing system.
    Type: Application
    Filed: March 1, 2002
    Publication date: September 4, 2003
    Inventor: Donald Charles Soltis
  • Patent number: 6604192
    Abstract: A computer system utilizing a processing system capable of efficiently comparing register identifiers and instruction attribute data to detect data hazards between instructions of a computer program is used to execute the computer program. The processing system utilizes at least one pipeline, a first decoder, a second decoder, and comparison logic. The pipeline receives and simultaneously processes instructions of a computer program. The first and second decoders are coupled to the pipeline and decode register identifiers associated with instructions being processed by the pipeline. The comparison logic is interfaced with the first and second decoders and receives the decoded register identifiers along with attribute data indicating the status and/or type of instructions being processed by the pipeline. The comparison logic compares the decoded register identifiers and the attribute data to other decoded register identifiers and attribute data to detect data hazards.
    Type: Grant
    Filed: January 24, 2000
    Date of Patent: August 5, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ronny Lee Arnold, Donald Charles Soltis, Jr.
  • Patent number: 6601412
    Abstract: A takedown unit includes a set of takedown rollers arranged around tubular fabric hanging downward from a needle cylinder of a circular knitting machine. The takedown rollers rotate to draw down the hanging tubular fabric, and a floating guide mechanism is within and encircled by the hanging tubular fabric, so that the low-friction guide mechanism interacts with the high-friction takedown rollers to facilitate the drawing down of the fabric. A set of cams extends at least partially around the hanging fabric, and the cams and the takedown rollers are mounted to allow relative rotation therebetween, with the relative rotation being around the hanging fabric. Actuators are positioned for interacting with the cams in response to the relative rotation, so that the cams actuate the actuators which in turn rotate the takedown rollers.
    Type: Grant
    Filed: August 21, 2002
    Date of Patent: August 5, 2003
    Assignee: Mayer Industries, Inc.
    Inventors: Earl Robert Quay, Donald Charles Fosselman, Aiken Anderson Still, IV
  • Patent number: 6591393
    Abstract: Methods and apparatus mask the latency of error detection and/or error correction applied to data transferred between a first memory and a second memory. The method comprises determining whether there is an error in a data unit in the first memory; transferring data based on the data unit from the first memory to a second memory, wherein the transferring step commences before completion of the determining step; and disabling at least part of the second memory if the determining step detects an error in the data unit. The disabling step may be accomplished, for example, by disabling the buffering of an address of the data unit or stalling the second memory.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: July 8, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Shawn Kenneth Walker, Dean A. Mulla, Donald Charles Soltis, Jr., Terry L Lyon
  • Patent number: 6591353
    Abstract: A system and method for performing data transfers within a computer system is provided. The system includes a controller configured to dynamically adjust the interleave of the communications required to perform a series of data transfer operations to maximize utilization of the channel over which the communications are to be performed. The controller is able to vary the time interval between the transmission of control information that requests a data transfer and the performance of the data transfer by signaling the beginning of the data transfer with a strobe signal sent separate from the control information. The controller is able to defer the determination of how much data will be transferred in the operation by initiating the termination of a data transfer with a termination signal. The method provides a technique for distinguishing between identical control signals that are carried on the same line.
    Type: Grant
    Filed: May 1, 2000
    Date of Patent: July 8, 2003
    Assignee: Rambus Inc.
    Inventors: Richard Maurice Barth, Frederick Abbot Ware, John Bradly Dillon, Donald Charles Stark, Craig Edward Hampel, Matthew Murdy Griffin
  • Patent number: 6587940
    Abstract: A method and apparatus that utilizes a simplified, localized version (“a local data-dependency stall”) of a global data-dependency stall to avoid re-reading of a register file to improve the performance of a pipelined microprocessor. A non-asserted local data-dependency stall indicates that source operand for an instruction is correct. Accordingly, when a global data-dependency stall arrives, the instruction is stalled in a stage without re-reading the register file. Without the simplified, localized version of the global data-dependency stall, the source operand data is not known to be correct and is indeed assumed to be incorrect. Therefore, when the global data-dependency stall arrives, a complete re-computation of the source operand data must be performed, including a re-read of the register file. Likewise, an asserted local data-dependency stall indicates that source operand for an instruction is not correct.
    Type: Grant
    Filed: January 18, 2000
    Date of Patent: July 1, 2003
    Assignee: Hewlett-Packard Development Company
    Inventors: Donald Charles Soltis, Jr., Rohit Bhatia
  • Publication number: 20030114165
    Abstract: Subscriber traffic loading in wireless channel sets (31) is indirectly estimated, and distribution of channel sets (31) among regions (39) in the confined space is optimized to more evenly allocate subscribers among those channel sets (31). Multiple service providers, multiple wireless technologies, and both donor-site and in-building micro-cell implementations are supported.
    Type: Application
    Filed: December 7, 2001
    Publication date: June 19, 2003
    Inventor: Donald Charles Mills