Patents by Inventor William A. Moyer

William A. Moyer 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: 20060282621
    Abstract: Techniques for accessing a unified cache to obtain instruction information are provided. One exemplary technique includes accessing, during a first instruction access, a first cache line of a first way of a unified cache having a plurality of ways to obtain instruction information associated with a first instruction, enabling the first way and disabling one or more of the remaining ways of the unified cache in response to a determination that the first cache line comprises instruction information associated with a second instruction, and accessing, during a second instruction access, the first cache line of the first way to obtain instruction information associated with the second instruction.
    Type: Application
    Filed: June 10, 2005
    Publication date: December 14, 2006
    Applicant: Freescale Semiconductor, Inc.
    Inventor: William Moyer
  • Publication number: 20060277349
    Abstract: A method is disclosed whereby a priority amongst transactions capable of being processed at a common time is determined based upon a transaction identifier associated with each of the transaction. The transaction identifier can either directly indicate a priority amongst the transactions, or use to index storage locations that indicate priority values. The transaction identifiers can be selected to be associated with a transaction by the requesting device or other priority determination module based upon predefined criteria.
    Type: Application
    Filed: June 1, 2005
    Publication date: December 7, 2006
    Applicant: Freescale Semiconductor, Inc.
    Inventors: Brett Murdock, William Moyer, Michael Fitzsimmons
  • Publication number: 20060271919
    Abstract: A system for obtaining translation information from a data processing system transparent to the operation of a processor core of the data processing system. In one embodiment, the processor includes a processor core and memory management circuitry. The memory management circuitry stores translation information. The data processing system includes debugging circuitry for obtaining translation information stored in the memory management circuitry and for providing that information externally.
    Type: Application
    Filed: May 27, 2005
    Publication date: November 30, 2006
    Inventor: William Moyer
  • Publication number: 20060271759
    Abstract: A system for obtaining translation information from a data processing system. The system includes circuitry for receiving an external request for translation information. The circuitry determines whether the requested translation information is present in memory management circuitry of a data processing system. If the translation information is not present in the memory management circuitry, the circuitry requests retrieval of the information by a processor core. In one embodiment, the request is performed by generating an interrupt to the processor core. In other embodiments, the request is preformed by requesting the activation a program thread to be executed by the processor core.
    Type: Application
    Filed: May 27, 2005
    Publication date: November 30, 2006
    Inventor: William Moyer
  • Publication number: 20060230315
    Abstract: In accordance with one technique, a first plurality of values associated with data transfers between a processor and a memory is received at the processor and at least a subset of the first plurality of values are accumulated in one or more accumulators. The one or more accumulators are accessed to obtain a first accumulated value and the first accumulated value is compared with a first expected accumulated value. In accordance with a second technique, a first plurality of load operations are performed at a processor to access data values stored in a first sequence of fields of a memory. The data values are accumulated in one or more accumulators of the processor to generate a first accumulated value and it is determined whether the memory has been corrupted based on a comparison of the first accumulated value to a first expected accumulation value.
    Type: Application
    Filed: March 30, 2005
    Publication date: October 12, 2006
    Applicant: Freescale Semiconductor, Inc.
    Inventor: William Moyer
  • Publication number: 20060195721
    Abstract: A data processing system (10) has a system debug module (19) coupled to a processor (12) for performing system debug functions. Located within the system, and preferably within the processor, is debug circuitry (32) that selectively provides debug information related to the processor. The circuitry identifies which of a plurality of registers (26) is sourcing the debug information. A user-determinable enable and disable mechanism that is correlated to some or all of the registers sourcing the debug information specifies whether to enable or disable the providing of the debug information. In one form a single bit functions as the mechanism for each correlated register. Debug operations including breakpoints, tracing, watchpoints, halting, event counting and others are qualified to enhance system debug. The registers may be included in a programmer's model and can be compliant with one or more industry debug related standards.
    Type: Application
    Filed: February 25, 2005
    Publication date: August 31, 2006
    Inventors: William Moyer, John Vaglica
  • Publication number: 20060155974
    Abstract: If a data processing system (10) implements more than one instruction set within a single processor (12), then program portions encoded using a first instruction set will need to be able to call program portions encoded using a second instruction set. This switching between instruction sets requires that the processor (12) be informed when instruction execution is switching between the plurality of instruction sets. A solution was needed that would allow program portions to freely intermix their usage of different instruction sets with no prior knowledge by the software programmer as to which instruction set is used for which program portion. In one embodiment, instruction address attribute (106) in address mapping circuitry (32) may be used to inform instruction decode unit (46) of processor (12) when instruction execution is switching between the plurality of instruction sets.
    Type: Application
    Filed: January 7, 2005
    Publication date: July 13, 2006
    Inventors: William Moyer, Peter Wilson
  • Publication number: 20060095723
    Abstract: A processor (12) to coprocessor (14) interface supporting multiple coprocessors (14, 16) utilizes compiler generatable software type function call and return, instruction execute, and variable load and store interface instructions. Data is moved between the processor (12) and coprocessor (14) on a bi-directional shared bus (28) either implicitly through register snooping and broadcast, or explicitly through function call and return and variable load and store interface instructions. The load and store interface instructions allow selective memory address preincrementation. The bi-directional bus (28) is potentially driven both ways on each clock cycle. The interface separates interface instruction decode and execution. Pipelined operation is provided by indicating decoded instruction discard by negating a decode signal before an execute signal is asserted.
    Type: Application
    Filed: December 7, 2005
    Publication date: May 4, 2006
    Inventors: William Moyer, John Arends, Jeffrey Scott
  • Publication number: 20060085702
    Abstract: Storage circuitry (66) may be used to store the values of fuses (77) so that storage circuitry (66) can be read instead of fuses (77). By accessing the fuse values from storage circuitry (66) rather than from fuses (77), there will be no sense current to fuses (77) that may cause marginal fuse blowage for fuses that have not yet been blown. This helps to prevent the situation in which an unblown fuse is erroneously read as having been blown. The use of storage circuitry (66) thus significantly improves the reliability of fuse module (20). For some embodiments, selection storage circuitry (64) may be used to determine whether storage circuitry (66) may be read or whether one of fuses (77) must be read in order to retrieve the desired current fuse value. The fuse value stored in storage circuitry (66) can also be used as direct hardware signals (80).
    Type: Application
    Filed: September 30, 2004
    Publication date: April 20, 2006
    Inventors: Qadeer Qureshi, John Vaglica, William Moyer, Ryan Bedwell
  • Publication number: 20060069830
    Abstract: A bus master may selectively retract a currently pending access based on one or more characteristics of the currently pending access. In this manner, bus master may better control its access requests. The one or more characteristics may include, for example, type of access (e.g. read/write, instruction/data, burst/non-burst, etc.), sequence or order of accesses, address being accessed (e.g. which address range is being accessed or which device is beings accessed), the bus master requesting retraction (in an, e.g., multimaster system), or any combination thereof. A bus arbiter may also selectively retract currently pending access requests in favor of a subsequent access request based on one or more characteristics of the currently pending access request or the subsequent access request. These characteristics may include any of those listed above, priorities of the requesting masters (e.g. a priority delta between requesting masters), other attributes of the requesting masters, or any combination thereof.
    Type: Application
    Filed: September 30, 2004
    Publication date: March 30, 2006
    Inventors: William Moyer, Jimmy Gumulja, Brett Murdock
  • Publication number: 20060069839
    Abstract: A bus master may selectively retract a currently pending access based on one or more characteristics of the currently pending access. In this manner, bus master may better control its access requests. The one or more characteristics may include, for example, type of access (e.g. read/write, instruction/data, burst/non-burst, etc.), sequence or order of accesses, address being accessed (e.g. which address range is being accessed or which device is being accessed), the bus master requesting retraction (in an, e.g., multimaster system), or any combination thereof. A bus arbiter may also selectively retract currently pending access requests in favor of a subsequent access request based on one or more characteristics of the currently pending access request or the subsequent access request. These characteristics may include any of those listed above, priorities of the requesting masters (e.g. a priority delta between requesting masters), other attributes of the requesting masters, or any combination thereof.
    Type: Application
    Filed: September 30, 2004
    Publication date: March 30, 2006
    Inventors: William Moyer, Brett Murdock
  • Publication number: 20060064445
    Abstract: A data processing system uses a data processor instruction that forms an immediate value. The data processing instruction uses a first field as a portion of the immediate value. A second field of the data processing instruction determines a positional location of the portion of the immediate value within the immediate value. A bit value in a third field of the data processing instruction is used to determine a remainder of the immediate value.
    Type: Application
    Filed: September 17, 2004
    Publication date: March 23, 2006
    Inventor: William Moyer
  • Publication number: 20060053256
    Abstract: In one embodiment, a data processing system (10) includes a first master, storage circuitry (35) coupled to the first master (12) for use by the first master (12), a first control storage circuit (38) which stores a first prefetch limit (60), a prefetch buffer (42), and prefetch circuitry (40) coupled to the first control storage circuit, to the prefetch buffer, and to the storage circuitry. In one embodiment, the prefetch circuitry (40) selectively prefetches a predetermined number of lines from the storage circuitry into the prefetch buffer (42) based on whether or not a prefetch counter, initially set to a value indicated by the first prefetch limit, has expired. In one embodiment, the first prefetch limit may therefore be used to control how many prefetches occur between misses in the prefetch buffer.
    Type: Application
    Filed: September 9, 2004
    Publication date: March 9, 2006
    Inventors: William Moyer, Lea Lee, Afzal Malik
  • Publication number: 20060036812
    Abstract: A method and apparatus is provided for prefetching in a data processing system (10). The data processing system (10) has a bus master (14) and a memory controller (16) coupled to a bus (12). A memory (18) is coupled to the memory controller (16). In the data processing system (14) an address is driven onto the bus (12). Before the address is qualified, data corresponding to the address is prefetched. Prefetching the data before the address is qualified allows prefetches to be accomplished sooner.
    Type: Application
    Filed: August 11, 2004
    Publication date: February 16, 2006
    Inventors: William Moyer, Craig Shaw
  • Publication number: 20050273562
    Abstract: A read allocation indicator (e.g. read allocation signal 30) is provided to storage circuitry (e.g. cache 22) to selectively determine whether read allocation will be performed for the read access. Read allocation may include modification of the information content of the cache (22) and/or modification of the read replacement algorithm state implemented by the read allocation circuitry (70) in cache (22). For certain types of debug operations, it may be very useful to provide a read allocation indicator that ensures that no unwanted modification are made to the storage circuitry during a read access. Yet other types of debug operations may want the storage circuitry to be modified in the standard manner when a read access occurs.
    Type: Application
    Filed: August 5, 2005
    Publication date: December 8, 2005
    Inventor: William Moyer
  • Publication number: 20050273544
    Abstract: A crossbar switch (12) arbitrates for access from multiple bus masters (14, 16, 18, 20 and 22) to multiple addressed slave ports (3 and 4) that have overlapping address ranges. In one form, the address ranges are the same address range. The crossbar switch (12) uses shared slave port control circuitry (48), configuration registers (46) and slave port arbiter logic (34, 36, 38, 40, 42 and 44) to arbitrate for access when all the addressed ports are busy. A determination is made as to whether new access requests are higher or lower in priority than existing accesses. A determination on where to direct a new access request is made based upon a prediction of which of certain multiple accesses will complete first based on various factors including the number of data beats requested as well as wait state information. In one mode, the wait state information is determined dynamically.
    Type: Application
    Filed: August 15, 2005
    Publication date: December 8, 2005
    Inventors: Michael Fitzsimmons, William Moyer, Brett Murdock
  • Publication number: 20050257102
    Abstract: In current real-time debug systems, debug messages are transmitted through a limited bandwidth port (18) from an integrated circuit (10) to an external development system (25). As some integrated circuits (10) become even more densely packed with multiple bus masters (11, 12) and/or multiple busses (16) capable of generating messages, it is becoming more and more difficult for the limited bandwidth port (18) to sufficiently support the volume of debug messages that are to be transmitted from an integrated circuit (10) to an external development system (25). A plurality of masks (70, 80, 90, 100, 110, 120, 130, 140, 150) and masking circuitry (36) may be used to selectively mask portions (41-45, 51-55) of debug messages (40, 50) in order to significantly improve bandwidth.
    Type: Application
    Filed: April 30, 2004
    Publication date: November 17, 2005
    Inventors: William Moyer, Richard Collins
  • Publication number: 20050198413
    Abstract: Multiple burst memory access handling protocols may be implemented at the hardware level or evaluated and selected during design of the hardware. The appropriate burst protocol may be selectable based on burst characteristics such as burst types and the identity of the current bus master. This allows, for example, the ability for a slave to support multiple error protocols in a multi-master system on a chip (SoC), or to design slaves capable of interfacing with a variety of masters which use different burst handling protocols. Inputs such as a programmable control register or configuration pins or variables may be provided to as part of the slave or slave interface block (e.g., a memory controller) to facilitate the implementation of alternate burst protocols. When a burst request is received from a master, a burst characteristic corresponding to the requested burst is determined and one of a plurality of burst error protocols is selected based on the burst characteristic.
    Type: Application
    Filed: March 3, 2004
    Publication date: September 8, 2005
    Inventor: William Moyer
  • Publication number: 20050193256
    Abstract: A data processing system (10) has a debug module (26) that selectively generates one or more debug messages that are specific to a Direct Memory Access (DMA) controller device (16) in the system. A control register(70) enables which of the DMA debug messages are provided. The beginning and end of DMA transfer activity is provided including when minor loop iterations start and complete. Latency information indicating system latency between a channel request and actual initiation of the request for each DMA transfer may also be included in a debug message. One of the debug messages provides periodic status of a predetermined DMA channel under control of a control register (80). At least one of the debug messages implements a watchpoint function, such as indicating when a transfer starts or ends. The debug module may be centralized in the system or distributed among each of predetermined system units.
    Type: Application
    Filed: April 6, 2005
    Publication date: September 1, 2005
    Inventor: William Moyer
  • Publication number: 20050138484
    Abstract: A system and method time orders events that occur in various portions of the system (10) where different time domains (12, 22, 32) exist. Timestamping circuitry (e.g. 40) is provided in each of a plurality of functional circuits or modules (14, 24, 34). The timestamping circuitry provides a message that indicates a point in time when a predetermined event occurs. An interface module (70) is coupled to each of the plurality of functional circuits (14, 24, 34). The interface module (70) provides control information to the plurality of functional circuits (14, 24, 34) to indicate at least one operating condition that triggers the predetermined event, and to optionally specify a message format. The interface module (70) provides a timestamping message from one, several or all time domains at a common interface port (90).
    Type: Application
    Filed: December 5, 2003
    Publication date: June 23, 2005
    Inventors: William Moyer, Richard Collins, Michael Fitzsimmons, Jason Nearing