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: 20100125750Abstract: 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: ApplicationFiled: November 18, 2008Publication date: May 20, 2010Inventors: William C. Moyer, Gary L. Whisenhunt
-
Publication number: 20100106872Abstract: 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: ApplicationFiled: October 28, 2008Publication date: April 29, 2010Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20100107243Abstract: 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: ApplicationFiled: October 28, 2008Publication date: April 29, 2010Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
-
Patent number: 7702881Abstract: 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: GrantFiled: January 31, 2007Date of Patent: April 20, 2010Assignee: Freescale Semiconductor, Inc.Inventors: Becky G. Bruce, Michael D. Snyder, Gary L. Whisenhunt, Kumar Gala
-
Publication number: 20100095039Abstract: 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: ApplicationFiled: October 14, 2008Publication date: April 15, 2010Inventors: Bryan D. Marietta, Michael D. Snyder, Gary L. Whisenhunt, Daniel L. Bouvier
-
Patent number: 7689815Abstract: 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: GrantFiled: October 12, 2007Date of Patent: March 30, 2010Assignee: Freescale Semiconductor, IncInventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20100049956Abstract: 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: ApplicationFiled: August 20, 2008Publication date: February 25, 2010Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20100049955Abstract: 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: ApplicationFiled: August 20, 2008Publication date: February 25, 2010Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20090235059Abstract: 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: ApplicationFiled: March 17, 2008Publication date: September 17, 2009Applicant: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
-
Patent number: 7584344Abstract: 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: GrantFiled: May 2, 2006Date of Patent: September 1, 2009Assignee: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Gary L. Whisenhunt
-
Publication number: 20090132796Abstract: 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: ApplicationFiled: November 20, 2007Publication date: May 21, 2009Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20090100432Abstract: 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: ApplicationFiled: October 12, 2007Publication date: April 16, 2009Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: David C. Holloway, Trinh H. Nguyen, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20090100254Abstract: 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: ApplicationFiled: October 12, 2007Publication date: April 16, 2009Inventors: William C. Moyer, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20090037666Abstract: 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: ApplicationFiled: August 2, 2007Publication date: February 5, 2009Applicant: 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: 20090019232Abstract: 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: ApplicationFiled: July 11, 2007Publication date: January 15, 2009Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Sanjay R. Deshpande, Bryan D. Marietta, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20080282251Abstract: 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: ApplicationFiled: May 10, 2007Publication date: November 13, 2008Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Klas M. Bruce, Sergio Schuler, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20080222389Abstract: 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: ApplicationFiled: March 6, 2007Publication date: September 11, 2008Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Becky G. Bruce, Sanjay R. Deshpande, Michael D. Snyder, Gary L. Whisenhunt, Kumar Gala
-
Publication number: 20080209182Abstract: 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: ApplicationFiled: February 27, 2007Publication date: August 28, 2008Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Michael D. Snyder, David C. Holloway, Trinh H. Nguyen, Sergio Schuler, Gary L. Whisenhunt
-
Publication number: 20080183943Abstract: 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: ApplicationFiled: January 31, 2007Publication date: July 31, 2008Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Becky G. Bruce, Michael D. Snyder, Gary L. Whisenhunt, Kumar Gala
-
Patent number: 6792502Abstract: 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: GrantFiled: October 12, 2000Date of Patent: September 14, 2004Assignee: Freescale Semiconductor, Inc.Inventors: Mihir A. Pandya, Gary L. Whisenhunt