Patents by Inventor Gary L. Whisenhunt

Gary L. Whisenhunt 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: 20100125750
    Abstract: A data processing system and method of operation has a processor coupled to a cache. Cache control circuitry is coupled to the cache and performs error detection. A user programmable error action control register stores a control value for selecting a type of error action to be taken when a cache error is detected. A first value of the control value permits handling of a cache error that is transparent to the processor, and a second value permits handling of the cache error by taking an exception that is visible to the processor. Various alternate actions to a detected error, including error correction or cache line invalidation, may be taken in response to other values of the control value.
    Type: Application
    Filed: November 18, 2008
    Publication date: May 20, 2010
    Inventors: William C. Moyer, Gary L. Whisenhunt
  • Publication number: 20100106872
    Abstract: A data processing system having a processor and a target device processes decorated instructions (i.e. an instruction having a decoration value). A device of the data processing system such as the processor sends transactions to the target device over a system interconnect. A decorated storage notify (DSN) transaction includes an indication of an instruction operation, an address associated with the instruction operation, and a decoration value (i.e. a command to the target device to perform a function in addition to a store or a load). The transaction on the system interconnect includes an address phase and no data phase, thereby improving system bandwidth. In one form the target device (e.g. a memory with functionality in addition to storage functionality) performs a read-modify-write operation using information at a storage location of the target device.
    Type: Application
    Filed: October 28, 2008
    Publication date: April 29, 2010
    Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20100107243
    Abstract: A data processing system having a processor and a target device processes decorated instructions (i.e. an instruction having a decoration value). A device of the data processing system such as the processor sends transactions to the target device over a system interconnect. The transactions include an indication of an instruction operation, an address associated with the instruction operation, a decoration value (i.e. a command to the target device to perform a function in addition to a primary function of the executed instruction), and access permissions associated with the address. The target device (e.g. a memory with functionality in addition to storage functionality) determines whether a decoration operation specified by the decoration value is permissible based on the received access permissions. The target device performs the decoration operation if appropriate permissions exist.
    Type: Application
    Filed: October 28, 2008
    Publication date: April 29, 2010
    Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
  • Patent number: 7702881
    Abstract: A processing device includes a first storage location configured to store a first value associated with a first address space, a second storage location configured to store a second value associated with a second address space, and a third storage location configured to store a third value associated with a third address space. The processing device further includes a memory management unit, which includes a first input configured to receive a first address value associated with a data transfer operation, a second input configured to receive an identifier associated with the data transfer operation, and an address space select module configured to identify a select value from the first value, the second value and the third value based on the identifier. The memory management module further includes an address modification module configured to generate a second address value based on the first address value and the select value.
    Type: Grant
    Filed: January 31, 2007
    Date of Patent: April 20, 2010
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Becky G. Bruce, Michael D. Snyder, Gary L. Whisenhunt, Kumar Gala
  • Publication number: 20100095039
    Abstract: A data processing system has an interrupt controller which provides an interrupt request along with a corresponding interrupt identifier and a corresponding interrupt vector to a processor. If the processor accepts the interrupt, the processor returns the same interrupt identifier value by way of interrupt identifier, along with interrupt acknowledge, to the interrupt controller. An interrupt taken/not taken indicator may also be provided. The communications interface used to coordinate interrupt processing between the interrupt controller and the processor may be asynchronous.
    Type: Application
    Filed: October 14, 2008
    Publication date: April 15, 2010
    Inventors: Bryan D. Marietta, Michael D. Snyder, Gary L. Whisenhunt, Daniel L. Bouvier
  • Patent number: 7689815
    Abstract: A method includes providing a debug instruction and providing a debug control register field, where if the debug control register field has a first value, the debug instruction executes a debug operation and where if the debug control register field has a second value, the debug instruction is to be executed as a no-operation (NOP) instruction. A data processing system includes instruction fetch circuitry for receiving a debug instruction, a debug control register field, and debug execution control circuitry for controlling execution of the debug instruction in a first manner if the debug control register field has a first value and in a second manner if the debug control register field has a second value, where in the first manner a debug operation is performed and in the second manner no debug operation is performed.
    Type: Grant
    Filed: October 12, 2007
    Date of Patent: March 30, 2010
    Assignee: Freescale Semiconductor, Inc
    Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20100049956
    Abstract: For use in a data processing system comprising a processor configured to execute a first set of instructions corresponding to a first thread and a second set of instructions corresponding to a second thread, a method is provided. The method comprises in response to execution of a debug instruction by the first thread while executing the first set of instructions, generating a debug event for processing by the second thread.
    Type: Application
    Filed: August 20, 2008
    Publication date: February 25, 2010
    Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20100049955
    Abstract: For use in a data processing system comprising a processor configured to execute a first set of instructions corresponding to a first thread and a second set of instructions corresponding to a second thread, a method is provided. The method comprises in response to execution of a debug related instruction by the first thread while executing the first set of instructions, generating a debug event for processing by the second thread, wherein processing the debug event comprises causing a halting operation related to the processor.
    Type: Application
    Filed: August 20, 2008
    Publication date: February 25, 2010
    Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20090235059
    Abstract: A processor implementation supports selection of an execution mode for debug instruction instances based on respective addresses thereof in addressable memory can provide an attractive mechanism for executing debug instructions in a way that allows some instances of the instructions to operate with debug semantics while suppressing other instances by executing them with no-operation (NOP) semantics. In some embodiments, selection of operative execution semantics may be based on attributes of a memory page in which a particular debug instruction instance resides. In some embodiments, portions of an address space may be delimited (e.g., using values stored in bounding registers and addresses of particular debug instruction instances compared against the delimited portions to select appropriate execution semantics. In some embodiments, both types of evaluations may be used in selecting appropriate execution semantics for a particular debug instruction instance.
    Type: Application
    Filed: March 17, 2008
    Publication date: September 17, 2009
    Applicant: Freescale Semiconductor, Inc.
    Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
  • Patent number: 7584344
    Abstract: An integrated circuit (10) has a conditional yield instruction (305) which may be used to conditionally yield execution of a currently active thread based on priority and status of other threads. In one embodiment, an I bit 304 may be used to designate whether the priority selection bits (50) are stored in the instruction itself. If the priority selection bits (50) are not stored in the instruction itself, a portion of the instruction (302) may be used to store a location indicator which indicates where the priority selection bits (50) are located (e.g. register file 22).
    Type: Grant
    Filed: May 2, 2006
    Date of Patent: September 1, 2009
    Assignee: Freescale Semiconductor, Inc.
    Inventors: William C. Moyer, Gary L. Whisenhunt
  • Publication number: 20090132796
    Abstract: A first thread enters a polling loop to wait for a signal from a second thread before processing instructions dependent on the polling loop. When entering the polling loop, the first thread sets a reservation for a predetermined memory address. The first thread then executes a reservation-based instruction that can change the execution state of the first thread. Reservation circuitry of the processing device that was executing the first thread monitors the reservation. In the event that the reservation cleared, such as by the second thread modifying data at the predetermined memory address, the first thread is reinstated to its prior execution state. By using a hardware reservation mechanism to monitor for clearing of a set reservation, repeated memory accesses to the memory address by the first thread can be minimized or avoided while in the polling loop and other threads can be allowed to execute at the processing device with reduced interference from the waiting thread.
    Type: Application
    Filed: November 20, 2007
    Publication date: May 21, 2009
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20090100432
    Abstract: A processing device includes a storage component configured to store instructions associated with a corresponding thread of a plurality of threads, and an execution unit configured to fetch and execute instructions. The processing device further includes a period timer comprising an output to provide an indicator in response to a count value of the period timer reaching a predetermined value based on a clock signal. The processing device additionally includes a plurality of thread forward-progress counter components, each configured to adjust a corresponding execution counter value based on an occurrence of a forward-progress indicator while instructions of a corresponding thread are being executed. The processing device further includes a thread select module configured to select threads of the plurality of threads for execution by the execution unit based a state of the period timer and a state of each of the plurality of thread forward-progress counter components.
    Type: Application
    Filed: October 12, 2007
    Publication date: April 16, 2009
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: David C. Holloway, Trinh H. Nguyen, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20090100254
    Abstract: A method includes providing a debug instruction and providing a debug control register field, where if the debug control register field has a first value, the debug instruction executes a debug operation and where if the debug control register field has a second value, the debug instruction is to be executed as a no-operation (NOP) instruction. A data processing system includes instruction fetch circuitry for receiving a debug instruction, a debug control register field, and debug execution control circuitry for controlling execution of the debug instruction in a first manner if the debug control register field has a first value and in a second manner if the debug control register field has a second value, where in the first manner a debug operation is performed and in the second manner no debug operation is performed.
    Type: Application
    Filed: October 12, 2007
    Publication date: April 16, 2009
    Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20090037666
    Abstract: A method and device for locking a cache line of a cache is disclosed. The method includes automatically changing a state of a cache line from a valid locked state to an invalid locked state in response to receiving an indication that a memory location external to the cache and corresponding to the cache line is associated with an access request by a processor or other data access module. Thus, the locked state of a cache line is maintained even after data in the locked cache line is invalidated. By maintaining the invalid locked state, the cache line is not available for reallocation by the cache. This allows locked cache lines that become invalidated to remain locked without additional software overhead to periodically determine whether the lock has been lost due to invalidation of the cache line.
    Type: Application
    Filed: August 2, 2007
    Publication date: February 5, 2009
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Syed R. Rahman, David F. Greenberg, Kathryn C. Stacer, Klas M. Bruce, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20090019232
    Abstract: A processing system includes a plurality of coherency domains and a plurality of coherency agents. Each coherency agent is associated with at least one of the plurality of coherency domains. At a select coherency agent of the plurality of coherency agents, an address translation for a coherency message is performed using a first memory address to generate a second memory address. A select coherency domain of the plurality of coherency domains associated with the coherency message is determined at the select coherency agent based on the address translation. The coherency message and a coherency domain identifier of the select coherency domain are provided by the select coherency agent to a coherency interconnect for distribution to at least one of the plurality of coherency agents based on the coherency domain identifier.
    Type: Application
    Filed: July 11, 2007
    Publication date: January 15, 2009
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Sanjay R. Deshpande, Bryan D. Marietta, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20080282251
    Abstract: A technique for scheduling execution of threads at a processor is disclosed. The technique includes executing a thread de-emphasis instruction of a thread that de-emphasizes the thread until the number of pending memory transactions, such as cache misses, associated with the thread are at or below a threshold. While the thread is de-emphasized, other threads at the processor that have a higher priority can be executed or assigned system resources. Accordingly, the likelihood of a stall in the processor is reduced.
    Type: Application
    Filed: May 10, 2007
    Publication date: November 13, 2008
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Klas M. Bruce, Sergio Schuler, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20080222389
    Abstract: A method includes communicating a first message between processors of a multiprocessor system via a coherency interconnect, whereby the first message includes coherency information. The method further includes communicating a second message between processors of the multiprocessor system via the coherency interconnect, whereby the second message includes interprocessor message information. A system includes a coherency interconnect and a processor. The processor includes an interface configured to receive messages from the coherency interconnect, each message including one of coherency information or interprocessor message information. The processor further includes a coherency management module configured to process coherency information obtained from at least one of the messages and an interrupt controller configured to generate an interrupt based on interprocessor message information obtained from at least one of the messages.
    Type: Application
    Filed: March 6, 2007
    Publication date: September 11, 2008
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Becky G. Bruce, Sanjay R. Deshpande, Michael D. Snyder, Gary L. Whisenhunt, Kumar Gala
  • Publication number: 20080209182
    Abstract: A data processing device and methods thereof are disclosed. The data processing device can operate in three different modes. In a first, N-bit mode, the data processing device performs memory accesses based on N-bit values and performs arithmetic operations using N-bit values. In a second, hybrid N-bit/M-bit mode, the data processing device performs memory accesses based on M-bit values, where M is less than N, and performs arithmetic operations using N-bit values. In a third, M-bit mode, the data processing device performs memory accesses based on M-bit values and performs arithmetic operations using M-bit values. The three modes provide for compatibility with a wide range of applications. Further operation in the M-bit mode can provide a power savings when implementing applications compatible with that mode.
    Type: Application
    Filed: February 27, 2007
    Publication date: August 28, 2008
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Michael D. Snyder, David C. Holloway, Trinh H. Nguyen, Sergio Schuler, Gary L. Whisenhunt
  • Publication number: 20080183943
    Abstract: A processing device includes a first storage location configured to store a first value associated with a first address space, a second storage location configured to store a second value associated with a second address space, and a third storage location configured to store a third value associated with a third address space. The processing device further includes a memory management unit, which includes a first input configured to receive a first address value associated with a data transfer operation, a second input configured to receive an identifier associated with the data transfer operation, and an address space select module configured to identify a select value from the first value, the second value and the third value based on the identifier. The memory management module further includes an address modification module configured to generate a second address value based on the first address value and the select value.
    Type: Application
    Filed: January 31, 2007
    Publication date: July 31, 2008
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Becky G. Bruce, Michael D. Snyder, Gary L. Whisenhunt, Kumar Gala
  • Patent number: 6792502
    Abstract: A microprocessor architecture (310) has a plurality of functional units arranged in a parallel manner between one or more source buses (412 and/or 414) and one or more result buses (490). At least one of the functional units within the architecture is a content addressable memory (CAM) functional unit (430) which can be issued CPU instructions via a sequencer (480) much like any other functional unit. The operation of the CAM (430) may be pipelined in one or more stages so that the CAM's throughput may be increased to accommodate the higher clock rates that are likely used within the architecture (310). One embodiment involves pipelining the CAM operation in three stages (510, 520, and 530) in order to sequentially perform data input and precharge operations, followed by match operations, and followed Finally by priority encoding and data output.
    Type: Grant
    Filed: October 12, 2000
    Date of Patent: September 14, 2004
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Mihir A. Pandya, Gary L. Whisenhunt