Patents by Inventor Muhammad Ahmed

Muhammad Ahmed 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: 7673102
    Abstract: Techniques for use in CDMA-based products and services, including replacing cache memory allocation so as to maximize residency of a plurality of set ways following a tag-miss allocation. Herein, steps forming a first-in, first-out (FIFO) replacement listing of victim ways for the cache memory, wherein the depth of the FIFO replacement listing approximately equals the number of ways in the cache set. The method and system place a victim way on the FIFO replacement listing only in the event that a tag-miss results in a tag-miss allocation, the victim way is placed at the tail of the FIFO replacement listing after any previously selected victim way. Use of a victim way on the FIFO replacement listing is prevented in the event of an incomplete prior allocation of the victim way by, for example, stalling a reuse request until such initial allocation of the victim way completes or replaying a reuse request until such initial allocation of the victim way completes.
    Type: Grant
    Filed: May 17, 2006
    Date of Patent: March 2, 2010
    Assignee: QUALCOMM Incorporated
    Inventor: Muhammad Ahmed
  • Publication number: 20100009746
    Abstract: A video game maps each of a plurality of outputs to inputs associated with a video game controller. In some embodiments, the plurality of outputs represent the various potential outputs of a drum set. Combinations of video game controller inputs are used to generate the outputs. Video game controller inputs include traditional input devices such as button inputs, as well as input signals generated from positioning and movement of the video game controllers. In some embodiments, a video game console provides a video representation of the outputs generated by input combinations received from the video game controllers.
    Type: Application
    Filed: July 14, 2008
    Publication date: January 14, 2010
    Inventors: Jesse B. Raymond, Muhammad A. Ahmed
  • Patent number: 7620778
    Abstract: Techniques for processing transmissions in a communications (e.g., CDMA) system including the use of a digital signal processor. The digital signal processor includes a cache memory system and associates a plurality of cache memory match lines with addressable memory lines of an addressable memory. Each of the cache memory match lines associates with one of corresponding sets of the cache memory. The method and system maintain each of the cache memory match lines at a low voltage. Once the digital signal processor initiates a search of the cache memory for retrieving data from a selected one of the corresponding sets of the cache memory, a match line drive circuit drives one of the cache memory match lines from a low voltage to a high voltage. The selected one of the cache memory match lines corresponds to the selected one of the corresponding sets of the cache memory. The digital signal processor compares the selected one of the cache memory match lines to an associated one of the addressable memory lines.
    Type: Grant
    Filed: May 25, 2005
    Date of Patent: November 17, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Baker Mohammad, Muhammad Ahmed, Paul Bassett, Sujat Jamil, Ajay Anant Ingle
  • Patent number: 7590824
    Abstract: Techniques for processing transmissions in a communications (e.g., CDMA) system. A method and system for issuing and executing mixed architecture instructions in a multiple-issue digital signal processor receives in a mixed instruction listing a plurality of digital signal processor instructions. The plurality of digital signal processor instructions includes a plurality of parallel executable instructions (e.g., VLIW instructions or instruction packets) mixed among a plurality of series executable instructions (e.g., superscalar instructions). The series executable instructions are associated by various instruction dependencies. The method and system further identify in the mixed instruction listing the plurality of parallel executable instructions. Once identified, the parallel executable instructions are first executed in parallel irrespective of any such instruction's relative order in the mixed instruction listing.
    Type: Grant
    Filed: March 29, 2005
    Date of Patent: September 15, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Muhammad Ahmed, Erich Plondke, Lucian Codrescu, William C. Anderson
  • Patent number: 7584326
    Abstract: Techniques for use in CDMA-based products and services, including replacing cache memory allocation so as to maximize residency of a plurality of set ways following a tag miss allocation. Herein, steps and instructions provide for forming a first-in, first-out (FIFO) cache way listing of victim ways for the cache memory, wherein the depth of the FIFO cache way listing approximately equals the number of ways in the cache memory. The method and system place a victim way on the FIFO cache way listing only in the event that a tag miss results in a tag miss allocation, the victim way is placed at the tail of the FIFO cache way listing after any previously selected victim way. Use of a victim way on the FIFO cache way listing is prevented in the event of an incomplete prior allocation of the victim way by, for example, stalling a reuse request until such initial allocation of the victim way completes or replaying a reuse request until such initial allocation of the victim way completes.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: September 1, 2009
    Assignee: QUALCOMM Incorporated
    Inventor: Muhammad Ahmed
  • Patent number: 7526633
    Abstract: Techniques for processing transmissions in a communications (e.g., CDMA) system. The method and system encode and process instructions of mixed lengths (e.g., 16 bits and 32 bits) and instruction packets including instructions of mixed lengths. This includes encoding a plurality of instructions of a first length and a plurality of instructions of a second length. The method and system encode a header having at least one instruction length bit. The instruction bit distinguishes between instructions of the first length and instructions of the second length for an associated DSP to process in a mixed stream. The method and system distinguish between the instructions of the first length and the instructions of the second length according to the contents of the instruction length bits. The header further includes bits for distinguishing between instructions of varying lengths in an instruction packet.
    Type: Grant
    Filed: March 23, 2005
    Date of Patent: April 28, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, William C. Anderson
  • Patent number: 7523295
    Abstract: An interleaved multithreading pipeline operating method comprises reading an instruction packet containing at least two instructions, steering a first instruction of the instruction packet to a first execution unit for execution and generating a first result, steering a second instruction of the instruction packet to a second execution unit for execution using the first result and generating a second result, and storing the second result.
    Type: Grant
    Filed: March 21, 2005
    Date of Patent: April 21, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, Sujat Jamil, William C. Anderson
  • Patent number: 7383420
    Abstract: A processor is operable to carry out a method that comprises accessing a first register based on a program instruction and obtaining a first register-out value, accessing a second register based on the first register-out value and obtaining a second register-out value, and storing the second register-out value into a third register based on the program instruction. The processor is further operable to carry out a method that comprises accessing a first register based on a program instruction and obtaining a first register-out value, accessing a second register based on the program instruction and obtaining a second register-out value, and storing the first register-out value into a third register based on the second register-out value.
    Type: Grant
    Filed: March 24, 2005
    Date of Patent: June 3, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Erich Plondke, Lucian Codrescu, Muhammad Ahmed, William C. Anderson
  • Publication number: 20080091867
    Abstract: A multi-threaded processor is disclosed that includes a sequencer adapted to provide instructions associated with one or more threads of a multi-threaded processor. The sequencer includes an interrupt controller adapted to receive one or more interrupts and to selectively allow a first thread of the one or more threads to service at least one interrupt. The interrupt controller includes logic to preclude a second thread of the one or more threads from responding to the at least one interrupt.
    Type: Application
    Filed: December 12, 2007
    Publication date: April 17, 2008
    Applicant: QUALCOMM Incorporated
    Inventors: Erich Plondke, Lucian Codrescu, Muhammad Ahmed, William Anderson, Suresh Venkumahanti
  • Patent number: 7328251
    Abstract: Systems and methods for providing electronic messaging services to multiple users by storing a single copy of an electronic message at a central location and notifying recipients of the stored single copy. An electronic message includes a distribution list and a message content. A distribution list identifying multiple recipients causes prior art systems to duplicate the entire message for each recipient, placing potentially large demands on both processing power and storage space. In contrast, the systems and methods disclosed herein store a single copy or a limited number of copies of an electronic message addressed to multiple recipients and provide each recipient with a relatively small notification. In addition to providing information regarding content and origin, the notification also provides access to the stored message. Furthermore, the methods and systems also aid in organizing replies to electronic messages. Replies are associated with an initial message through a message identifier.
    Type: Grant
    Filed: January 8, 2004
    Date of Patent: February 5, 2008
    Assignee: Microsoft Corporation
    Inventors: Muhammad A. Ahmed, Mohammad Shabbir Alam
  • Publication number: 20080016316
    Abstract: A method and system to indicate which page within a software-managed page table triggers an exception within a microprocessor, such as, for example, a digital signal processor, wherein a software-managed translation lookaside buffer (TLB) module receives a virtual address produced by an instruction within a Very Long Instruction Word (VLIW) packet, such as, for example, a fetch instruction, and further compares the virtual address to each stored TLB entry. If a match exists, then the TLB module outputs a corresponding mapped physical address for the instruction. Otherwise, if the VLIW packet spans two pages, where a first page is present as a TLB entry within the TLB module and the second page is missing from the stored TLB entries, an indication bit within a data field of a control register is set to identify the TLB miss exception to a software management unit.
    Type: Application
    Filed: July 14, 2006
    Publication date: January 17, 2008
    Inventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, Vijaya Kumar Janjanam
  • Publication number: 20070271417
    Abstract: Techniques for use in CDMA-based products and services, including replacing cache memory allocation so as to maximize residency of a plurality of set ways following a tag miss allocation. Herein, steps and instructions provide for forming a first-in, first-out (FIFO) cache way listing of victim ways for the cache memory, wherein the depth of the FIFO cache way listing approximately equals the number of ways in the cache memory. The method and system place a victim way on the FIFO cache way listing only in the event that a tag miss results in a tag miss allocation, the victim way is placed at the tail of the FIFO cache way listing after any previously selected victim way. Use of a victim way on the FIFO cache way listing is prevented in the event of an incomplete prior allocation of the victim way by, for example, stalling a reuse request until such initial allocation of the victim way completes or replaying a reuse request until such initial allocation of the victim way completes.
    Type: Application
    Filed: September 12, 2006
    Publication date: November 22, 2007
    Inventor: Muhammad Ahmed
  • Publication number: 20070271416
    Abstract: Techniques for use in CDMA-based products and services, including replacing cache memory allocation so as to maximize residency of a plurality of set ways following a tag-miss allocation. Herein, steps forming a first-in, first-out (FIFO) replacement listing of victim ways for the cache memory, wherein the depth of the FIFO replacement listing approximately equals the number of ways in the cache set. The method and system place a victim way on the FIFO replacement listing only in the event that a tag-miss results in a tag-miss allocation, the victim way is placed at the tail of the FIFO replacement listing after any previously selected victim way. Use of a victim way on the FIFO replacement listing is prevented in the event of an incomplete prior allocation of the victim way by, for example, stalling a reuse request until such initial allocation of the victim way completes or replaying a reuse request until such initial allocation of the victim way completes.
    Type: Application
    Filed: May 17, 2006
    Publication date: November 22, 2007
    Inventor: Muhammad Ahmed
  • Publication number: 20070266229
    Abstract: Methods and apparatus for encoding information regarding a hardware loop of a set of packets is provided, each packet (400) containing instructions. The information is encoded into one or more bits of at least one instruction (300) in the set of packets. The information may indicate whether a packet is or is not an end packet of the loop. Information regarding two hardware loops may be encoded where information regarding the first loop is encoded into an instruction at a first position in each packet and information regarding the second loop is encoded into an instruction at a second position in each packet. End instruction information may be encoded into an instruction not having encoded loop information at the same bit positions reserved for the encoded loop information, the end instruction information indicating whether an instruction is the last instruction of a packet and the length of a packet.
    Type: Application
    Filed: May 10, 2006
    Publication date: November 15, 2007
    Inventors: Erich Plondke, Robert Lester, Lucian Codrescu, Muhammad Ahmed
  • Publication number: 20070100923
    Abstract: An arithmetic logic and shifting device is disclosed and includes an arithmetic logic unit that has a first input to receive a first operand from a first register port, a second input to receive a second operand from a second register port, and an output to selectively provide a memory address to a memory unit in a first mode of operation and to selectively provide an arithmetic output in a second mode of operation. Further, the arithmetic logic and shifting device includes a programmable shifter device that has a first input to receive data from the memory unit, a second input to receive the arithmetic output, a third input to receive an operation code of a computer execution instruction, and a shifted output to provide shifted data.
    Type: Application
    Filed: November 2, 2005
    Publication date: May 3, 2007
    Inventors: Muhammad Ahmed, Ajay Ingle, Sujat Jamil
  • Publication number: 20070094478
    Abstract: Techniques for processing digital signals for a variety of applications, including in a communications (e.g., CDMA) system. A pointer location within a circular buffer is determined by establishing a length of the circular buffer, a start address that is aligned to a power of 2, and an end address located distant from the start address by the length and less than a power of 2 greater than the length. The method and system determine a current pointer location for an address within the circular buffer, a stride value of bits between the start address and the end address, a new pointer location within the circular buffer that is shifted from the current pointer location by the number of bits of the stride value. An adjusted pointer location is within the circular buffer by an arithmetic operation of the new pointer location with the length.
    Type: Application
    Filed: October 20, 2005
    Publication date: April 26, 2007
    Inventors: Erich Plondke, Lucian Codrescu, Muhammad Ahmed, Mao Zeng, Sujat Jamil, William Anderson
  • Publication number: 20070016759
    Abstract: A multithreaded processor device is disclosed and includes a processor that is configured to execute a plurality of executable program threads and a mode control register. The mode control register includes a first data field to control a first execution mode of a first of the plurality of executable program threads and a second data field to control a second execution mode of a second of the plurality of executable program threads. In a particular embodiment, the first execution mode is a run mode and the second execution mode is a low power mode.
    Type: Application
    Filed: July 12, 2005
    Publication date: January 18, 2007
    Inventors: Lucian Codrescu, Donald Padgett, Erich Plondke, Taylor Simpson, Muhammad Ahmed, William Anderson, Sujat Jamil
  • Publication number: 20060268592
    Abstract: Techniques for processing transmissions in a communications (e.g., CDMA) system including the use of a digital signal processor. The digital signal processor includes a cache memory system and associates a plurality of cache memory match lines with addressable memory lines of an addressable memory. Each of the cache memory match lines associates with one of corresponding sets of the cache memory. The method and system maintain each of the cache memory match lines at a low voltage. Once the digital signal processor initiates a search of the cache memory for retrieving data from a selected one of the corresponding sets of the cache memory, a match line drive circuit drives one of the cache memory match lines from a low voltage to a high voltage. The selected one of the cache memory match lines corresponds to the selected one of the corresponding sets of the cache memory. The digital signal processor compares the selected one of the cache memory match lines to an associated one of the addressable memory lines.
    Type: Application
    Filed: May 25, 2005
    Publication date: November 30, 2006
    Inventors: Baker Mohammad, Muhammad Ahmed, Paul Bassett, Sujat Jamil, Ajay Ingle
  • Publication number: 20060242645
    Abstract: A multithreaded processor device is disclosed and includes a first program thread and second program thread. The second program thread is execution linked to the first program thread in a lock step manner. As such, when the first program thread experiences a stall event, the second program thread is instructed to perform a no operation instruction in order to keep the second program thread execution linked to the first program thread. Also, the second program thread performs a no operation instruction during each clock cycle that the first program thread is stalled due to the stall event. When the first program thread performs a first successful operation after the stall event, the second program thread restarts normal execution.
    Type: Application
    Filed: April 26, 2005
    Publication date: October 26, 2006
    Inventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, William Anderson
  • Publication number: 20060242384
    Abstract: A processor device is disclosed and includes a memory and a sequencer that is responsive to the memory. The sequencer supports very long instruction word (VLIW) type instructions and at least one VLIW instruction packet uses a number of operands during execution. The processor device further includes a plurality of instruction execution units responsive to the sequencer and a plurality of register files. Each of the plurality of register files includes a plurality of registers and the plurality of register files are coupled to the plurality of instruction execution units. Further, each of the plurality of register files includes a number of data read ports and the number of data read ports of each of the plurality of register files is less than the number of operands used by the at least one VLIW instruction packet.
    Type: Application
    Filed: April 26, 2005
    Publication date: October 26, 2006
    Inventors: Muhammad Ahmed, Erich Plondke, Lucian Codrescu, William Anderson