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).

  • Publication number: 20060230253
    Abstract: A processor device is disclosed and includes a memory and a sequencer that is responsive to the memory. The sequencer can support very long instruction word (VLIW) instructions and superscalar instructions. The processor device further includes a first instruction execution unit responsive to the sequencer, a second instruction execution unit responsive to the sequencer, a third instruction execution unit responsive to the sequencer, and a fourth instruction execution unit responsive to the sequencer. Further, the processor device includes a plurality of register files and each of the plurality of register files includes a plurality of registers. The plurality of register files are coupled to the sequencer and coupled to the first instruction execution unit, the second instruction execution unit, the third instruction execution unit, and the fourth instruction execution unit.
    Type: Application
    Filed: April 11, 2005
    Publication date: October 12, 2006
    Inventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, William Anderson, Taylor Simpson
  • Publication number: 20060230259
    Abstract: An instruction memory unit comprises a first memory structure operable to store program instructions, and a second memory structure operable to store program instructions fetched from the first memory structure, and to issue stored program instructions for execution. The second memory structure is operable to identify a repeated issuance of a forward program redirect construct, and issue a next program instruction already stored in the second memory structure if a resolution of the forward branching instruction is identical to a last resolution of the same. The second memory structure is further operable to issue a backward program redirect construct, determine whether a target instruction is stored in the second memory structure, issue the target instruction if the target instruction is stored in the second memory structure, and fetch the target instruction from the first memory structure if the target instruction is not stored in the second memory structure.
    Type: Application
    Filed: April 11, 2005
    Publication date: October 12, 2006
    Inventors: Muhammad Ahmed, Lucian Codrescu, Erich Plondke, William Anderson, Robert Lester, Phillip Jones
  • Publication number: 20060230257
    Abstract: A processor device is disclosed and includes a memory unit and at least one interleaved multi-threading instruction pipeline. The interleaved multi-threading instruction pipeline utilizes a number of clock cycles that is less than an instruction issue rate for each of a plurality of program threads that are stored within the memory unit. The memory unit includes six instruction caches. Further, the processor device includes six register files and each of the six register files is associated with one of the six instruction caches. Each of the plurality of program threads is associated with one of the six register files. Further, each of the six program threads includes a plurality of instructions and each of the plurality of instructions is stored within one of the six instruction caches of the memory.
    Type: Application
    Filed: April 11, 2005
    Publication date: October 12, 2006
    Inventors: Muhammad Ahmed, Erich Plondke, Lucian Codrescu, William Anderson
  • Publication number: 20060224862
    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: Application
    Filed: March 29, 2005
    Publication date: October 5, 2006
    Inventors: Muhammad Ahmed, Erich Plondke, Lucian Codrescu, William Anderson
  • Publication number: 20060218379
    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: Application
    Filed: March 23, 2005
    Publication date: September 28, 2006
    Inventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, William Anderson
  • Publication number: 20060218559
    Abstract: Techniques for processing transmissions in a communications (e.g., CDMA) system. An aspect of the disclosed subject matter includes a method for processing instructions on a multithreaded processor. The multithreaded processor processes a plurality of threads via a plurality of processor pipelines. The method includes the step determining the operating frequency, F, at which the multithreaded processor operates. Then, the method determines a variable thread switch timeout state for triggering the switching of the processing among the plurality of active threads. The variable thread switch timeout state varies so that each of the plurality of active threads operates at a frequency of an allocated portion of the frequency, F. The allocated portion at which the active threads operate is determined at least in part in order to optimize the operation of the multithreaded processor.
    Type: Application
    Filed: March 23, 2005
    Publication date: September 28, 2006
    Inventors: Muhammad Ahmed, Sujat Jamil, Erich Plondke, Lucian Codrescu, William Anderson
  • Publication number: 20060218373
    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: Application
    Filed: March 24, 2005
    Publication date: September 28, 2006
    Inventors: Erich Plondke, Lucian Codrescu, Muhammad Ahmed, William Anderson
  • Publication number: 20060212681
    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: Application
    Filed: March 21, 2005
    Publication date: September 21, 2006
    Inventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, Sujat Jamil, William Anderson
  • Publication number: 20060206902
    Abstract: Techniques for processing transmissions in a communications (e.g., CDMA) system. A multithreaded processor processes a plurality of threads operating via a plurality of processor pipelines associated with the multithreaded processor and predetermines a triggering event for the multithreaded processor to switch from a first thread to a second thread. The triggering event is variably and dynamically determined to optimize multithreaded processor performance. The triggering event may be a dynamically determined number of processor cycles, the number being determined to optimize the performance of the multithreaded processor, or a variably and dynamically determined event, such as a cache or instruction miss.
    Type: Application
    Filed: March 14, 2005
    Publication date: September 14, 2006
    Inventors: Sujat Jamil, Erich Plondke, Lucian Codrescu, Muhammad Ahmed, William Anderson
  • Publication number: 20040148359
    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: Application
    Filed: January 8, 2004
    Publication date: July 29, 2004
    Inventors: Muhammad A. Ahmed, Mohammad Shabbir Alam
  • Patent number: 6704772
    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: September 20, 1999
    Date of Patent: March 9, 2004
    Assignee: Microsoft Corporation
    Inventors: Muhammad A. Ahmed, Mohammad Shabbir Alam